blob: 5623517100ad23c7239c53c5a4a52f19151dd0e1 [file] [log] [blame]
/*
* 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>();
}
}
}