| /* |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF licenses this file to You under the Apache License, Version 2.0 |
| * (the "License"); you may not use this file except in compliance with |
| * the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| package org.apache.ranger.db; |
| |
| import java.util.ArrayList; |
| import java.util.List; |
| |
| import javax.persistence.NoResultException; |
| |
| import org.apache.ranger.common.db.BaseDao; |
| import org.apache.ranger.entity.XXPolicy; |
| |
| /** |
| */ |
| |
| public class XXPolicyDao extends BaseDao<XXPolicy> { |
| /** |
| * Default Constructor |
| */ |
| public XXPolicyDao(RangerDaoManagerBase daoManager) { |
| super(daoManager); |
| } |
| |
| public XXPolicy findByNameAndServiceId(String polName, Long serviceId) { |
| if (polName == null || serviceId == null) { |
| return null; |
| } |
| try { |
| XXPolicy xPol = getEntityManager() |
| .createNamedQuery("XXPolicy.findByNameAndServiceId", tClass) |
| .setParameter("polName", polName).setParameter("serviceId", serviceId) |
| .getSingleResult(); |
| return xPol; |
| } catch (NoResultException e) { |
| return null; |
| } |
| } |
| |
| public List<XXPolicy> findByServiceId(Long serviceId) { |
| if (serviceId == null) { |
| return new ArrayList<XXPolicy>(); |
| } |
| try { |
| return getEntityManager() |
| .createNamedQuery("XXPolicy.findByServiceId", tClass) |
| .setParameter("serviceId", serviceId).getResultList(); |
| } catch (NoResultException e) { |
| return new ArrayList<XXPolicy>(); |
| } |
| } |
| |
| public Long getMaxIdOfXXPolicy() { |
| try { |
| return (Long) getEntityManager().createNamedQuery("XXPolicy.getMaxIdOfXXPolicy").getSingleResult(); |
| } catch (NoResultException e) { |
| return null; |
| } |
| } |
| |
| public List<XXPolicy> findByResourceSignatureByPolicyStatus(String serviceName, String policySignature, Boolean isPolicyEnabled) { |
| if (policySignature == null || serviceName == null || isPolicyEnabled == null) { |
| return new ArrayList<XXPolicy>(); |
| } |
| try { |
| return getEntityManager().createNamedQuery("XXPolicy.findByResourceSignatureByPolicyStatus", tClass) |
| .setParameter("resSignature", policySignature) |
| .setParameter("serviceName", serviceName) |
| .setParameter("isPolicyEnabled", isPolicyEnabled) |
| .getResultList(); |
| } catch (NoResultException e) { |
| return new ArrayList<XXPolicy>(); |
| } |
| } |
| |
| public List<XXPolicy> findByResourceSignature(String serviceName, String policySignature) { |
| if (policySignature == null || serviceName == null) { |
| return new ArrayList<XXPolicy>(); |
| } |
| try { |
| return getEntityManager().createNamedQuery("XXPolicy.findByResourceSignature", tClass) |
| .setParameter("resSignature", policySignature) |
| .setParameter("serviceName", serviceName) |
| .getResultList(); |
| } catch (NoResultException e) { |
| return new ArrayList<XXPolicy>(); |
| } |
| } |
| |
| public List<XXPolicy> findByServiceDefId(Long serviceDefId) { |
| if(serviceDefId == null) { |
| return new ArrayList<XXPolicy>(); |
| } |
| try { |
| return getEntityManager().createNamedQuery("XXPolicy.findByServiceDefId", tClass) |
| .setParameter("serviceDefId", serviceDefId).getResultList(); |
| } catch (NoResultException e) { |
| return new ArrayList<XXPolicy>(); |
| } |
| } |
| |
| public void updateSequence() { |
| Long maxId = getMaxIdOfXXPolicy(); |
| |
| if(maxId == null) { |
| return; |
| } |
| |
| updateSequence("X_POLICY_SEQ", maxId + 1); |
| } |
| public List<XXPolicy> findByUserId(Long userId) { |
| if(userId == null || userId.equals(Long.valueOf(0L))) { |
| return new ArrayList<XXPolicy>(); |
| } |
| try { |
| return getEntityManager() |
| .createNamedQuery("XXPolicy.findByUserId", tClass) |
| .setParameter("userId", userId).getResultList(); |
| } catch (NoResultException e) { |
| return new ArrayList<XXPolicy>(); |
| } |
| } |
| public List<XXPolicy> findByGroupId(Long groupId) { |
| if(groupId == null || groupId.equals(Long.valueOf(0L))) { |
| return new ArrayList<XXPolicy>(); |
| } |
| try { |
| return getEntityManager() |
| .createNamedQuery("XXPolicy.findByGroupId", tClass) |
| .setParameter("groupId", groupId).getResultList(); |
| } catch (NoResultException e) { |
| return new ArrayList<XXPolicy>(); |
| } |
| } |
| } |