Skip to content

Commit 3a08ac1

Browse files
committed
auditing fixes
1 parent 0a3b102 commit 3a08ac1

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

Diff for: src/groovy/grails/plugins/mongodb/audit/MorphiaAuditEntityInterceptor.java

+11-3
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import org.codehaus.groovy.grails.commons.GrailsApplication;
1212
import org.codehaus.groovy.grails.commons.GrailsClass;
1313
import org.codehaus.groovy.grails.commons.GrailsDomainClass;
14+
import org.springframework.beans.BeansException;
1415
import org.springframework.beans.factory.InitializingBean;
1516
import org.springframework.beans.factory.annotation.Autowired;
1617

@@ -36,7 +37,10 @@ public void postPersist(Object ent, DBObject dbObj, Mapper mapr) {
3637
String historyCollectionName = watchedClasses.get(ent.getClass());
3738
if (historyCollectionName != null) {
3839
// persist this entity to the history collection
39-
db.getCollection(ent.getClass().getSimpleName() + "History").save(new BasicDBObject("date", new Date()).append("entity", dbObj));
40+
BasicDBObject historyEntity = new BasicDBObject("date", new Date()).append("entity", dbObj);
41+
boolean abort = false;
42+
if (auditProcessor != null) abort = !auditProcessor.processHistoryEntry(historyEntity, ent, dbObj, mapr);
43+
if (!abort) db.getCollection(historyCollectionName).save(historyEntity);
4044
}
4145
}
4246

@@ -67,7 +71,11 @@ public void afterPropertiesSet() throws Exception {
6771
}
6872

6973
// init audit processor
70-
Object mongodbAuditProcessor = grailsApplication.getMainContext().getBean("mongodbAuditProcessor");
71-
if (mongodbAuditProcessor instanceof MongodbAuditProcessor) this.auditProcessor = (MongodbAuditProcessor)mongodbAuditProcessor;
74+
try {
75+
Object mongodbAuditProcessor = grailsApplication.getMainContext().getBean("mongodbAuditProcessor");
76+
if (mongodbAuditProcessor instanceof MongodbAuditProcessor) this.auditProcessor = (MongodbAuditProcessor)mongodbAuditProcessor;
77+
} catch (BeansException ignore) {
78+
// do not care if not defined
79+
}
7280
}
7381
}

0 commit comments

Comments
 (0)