@Override public void updateToManyRelation(DataStoreTransaction relationTx, Object entity, String relationName, Set<Object> newRelationships, Set<Object> deletedRelationships, RequestScope scope) { relationTx = getRelationTransaction(entity, relationName); DataStoreTransaction entityTransaction = getTransaction(entity.getClass()); entityTransaction.updateToManyRelation(relationTx, entity, relationName, newRelationships, deletedRelationships, scope); }
/** * Add relation link from a given parent resource to a child resource. * * @param fieldName which relation link * @param newRelation the new relation */ public void addRelation(String fieldName, PersistentResource newRelation) { checkSharePermission(Collections.singleton(newRelation)); Object relation = this.getValueUnchecked(fieldName); if (relation instanceof Collection) { if (addToCollection((Collection) relation, fieldName, newRelation)) { this.markDirty(); } //Hook for updateToManyRelation transaction.updateToManyRelation(transaction, obj, fieldName, Sets.newHashSet(newRelation.getObject()), new LinkedHashSet<>(), requestScope); addInverseRelation(fieldName, newRelation.getObject()); } else { // Not a collection, but may be trying to create a ToOne relationship. // NOTE: updateRelation marks dirty. updateRelation(fieldName, Collections.singleton(newRelation)); } }
transaction.updateToManyRelation(transaction, obj, fieldName, newRelationships, deletedRelationships, requestScope);
transaction.updateToManyRelation(transaction, obj, fieldName, newRelationships, deletedRelationships, requestScope);
/** * Add relation link from a given parent resource to a child resource. * * @param fieldName which relation link * @param newRelation the new relation */ public void addRelation(String fieldName, PersistentResource newRelation) { checkSharePermission(Collections.singleton(newRelation)); Object relation = this.getValueUnchecked(fieldName); if (relation instanceof Collection) { if (addToCollection((Collection) relation, fieldName, newRelation)) { this.markDirty(); } //Hook for updateToManyRelation transaction.updateToManyRelation(transaction, obj, fieldName, Sets.newHashSet(newRelation.getObject()), new LinkedHashSet<>(), requestScope); addInverseRelation(fieldName, newRelation.getObject()); } else { // Not a collection, but may be trying to create a ToOne relationship. // NOTE: updateRelation marks dirty. updateRelation(fieldName, Collections.singleton(newRelation)); } }
this.markDirty(); transaction.updateToManyRelation(transaction, obj, relationName, new LinkedHashSet<>(), deletedRelationships, requestScope);
this.markDirty(); transaction.updateToManyRelation(transaction, obj, relationName, new LinkedHashSet<>(), deletedRelationships, requestScope);
transaction.updateToManyRelation(transaction, inverseObj, inverseName, Sets.newHashSet(obj), new LinkedHashSet<>(), requestScope);
transaction.updateToManyRelation(transaction, inverseObj, inverseName, Sets.newHashSet(obj), new LinkedHashSet<>(), requestScope);
transaction.updateToManyRelation(transaction, inverseEntity, inverseField, new LinkedHashSet<>(), Sets.newHashSet(obj), requestScope);
transaction.updateToManyRelation(transaction, inverseEntity, inverseField, new LinkedHashSet<>(), Sets.newHashSet(obj), requestScope);
} else { transaction.updateToManyRelation(transaction, obj, fieldName, new LinkedHashSet<>(), Sets.newHashSet(removeResource.getObject()), requestScope);
} else { transaction.updateToManyRelation(transaction, obj, fieldName, new LinkedHashSet<>(), Sets.newHashSet(removeResource.getObject()), requestScope);