diff --git a/src/com/massivecraft/mcore/MCoreConf.java b/src/com/massivecraft/mcore/MCoreConf.java index 8a0063a4..d46a9ead 100644 --- a/src/com/massivecraft/mcore/MCoreConf.java +++ b/src/com/massivecraft/mcore/MCoreConf.java @@ -63,9 +63,26 @@ public class MCoreConf extends Entity public void setDeleteFiles(List deleteFiles) { this.deleteFiles = deleteFiles == null ? new ArrayList() : new ArrayList(deleteFiles); this.changed(); } // Used in the MongoDB mstore driver. - private WriteConcern mongoDbWriteConcern = WriteConcern.ACKNOWLEDGED; - public WriteConcern getMongoDbWriteConcern() { return this.mongoDbWriteConcern; } - public void setMongoDbWriteConcern(WriteConcern mongoDbWriteConcern) { this.mongoDbWriteConcern = mongoDbWriteConcern; this.changed(); } + private boolean catchingMongoDbErrorsOnSave = true; + public boolean isCatchingMongoDbErrorsOnSave() { return this.catchingMongoDbErrorsOnSave; } + public void setCatchingMongoDbErrorsOnSave(boolean catchingMongoDbErrorsOnSave) { this.catchingMongoDbErrorsOnSave = catchingMongoDbErrorsOnSave; this.changed(); } + + private boolean catchingMongoDbErrorsOnDelete = true; + public boolean isCatchingMongoDbErrorsOnDelete() { return this.catchingMongoDbErrorsOnDelete; } + public void setCatchingMongoDbErrorsOnDelete(boolean catchingMongoDbErrorsOnDelete) { this.catchingMongoDbErrorsOnDelete = catchingMongoDbErrorsOnDelete; this.changed(); } + + public static WriteConcern getMongoDbWriteConcern(boolean catchingErrors) + { + return catchingErrors ? WriteConcern.ACKNOWLEDGED : WriteConcern.ERRORS_IGNORED; + } + public WriteConcern getMongoDbWriteConcernSave() + { + return getMongoDbWriteConcern(this.isCatchingMongoDbErrorsOnSave()); + } + public WriteConcern getMongoDbWriteConcernDelete() + { + return getMongoDbWriteConcern(this.isCatchingMongoDbErrorsOnDelete()); + } // -------------------------------------------- // // HELP ACCESS diff --git a/src/com/massivecraft/mcore/store/DriverMongo.java b/src/com/massivecraft/mcore/store/DriverMongo.java index 7aad2fa0..e7903b2e 100644 --- a/src/com/massivecraft/mcore/store/DriverMongo.java +++ b/src/com/massivecraft/mcore/store/DriverMongo.java @@ -169,7 +169,7 @@ public class DriverMongo extends DriverAbstract GsonMongoConverter.gson2MongoObject(data, dbo); - dbcoll.save(dbo, MCoreConf.get().getMongoDbWriteConcern()); + dbcoll.save(dbo, MCoreConf.get().getMongoDbWriteConcernSave()); return mtime; } @@ -178,7 +178,7 @@ public class DriverMongo extends DriverAbstract public void delete(Coll coll, String id) { DBCollection dbcoll = fixColl(coll); - dbcoll.remove(new BasicDBObject(ID_FIELD, id), MCoreConf.get().getMongoDbWriteConcern()); + dbcoll.remove(new BasicDBObject(ID_FIELD, id), MCoreConf.get().getMongoDbWriteConcernDelete()); } //----------------------------------------------//