use of org.apache.syncope.core.persistence.api.entity.policy.PolicyUtils in project syncope by apache.
the class PolicyLogic method delete.
@PreAuthorize("hasRole('" + StandardEntitlement.POLICY_DELETE + "')")
public <T extends PolicyTO> T delete(final PolicyType type, final String key) {
Policy policy = policyDAO.find(key);
if (policy == null) {
throw new NotFoundException("Policy " + key + " not found");
}
PolicyUtils policyUtils = policyUtilsFactory.getInstance(policy);
if (type != null && policyUtils.getType() != type) {
SyncopeClientException sce = SyncopeClientException.build(ClientExceptionType.InvalidRequest);
sce.getElements().add("Found " + type + ", expected " + policyUtils.getType());
throw sce;
}
T deleted = binder.getPolicyTO(policy);
policyDAO.delete(policy);
return deleted;
}
use of org.apache.syncope.core.persistence.api.entity.policy.PolicyUtils in project syncope by apache.
the class PolicyLogic method create.
@PreAuthorize("hasRole('" + StandardEntitlement.POLICY_CREATE + "')")
public <T extends PolicyTO> T create(final PolicyType type, final T policyTO) {
PolicyUtils policyUtils = policyUtilsFactory.getInstance(policyTO);
if (policyUtils.getType() != type) {
SyncopeClientException sce = SyncopeClientException.build(ClientExceptionType.InvalidRequest);
sce.getElements().add("Found " + type + ", expected " + policyUtils.getType());
throw sce;
}
return binder.getPolicyTO(policyDAO.save(binder.create(policyTO)));
}
use of org.apache.syncope.core.persistence.api.entity.policy.PolicyUtils in project syncope by apache.
the class PolicyLogic method read.
@PreAuthorize("hasRole('" + StandardEntitlement.POLICY_READ + "')")
@Transactional(readOnly = true)
public <T extends PolicyTO> T read(final PolicyType type, final String key) {
Policy policy = policyDAO.find(key);
if (policy == null) {
throw new NotFoundException("Policy " + key + " not found");
}
PolicyUtils policyUtils = policyUtilsFactory.getInstance(policy);
if (type != null && policyUtils.getType() != type) {
SyncopeClientException sce = SyncopeClientException.build(ClientExceptionType.InvalidRequest);
sce.getElements().add("Found " + type + ", expected " + policyUtils.getType());
throw sce;
}
return binder.getPolicyTO(policy);
}
use of org.apache.syncope.core.persistence.api.entity.policy.PolicyUtils in project syncope by apache.
the class PolicyLogic method update.
@PreAuthorize("hasRole('" + StandardEntitlement.POLICY_UPDATE + "')")
public PolicyTO update(final PolicyType type, final PolicyTO policyTO) {
Policy policy = policyDAO.find(policyTO.getKey());
PolicyUtils policyUtils = policyUtilsFactory.getInstance(policy);
if (policyUtils.getType() != type) {
SyncopeClientException sce = SyncopeClientException.build(ClientExceptionType.InvalidRequest);
sce.getElements().add("Found " + type + ", expected " + policyUtils.getType());
throw sce;
}
return binder.getPolicyTO(policyDAO.save(binder.update(policy, policyTO)));
}
Aggregations