DomainApis.java 文件源码

java
阅读 35 收藏 0 点赞 0 评论 0

项目:security-mgr-sample-plugin 作者:
/**
 * 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();
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号