/**
* Creates the Policy for a given domain
*
* @return policy
*/
@Path("/{domainId}/policies")
@POST
public String createPolicy(@PathParam("domainId") Long domainId, PolicyEntity entity) {
LOG.info("Creating Policy Entity...:" + entity.getName());
return this.txControl.required(new Callable<PolicyEntity>() {
@Override
public PolicyEntity call() throws Exception {
DomainEntity result = DomainApis.this.em.find(DomainEntity.class, domainId);
if (result == null) {
throw new Exception("Domain Entity does not exists...");
//TODO - to add RETURN 404 error:Sudhir
}
CriteriaBuilder criteriaBuilder = DomainApis.this.em.getCriteriaBuilder();
CriteriaQuery<PolicyEntity> query = criteriaBuilder.createQuery(PolicyEntity.class);
Root<PolicyEntity> r = query.from(PolicyEntity.class);
query.select(r).where(criteriaBuilder.and(criteriaBuilder.equal(r.get("name"), entity.getName())));
List<PolicyEntity> policyresult = DomainApis.this.em.createQuery(query).getResultList();
if (!policyresult.isEmpty()) {
throw new Exception("Policy Entity name already exists...:");
//TODO - to add RETURN 404 error:Sudhir
}
entity.setDomain(result);
DomainApis.this.em.persist(entity);
return entity;
}
}).getId();
}
DomainApis.java 文件源码
java
阅读 35
收藏 0
点赞 0
评论 0
项目:security-mgr-sample-plugin
作者:
评论列表
文章目录