/** * Checks if foreignable element is a new created object (not yet persistet - no id) */ private boolean isNewObject(Foreignable<?> foreignable) { return ((Identifiable) foreignable).getId() == null; }
protected void setId(Identifiable resource, Integer id) { resource.setId(id); }
/** * Check that the user is config_admin, app_developer or shakedown_admin : shakedown_admin: can * modify(add/edit/delete) all testing templates config_admin: can modify(add/edit/delete) all templates * app_developer: can modify(add/edit/delete) only templates in instances of APPLICATION */ public boolean hasPermissionToAddTemplate(Identifiable resourceOrResourceTypeEntity, boolean isTestingMode) { if (resourceOrResourceTypeEntity != null) { if (resourceOrResourceTypeEntity instanceof ResourceEntity) { ResourceEntity mergedResource = entityManager.find(ResourceEntity.class, resourceOrResourceTypeEntity.getId()); return permissionService.hasPermissionToAddResourceTemplate(mergedResource, isTestingMode); } if (resourceOrResourceTypeEntity instanceof ResourceTypeEntity) { ResourceTypeEntity mergedResourceType = entityManager.find(ResourceTypeEntity.class, resourceOrResourceTypeEntity.getId()); return permissionService.hasPermissionToAddResourceTypeTemplate(mergedResourceType, isTestingMode); } } return false; }
public static void copyForeignable(Foreignable target, Foreignable origin, CopyUnit copyUnit) { if (copyUnit.getMode() == CopyResourceDomainService.CopyMode.COPY) { // set owner when target is new created if (((Identifiable)target).getId() == null || target.getOwner().isSameOwner(copyUnit.getActingOwner())) { target.setOwner(copyUnit.getActingOwner()); // clear key and link, they are no longer valid for copied entity target.setExternalKey(null); target.setExternalLink(null); } } else if (copyUnit.getMode() == CopyResourceDomainService.CopyMode.RELEASE) { // TODO verify owner when implementing releasing if(target instanceof ResourceEntity){ // only resource changes owner when released target.setOwner(copyUnit.getActingOwner()); }else{ target.setOwner(origin.getOwner()); } target.setExternalLink(origin.getExternalLink()); target.setExternalKey(origin.getExternalKey()); } }