http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/413fcb68/security-admin/src/main/java/org/apache/ranger/common/view/VList.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/common/view/VList.java b/security-admin/src/main/java/org/apache/ranger/common/view/VList.java new file mode 100644 index 0000000..177e7fd --- /dev/null +++ b/security-admin/src/main/java/org/apache/ranger/common/view/VList.java @@ -0,0 +1,189 @@ +/* + * 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.common.view; + + +import java.util.List; + +import javax.xml.bind.annotation.*; + +@XmlRootElement +public abstract class VList extends ViewBaseBean implements + java.io.Serializable { + private static final long serialVersionUID = 1L; + + /** + * Start index for the result + */ + protected int startIndex; + /** + * Page size used for the result + */ + protected int pageSize; + /** + * Total records in the database for the given search conditions + */ + protected long totalCount; + /** + * Number of rows returned for the search condition + */ + protected int resultSize; + /** + * Sort type. Either desc or asc + */ + protected String sortType; + /** + * Comma seperated list of the fields for sorting + */ + protected String sortBy; + + protected long queryTimeMS = System.currentTimeMillis(); + + /** + * Default constructor. This will set all the attributes to default value. + */ + public VList() { + } + + /** + * Initialize with existing list + * + * @param size + */ + public VList(@SuppressWarnings("rawtypes") List objectList) { + int size = 0; + if (objectList != null) { + size = objectList.size(); + } + + startIndex = 0; + pageSize = size; + totalCount = size; + resultSize = size; + sortType = null; + sortBy = null; + } + + abstract public int getListSize(); + + abstract public List<?> getList(); + + /** + * This method sets the value to the member attribute <b>startIndex</b>. You + * cannot set null to the attribute. + * + * @param startIndex + * Value to set member attribute <b>startIndex</b> + */ + public void setStartIndex(int startIndex) { + this.startIndex = startIndex; + } + + + /** + * This method sets the value to the member attribute <b>pageSize</b>. You + * cannot set null to the attribute. + * + * @param pageSize + * Value to set member attribute <b>pageSize</b> + */ + public void setPageSize(int pageSize) { + this.pageSize = pageSize; + } + + + /** + * This method sets the value to the member attribute <b>totalCount</b>. You + * cannot set null to the attribute. + * + * @param totalCount + * Value to set member attribute <b>totalCount</b> + */ + public void setTotalCount(long totalCount) { + this.totalCount = totalCount; + } + + + + /** + * This method sets the value to the member attribute <b>resultSize</b>. You + * cannot set null to the attribute. + * + * @param resultSize + * Value to set member attribute <b>resultSize</b> + */ + public void setResultSize(int resultSize) { + this.resultSize = resultSize; + } + + /** + * Returns the value for the member attribute <b>resultSize</b> + * + * @return int - value of member attribute <b>resultSize</b>. + */ + public int getResultSize() { + return getListSize(); + } + + /** + * This method sets the value to the member attribute <b>sortType</b>. You + * cannot set null to the attribute. + * + * @param sortType + * Value to set member attribute <b>sortType</b> + */ + public void setSortType(String sortType) { + this.sortType = sortType; + } + + + + /** + * This method sets the value to the member attribute <b>sortBy</b>. You + * cannot set null to the attribute. + * + * @param sortBy + * Value to set member attribute <b>sortBy</b> + */ + public void setSortBy(String sortBy) { + this.sortBy = sortBy; + } + + + + + + + + /* + * (non-Javadoc) + * + * @see java.lang.Object#toString() + */ + @Override + public String toString() { + return "VList [startIndex=" + startIndex + ", pageSize=" + + pageSize + ", totalCount=" + totalCount + + ", resultSize=" + resultSize + ", sortType=" + + sortType + ", sortBy=" + sortBy + ", queryTimeMS=" + + queryTimeMS + "]"; + } + +}
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/413fcb68/security-admin/src/main/java/org/apache/ranger/common/view/VTrxLogAttr.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/common/view/VTrxLogAttr.java b/security-admin/src/main/java/org/apache/ranger/common/view/VTrxLogAttr.java new file mode 100644 index 0000000..2974e7d --- /dev/null +++ b/security-admin/src/main/java/org/apache/ranger/common/view/VTrxLogAttr.java @@ -0,0 +1,83 @@ +/* + * 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.common.view; + +import java.io.Serializable; + +import javax.xml.bind.annotation.XmlRootElement; + +import org.apache.ranger.common.AppConstants; +import org.apache.ranger.common.XACommonEnums; +import org.apache.ranger.common.view.ViewBaseBean; + +@XmlRootElement +public class VTrxLogAttr extends ViewBaseBean implements Serializable{ + private static final long serialVersionUID = 1L; + + protected String attribName; + protected String attribUserFriendlyName; + protected boolean isEnum; + + public VTrxLogAttr(){} + + public VTrxLogAttr(String attribName, String attribUserFriendlyName, + boolean isEnum) { + super(); + this.attribName = attribName; + this.attribUserFriendlyName = attribUserFriendlyName; + this.isEnum = isEnum; + } + + + + + /** + * @return the attribUserFriendlyName + */ + public String getAttribUserFriendlyName() { + return attribUserFriendlyName; + } + + + /** + * @return the isEnum + */ + public boolean isEnum() { + return isEnum; + } + + + + @Override + public int getMyClassType( ) { + return AppConstants.CLASS_TYPE_XA_TRANSACTION_LOG_ATTRIBUTE; + } + + @Override + public String toString(){ + String str = "VTrxLogAttr={"; + str += super.toString(); + str += "attribName={" + attribName + "} "; + str += "attribUserFriendlyName={" + attribUserFriendlyName + "} "; + str += "isEnum={" + isEnum + "} "; + str += "}"; + return str; + } +} http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/413fcb68/security-admin/src/main/java/org/apache/ranger/common/view/ViewBaseBean.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/common/view/ViewBaseBean.java b/security-admin/src/main/java/org/apache/ranger/common/view/ViewBaseBean.java new file mode 100644 index 0000000..b820120 --- /dev/null +++ b/security-admin/src/main/java/org/apache/ranger/common/view/ViewBaseBean.java @@ -0,0 +1,56 @@ +/* + * 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.common.view; + +import javax.xml.bind.annotation.XmlTransient; + +import org.apache.ranger.common.XACommonEnums; +import org.apache.ranger.entity.XXDBBase; +import org.codehaus.jackson.annotate.JsonIgnore; + +public class ViewBaseBean implements java.io.Serializable { + private static final long serialVersionUID = 1L; + + @JsonIgnore + private XXDBBase mObj = null; + + /** + * @return the gjObj + */ + @XmlTransient + @JsonIgnore + public XXDBBase getMObj() { + return mObj; + } + + /** + * @param gjObj + * the gjObj to set + */ + public void setMObj(XXDBBase gjObj) { + this.mObj = gjObj; + } + + @XmlTransient + @JsonIgnore + public int getMyClassType() { + return XACommonEnums.CLASS_TYPE_NONE; + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/413fcb68/security-admin/src/main/java/org/apache/ranger/credentialapi/CredentialReader.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/credentialapi/CredentialReader.java b/security-admin/src/main/java/org/apache/ranger/credentialapi/CredentialReader.java new file mode 100644 index 0000000..920c12d --- /dev/null +++ b/security-admin/src/main/java/org/apache/ranger/credentialapi/CredentialReader.java @@ -0,0 +1,87 @@ +/* + * 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.credentialapi; +import java.util.ArrayList; +import java.util.List; + +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.security.alias.CredentialProvider; +import org.apache.hadoop.security.alias.CredentialProviderFactory; +import org.apache.hadoop.security.alias.JavaKeyStoreProvider; + +public class CredentialReader { + + public static String getDecryptedString(String CrendentialProviderPath,String alias) { + String credential=null; + try{ + if(CrendentialProviderPath==null || alias==null){ + return null; + } + char[] pass = null; + Configuration conf = new Configuration(); + String crendentialProviderPrefix=JavaKeyStoreProvider.SCHEME_NAME + "://file"; + crendentialProviderPrefix=crendentialProviderPrefix.toLowerCase(); + CrendentialProviderPath=CrendentialProviderPath.trim(); + alias=alias.trim(); + if(CrendentialProviderPath.toLowerCase().startsWith(crendentialProviderPrefix)){ + conf.set(CredentialProviderFactory.CREDENTIAL_PROVIDER_PATH, + //UserProvider.SCHEME_NAME + ":///," + + CrendentialProviderPath); + }else{ + if(CrendentialProviderPath.startsWith("/")){ + conf.set(CredentialProviderFactory.CREDENTIAL_PROVIDER_PATH, + //UserProvider.SCHEME_NAME + ":///," + + JavaKeyStoreProvider.SCHEME_NAME + "://file" + CrendentialProviderPath); + }else{ + conf.set(CredentialProviderFactory.CREDENTIAL_PROVIDER_PATH, + //UserProvider.SCHEME_NAME + ":///," + + JavaKeyStoreProvider.SCHEME_NAME + "://file/" + CrendentialProviderPath); + } + } + List<CredentialProvider> providers = CredentialProviderFactory.getProviders(conf); + List<String> aliasesList=new ArrayList<String>(); + CredentialProvider.CredentialEntry credEntry=null; + for(CredentialProvider provider: providers) { + //System.out.println("Credential Provider :" + provider); + aliasesList=provider.getAliases(); + if(aliasesList!=null && aliasesList.contains(alias.toLowerCase())){ + credEntry=null; + credEntry= provider.getCredentialEntry(alias); + pass = credEntry.getCredential(); + if(pass!=null && pass.length>0){ + credential=String.valueOf(pass); + break; + } + } + } + }catch(Exception ex){ + ex.printStackTrace(); + credential=null; + } + return credential; + } + + /* + public static void main(String args[]) throws Exception{ + String keystoreFile =new String("/tmp/mykey3.jceks"); + String password=CredentialReader.getDecryptedString(keystoreFile, "mykey3"); + System.out.println(password); + }*/ +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/413fcb68/security-admin/src/main/java/org/apache/ranger/db/XADaoManager.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/db/XADaoManager.java b/security-admin/src/main/java/org/apache/ranger/db/XADaoManager.java new file mode 100644 index 0000000..64f2148 --- /dev/null +++ b/security-admin/src/main/java/org/apache/ranger/db/XADaoManager.java @@ -0,0 +1,77 @@ +/* + * 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 javax.persistence.*; + +import org.apache.log4j.Logger; +import org.apache.ranger.common.*; +import org.apache.ranger.common.db.BaseDao; +import org.springframework.stereotype.Component; +import org.springframework.beans.factory.annotation.Autowired; + +@Component +public class XADaoManager extends XADaoManagerBase { + final static Logger logger = Logger.getLogger(XADaoManager.class); + + @PersistenceContext(unitName = "defaultPU") + private EntityManager em; + + @PersistenceContext(unitName = "loggingPU") + private EntityManager loggingEM; + + @Autowired + StringUtil stringUtil; + + @Override + public EntityManager getEntityManager() { + return em; + } + + public EntityManager getEntityManager(String persistenceContextUnit) { + logger.error("XADaoManager.getEntityManager(" + persistenceContextUnit + ")"); + if (persistenceContextUnit.equalsIgnoreCase("loggingPU")) { + return loggingEM; + } + return getEntityManager(); + } + + + /** + * @return the stringUtil + */ + public StringUtil getStringUtil() { + return stringUtil; + } + + /* + * (non-Javadoc) + */ + @Override + public BaseDao<?> getDaoForClassType(int classType) { + if (classType == XAConstants.CLASS_TYPE_NONE) { + return null; + } + return super.getDaoForClassType(classType); + } + +} http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/413fcb68/security-admin/src/main/java/org/apache/ranger/db/XADaoManagerBase.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/db/XADaoManagerBase.java b/security-admin/src/main/java/org/apache/ranger/db/XADaoManagerBase.java new file mode 100644 index 0000000..e908447 --- /dev/null +++ b/security-admin/src/main/java/org/apache/ranger/db/XADaoManagerBase.java @@ -0,0 +1,216 @@ +/* + * 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 javax.persistence.*; + +import java.util.*; + +import org.apache.log4j.Logger; +import org.apache.ranger.common.*; +import org.apache.ranger.common.db.*; +import org.apache.ranger.entity.*; +import org.springframework.stereotype.Component; +import org.springframework.beans.factory.annotation.Autowired; + + +public abstract class XADaoManagerBase { + final static Logger logger = Logger.getLogger(XADaoManagerBase.class); + + @Autowired + protected RESTErrorUtil restErrorUtil; + abstract public EntityManager getEntityManager(); + + public XADaoManagerBase() { + } + + public BaseDao<?> getDaoForClassType(int classType) { + if (classType == AppConstants.CLASS_TYPE_AUTH_SESS) { + return getXXAuthSession(); + } + if (classType == AppConstants.CLASS_TYPE_USER_PROFILE) { + return getXXPortalUser(); + } + if (classType == AppConstants.CLASS_TYPE_XA_ASSET) { + return getXXAsset(); + } + if (classType == AppConstants.CLASS_TYPE_XA_RESOURCE) { + return getXXResource(); + } + if (classType == AppConstants.CLASS_TYPE_XA_CRED_STORE) { + return getXXCredentialStore(); + } + if (classType == AppConstants.CLASS_TYPE_XA_GROUP) { + return getXXGroup(); + } + if (classType == AppConstants.CLASS_TYPE_XA_USER) { + return getXXUser(); + } + if (classType == AppConstants.CLASS_TYPE_XA_GROUP_USER) { + return getXXGroupUser(); + } + if (classType == AppConstants.CLASS_TYPE_XA_GROUP_GROUP) { + return getXXGroupGroup(); + } + if (classType == AppConstants.CLASS_TYPE_XA_PERM_MAP) { + return getXXPermMap(); + } + if (classType == AppConstants.CLASS_TYPE_XA_AUDIT_MAP) { + return getXXAuditMap(); + } + if (classType == AppConstants.CLASS_TYPE_XA_POLICY_EXPORT_AUDIT) { + return getXXPolicyExportAudit(); + } + if (classType == AppConstants.CLASS_TYPE_TRX_LOG) { + return getXXTrxLog(); + } + if (classType == AppConstants.CLASS_TYPE_XA_ACCESS_AUDIT) { + return getXXAccessAudit(); + } + + logger.error("No DaoManager found for classType=" + classType, new Throwable()); + return null; + } + + public BaseDao<?> getDaoForClassName(String className) { + if (className.equals("XXDBBase")) { + return getXXDBBase(); + } + if (className.equals("XXAuthSession")) { + return getXXAuthSession(); + } + if (className.equals("XXPortalUser")) { + return getXXPortalUser(); + } + if (className.equals("XXPortalUserRole")) { + return getXXPortalUserRole(); + } + if (className.equals("XXAsset")) { + return getXXAsset(); + } + if (className.equals("XXResource")) { + return getXXResource(); + } + if (className.equals("XXCredentialStore")) { + return getXXCredentialStore(); + } + if (className.equals("XXGroup")) { + return getXXGroup(); + } + if (className.equals("XXUser")) { + return getXXUser(); + } + if (className.equals("XXGroupUser")) { + return getXXGroupUser(); + } + if (className.equals("XXGroupGroup")) { + return getXXGroupGroup(); + } + if (className.equals("XXPermMap")) { + return getXXPermMap(); + } + if (className.equals("XXAuditMap")) { + return getXXAuditMap(); + } + if (className.equals("XXPolicyExportAudit")) { + return getXXPolicyExportAudit(); + } + if (className.equals("XXTrxLog")) { + return getXXTrxLog(); + } + if (className.equals("XXAccessAudit")) { + return getXXAccessAudit(); + } + + logger.error("No DaoManager found for className=" + className, new Throwable()); + return null; + } + + public XXDBBaseDao getXXDBBase() { + return new XXDBBaseDao(this); + } + + public XXAuthSessionDao getXXAuthSession() { + return new XXAuthSessionDao(this); + } + + public XXPortalUserDao getXXPortalUser() { + return new XXPortalUserDao(this); + } + + public XXPortalUserRoleDao getXXPortalUserRole() { + return new XXPortalUserRoleDao(this); + } + + public XXAssetDao getXXAsset() { + return new XXAssetDao(this); + } + + public XXResourceDao getXXResource() { + return new XXResourceDao(this); + } + + public XXCredentialStoreDao getXXCredentialStore() { + return new XXCredentialStoreDao(this); + } + + public XXGroupDao getXXGroup() { + return new XXGroupDao(this); + } + + public XXUserDao getXXUser() { + return new XXUserDao(this); + } + + public XXGroupUserDao getXXGroupUser() { + return new XXGroupUserDao(this); + } + + public XXGroupGroupDao getXXGroupGroup() { + return new XXGroupGroupDao(this); + } + + public XXPermMapDao getXXPermMap() { + return new XXPermMapDao(this); + } + + public XXAuditMapDao getXXAuditMap() { + return new XXAuditMapDao(this); + } + + public XXPolicyExportAuditDao getXXPolicyExportAudit() { + return new XXPolicyExportAuditDao(this); + } + + public XXTrxLogDao getXXTrxLog() { + return new XXTrxLogDao(this); + } + + public XXAccessAuditDao getXXAccessAudit() { + return new XXAccessAuditDao(this); + } + + +} + http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/413fcb68/security-admin/src/main/java/org/apache/ranger/db/XXAccessAuditDao.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXAccessAuditDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXAccessAuditDao.java new file mode 100644 index 0000000..614cea9 --- /dev/null +++ b/security-admin/src/main/java/org/apache/ranger/db/XXAccessAuditDao.java @@ -0,0 +1,32 @@ +/* + * 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 org.apache.ranger.common.*; +import org.apache.ranger.common.db.*; +import org.apache.ranger.entity.*; + +public class XXAccessAuditDao extends BaseDao<XXAccessAudit> { + + public XXAccessAuditDao( XADaoManagerBase daoManager ) { + super(daoManager, "loggingPU"); + } +} + http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/413fcb68/security-admin/src/main/java/org/apache/ranger/db/XXAssetDao.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXAssetDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXAssetDao.java new file mode 100644 index 0000000..08a1d2a --- /dev/null +++ b/security-admin/src/main/java/org/apache/ranger/db/XXAssetDao.java @@ -0,0 +1,54 @@ +/* + * 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 javax.persistence.NoResultException; + +import org.apache.log4j.Logger; +import org.apache.ranger.common.XACommonEnums; +import org.apache.ranger.common.db.*; +import org.apache.ranger.entity.XXAsset; + +public class XXAssetDao extends BaseDao<XXAsset> { + static final Logger logger = Logger.getLogger(XXAssetDao.class); + + public XXAssetDao( XADaoManagerBase daoManager ) { + super(daoManager); + } + + public XXAsset findByAssetName(String name){ + if (daoManager.getStringUtil().isEmpty(name)) { + logger.debug("name is empty"); + return null; + } + try { + return getEntityManager() + .createNamedQuery("XXAsset.findByAssetName", XXAsset.class) + .setParameter("name", name.trim()) + .setParameter("status",XACommonEnums.STATUS_DELETED) + .getSingleResult(); + } catch (NoResultException e) { + // ignore + } + return null; + } + +} + http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/413fcb68/security-admin/src/main/java/org/apache/ranger/db/XXAuditMapDao.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXAuditMapDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXAuditMapDao.java new file mode 100644 index 0000000..2b1a95f --- /dev/null +++ b/security-admin/src/main/java/org/apache/ranger/db/XXAuditMapDao.java @@ -0,0 +1,57 @@ +/* + * 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.log4j.Logger; +import org.apache.ranger.common.*; +import org.apache.ranger.common.db.*; +import org.apache.ranger.entity.*; + +public class XXAuditMapDao extends BaseDao<XXAuditMap> { + static final Logger logger = Logger.getLogger(XXAssetDao.class); + + public XXAuditMapDao( XADaoManagerBase daoManager ) { + super(daoManager); + } + + public List<XXAuditMap> findByResourceId(Long resourceId) { + if (resourceId != null) { + try { + return getEntityManager() + .createNamedQuery("XXAuditMap.findByResourceId", XXAuditMap.class) + .setParameter("resourceId", resourceId) + .getResultList(); + } catch (NoResultException e) { + logger.debug(e.getMessage()); + } + } else { + logger.debug("ResourceId not provided."); + return new ArrayList<XXAuditMap>(); + } + return new ArrayList<XXAuditMap>(); + } + +} + http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/413fcb68/security-admin/src/main/java/org/apache/ranger/db/XXAuthSessionDao.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXAuthSessionDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXAuthSessionDao.java new file mode 100644 index 0000000..4e592f4 --- /dev/null +++ b/security-admin/src/main/java/org/apache/ranger/db/XXAuthSessionDao.java @@ -0,0 +1,53 @@ +/* + * 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.List; + +import javax.persistence.NoResultException; + +import org.apache.ranger.common.db.BaseDao; +import org.apache.ranger.entity.XXAuthSession; + +public class XXAuthSessionDao extends BaseDao<XXAuthSession> { + + public XXAuthSessionDao( XADaoManagerBase daoManager ) { + super(daoManager); + } + + @SuppressWarnings("unchecked") + public List<Object[]> getUserLoggedIn(){ + return getEntityManager() + .createNamedQuery("XXAuthSession.getUserLoggedIn") + .getResultList(); + } + + public XXAuthSession getAuthSessionBySessionId(String sessionId){ + try{ + return (XXAuthSession) getEntityManager() + .createNamedQuery("XXAuthSession.getAuthSessionBySessionId") + .setParameter("sessionId", sessionId) + .getSingleResult(); + } catch(NoResultException ignoreNoResultFound) { + return null; + } + } +} + http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/413fcb68/security-admin/src/main/java/org/apache/ranger/db/XXCredentialStoreDao.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXCredentialStoreDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXCredentialStoreDao.java new file mode 100644 index 0000000..1ed278e --- /dev/null +++ b/security-admin/src/main/java/org/apache/ranger/db/XXCredentialStoreDao.java @@ -0,0 +1,32 @@ +/* + * 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 org.apache.ranger.common.*; +import org.apache.ranger.common.db.*; +import org.apache.ranger.entity.*; + +public class XXCredentialStoreDao extends BaseDao<XXCredentialStore> { + + public XXCredentialStoreDao( XADaoManagerBase daoManager ) { + super(daoManager); + } +} + http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/413fcb68/security-admin/src/main/java/org/apache/ranger/db/XXDBBaseDao.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXDBBaseDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXDBBaseDao.java new file mode 100644 index 0000000..3913f3d --- /dev/null +++ b/security-admin/src/main/java/org/apache/ranger/db/XXDBBaseDao.java @@ -0,0 +1,31 @@ +/* + * 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 org.apache.ranger.common.db.BaseDao; +import org.apache.ranger.entity.*; + +public class XXDBBaseDao extends BaseDao<XXDBBase> { + + public XXDBBaseDao( XADaoManagerBase daoManager ) { + super(daoManager); + } +} + http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/413fcb68/security-admin/src/main/java/org/apache/ranger/db/XXGroupDao.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXGroupDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXGroupDao.java new file mode 100644 index 0000000..e0b7735 --- /dev/null +++ b/security-admin/src/main/java/org/apache/ranger/db/XXGroupDao.java @@ -0,0 +1,73 @@ +/* + * 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 org.apache.ranger.common.*; +import org.apache.ranger.common.db.*; +import org.apache.ranger.entity.*; + +public class XXGroupDao extends BaseDao<XXGroup> { + + public XXGroupDao(XADaoManagerBase daoManager) { + super(daoManager); + } + + @SuppressWarnings("unchecked") + public List<XXGroup> findByUserId(Long userId) { + if (userId == null) { + return new ArrayList<XXGroup>(); + } + + List<XXGroup> groupList = (List<XXGroup>) getEntityManager() + .createNamedQuery("XXGroup.findByUserId") + .setParameter("userId", userId).getResultList(); + + if (groupList == null) { + groupList = new ArrayList<XXGroup>(); + } + + return groupList; + } + + @SuppressWarnings("unchecked") + public XXGroup findByGroupName(String groupName) { + if (groupName == null) { + return null; + } + try { + + return (XXGroup) getEntityManager() + .createNamedQuery("XXGroup.findByGroupName") + .setParameter("name", groupName) + .getSingleResult(); + } catch (Exception e) { + + } + return null; + } + +} http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/413fcb68/security-admin/src/main/java/org/apache/ranger/db/XXGroupGroupDao.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXGroupGroupDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXGroupGroupDao.java new file mode 100644 index 0000000..5b831a2 --- /dev/null +++ b/security-admin/src/main/java/org/apache/ranger/db/XXGroupGroupDao.java @@ -0,0 +1,32 @@ +/* + * 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 org.apache.ranger.common.*; +import org.apache.ranger.common.db.*; +import org.apache.ranger.entity.*; + +public class XXGroupGroupDao extends BaseDao<XXGroupGroup> { + + public XXGroupGroupDao( XADaoManagerBase daoManager ) { + super(daoManager); + } +} + http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/413fcb68/security-admin/src/main/java/org/apache/ranger/db/XXGroupUserDao.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXGroupUserDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXGroupUserDao.java new file mode 100644 index 0000000..8b27c7f --- /dev/null +++ b/security-admin/src/main/java/org/apache/ranger/db/XXGroupUserDao.java @@ -0,0 +1,64 @@ +/* + * 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.log4j.Logger; +import org.apache.ranger.common.*; +import org.apache.ranger.common.db.*; +import org.apache.ranger.entity.*; + +public class XXGroupUserDao extends BaseDao<XXGroupUser> { + static final Logger logger = Logger.getLogger(XXGroupUserDao.class); + + public XXGroupUserDao(XADaoManagerBase daoManager) { + super(daoManager); + } + + public void deleteByGroupIdAndUserId(Long groupId, Long userId) { + getEntityManager() + .createNamedQuery("XXGroupUser.deleteByGroupIdAndUserId") + .setParameter("userId", userId) + .setParameter("parentGroupId", groupId).executeUpdate(); + + } + + public List<XXGroupUser> findByUserId(Long userId) { + if (userId != null) { + try { + return getEntityManager() + .createNamedQuery("XXGroupUser.findByUserId", XXGroupUser.class) + .setParameter("userId", userId) + .getResultList(); + } catch (NoResultException e) { + logger.debug(e.getMessage()); + } + } else { + logger.debug("ResourceId not provided."); + return new ArrayList<XXGroupUser>(); + } + return null; + } +} http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/413fcb68/security-admin/src/main/java/org/apache/ranger/db/XXPermMapDao.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXPermMapDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXPermMapDao.java new file mode 100644 index 0000000..659b9be --- /dev/null +++ b/security-admin/src/main/java/org/apache/ranger/db/XXPermMapDao.java @@ -0,0 +1,56 @@ +/* + * 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.log4j.Logger; +import org.apache.ranger.common.*; +import org.apache.ranger.common.db.*; +import org.apache.ranger.entity.*; + +public class XXPermMapDao extends BaseDao<XXPermMap> { + static final Logger logger = Logger.getLogger(XXResourceDao.class); + + public XXPermMapDao( XADaoManagerBase daoManager ) { + super(daoManager); + } + + public List<XXPermMap> findByResourceId(Long resourceId) { + if (resourceId != null) { + try { + return getEntityManager() + .createNamedQuery("XXPermMap.findByResourceId", XXPermMap.class) + .setParameter("resourceId", resourceId) + .getResultList(); + } catch (NoResultException e) { + logger.debug(e.getMessage()); + } + } else { + logger.debug("ResourceId not provided."); + return new ArrayList<XXPermMap>(); + } + return null; + } +} + http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/413fcb68/security-admin/src/main/java/org/apache/ranger/db/XXPolicyExportAuditDao.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyExportAuditDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyExportAuditDao.java new file mode 100644 index 0000000..9ac89b7 --- /dev/null +++ b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyExportAuditDao.java @@ -0,0 +1,32 @@ +/* + * 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 org.apache.ranger.common.*; +import org.apache.ranger.common.db.*; +import org.apache.ranger.entity.*; + +public class XXPolicyExportAuditDao extends BaseDao<XXPolicyExportAudit> { + + public XXPolicyExportAuditDao( XADaoManagerBase daoManager ) { + super(daoManager); + } +} + http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/413fcb68/security-admin/src/main/java/org/apache/ranger/db/XXPortalUserDao.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXPortalUserDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXPortalUserDao.java new file mode 100644 index 0000000..ac11431 --- /dev/null +++ b/security-admin/src/main/java/org/apache/ranger/db/XXPortalUserDao.java @@ -0,0 +1,79 @@ +/* + * 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.List; + +import org.apache.ranger.common.db.*; +import org.apache.ranger.entity.XXPortalUser; + +public class XXPortalUserDao extends BaseDao<XXPortalUser> { + + public XXPortalUserDao(XADaoManagerBase daoManager) { + super(daoManager); + } + + public XXPortalUser findByLoginId(String loginId) { + if (daoManager.getStringUtil().isEmpty(loginId)) { + return null; + } + + @SuppressWarnings("rawtypes") + List resultList = getEntityManager() + .createNamedQuery("XXPortalUser.findByLoginId") + .setParameter("loginId", loginId).getResultList(); + if (resultList.size() != 0) { + return (XXPortalUser) resultList.get(0); + } + return null; + } + + public XXPortalUser findByEmailAddress(String emailAddress) { + if (daoManager.getStringUtil().isEmpty(emailAddress)) { + return null; + } + + @SuppressWarnings("rawtypes") + List resultList = getEntityManager() + .createNamedQuery("XXPortalUser.findByEmailAddress") + .setParameter("emailAddress", emailAddress) + .getResultList(); + if (resultList.size() != 0) { + return (XXPortalUser) resultList.get(0); + } + return null; + } + + @SuppressWarnings("unchecked") + public List<XXPortalUser> findByRole(String userRole) { + return getEntityManager().createNamedQuery("XXPortalUser.findByRole") + .setParameter("userRole", userRole.toUpperCase()) + .getResultList(); + } + + @SuppressWarnings("unchecked") + public List<Object[]> getUserAddedReport(){ + return getEntityManager() + .createNamedQuery("XXPortalUser.getUserAddedReport") + .getResultList(); + } + +} http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/413fcb68/security-admin/src/main/java/org/apache/ranger/db/XXPortalUserRoleDao.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXPortalUserRoleDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXPortalUserRoleDao.java new file mode 100644 index 0000000..cf41d59 --- /dev/null +++ b/security-admin/src/main/java/org/apache/ranger/db/XXPortalUserRoleDao.java @@ -0,0 +1,59 @@ +/* + * 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.*; +import org.apache.ranger.entity.XXPortalUserRole; + +public class XXPortalUserRoleDao extends BaseDao<XXPortalUserRole> { + + public XXPortalUserRoleDao(XADaoManagerBase daoManager) { + super(daoManager); + } + + @SuppressWarnings("unchecked") + public List<XXPortalUserRole> findByUserId(Long userId) { + if (userId == null) { + return new ArrayList<XXPortalUserRole>(); + } + return getEntityManager().createNamedQuery("XXPortalUserRole.findByUserId") + .setParameter("userId", userId).getResultList(); + } + + public XXPortalUserRole findByRoleUserId(Long userId, String role) { + if(userId == null || role == null || role.isEmpty()){ + return null; + } + try{ + return (XXPortalUserRole)getEntityManager().createNamedQuery("XXPortalUserRole.findByRoleUserId") + .setParameter("userId", userId) + .setParameter("userRole", role).getSingleResult(); + } catch(NoResultException e){ + //doNothing; + } + return null; + } +} http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/413fcb68/security-admin/src/main/java/org/apache/ranger/db/XXResourceDao.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXResourceDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXResourceDao.java new file mode 100644 index 0000000..0aa3f75 --- /dev/null +++ b/security-admin/src/main/java/org/apache/ranger/db/XXResourceDao.java @@ -0,0 +1,273 @@ +/* + * 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.Date; +import java.sql.Timestamp; +import java.util.ArrayList; +import java.util.List; + +import javax.persistence.NoResultException; + +import org.apache.log4j.Logger; +import org.apache.ranger.common.db.*; +import org.apache.ranger.entity.XXResource; + +public class XXResourceDao extends BaseDao<XXResource> { + static final Logger logger = Logger.getLogger(XXResourceDao.class); + + public XXResourceDao(XADaoManagerBase daoManager) { + super(daoManager); + } + + public XXResource findByResourceName(String name) { + if (daoManager.getStringUtil().isEmpty(name)) { + logger.debug("name is empty"); + return null; + } + try { + return getEntityManager() + .createNamedQuery("XXResource.findByResourceName", + XXResource.class).setParameter("name", name.trim()) + .getSingleResult(); + } catch (NoResultException e) { + // ignore + } + return null; + } + + public List<XXResource> findUpdatedResourcesByAssetId( + Long assetId, Date lastUpdated) { + if (assetId != null) { + try { + return getEntityManager() + .createNamedQuery("XXResource.findUpdatedResourcesByAssetId", + XXResource.class) + .setParameter("assetId", assetId) + .setParameter("lastUpdated", lastUpdated) + .getResultList(); + } catch (NoResultException e) { + logger.debug(e.getMessage()); + } + } else { + logger.debug("AssetId not provided."); + return new ArrayList<XXResource>(); + } + return null; + } + + public List<XXResource> findByAssetId(Long assetId) { + List<XXResource> xResourceList = null; + if (assetId != null) { + try { + xResourceList = getEntityManager() + .createNamedQuery("XXResource.findByAssetId", XXResource.class) + .setParameter("assetId", assetId) + .getResultList(); + } catch (NoResultException e) { + // ignore + logger.debug(e.getMessage()); + } + if(xResourceList == null) { + xResourceList = new ArrayList<XXResource>(); + } + } else { + logger.debug("AssetId not provided."); + xResourceList = new ArrayList<XXResource>(); + } + return xResourceList; + } + + public List<XXResource> findByAssetType(Integer assetType) { + List<XXResource> xResourceList = null; + if (assetType != null) { + try { + xResourceList = getEntityManager() + .createNamedQuery("XXResource.findByAssetType", XXResource.class) + .setParameter("assetType", assetType) + .getResultList(); + } catch (NoResultException e) { + // ignore + logger.debug(e.getMessage()); + } + if(xResourceList == null) { + xResourceList = new ArrayList<XXResource>(); + } + } else { + logger.debug("AssetType not provided."); + xResourceList = new ArrayList<XXResource>(); + } + return xResourceList; + } + + public Timestamp getMaxUpdateTimeForAssetName(String assetName) { + if (assetName == null) { + return null; + } + try { + Date date=(Date)getEntityManager() + .createNamedQuery("XXResource.getMaxUpdateTimeForAssetName") + .setParameter("assetName", assetName) + .getSingleResult(); + if(date!=null){ + Timestamp timestamp=new Timestamp(date.getTime()); + return timestamp; + }else{ + return null; + } + } catch (NoResultException e) { + // ignore + } + return null; + } + + public List<XXResource> findUpdatedResourcesByAssetName( + String assetName, Date lastUpdated) { + if (assetName != null) { + try { + return getEntityManager() + .createNamedQuery( + "XXResource.findUpdatedResourcesByAssetName", + XXResource.class) + .setParameter("assetName", assetName) + .setParameter("lastUpdated", lastUpdated) + .getResultList(); + } catch (NoResultException e) { + logger.debug(e.getMessage()); + } + } else { + logger.debug("Asset name not provided."); + return new ArrayList<XXResource>(); + } + return null; + } + + public List<XXResource> findByResourceNameAndAssetIdAndRecursiveFlag( + String name,Long assetId,int isRecursive ) { + if (daoManager.getStringUtil().isEmpty(name)) { + logger.debug("name is empty"); + return null; + } + if (assetId==null) { + logger.debug("assetId is null"); + return null; + } + try { + String resourceName = name.trim(); + resourceName = "%"+resourceName+"%"; + return getEntityManager() + .createNamedQuery( + "XXResource.findByResourceNameAndAssetIdAndRecursiveFlag", + XXResource.class).setParameter("name", resourceName) + .setParameter("assetId", assetId) + .setParameter("isRecursive", isRecursive) + .getResultList(); + } catch (NoResultException e) { + // ignore + } + return null; + } + + public List<XXResource> findByResourceNameAndAssetIdAndResourceType(String name,Long assetId,int resourceType) { + if (daoManager.getStringUtil().isEmpty(name)) { + logger.debug("name is empty"); + return null; + } + if (assetId==null) { + logger.debug("assetId is null"); + return null; + } + try { + String resourceName = name.trim(); + resourceName = "%"+resourceName+"%"; + return getEntityManager() + .createNamedQuery( + "XXResource.findByResourceNameAndAssetIdAndResourceType", + XXResource.class).setParameter("name", resourceName) + .setParameter("assetId", assetId) + .setParameter("resourceType", resourceType) + .getResultList(); + } catch (NoResultException e) { + // ignore + } + return null; + } + + @SuppressWarnings("unchecked") + public List<XXResource> findByAssetIdAndResourceTypes(Long assetId, + List<Integer> resourceType) { + if (assetId == null) { + logger.debug("assetId is null"); + return null; + } + try { + StringBuffer query = new StringBuffer( + "SELECT obj FROM XXResource obj WHERE obj.assetId=" + + assetId); + String whereClause = makeWhereCaluseForResourceType(resourceType); + if (!whereClause.trim().isEmpty()) { + query.append(" and ( " + whereClause + " )"); + } + return getEntityManager().createQuery(query.toString()) + .getResultList(); + } catch (NoResultException e) { + // ignore + } + return null; + } + + private String makeWhereCaluseForResourceType(List<Integer> resourceTypes) { + StringBuffer whereClause = new StringBuffer(); + if (resourceTypes != null && resourceTypes.size() != 0) { + + for (int i = 0; i < resourceTypes.size() - 1; i++) { + whereClause.append("obj.resourceType=" + resourceTypes.get(i) + + " OR "); + } + whereClause.append("obj.resourceType=" + + resourceTypes.get(resourceTypes.size() - 1)); + } + return whereClause.toString(); + } + + public List<XXResource> findByAssetIdAndResourceStatus(Long assetId, int resourceStatus) { + List<XXResource> xResourceList = null; + if (assetId != null) { + try { + xResourceList = getEntityManager() + .createNamedQuery("XXResource.findByAssetIdAndResourceStatus", XXResource.class) + .setParameter("assetId", assetId) + .setParameter("resourceStatus", resourceStatus) + .getResultList(); + } catch (NoResultException e) { + // ignore + logger.debug(e.getMessage()); + } + if(xResourceList == null) { + xResourceList = new ArrayList<XXResource>(); + } + } else { + logger.debug("AssetId not provided."); + xResourceList = new ArrayList<XXResource>(); + } + return xResourceList; + } +} http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/413fcb68/security-admin/src/main/java/org/apache/ranger/db/XXTrxLogDao.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXTrxLogDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXTrxLogDao.java new file mode 100644 index 0000000..e5729fa --- /dev/null +++ b/security-admin/src/main/java/org/apache/ranger/db/XXTrxLogDao.java @@ -0,0 +1,56 @@ +/* + * 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.log4j.Logger; +import org.apache.ranger.common.db.*; +import org.apache.ranger.entity.XXTrxLog; + +public class XXTrxLogDao extends BaseDao<XXTrxLog> { + private static Logger logger = Logger.getLogger(XXTrxLogDao.class); + + public XXTrxLogDao( XADaoManagerBase daoManager ) { + super(daoManager); + } + + public List<XXTrxLog> findByTransactionId(String transactionId){ + if(transactionId == null){ + return null; + } + + List<XXTrxLog> xTrxLogList = new ArrayList<XXTrxLog>(); + try { + xTrxLogList = getEntityManager() + .createNamedQuery("XXTrxLog.findByTrxId", XXTrxLog.class) + .setParameter("transactionId", transactionId) + .getResultList(); + } catch (NoResultException e) { + logger.debug(e.getMessage()); + } + + return xTrxLogList; + } +} + http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/413fcb68/security-admin/src/main/java/org/apache/ranger/db/XXUserDao.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/db/XXUserDao.java b/security-admin/src/main/java/org/apache/ranger/db/XXUserDao.java new file mode 100644 index 0000000..4d2cec4 --- /dev/null +++ b/security-admin/src/main/java/org/apache/ranger/db/XXUserDao.java @@ -0,0 +1,51 @@ +/* + * 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 javax.persistence.NoResultException; + +import org.apache.log4j.Logger; +import org.apache.ranger.common.db.*; +import org.apache.ranger.entity.XXUser; + +public class XXUserDao extends BaseDao<XXUser> { + static final Logger logger = Logger.getLogger(XXResourceDao.class); + + public XXUserDao(XADaoManagerBase daoManager) { + super(daoManager); + } + + public XXUser findByUserName(String name) { + if (daoManager.getStringUtil().isEmpty(name)) { + logger.debug("name is empty"); + return null; + } + try { + return getEntityManager() + .createNamedQuery("XXUser.findByUserName", XXUser.class) + .setParameter("name", name.trim()) + .getSingleResult(); + } catch (NoResultException e) { + // ignore + } + return null; + } +} http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/413fcb68/security-admin/src/main/java/org/apache/ranger/entity/XXAccessAudit.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/entity/XXAccessAudit.java b/security-admin/src/main/java/org/apache/ranger/entity/XXAccessAudit.java new file mode 100644 index 0000000..1e8f6e7 --- /dev/null +++ b/security-admin/src/main/java/org/apache/ranger/entity/XXAccessAudit.java @@ -0,0 +1,653 @@ +/* + * 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.entity; + +/** + * Access Audit + * + */ + +import java.util.*; + +import javax.persistence.*; +import javax.xml.bind.annotation.*; + +import org.apache.ranger.common.*; +import org.apache.ranger.entity.*; + + +@Entity +@Table(name="xa_access_audit") +@XmlRootElement +public class XXAccessAudit extends XXDBBase implements java.io.Serializable { + private static final long serialVersionUID = 1L; + + @Id + @SequenceGenerator(name="XA_ACCESS_AUDIT_SEQ",sequenceName="XA_ACCESS_AUDIT_SEQ",allocationSize=1) + @GeneratedValue(strategy=GenerationType.AUTO,generator="XA_ACCESS_AUDIT_SEQ") + @Column(name="ID") + protected Long id; + + @Override + public void setId(Long id) { + this.id=id; + } + @Override + public Long getId() { + return id; + } + /** + * Repository Type + * <ul> + * <li>This attribute is of type enum CommonEnums::AssetType + * </ul> + * + */ + @Column(name="AUDIT_TYPE" , nullable=false ) + protected int auditType = AppConstants.ASSET_UNKNOWN; + + /** + * Access Result + * <ul> + * <li>This attribute is of type enum CommonEnums::AccessResult + * </ul> + * + */ + @Column(name="ACCESS_RESULT" ) + protected int accessResult = XAConstants.ACCESS_RESULT_DENIED; + + /** + * Access Type + * <ul> + * <li>The maximum length for this attribute is <b>255</b>. + * </ul> + * + */ + @Column(name="ACCESS_TYPE" , length=255) + protected String accessType; + + /** + * Acl Enforcer + * <ul> + * <li>The maximum length for this attribute is <b>255</b>. + * </ul> + * + */ + @Column(name="ACL_ENFORCER" , length=255) + protected String aclEnforcer; + + /** + * Agent Id + * <ul> + * <li>The maximum length for this attribute is <b>255</b>. + * </ul> + * + */ + @Column(name="AGENT_ID" , length=255) + protected String agentId; + + /** + * Client Ip + * <ul> + * <li>The maximum length for this attribute is <b>255</b>. + * </ul> + * + */ + @Column(name="CLIENT_IP" , length=255) + protected String clientIP; + + /** + * Client Type + * <ul> + * <li>The maximum length for this attribute is <b>255</b>. + * </ul> + * + */ + @Column(name="CLIENT_TYPE" , length=255) + protected String clientType; + + /** + * Policy Id + * <ul> + * </ul> + * + */ + @Column(name="POLICY_ID" ) + protected long policyId; + + /** + * Repository Name + * <ul> + * <li>The maximum length for this attribute is <b>255</b>. + * </ul> + * + */ + @Column(name="REPO_NAME" , length=255) + protected String repoName; + + /** + * Repository Type + * <ul> + * </ul> + * + */ + @Column(name="REPO_TYPE" ) + protected int repoType; + + /** + * Reason of result + * <ul> + * <li>The maximum length for this attribute is <b>255</b>. + * </ul> + * + */ + @Column(name="RESULT_REASON" , length=255) + protected String resultReason; + + /** + * Session Id + * <ul> + * <li>The maximum length for this attribute is <b>255</b>. + * </ul> + * + */ + @Column(name="SESSION_ID" , length=255) + protected String sessionId; + + /** + * Event Time + * <ul> + * </ul> + * + */ + @Temporal(TemporalType.TIMESTAMP) + @Column(name="EVENT_TIME" ) + protected Date eventTime = DateUtil.getUTCDate(); + + /** + * Requesting User + * <ul> + * <li>The maximum length for this attribute is <b>255</b>. + * </ul> + * + */ + @Column(name="REQUEST_USER" , length=255) + protected String requestUser; + + /** + * Action + * <ul> + * <li>The maximum length for this attribute is <b>2000</b>. + * </ul> + * + */ + @Column(name="ACTION" , length=2000) + protected String action; + + /** + * Requesting Data + * <ul> + * <li>The maximum length for this attribute is <b>2000</b>. + * </ul> + * + */ + @Column(name="REQUEST_DATA" , length=2000) + protected String requestData; + + /** + * Resource Path + * <ul> + * <li>The maximum length for this attribute is <b>2000</b>. + * </ul> + * + */ + @Column(name="RESOURCE_PATH" , length=2000) + protected String resourcePath; + + /** + * Resource Type + * <ul> + * <li>The maximum length for this attribute is <b>255</b>. + * </ul> + * + */ + @Column(name="RESOURCE_TYPE" , length=255) + protected String resourceType; + + /** + * Default constructor. This will set all the attributes to default value. + */ + public XXAccessAudit ( ) { + auditType = AppConstants.ASSET_UNKNOWN; + accessResult = XAConstants.ACCESS_RESULT_DENIED; + } + + @Override + public int getMyClassType( ) { + return AppConstants.CLASS_TYPE_XA_ACCESS_AUDIT; + } + + /** + * This method sets the value to the member attribute <b>auditType</b>. + * You cannot set null to the attribute. + * @param auditType Value to set member attribute <b>auditType</b> + */ + public void setAuditType( int auditType ) { + this.auditType = auditType; + } + + /** + * Returns the value for the member attribute <b>auditType</b> + * @return int - value of member attribute <b>auditType</b>. + */ + public int getAuditType( ) { + return this.auditType; + } + + /** + * This method sets the value to the member attribute <b>accessResult</b>. + * You cannot set null to the attribute. + * @param accessResult Value to set member attribute <b>accessResult</b> + */ + public void setAccessResult( int accessResult ) { + this.accessResult = accessResult; + } + + /** + * Returns the value for the member attribute <b>accessResult</b> + * @return int - value of member attribute <b>accessResult</b>. + */ + public int getAccessResult( ) { + return this.accessResult; + } + + /** + * This method sets the value to the member attribute <b>accessType</b>. + * You cannot set null to the attribute. + * @param accessType Value to set member attribute <b>accessType</b> + */ + public void setAccessType( String accessType ) { + this.accessType = accessType; + } + + /** + * Returns the value for the member attribute <b>accessType</b> + * @return String - value of member attribute <b>accessType</b>. + */ + public String getAccessType( ) { + return this.accessType; + } + + /** + * This method sets the value to the member attribute <b>aclEnforcer</b>. + * You cannot set null to the attribute. + * @param aclEnforcer Value to set member attribute <b>aclEnforcer</b> + */ + public void setAclEnforcer( String aclEnforcer ) { + this.aclEnforcer = aclEnforcer; + } + + /** + * Returns the value for the member attribute <b>aclEnforcer</b> + * @return String - value of member attribute <b>aclEnforcer</b>. + */ + public String getAclEnforcer( ) { + return this.aclEnforcer; + } + + /** + * This method sets the value to the member attribute <b>agentId</b>. + * You cannot set null to the attribute. + * @param agentId Value to set member attribute <b>agentId</b> + */ + public void setAgentId( String agentId ) { + this.agentId = agentId; + } + + /** + * Returns the value for the member attribute <b>agentId</b> + * @return String - value of member attribute <b>agentId</b>. + */ + public String getAgentId( ) { + return this.agentId; + } + + /** + * This method sets the value to the member attribute <b>clientIP</b>. + * You cannot set null to the attribute. + * @param clientIP Value to set member attribute <b>clientIP</b> + */ + public void setClientIP( String clientIP ) { + this.clientIP = clientIP; + } + + /** + * Returns the value for the member attribute <b>clientIP</b> + * @return String - value of member attribute <b>clientIP</b>. + */ + public String getClientIP( ) { + return this.clientIP; + } + + /** + * This method sets the value to the member attribute <b>clientType</b>. + * You cannot set null to the attribute. + * @param clientType Value to set member attribute <b>clientType</b> + */ + public void setClientType( String clientType ) { + this.clientType = clientType; + } + + /** + * Returns the value for the member attribute <b>clientType</b> + * @return String - value of member attribute <b>clientType</b>. + */ + public String getClientType( ) { + return this.clientType; + } + + /** + * This method sets the value to the member attribute <b>policyId</b>. + * You cannot set null to the attribute. + * @param policyId Value to set member attribute <b>policyId</b> + */ + public void setPolicyId( long policyId ) { + this.policyId = policyId; + } + + /** + * Returns the value for the member attribute <b>policyId</b> + * @return long - value of member attribute <b>policyId</b>. + */ + public long getPolicyId( ) { + return this.policyId; + } + + /** + * This method sets the value to the member attribute <b>repoName</b>. + * You cannot set null to the attribute. + * @param repoName Value to set member attribute <b>repoName</b> + */ + public void setRepoName( String repoName ) { + this.repoName = repoName; + } + + /** + * Returns the value for the member attribute <b>repoName</b> + * @return String - value of member attribute <b>repoName</b>. + */ + public String getRepoName( ) { + return this.repoName; + } + + /** + * This method sets the value to the member attribute <b>repoType</b>. + * You cannot set null to the attribute. + * @param repoType Value to set member attribute <b>repoType</b> + */ + public void setRepoType( int repoType ) { + this.repoType = repoType; + } + + /** + * Returns the value for the member attribute <b>repoType</b> + * @return int - value of member attribute <b>repoType</b>. + */ + public int getRepoType( ) { + return this.repoType; + } + + /** + * This method sets the value to the member attribute <b>resultReason</b>. + * You cannot set null to the attribute. + * @param resultReason Value to set member attribute <b>resultReason</b> + */ + public void setResultReason( String resultReason ) { + this.resultReason = resultReason; + } + + /** + * Returns the value for the member attribute <b>resultReason</b> + * @return String - value of member attribute <b>resultReason</b>. + */ + public String getResultReason( ) { + return this.resultReason; + } + + /** + * This method sets the value to the member attribute <b>sessionId</b>. + * You cannot set null to the attribute. + * @param sessionId Value to set member attribute <b>sessionId</b> + */ + public void setSessionId( String sessionId ) { + this.sessionId = sessionId; + } + + /** + * Returns the value for the member attribute <b>sessionId</b> + * @return String - value of member attribute <b>sessionId</b>. + */ + public String getSessionId( ) { + return this.sessionId; + } + + /** + * This method sets the value to the member attribute <b>eventTime</b>. + * You cannot set null to the attribute. + * @param eventTime Value to set member attribute <b>eventTime</b> + */ + public void setEventTime( Date eventTime ) { + this.eventTime = eventTime; + } + + /** + * Returns the value for the member attribute <b>eventTime</b> + * @return Date - value of member attribute <b>eventTime</b>. + */ + public Date getEventTime( ) { + return this.eventTime; + } + + /** + * This method sets the value to the member attribute <b>requestUser</b>. + * You cannot set null to the attribute. + * @param requestUser Value to set member attribute <b>requestUser</b> + */ + public void setRequestUser( String requestUser ) { + this.requestUser = requestUser; + } + + /** + * Returns the value for the member attribute <b>requestUser</b> + * @return String - value of member attribute <b>requestUser</b>. + */ + public String getRequestUser( ) { + return this.requestUser; + } + + /** + * This method sets the value to the member attribute <b>action</b>. + * You cannot set null to the attribute. + * @param action Value to set member attribute <b>action</b> + */ + public void setAction( String action ) { + this.action = action; + } + + /** + * Returns the value for the member attribute <b>action</b> + * @return String - value of member attribute <b>action</b>. + */ + public String getAction( ) { + return this.action; + } + + /** + * This method sets the value to the member attribute <b>requestData</b>. + * You cannot set null to the attribute. + * @param requestData Value to set member attribute <b>requestData</b> + */ + public void setRequestData( String requestData ) { + this.requestData = requestData; + } + + /** + * Returns the value for the member attribute <b>requestData</b> + * @return String - value of member attribute <b>requestData</b>. + */ + public String getRequestData( ) { + return this.requestData; + } + + /** + * This method sets the value to the member attribute <b>resourcePath</b>. + * You cannot set null to the attribute. + * @param resourcePath Value to set member attribute <b>resourcePath</b> + */ + public void setResourcePath( String resourcePath ) { + this.resourcePath = resourcePath; + } + + /** + * Returns the value for the member attribute <b>resourcePath</b> + * @return String - value of member attribute <b>resourcePath</b>. + */ + public String getResourcePath( ) { + return this.resourcePath; + } + + /** + * This method sets the value to the member attribute <b>resourceType</b>. + * You cannot set null to the attribute. + * @param resourceType Value to set member attribute <b>resourceType</b> + */ + public void setResourceType( String resourceType ) { + this.resourceType = resourceType; + } + + /** + * Returns the value for the member attribute <b>resourceType</b> + * @return String - value of member attribute <b>resourceType</b>. + */ + public String getResourceType( ) { + return this.resourceType; + } + + /** + * This return the bean content in string format + * @return formatedStr + */ + @Override + public String toString( ) { + String str = "XXAccessAudit={"; + str += super.toString(); + str += "auditType={" + auditType + "} "; + str += "accessResult={" + accessResult + "} "; + str += "accessType={" + accessType + "} "; + str += "aclEnforcer={" + aclEnforcer + "} "; + str += "agentId={" + agentId + "} "; + str += "clientIP={" + clientIP + "} "; + str += "clientType={" + clientType + "} "; + str += "policyId={" + policyId + "} "; + str += "repoName={" + repoName + "} "; + str += "repoType={" + repoType + "} "; + str += "resultReason={" + resultReason + "} "; + str += "sessionId={" + sessionId + "} "; + str += "eventTime={" + eventTime + "} "; + str += "requestUser={" + requestUser + "} "; + str += "action={" + action + "} "; + str += "requestData={" + requestData + "} "; + str += "resourcePath={" + resourcePath + "} "; + str += "resourceType={" + resourceType + "} "; + str += "}"; + return str; + } + + /** + * Checks for all attributes except referenced db objects + * @return true if all attributes match + */ + @Override + public boolean equals( Object obj) { + if ( !super.equals(obj) ) { + return false; + } + XXAccessAudit other = (XXAccessAudit) obj; + if( this.auditType != other.auditType ) return false; + if( this.accessResult != other.accessResult ) return false; + if ((this.accessType == null && other.accessType != null) || (this.accessType != null && !this.accessType.equals(other.accessType))) { + return false; + } + if ((this.aclEnforcer == null && other.aclEnforcer != null) || (this.aclEnforcer != null && !this.aclEnforcer.equals(other.aclEnforcer))) { + return false; + } + if ((this.agentId == null && other.agentId != null) || (this.agentId != null && !this.agentId.equals(other.agentId))) { + return false; + } + if ((this.clientIP == null && other.clientIP != null) || (this.clientIP != null && !this.clientIP.equals(other.clientIP))) { + return false; + } + if ((this.clientType == null && other.clientType != null) || (this.clientType != null && !this.clientType.equals(other.clientType))) { + return false; + } + if( this.policyId != other.policyId ) return false; + if ((this.repoName == null && other.repoName != null) || (this.repoName != null && !this.repoName.equals(other.repoName))) { + return false; + } + if( this.repoType != other.repoType ) return false; + if ((this.resultReason == null && other.resultReason != null) || (this.resultReason != null && !this.resultReason.equals(other.resultReason))) { + return false; + } + if ((this.sessionId == null && other.sessionId != null) || (this.sessionId != null && !this.sessionId.equals(other.sessionId))) { + return false; + } + if ((this.eventTime == null && other.eventTime != null) || (this.eventTime != null && !this.eventTime.equals(other.eventTime))) { + return false; + } + if ((this.requestUser == null && other.requestUser != null) || (this.requestUser != null && !this.requestUser.equals(other.requestUser))) { + return false; + } + if ((this.action == null && other.action != null) || (this.action != null && !this.action.equals(other.action))) { + return false; + } + if ((this.requestData == null && other.requestData != null) || (this.requestData != null && !this.requestData.equals(other.requestData))) { + return false; + } + if ((this.resourcePath == null && other.resourcePath != null) || (this.resourcePath != null && !this.resourcePath.equals(other.resourcePath))) { + return false; + } + if ((this.resourceType == null && other.resourceType != null) || (this.resourceType != null && !this.resourceType.equals(other.resourceType))) { + return false; + } + return true; + } + public static String getEnumName(String fieldName ) { + if( fieldName.equals("auditType") ) { + return "CommonEnums.AssetType"; + } + if( fieldName.equals("accessResult") ) { + return "CommonEnums.AccessResult"; + } + //Later TODO + //return super.getEnumName(fieldName); + return null; + } + +}
