@Override public ApplicationTO getApplicationTO(final Application application) { ApplicationTO applicationTO = new ApplicationTO(); applicationTO.setKey(application.getKey()); applicationTO.setDescription(application.getDescription()); applicationTO.getPrivileges().addAll( application.getPrivileges().stream().map(privilege -> getPrivilegeTO(privilege)). collect(Collectors.toList())); return applicationTO; }
@Override public Application update(final Application toBeUpdated, final ApplicationTO applicationTO) { toBeUpdated.setKey(applicationTO.getKey()); Application application = applicationDAO.save(toBeUpdated); application.setDescription(applicationTO.getDescription()); privilege.setApplication(application); application.add(privilege); } else if (!application.equals(privilege.getApplication())) { SyncopeClientException sce = SyncopeClientException.build(ClientExceptionType.InvalidPrivilege); for (Iterator<? extends Privilege> itor = application.getPrivileges().iterator(); itor.hasNext();) { Privilege privilege = itor.next(); if (!applicationTO.getPrivileges().stream().
@Override public boolean isValid(final Application application, final ConstraintValidatorContext context) { context.disableDefaultConstraintViolation(); if (application.getKey() == null || !KEY_PATTERN.matcher(application.getKey()).matches()) { context.buildConstraintViolationWithTemplate( getTemplate(EntityViolationType.InvalidKey, "Invalid application key")). addPropertyNode("key").addConstraintViolation(); return false; } return true; } }
@Override public void delete(final Application application) { application.getPrivileges().forEach(privilege -> { roleDAO.findByPrivilege(privilege).forEach(role -> { role.getPrivileges().remove(privilege); }); privilege.setApplication(null); }); application.getPrivileges().clear(); entityManager().remove(application); }
@Override public PrivilegeTO getPrivilegeTO(final Privilege privilege) { PrivilegeTO privilegeTO = new PrivilegeTO(); privilegeTO.setKey(privilege.getKey()); privilegeTO.setDescription(privilege.getDescription()); privilegeTO.setApplication(privilege.getApplication().getKey()); privilegeTO.setSpec(privilege.getSpec()); return privilegeTO; }