private PermissionEntity getPermissionForUpdate(PermissionReference permissionReference) { PermissionEntity perm = getPermissionImpl(permissionReference); PermissionEntity newPerm = new PermissionEntity(); newPerm.setId(perm.getId()); newPerm.setVersion(perm.getVersion()); newPerm.setTypeQNameId(perm.getTypeQNameId()); newPerm.setName(perm.getName()); return newPerm; }
@Override protected int updatePermissionEntity(PermissionEntity permissionEntity) { permissionEntity.incrementVersion(); return template.update(UPDATE_PERMISSION, permissionEntity); }
public Pair<Long, PermissionEntity> findByValue(PermissionEntity value) { if ((value == null) || (value.getName() == null) || (value.getTypeQNameId() == null)) { throw new AlfrescoRuntimeException("Unexpected: PermissionEntity / name / qnameId must not be null"); } return convertEntityToPair(getPermissionEntity(value.getTypeQNameId(), value.getName())); }
public void renamePermission(QName oldTypeQName, String oldName, QName newTypeQName, String newName) { ParameterCheck.mandatory("oldTypeQName", oldTypeQName); ParameterCheck.mandatory("oldName", oldName); ParameterCheck.mandatory("newTypeQName", newTypeQName); ParameterCheck.mandatory("newName", newName); if (oldTypeQName.equals(newTypeQName) && oldName.equals(newName)) { throw new IllegalArgumentException("Cannot move permission to itself: " + oldTypeQName + "-" + oldName); } SimplePermissionReference oldPermRef = SimplePermissionReference.getPermissionReference(oldTypeQName, oldName); PermissionEntity permission = getPermissionForUpdate(oldPermRef); if (permission != null) { Long newTypeQNameId = qnameDAO.getOrCreateQName(newTypeQName).getFirst(); permission.setTypeQNameId(newTypeQNameId); permission.setName(newName); int updated = permissionEntityCache.updateValue(permission.getId(), permission); if (updated < 1) { aclEntityCache.removeByKey(permission.getId()); throw new ConcurrencyFailureException("PermissionEntity with ID (" + permission.getId() + ") no longer exists or has been updated concurrently"); } } }
public Permission createPermission(PermissionReference permissionReference) { ParameterCheck.mandatory("permissionReference", permissionReference); PermissionEntity entity = null; // Get the persistent ID for the QName Pair<Long, QName> qnamePair = qnameDAO.getOrCreateQName(permissionReference.getQName()); if (qnamePair != null) { Long qnameId = qnamePair.getFirst(); entity = new PermissionEntity(qnameId, permissionReference.getName()); entity.setVersion(0L); Pair<Long, PermissionEntity> entityPair = permissionEntityCache.getOrCreateByValue(entity); entity = entityPair.getSecond(); } return entity; }
private final Pair<Long, PermissionEntity> convertEntityToPair(PermissionEntity entity) { if (entity == null) { return null; } else { return new Pair<Long, PermissionEntity>(entity.getId(), entity); } }
@Override protected PermissionEntity createPermissionEntity(PermissionEntity entity) { entity.setVersion(0L); template.insert(INSERT_PERMISSION, entity); return entity; }
private PermissionEntity getPermissionImpl(PermissionReference permissionReference) { ParameterCheck.mandatory("permissionReference", permissionReference); PermissionEntity entity = null; // Get the persistent ID for the QName Pair<Long, QName> qnamePair = qnameDAO.getOrCreateQName(permissionReference.getQName()); if (qnamePair != null) { Long qnameId = qnamePair.getFirst(); PermissionEntity permission = new PermissionEntity(qnameId, permissionReference.getName()); Pair<Long, PermissionEntity> entityPair = permissionEntityCache.getByValue(permission); if (entityPair != null) { entity = entityPair.getSecond(); } } return entity; }
public void renamePermission(QName oldTypeQName, String oldName, QName newTypeQName, String newName) { ParameterCheck.mandatory("oldTypeQName", oldTypeQName); ParameterCheck.mandatory("oldName", oldName); ParameterCheck.mandatory("newTypeQName", newTypeQName); ParameterCheck.mandatory("newName", newName); if (oldTypeQName.equals(newTypeQName) && oldName.equals(newName)) { throw new IllegalArgumentException("Cannot move permission to itself: " + oldTypeQName + "-" + oldName); } SimplePermissionReference oldPermRef = SimplePermissionReference.getPermissionReference(oldTypeQName, oldName); PermissionEntity permission = getPermissionForUpdate(oldPermRef); if (permission != null) { Long newTypeQNameId = qnameDAO.getOrCreateQName(newTypeQName).getFirst(); permission.setTypeQNameId(newTypeQNameId); permission.setName(newName); int updated = permissionEntityCache.updateValue(permission.getId(), permission); if (updated < 1) { aclEntityCache.removeByKey(permission.getId()); throw new ConcurrencyFailureException("PermissionEntity with ID (" + permission.getId() + ") no longer exists or has been updated concurrently"); } } }
public Pair<Long, PermissionEntity> findByValue(PermissionEntity value) { if ((value == null) || (value.getName() == null) || (value.getTypeQNameId() == null)) { throw new AlfrescoRuntimeException("Unexpected: PermissionEntity / name / qnameId must not be null"); } return convertEntityToPair(getPermissionEntity(value.getTypeQNameId(), value.getName())); }
public Permission createPermission(PermissionReference permissionReference) { ParameterCheck.mandatory("permissionReference", permissionReference); PermissionEntity entity = null; // Get the persistent ID for the QName Pair<Long, QName> qnamePair = qnameDAO.getOrCreateQName(permissionReference.getQName()); if (qnamePair != null) { Long qnameId = qnamePair.getFirst(); entity = new PermissionEntity(qnameId, permissionReference.getName()); entity.setVersion(0L); Pair<Long, PermissionEntity> entityPair = permissionEntityCache.getOrCreateByValue(entity); entity = entityPair.getSecond(); } return entity; }
private final Pair<Long, PermissionEntity> convertEntityToPair(PermissionEntity entity) { if (entity == null) { return null; } else { return new Pair<Long, PermissionEntity>(entity.getId(), entity); } }
@Override protected PermissionEntity createPermissionEntity(PermissionEntity entity) { entity.setVersion(0L); template.insert(INSERT_PERMISSION, entity); return entity; }
private PermissionEntity getPermissionImpl(PermissionReference permissionReference) { ParameterCheck.mandatory("permissionReference", permissionReference); PermissionEntity entity = null; // Get the persistent ID for the QName Pair<Long, QName> qnamePair = qnameDAO.getOrCreateQName(permissionReference.getQName()); if (qnamePair != null) { Long qnameId = qnamePair.getFirst(); PermissionEntity permission = new PermissionEntity(qnameId, permissionReference.getName()); Pair<Long, PermissionEntity> entityPair = permissionEntityCache.getByValue(permission); if (entityPair != null) { entity = entityPair.getSecond(); } } return entity; }
private PermissionEntity getPermissionForUpdate(PermissionReference permissionReference) { PermissionEntity perm = getPermissionImpl(permissionReference); PermissionEntity newPerm = new PermissionEntity(); newPerm.setId(perm.getId()); newPerm.setVersion(perm.getVersion()); newPerm.setTypeQNameId(perm.getTypeQNameId()); newPerm.setName(perm.getName()); return newPerm; }
@Override protected int updatePermissionEntity(PermissionEntity permissionEntity) { permissionEntity.incrementVersion(); return template.update(UPDATE_PERMISSION, permissionEntity); }