@Override public Set<Entity> commit(CommitContext context) { Set<Entity> set = new HashSet<>(); set.addAll(context.getCommitInstances()); set.addAll(context.getRemoveInstances()); return set; }
protected void checkPermissions(CommitContext context) { if (!isAuthorizationRequired(context)) return; Set<MetaClass> checkedCreateRights = new HashSet<>(); Set<MetaClass> checkedUpdateRights = new HashSet<>(); Set<MetaClass> checkedDeleteRights = new HashSet<>(); for (Entity entity : context.getCommitInstances()) { if (entity == null) continue; if (entityStates.isNew(entity)) { checkPermission(checkedCreateRights, entity.getMetaClass(), EntityOp.CREATE); } else { checkPermission(checkedUpdateRights, entity.getMetaClass(), EntityOp.UPDATE); } } for (Entity entity : context.getRemoveInstances()) { if (entity == null) continue; checkPermission(checkedDeleteRights, entity.getMetaClass(), EntityOp.DELETE); } }
cc.getViews().put(entity, view); for (Entity entity : context.getRemoveInstances()) { MetaClass metaClass = metadata.getClassNN(entity.getClass()); String storeName = getStoreName(metaClass); storeToContextMap.put(storeName, cc); cc.getRemoveInstances().add(entity); View view = context.getViews().get(entity); if (view != null)
if (!commitContext.getRemoveInstances().isEmpty()) { commitContext.setSoftDeletion(true);
protected CommitContext createCommitContext(DataSupplier dataservice, Map<DataSupplier, Collection<Datasource<Entity>>> commitData) { CommitContext context = new CommitContext(); context.setDiscardCommitted(discardCommitted); for (Datasource<Entity> datasource : commitData.get(dataservice)) { if (datasource instanceof DatasourceImplementation) { DatasourceImplementation<Entity> implementation = (DatasourceImplementation) datasource; boolean listenersEnabled = implementation.enableListeners(false); try { for (Entity entity : implementation.getItemsToCreate()) { addToContext(entity, datasource, context.getCommitInstances(), context.getViews()); } for (Entity entity : implementation.getItemsToUpdate()) { addToContext(entity, datasource, context.getCommitInstances(), context.getViews()); } for (Entity entity : implementation.getItemsToDelete()) { addToContext(entity, datasource, context.getRemoveInstances(), context.getViews()); } } finally { implementation.enableListeners(listenersEnabled); } } } repairReferences(context); return context; }
if (log.isDebugEnabled()) log.debug("commit: commitInstances=" + context.getCommitInstances() + ", removeInstances=" + context.getRemoveInstances()); for (Entity entity : context.getRemoveInstances()) { if (isAuthorizationRequired(context)) { security.assertToken(entity);