@Override public void remove(Entity entity) { CommitContext cc = new CommitContext(); cc.addInstanceToRemove(entity); cc.setJoinTransaction(true); dataManager.commit(cc); }
@Override public void commit() { backgroundWorker.checkUIAccess(); if (!allowCommit) { return; } if (getCommitMode() == CommitMode.DATASTORE) { DataSupplier supplier = getDataSupplier(); CommitContext context = new CommitContext(); for (Entity entity : itemsToCreate) { context.addInstanceToCommit(entity, view); } for (Entity entity : itemsToUpdate) { context.addInstanceToCommit(entity, view); } for (Entity entity : itemsToDelete) { context.addInstanceToRemove(entity); } Set<Entity> committed = supplier.commit(context); committed(committed); } else { throw new UnsupportedOperationException(); } }
if (viewProperty.getCollectionImportPolicy() == CollectionImportPolicy.REMOVE_ABSENT_ITEMS) { if (!dstFilteredIds.contains(refId) && !srcFilteredIds.contains(refId)) { commitContext.addInstanceToRemove(e);
Entity prevEntityValue = (Entity) referenceInfo.getPrevPropertyValue(); if (prevEntityValue != null) { commitContext.addInstanceToRemove(prevEntityValue);
protected void commitIfNeeded(Collection<? extends Entity> entitiesToRemove, CollectionContainer container, ScreenData screenData) { boolean needCommit = true; if (container instanceof Nested) { InstanceContainer masterContainer = ((Nested) container).getMaster(); String property = ((Nested) container).getProperty(); MetaClass masterMetaClass = masterContainer.getEntityMetaClass(); MetaProperty metaProperty = masterMetaClass.getPropertyNN(property); needCommit = metaProperty.getType() != MetaProperty.Type.COMPOSITION; } if (needCommit) { CommitContext commitContext = new CommitContext(); for (Entity entity : entitiesToRemove) { commitContext.addInstanceToRemove(entity); } dataManager.commit(commitContext); for (Entity entity : entitiesToRemove) { screenData.getDataContext().evict(entity); } } else { for (Entity entity : entitiesToRemove) { screenData.getDataContext().remove(entity); } } }