/* * 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.view; /** * Policy */ import java.util.List; import javax.xml.bind.annotation.XmlRootElement; import org.apache.ranger.common.AppConstants; import org.codehaus.jackson.annotate.JsonAutoDetect; import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility; import org.codehaus.jackson.annotate.JsonIgnoreProperties; import org.codehaus.jackson.map.annotate.JsonSerialize; @JsonAutoDetect(getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE, fieldVisibility = Visibility.ANY) @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) @XmlRootElement public class VXPolicy extends VXDataObject implements java.io.Serializable { private static final long serialVersionUID = 1L; /** * PolicyName */ protected String policyName; /** * resourceName */ protected String resourceName; /** * Description */ protected String description; /** * Repository Name */ protected String repositoryName; /** * Repository Type */ protected String repositoryType; /** * List of permissions maps */ protected List<VXPermObj> permMapList; /** * Tables */ protected String tables; /** * Column families */ protected String columnFamilies; /** * Columns */ protected String columns; /** * Databases */ protected String databases; /** * UDFs */ protected String udfs; /** * Table Type */ protected String tableType; /** * Resource ColumnType */ protected String columnType; /** * Topologoies */ protected String topologies; /** * Services */ protected String services; /** * Resource/Policy Status, boolean values : true/false * */ protected boolean isEnabled; /** * Is recursive This attribute is of type enum CommonEnums::BooleanValue */ protected Boolean isRecursive; /** * Audit is enable or not. */ protected boolean isAuditEnabled; /** * Version No of Project */ protected String version; protected String grantor; protected boolean replacePerm; /** * Default constructor. This will set all the attributes to default value. */ public VXPolicy() { isRecursive = false; replacePerm=false; } /** * Returns the value for the member attribute <b>policyName</b> * * @return String - value of member attribute <b>policyName</b>. */ public String getPolicyName() { return policyName; } /** * This method sets the value to the member attribute <b>policyName</b>. You * cannot set null to the attribute. * * @param policyName * Value to set member attribute <b>policyName</b> */ public void setPolicyName(String policyName) { this.policyName = policyName; } /** * This method sets the value to the member attribute <b>resourceName</b>. * You cannot set null to the attribute. * * @param name * Value to set member attribute <b>resourceName</b> */ public void setResourceName(String resourceName) { this.resourceName = resourceName; } /** * Returns the value for the member attribute <b>resourceName</b> * * @return String - value of member attribute <b>resourceName</b>. */ public String getResourceName() { return this.resourceName; } /** * This method sets the value to the member attribute <b>description</b>. * You cannot set null to the attribute. * * @param description * Value to set member attribute <b>description</b> */ public void setDescription(String description) { this.description = description; } /** * Returns the value for the member attribute <b>description</b> * * @return String - value of member attribute <b>description</b>. */ public String getDescription() { return this.description; } /** * This method sets the value to the member attribute <b>assetName</b>. You * cannot set null to the attribute. * * @param assetName * Value to set member attribute <b>assetName</b> */ public void setRepositoryName(String repositoryName) { this.repositoryName = repositoryName; } /** * Returns the value for the member attribute <b>repositoryName</b> * * @return String - value of member attribute <b>repositoryName</b>. */ public String getRepositoryName() { return this.repositoryName; } /** * This method sets the value to the member attribute <b>assetType</b>. You * cannot set null to the attribute. * * @param assetType * Value to set member attribute <b>assetType</b> */ public void setRepositoryType(String repositoryType) { this.repositoryType = repositoryType; } /** * Returns the value for the member attribute <b>repositoryType</b> * * @return String - value of member attribute <b>repositoryType</b>. */ public String getRepositoryType() { return this.repositoryType; } /** * This method sets the value to the member attribute <b>permMapList</b>. * You cannot set null to the attribute. * * @param permMapList * Value to set member attribute <b>permMapList</b> */ public void setPermMapList(List<VXPermObj> permMapList) { this.permMapList = permMapList; } /** * Returns the value for the member attribute <b>userPermList</b> * * @return List<VXPermObj> - value of member attribute <b>permMapList</b>. */ public List<VXPermObj> getPermMapList() { return this.permMapList; } /** * This method sets the value to the member attribute <b>tables</b>. You * cannot set null to the attribute. * * @param tables * Value to set member attribute <b>tables</b> */ public void setTables(String tables) { this.tables = tables; } /** * Returns the value for the member attribute <b>tables</b> * * @return String - value of member attribute <b>tables</b>. */ public String getTables() { return this.tables; } /** * This method sets the value to the member attribute <b>columnFamilies</b>. * You cannot set null to the attribute. * * @param columnFamilies * Value to set member attribute <b>columnFamilies</b> */ public void setColumnFamilies(String columnFamilies) { this.columnFamilies = columnFamilies; } /** * Returns the value for the member attribute <b>columnFamilies</b> * * @return String - value of member attribute <b>columnFamilies</b>. */ public String getColumnFamilies() { return this.columnFamilies; } /** * This method sets the value to the member attribute <b>columns</b>. You * cannot set null to the attribute. * * @param columns * Value to set member attribute <b>columns</b> */ public void setColumns(String columns) { this.columns = columns; } /** * Returns the value for the member attribute <b>columns</b> * * @return String - value of member attribute <b>columns</b>. */ public String getColumns() { return this.columns; } /** * This method sets the value to the member attribute <b>databases</b>. You * cannot set null to the attribute. * * @param databases * Value to set member attribute <b>databases</b> */ public void setDatabases(String databases) { this.databases = databases; } /** * Returns the value for the member attribute <b>databases</b> * * @return String - value of member attribute <b>databases</b>. */ public String getDatabases() { return this.databases; } /** * This method sets the value to the member attribute <b>udfs</b>. You * cannot set null to the attribute. * * @param udfs * Value to set member attribute <b>udfs</b> */ public void setUdfs(String udfs) { this.udfs = udfs; } /** * Returns the value for the member attribute <b>udfs</b> * * @return String - value of member attribute <b>udfs</b>. */ public String getUdfs() { return this.udfs; } /** * Returns the value for the member attribute <b>tableType</b> * * @return String - value of member attribute <b>tableType</b>. */ public String getTableType() { return tableType; } /** * This method sets the value to the member attribute <b>tableType</b>. You * cannot set null to the attribute. * * @param tableType * Value to set member attribute <b>tableType</b> */ public void setTableType(String tableType) { this.tableType = tableType; } /** * Returns the value for the member attribute <b>columnType</b> * * @return String - value of member attribute <b>columnType</b>. */ public String getColumnType() { return columnType; } /** * This method sets the value to the member attribute <b>columnType</b>. You * cannot set null to the attribute. * * @param columnType * Value to set member attribute <b>columnType</b> */ public void setColumnType(String columnType) { this.columnType = columnType; } /** * Returns the value for the member attribute <b>topologies</b> * * @return String - value of member attribute <b>topologies</b>. */ public String getTopologies() { return topologies; } /** * This method sets the value to the member attribute <b>topologies</b>. You * cannot set null to the attribute. * * @param topologies * Value to set member attribute <b>topologies</b> */ public void setTopologies(String topologies) { this.topologies = topologies; } /** * Returns the value for the member attribute <b>services</b> * * @return String - value of member attribute <b>services</b>. */ public String getServices() { return services; } /** * This method sets the value to the member attribute <b>services</b>. You * cannot set null to the attribute. * * @param services * Value to set member attribute <b>services</b> */ public void setServices(String services) { this.services = services; } /** * This method sets the value to the member attribute <b>resourceStatus</b>. * You cannot set null to the attribute. * * @param isEnabled * Value to set member attribute <b>isEnable</b> */ public void setIsEnabled(boolean isEnabled) { this.isEnabled = isEnabled; } /** * Returns the value for the member attribute <b>isEnable</b> * * @return boolean - value of member attribute <b>isEnable</b>. */ public boolean getIsEnabled() { return this.isEnabled; } /** * This method sets the value to the member attribute <b>isRecursive</b>. * You cannot set null to the attribute. * * @param isRecursive * Value to set member attribute <b>isRecursive</b> */ public void setIsRecursive(Boolean isRecursive) { this.isRecursive = isRecursive; } /** * Returns the value for the member attribute <b>isRecursive</b> * * @return boolean - value of member attribute <b>isRecursive</b>. */ public Boolean getIsRecursive() { return this.isRecursive; } /** * This method sets the value to the member attribute <b>isAuditEnabled</b>. * You cannot set null to the attribute. * * @param isAuditEnabled * Value to set member attribute <b>isAuditEnabled</b> */ public void setIsAuditEnabled(boolean isAuditEnabled) { this.isAuditEnabled = isAuditEnabled; } /** * Returns the value for the member attribute <b>isAuditEnabled</b> * * @return boolean - value of member attribute <b>isAuditEnabled</b>. */ public boolean getIsAuditEnabled() { return this.isAuditEnabled; } /** * Returns the value for the member attribute <b>version</b> * * @return String - value of member attribute <b>version</b>. */ public String getVersion() { return version; } /** * This method sets the value to the member attribute <b>version</b>. You * cannot set null to the attribute. * * @param version * Value to set member attribute <b>version</b> */ public void setVersion(String version) { this.version = version; } public String getGrantor() { return grantor; } public void setGrantor(String grantor) { this.grantor = grantor; } public boolean isReplacePerm() { return replacePerm; } public void setReplacePerm(boolean replacePerm) { this.replacePerm = replacePerm; } @Override public int getMyClassType() { return AppConstants.CLASS_TYPE_XA_RESOURCE; } /** * This return the bean content in string format * * @return formatedStr */ public String toString() { String str = "VXResource={"; str += super.toString(); str += "policyName={" + policyName + "} "; str += "resourceName={" + resourceName + "} "; str += "description={" + description + "} "; str += "repositoryName={" + repositoryName + "} "; str += "repositoryType={" + repositoryType + "} "; str += "tables={" + tables + "} "; str += "columnFamilies={" + columnFamilies + "} "; str += "columns={" + columns + "} "; str += "databases={" + databases + "} "; str += "udfs={" + udfs + "} "; str += "tableType={" + tableType + "} "; str += "columnType={" + columnType + "} "; str += "topologies={" + topologies + "} "; str += "services={" + services + "} "; str += "isEnable={" + isEnabled + "} "; str += "isRecursive={" + isRecursive + "} "; str += "isAuditEnabled={" + isAuditEnabled + "} "; str += "version={" + version + "} "; str += "}"; return str; } //function should be used from grant/revoke rest call only public void syncResponseWithJsonRequest() { this.setGrantor(this.getOwner()); this.setOwner(null); this.setId(null); this.setUpdatedBy(null); this.setPolicyName(null); this.setResourceName(null); this.setRepositoryType(null); this.setVersion(null); this.setIsRecursive(Boolean.FALSE); } }