*
* @param ekbCommit the commit to convert
* @return a new IndexCommit instance representing the given EKBCommit
*/
public IndexCommit convert(EKBCommit ekbCommit) {
IndexCommit commit = new IndexCommit();
commit.setCommitId(ekbCommit.getRevisionNumber());
commit.setParentCommitId(ekbCommit.getParentRevisionNumber());
commit.setConnectorId(ekbCommit.getConnectorId());
commit.setDomainId(ekbCommit.getDomainId());
commit.setInstanceId(ekbCommit.getInstanceId());
commit.setTimestamp(new Date());
commit.setUser(getUser());
commit.setContextId(getContextId());
List<OpenEngSBModel> inserts = ekbCommit.getInserts();
List<OpenEngSBModel> updates = ekbCommit.getUpdates();
List<OpenEngSBModel> deletes = ekbCommit.getDeletes();
Set<Class<?>> modelClasses = extractTypes(inserts, updates, deletes);
commit.setModelClasses(modelClasses);
commit.setInserts(mapByClass(inserts));
commit.setUpdates(mapByClass(updates));
commit.setDeletes(mapByClass(deletes));
return commit;
}