http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/303f7b70/security-admin/src/main/java/org/apache/ranger/entity/XXServiceBase.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/entity/XXServiceBase.java b/security-admin/src/main/java/org/apache/ranger/entity/XXServiceBase.java index 087eb8d..69c4e4d 100644 --- a/security-admin/src/main/java/org/apache/ranger/entity/XXServiceBase.java +++ b/security-admin/src/main/java/org/apache/ranger/entity/XXServiceBase.java @@ -96,6 +96,25 @@ public abstract class XXServiceBase extends XXDBBase { protected Date policyUpdateTime; /** + * tagVersion of the XXService + * <ul> + * </ul> + * + */ + @Column(name = "tag_version") + protected Long tagVersion; + + /** + * tagUpdateTime of the XXService + * <ul> + * </ul> + * + */ + @Temporal(TemporalType.TIMESTAMP) + @Column(name = "tag_update_time") + protected Date tagUpdateTime; + + /** * description of the XXService * <ul> * </ul> @@ -248,6 +267,46 @@ public abstract class XXServiceBase extends XXDBBase { } /** + * This method sets the value to the member attribute <b> tagVersion</b> + * . You cannot set null to the attribute. + * + * @param tagVersion + * Value to set member attribute <b> tagVersion</b> + */ + public void setTagVersion(Long tagVersion) { + this.tagVersion = tagVersion; + } + + /** + * Returns the value for the member attribute <b>tagVersion</b> + * + * @return Long - value of member attribute <b>tagVersion</b> . + */ + public Long getTagVersion() { + return this.tagVersion; + } + + /** + * This method sets the value to the member attribute <b> + * tagUpdateTime</b> . You cannot set null to the attribute. + * + * @param tagUpdateTime + * Value to set member attribute <b> tagUpdateTime</b> + */ + public void setTagUpdateTime(Date tagUpdateTime) { + this.tagUpdateTime = tagUpdateTime; + } + + /** + * Returns the value for the member attribute <b>tagUpdateTime</b> + * + * @return Date - value of member attribute <b>tagUpdateTime</b> . + */ + public Date getTagUpdateTime() { + return this.tagUpdateTime; + } + + /** * This method sets the value to the member attribute <b> description</b> . * You cannot set null to the attribute. * @@ -346,6 +405,20 @@ public abstract class XXServiceBase extends XXDBBase { } else if (!policyVersion.equals(other.policyVersion)) { return false; } + if (tagUpdateTime == null) { + if (other.tagUpdateTime != null) { + return false; + } + } else if (!tagUpdateTime.equals(other.tagUpdateTime)) { + return false; + } + if (tagVersion == null) { + if (other.tagVersion != null) { + return false; + } + } else if (!tagVersion.equals(other.tagVersion)) { + return false; + } if (type == null) { if (other.type != null) { return false; @@ -379,6 +452,7 @@ public abstract class XXServiceBase extends XXDBBase { public String toString() { return "XXServiceBase [" + super.toString() + " guid=" + guid + ", version=" + version + ", type=" + type + ", name=" + name + ", tagService=" + tagService + ", policyVersion=" + policyVersion + ", policyUpdateTime=" + policyUpdateTime + + ", tagVersion=" + tagVersion + ", tagUpdateTime=" + tagUpdateTime + ", description=" + description + ", isEnabled=" + isEnabled + "]"; }
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/303f7b70/security-admin/src/main/java/org/apache/ranger/entity/XXServiceResource.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/entity/XXServiceResource.java b/security-admin/src/main/java/org/apache/ranger/entity/XXServiceResource.java new file mode 100644 index 0000000..8fd3866 --- /dev/null +++ b/security-admin/src/main/java/org/apache/ranger/entity/XXServiceResource.java @@ -0,0 +1,245 @@ +/* + * 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; + +import java.io.Serializable; + +import javax.persistence.Cacheable; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.SequenceGenerator; +import javax.persistence.Table; +import javax.xml.bind.annotation.XmlRootElement; + +import org.apache.ranger.common.AppConstants; + +@Entity +@Cacheable +@Table(name="x_service_resource") +@XmlRootElement +public class XXServiceResource extends XXDBBase implements Serializable { + private static final long serialVersionUID = 1L; + + @Id + @SequenceGenerator(name = "XXServiceResourceSEQ", sequenceName = "XXServiceResourceSEQ", allocationSize = 1) + @GeneratedValue(strategy = GenerationType.AUTO, generator = "XXServiceResourceSEQ") + @Column(name = "id") + protected Long id; + + @Column(name = "guid", unique = true, nullable = false, length = 512) + protected String guid; + + @Column(name = "version") + protected Long version; + + @Column(name = "is_enabled") + protected Boolean isEnabled; + + @Column(name = "resource_signature") + protected String resourceSignature; + + @Column(name = "service_id") + protected Long serviceId; + + @Override + public void setId(Long id) { + this.id = id; + } + + @Override + public Long getId() { + return id; + } + + /** + * @return the guid + */ + public String getGuid() { + return guid; + } + + /** + * @param guid + * the guid to set + */ + public void setGuid(String guid) { + this.guid = guid; + } + + /** + * @return the serviceId + */ + public Long getServiceId() { + return serviceId; + } + + /** + * @param serviceId + * the serviceId to set + */ + public void setServiceId(Long serviceId) { + this.serviceId = serviceId; + } + + /** + * @return the resourceSignature + */ + public String getResourceSignature() { + return resourceSignature; + } + + /** + * @param resourceSignature + * the resourceSignature to set + */ + public void setResourceSignature(String resourceSignature) { + this.resourceSignature = resourceSignature; + } + + /** + * @return the version + */ + public Long getVersion() { + return version; + } + + /** + * @param version + * the version to set + */ + public void setVersion(Long version) { + this.version = version; + } + + /** + * @return the isEnabled + */ + public Boolean getIsEnabled() { + return isEnabled; + } + + /** + * @param isEnabled + * the isEnabled to set + */ + public void setIsEnabled(Boolean isEnabled) { + this.isEnabled = isEnabled; + } + + @Override + public int getMyClassType() { + return AppConstants.CLASS_TYPE_XA_SERVICE_RESOURCE; + } + + /* + * (non-Javadoc) + * + * @see java.lang.Object#hashCode() + */ + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((id == null) ? 0 : id.hashCode()); + result = prime * result + ((guid == null) ? 0 : guid.hashCode()); + result = prime * result + ((version == null) ? 0 : version.hashCode()); + result = prime * result + ((isEnabled == null) ? 0 : isEnabled.hashCode()); + result = prime * result + ((resourceSignature == null) ? 0 : resourceSignature.hashCode()); + result = prime * result + ((serviceId == null) ? 0 : serviceId.hashCode()); + return result; + } + + /* + * (non-Javadoc) + * + * @see java.lang.Object#equals(java.lang.Object) + */ + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (!super.equals(obj)) + return false; + if (getClass() != obj.getClass()) + return false; + XXServiceResource other = (XXServiceResource) obj; + if (resourceSignature == null) { + if (other.resourceSignature != null) + return false; + } else if (!resourceSignature.equals(other.resourceSignature)) + return false; + if (guid == null) { + if (other.guid != null) + return false; + } else if (!guid.equals(other.guid)) + return false; + if (id == null) { + if (other.id != null) + return false; + } else if (!id.equals(other.id)) + return false; + if (isEnabled == null) { + if (other.isEnabled != null) + return false; + } else if (!isEnabled.equals(other.isEnabled)) + return false; + if (serviceId == null) { + if (other.serviceId != null) + return false; + } else if (!serviceId.equals(other.serviceId)) + return false; + if (version == null) { + if (other.version != null) + return false; + } else if (!version.equals(other.version)) + return false; + return true; + } + + /* + * (non-Javadoc) + * + * @see java.lang.Object#toString() + */ + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + toString(sb); + return sb.toString(); + } + + public StringBuilder toString(StringBuilder sb) { + sb.append("{ "); + sb.append(super.toString() + "} "); + sb.append("id={").append(id).append("} "); + sb.append("guid={").append(guid).append("} "); + sb.append("version={").append(version).append("} "); + sb.append("isEnabled={").append(isEnabled).append("} "); + sb.append("resourceSignature={").append(resourceSignature).append("} "); + sb.append("serviceId={").append(serviceId).append("} "); + sb.append(" }"); + + return sb; + } + +} http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/303f7b70/security-admin/src/main/java/org/apache/ranger/entity/XXServiceResourceElement.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/entity/XXServiceResourceElement.java b/security-admin/src/main/java/org/apache/ranger/entity/XXServiceResourceElement.java new file mode 100644 index 0000000..a545133 --- /dev/null +++ b/security-admin/src/main/java/org/apache/ranger/entity/XXServiceResourceElement.java @@ -0,0 +1,245 @@ +/* + * 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; + +import java.io.Serializable; + +import javax.persistence.Cacheable; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.SequenceGenerator; +import javax.persistence.Table; +import javax.xml.bind.annotation.XmlRootElement; + +import org.apache.ranger.common.AppConstants; + +@Entity +@Cacheable +@Table(name="x_service_resource_element") +@XmlRootElement +public class XXServiceResourceElement extends XXDBBase implements Serializable { + private static final long serialVersionUID = 1L; + + @Id + @SequenceGenerator(name = "XXServiceResourceElementSEQ", sequenceName = "XXServiceResourceElementSEQ", allocationSize = 1) + @GeneratedValue(strategy = GenerationType.AUTO, generator = "XXServiceResourceElementSEQ") + @Column(name = "id") + protected Long id; + + @Column(name = "guid", unique = true, nullable = false, length = 512) + protected String guid; + + @Column(name = "res_def_id") + protected Long resDefId; + + @Column(name = "res_id") + protected Long resourceId; + + @Column(name = "is_excludes") + protected Boolean isExcludes; + + @Column(name = "is_recursive") + protected Boolean isRecursive; + + @Override + public void setId(Long id) { + this.id = id; + } + + @Override + public Long getId() { + return id; + } + + /** + * @return the guid + */ + public String getGuid() { + return guid; + } + + /** + * @param guid + * the guid to set + */ + public void setGuid(String guid) { + this.guid = guid; + } + + /** + * @return the resDefId + */ + public Long getResDefId() { + return resDefId; + } + + /** + * @param resDefId + * the resDefId to set + */ + public void setResDefId(Long resDefId) { + this.resDefId = resDefId; + } + + /** + * @return the isExcludes + */ + public Boolean getIsExcludes() { + return isExcludes; + } + + /** + * @param isExcludes + * the isExcludes to set + */ + public void setIsExcludes(Boolean isExcludes) { + this.isExcludes = isExcludes; + } + + /** + * @return the isRecursive + */ + public Boolean getIsRecursive() { + return isRecursive; + } + + /** + * @param isRecursive + * the isRecursive to set + */ + public void setIsRecursive(Boolean isRecursive) { + this.isRecursive = isRecursive; + } + + /** + * @return the resourceId + */ + public Long getResourceId() { + return resourceId; + } + + /** + * @param resourceId + * the resourceId to set + */ + public void setResourceId(Long resourceId) { + this.resourceId = resourceId; + } + + @Override + public int getMyClassType() { + return AppConstants.CLASS_TYPE_XA_SERVICE_RESOURCE_ELEMENT; + } + + /* + * (non-Javadoc) + * + * @see java.lang.Object#hashCode() + */ + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((guid == null) ? 0 : guid.hashCode()); + result = prime * result + ((id == null) ? 0 : id.hashCode()); + result = prime * result + ((isExcludes == null) ? 0 : isExcludes.hashCode()); + result = prime * result + ((isRecursive == null) ? 0 : isRecursive.hashCode()); + result = prime * result + ((resDefId == null) ? 0 : resDefId.hashCode()); + result = prime * result + ((resourceId == null) ? 0 : resourceId.hashCode()); + return result; + } + + /* + * (non-Javadoc) + * + * @see java.lang.Object#equals(java.lang.Object) + */ + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (!super.equals(obj)) + return false; + if (getClass() != obj.getClass()) + return false; + XXServiceResourceElement other = (XXServiceResourceElement) obj; + if (guid == null) { + if (other.guid != null) + return false; + } else if (!guid.equals(other.guid)) + return false; + if (id == null) { + if (other.id != null) + return false; + } else if (!id.equals(other.id)) + return false; + if (isExcludes == null) { + if (other.isExcludes != null) + return false; + } else if (!isExcludes.equals(other.isExcludes)) + return false; + if (isRecursive == null) { + if (other.isRecursive != null) + return false; + } else if (!isRecursive.equals(other.isRecursive)) + return false; + if (resDefId == null) { + if (other.resDefId != null) + return false; + } else if (!resDefId.equals(other.resDefId)) + return false; + if (resourceId == null) { + if (other.resourceId != null) + return false; + } else if (!resourceId.equals(other.resourceId)) + return false; + return true; + } + + /* + * (non-Javadoc) + * + * @see java.lang.Object#toString() + */ + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + toString(sb); + return sb.toString(); + } + + public StringBuilder toString(StringBuilder sb) { + sb.append("{ "); + sb.append(super.toString() + "} "); + sb.append("id={").append(id).append("} "); + sb.append("guid={").append(guid).append("} "); + sb.append("resDefId={").append(resDefId).append("} "); + sb.append("resourceId={").append(resourceId).append("} "); + sb.append("isExcludes={").append(isExcludes).append("} "); + sb.append("isRecursive={").append(isRecursive).append("} "); + sb.append(" }"); + + return sb; + } + +} http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/303f7b70/security-admin/src/main/java/org/apache/ranger/entity/XXServiceResourceElementValue.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/entity/XXServiceResourceElementValue.java b/security-admin/src/main/java/org/apache/ranger/entity/XXServiceResourceElementValue.java new file mode 100644 index 0000000..23b17b9 --- /dev/null +++ b/security-admin/src/main/java/org/apache/ranger/entity/XXServiceResourceElementValue.java @@ -0,0 +1,220 @@ +/* + * 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; + +import java.io.Serializable; + +import javax.persistence.Cacheable; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.SequenceGenerator; +import javax.persistence.Table; +import javax.xml.bind.annotation.XmlRootElement; + +import org.apache.ranger.common.AppConstants; + +@Entity +@Cacheable +@Table(name="x_service_resource_element_value") +@XmlRootElement +public class XXServiceResourceElementValue extends XXDBBase implements Serializable { + private static final long serialVersionUID = 1L; + + @Id + @SequenceGenerator(name = "XXServiceResourceElementValueSEQ", sequenceName = "XXServiceResourceElementValueSEQ", allocationSize = 1) + @GeneratedValue(strategy = GenerationType.AUTO, generator = "XXServiceResourceElementValueSEQ") + @Column(name = "id") + protected Long id; + + @Column(name = "guid", unique = true, nullable = false, length = 512) + protected String guid; + + @Column(name = "res_element_id") + protected Long resElementId; + + @Column(name = "value") + protected String value; + + @Column(name = "sort_order") + protected Integer sortOrder; + + @Override + public void setId(Long id) { + this.id = id; + } + + @Override + public Long getId() { + return id; + } + + /** + * @return the guid + */ + public String getGuid() { + return guid; + } + + /** + * @param guid + * the guid to set + */ + public void setGuid(String guid) { + this.guid = guid; + } + + /** + * @return the resElementId + */ + public Long getResElementId() { + return resElementId; + } + + /** + * @param resElementId + * the resElementId to set + */ + public void setResElementId(Long resElementId) { + this.resElementId = resElementId; + } + + /** + * @return the value + */ + public String getValue() { + return value; + } + + /** + * @param value + * the value to set + */ + public void setValue(String value) { + this.value = value; + } + + /** + * @return the sortOrder + */ + public Integer getSortOrder() { + return sortOrder; + } + + /** + * @param sortOrder + * the sortOrder to set + */ + public void setSortOrder(Integer sortOrder) { + this.sortOrder = sortOrder; + } + + @Override + public int getMyClassType() { + return AppConstants.CLASS_TYPE_XA_SERVICE_RESOURCE_ELEMENT_VALUE; + } + + /* + * (non-Javadoc) + * + * @see java.lang.Object#hashCode() + */ + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((guid == null) ? 0 : guid.hashCode()); + result = prime * result + ((id == null) ? 0 : id.hashCode()); + result = prime * result + ((resElementId == null) ? 0 : resElementId.hashCode()); + result = prime * result + ((sortOrder == null) ? 0 : sortOrder.hashCode()); + result = prime * result + ((value == null) ? 0 : value.hashCode()); + return result; + } + + /* + * (non-Javadoc) + * + * @see java.lang.Object#equals(java.lang.Object) + */ + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (!super.equals(obj)) + return false; + if (getClass() != obj.getClass()) + return false; + XXServiceResourceElementValue other = (XXServiceResourceElementValue) obj; + if (guid == null) { + if (other.guid != null) + return false; + } else if (!guid.equals(other.guid)) + return false; + if (id == null) { + if (other.id != null) + return false; + } else if (!id.equals(other.id)) + return false; + if (resElementId == null) { + if (other.resElementId != null) + return false; + } else if (!resElementId.equals(other.resElementId)) + return false; + if (sortOrder == null) { + if (other.sortOrder != null) + return false; + } else if (!sortOrder.equals(other.sortOrder)) + return false; + if (value == null) { + if (other.value != null) + return false; + } else if (!value.equals(other.value)) + return false; + return true; + } + + /* + * (non-Javadoc) + * + * @see java.lang.Object#toString() + */ + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + toString(sb); + return sb.toString(); + } + + public StringBuilder toString(StringBuilder sb) { + sb.append("{ "); + sb.append(super.toString() + "} "); + sb.append("id={").append(id).append("} "); + sb.append("guid={").append(guid).append("} "); + sb.append("resElementId={").append(resElementId).append("} "); + sb.append("value={").append(value).append("} "); + sb.append("sortOrder={").append(sortOrder).append("} "); + sb.append(" }"); + + return sb; + } + +} http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/303f7b70/security-admin/src/main/java/org/apache/ranger/entity/XXTag.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/entity/XXTag.java b/security-admin/src/main/java/org/apache/ranger/entity/XXTag.java index 46b760b..1d8493a 100644 --- a/security-admin/src/main/java/org/apache/ranger/entity/XXTag.java +++ b/security-admin/src/main/java/org/apache/ranger/entity/XXTag.java @@ -49,18 +49,6 @@ public class XXTag extends XXDBBase implements Serializable { @Column(name = "guid", unique = true, nullable = false, length = 512) protected String guid; - @Column(name = "version") - protected Long version; - - @Column(name = "is_enabled") - protected Boolean isEnabled; - - @Column(name = "tag_def_id") - protected Long tagDefId; - - @Column(name = "external_id") - protected String externalId; - @Column(name = "name") protected String name; @@ -90,51 +78,6 @@ public class XXTag extends XXDBBase implements Serializable { } /** - * @return the version - */ - public Long getVersion() { - return version; - } - - /** - * @param version - * the version to set - */ - public void setVersion(Long version) { - this.version = version; - } - - /** - * @return the isEnabled - */ - public Boolean getIsEnabled() { - return isEnabled; - } - - /** - * @param isEnabled - * the isEnabled to set - */ - public void setIsEnabled(Boolean isEnabled) { - this.isEnabled = isEnabled; - } - - /** - * @return the tagDefId - */ - public Long getTagDefId() { - return tagDefId; - } - - /** - * @param tagDefId - * the tagDefId to set - */ - public void setTagDefId(Long tagDefId) { - this.tagDefId = tagDefId; - } - - /** * @return the name */ public String getName() { @@ -149,21 +92,6 @@ public class XXTag extends XXDBBase implements Serializable { this.name = name; } - /** - * @return the externalId - */ - public String getExternalId() { - return externalId; - } - - /** - * @param externalId - * the externalId to set - */ - public void setExternalId(String externalId) { - this.externalId = externalId; - } - @Override public int getMyClassType() { return AppConstants.CLASS_TYPE_XA_TAG; @@ -178,11 +106,9 @@ public class XXTag extends XXDBBase implements Serializable { public int hashCode() { final int prime = 31; int result = 1; - result = prime * result + ((externalId == null) ? 0 : externalId.hashCode()); result = prime * result + ((guid == null) ? 0 : guid.hashCode()); result = prime * result + ((id == null) ? 0 : id.hashCode()); result = prime * result + ((name == null) ? 0 : name.hashCode()); - result = prime * result + ((tagDefId == null) ? 0 : tagDefId.hashCode()); return result; } @@ -200,11 +126,6 @@ public class XXTag extends XXDBBase implements Serializable { if (getClass() != obj.getClass()) return false; XXTag other = (XXTag) obj; - if (externalId == null) { - if (other.externalId != null) - return false; - } else if (!externalId.equals(other.externalId)) - return false; if (guid == null) { if (other.guid != null) return false; @@ -220,11 +141,6 @@ public class XXTag extends XXDBBase implements Serializable { return false; } else if (!name.equals(other.name)) return false; - if (tagDefId == null) { - if (other.tagDefId != null) - return false; - } else if (!tagDefId.equals(other.tagDefId)) - return false; return true; } @@ -245,8 +161,6 @@ public class XXTag extends XXDBBase implements Serializable { sb.append(super.toString() + "} "); sb.append("id={").append(id).append("} "); sb.append("guid={").append(guid).append("} "); - sb.append("tagDefId={").append(tagDefId).append("} "); - sb.append("externalId={").append(externalId).append("} "); sb.append("name={").append(name).append("} "); sb.append(" }"); http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/303f7b70/security-admin/src/main/java/org/apache/ranger/entity/XXTagResourceMap.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/entity/XXTagResourceMap.java b/security-admin/src/main/java/org/apache/ranger/entity/XXTagResourceMap.java index 953df6b..98f2355 100644 --- a/security-admin/src/main/java/org/apache/ranger/entity/XXTagResourceMap.java +++ b/security-admin/src/main/java/org/apache/ranger/entity/XXTagResourceMap.java @@ -52,8 +52,8 @@ public class XXTagResourceMap extends XXDBBase implements Serializable { @Column(name = "tag_id") protected Long tagId; - @Column(name = "tagged_res_id") - protected Long taggedResId; + @Column(name = "res_id") + protected Long resourceId; @Override public void setId(Long id) { @@ -96,18 +96,18 @@ public class XXTagResourceMap extends XXDBBase implements Serializable { } /** - * @return the taggedResId + * @return the resourceId */ - public Long getTaggedResId() { - return taggedResId; + public Long getResourceId() { + return resourceId; } /** - * @param taggedResId - * the taggedResId to set + * @param resourceId + * the resourceId to set */ - public void setTaggedResId(Long taggedResId) { - this.taggedResId = taggedResId; + public void setResourceId(Long resourceId) { + this.resourceId = resourceId; } @Override @@ -127,7 +127,7 @@ public class XXTagResourceMap extends XXDBBase implements Serializable { result = prime * result + ((guid == null) ? 0 : guid.hashCode()); result = prime * result + ((id == null) ? 0 : id.hashCode()); result = prime * result + ((tagId == null) ? 0 : tagId.hashCode()); - result = prime * result + ((taggedResId == null) ? 0 : taggedResId.hashCode()); + result = prime * result + ((resourceId == null) ? 0 : resourceId.hashCode()); return result; } @@ -160,10 +160,10 @@ public class XXTagResourceMap extends XXDBBase implements Serializable { return false; } else if (!tagId.equals(other.tagId)) return false; - if (taggedResId == null) { - if (other.taggedResId != null) + if (resourceId == null) { + if (other.resourceId != null) return false; - } else if (!taggedResId.equals(other.taggedResId)) + } else if (!resourceId.equals(other.resourceId)) return false; return true; } @@ -186,7 +186,7 @@ public class XXTagResourceMap extends XXDBBase implements Serializable { sb.append("id={").append(id).append("} "); sb.append("guid={").append(guid).append("} "); sb.append("tagId={").append(tagId).append("} "); - sb.append("taggedResId={").append(taggedResId).append("} "); + sb.append("resourceId={").append(resourceId).append("} "); sb.append(" }"); return sb; http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/303f7b70/security-admin/src/main/java/org/apache/ranger/entity/XXTaggedResource.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/entity/XXTaggedResource.java b/security-admin/src/main/java/org/apache/ranger/entity/XXTaggedResource.java deleted file mode 100644 index 9487bc7..0000000 --- a/security-admin/src/main/java/org/apache/ranger/entity/XXTaggedResource.java +++ /dev/null @@ -1,245 +0,0 @@ -/* - * 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; - -import java.io.Serializable; - -import javax.persistence.Cacheable; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.SequenceGenerator; -import javax.persistence.Table; -import javax.xml.bind.annotation.XmlRootElement; - -import org.apache.ranger.common.AppConstants; - -@Entity -@Cacheable -@Table(name="x_tagged_resource") -@XmlRootElement -public class XXTaggedResource extends XXDBBase implements Serializable { - private static final long serialVersionUID = 1L; - - @Id - @SequenceGenerator(name = "XXTaggedResourceSEQ", sequenceName = "XXTaggedResourceSEQ", allocationSize = 1) - @GeneratedValue(strategy = GenerationType.AUTO, generator = "XXTaggedResourceSEQ") - @Column(name = "id") - protected Long id; - - @Column(name = "guid", unique = true, nullable = false, length = 512) - protected String guid; - - @Column(name = "version") - protected Long version; - - @Column(name = "is_enabled") - protected Boolean isEnabled; - - @Column(name = "external_id") - protected String externalId; - - @Column(name = "service_id") - protected Long serviceId; - - @Override - public void setId(Long id) { - this.id = id; - } - - @Override - public Long getId() { - return id; - } - - /** - * @return the guid - */ - public String getGuid() { - return guid; - } - - /** - * @param guid - * the guid to set - */ - public void setGuid(String guid) { - this.guid = guid; - } - - /** - * @return the serviceId - */ - public Long getServiceId() { - return serviceId; - } - - /** - * @param serviceId - * the serviceId to set - */ - public void setServiceId(Long serviceId) { - this.serviceId = serviceId; - } - - /** - * @return the externalId - */ - public String getExternalId() { - return externalId; - } - - /** - * @param externalId - * the externalId to set - */ - public void setExternalId(String externalId) { - this.externalId = externalId; - } - - /** - * @return the version - */ - public Long getVersion() { - return version; - } - - /** - * @param version - * the version to set - */ - public void setVersion(Long version) { - this.version = version; - } - - /** - * @return the isEnabled - */ - public Boolean getIsEnabled() { - return isEnabled; - } - - /** - * @param isEnabled - * the isEnabled to set - */ - public void setIsEnabled(Boolean isEnabled) { - this.isEnabled = isEnabled; - } - - @Override - public int getMyClassType() { - return AppConstants.CLASS_TYPE_XA_TAGGED_RESOURCE; - } - - /* - * (non-Javadoc) - * - * @see java.lang.Object#hashCode() - */ - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((externalId == null) ? 0 : externalId.hashCode()); - result = prime * result + ((guid == null) ? 0 : guid.hashCode()); - result = prime * result + ((id == null) ? 0 : id.hashCode()); - result = prime * result + ((isEnabled == null) ? 0 : isEnabled.hashCode()); - result = prime * result + ((serviceId == null) ? 0 : serviceId.hashCode()); - result = prime * result + ((version == null) ? 0 : version.hashCode()); - return result; - } - - /* - * (non-Javadoc) - * - * @see java.lang.Object#equals(java.lang.Object) - */ - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (!super.equals(obj)) - return false; - if (getClass() != obj.getClass()) - return false; - XXTaggedResource other = (XXTaggedResource) obj; - if (externalId == null) { - if (other.externalId != null) - return false; - } else if (!externalId.equals(other.externalId)) - return false; - if (guid == null) { - if (other.guid != null) - return false; - } else if (!guid.equals(other.guid)) - return false; - if (id == null) { - if (other.id != null) - return false; - } else if (!id.equals(other.id)) - return false; - if (isEnabled == null) { - if (other.isEnabled != null) - return false; - } else if (!isEnabled.equals(other.isEnabled)) - return false; - if (serviceId == null) { - if (other.serviceId != null) - return false; - } else if (!serviceId.equals(other.serviceId)) - return false; - if (version == null) { - if (other.version != null) - return false; - } else if (!version.equals(other.version)) - return false; - return true; - } - - /* - * (non-Javadoc) - * - * @see java.lang.Object#toString() - */ - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - toString(sb); - return sb.toString(); - } - - public StringBuilder toString(StringBuilder sb) { - sb.append("{ "); - sb.append(super.toString() + "} "); - sb.append("id={").append(id).append("} "); - sb.append("guid={").append(guid).append("} "); - sb.append("version={").append(version).append("} "); - sb.append("isEnabled={").append(isEnabled).append("} "); - sb.append("externalId={").append(externalId).append("} "); - sb.append("serviceId={").append(serviceId).append("} "); - sb.append(" }"); - - return sb; - } - -} http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/303f7b70/security-admin/src/main/java/org/apache/ranger/entity/XXTaggedResourceValue.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/entity/XXTaggedResourceValue.java b/security-admin/src/main/java/org/apache/ranger/entity/XXTaggedResourceValue.java deleted file mode 100644 index 977d1f5..0000000 --- a/security-admin/src/main/java/org/apache/ranger/entity/XXTaggedResourceValue.java +++ /dev/null @@ -1,245 +0,0 @@ -/* - * 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; - -import java.io.Serializable; - -import javax.persistence.Cacheable; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.SequenceGenerator; -import javax.persistence.Table; -import javax.xml.bind.annotation.XmlRootElement; - -import org.apache.ranger.common.AppConstants; - -@Entity -@Cacheable -@Table(name="x_tagged_resource_value") -@XmlRootElement -public class XXTaggedResourceValue extends XXDBBase implements Serializable { - private static final long serialVersionUID = 1L; - - @Id - @SequenceGenerator(name = "XXTaggedResourceValueSEQ", sequenceName = "XXTaggedResourceValueSEQ", allocationSize = 1) - @GeneratedValue(strategy = GenerationType.AUTO, generator = "XXTaggedResourceValueSEQ") - @Column(name = "id") - protected Long id; - - @Column(name = "guid", unique = true, nullable = false, length = 512) - protected String guid; - - @Column(name = "res_def_id") - protected Long resDefId; - - @Column(name = "tagged_res_id") - protected Long taggedResourceId; - - @Column(name = "is_excludes") - protected Boolean isExcludes; - - @Column(name = "is_recursive") - protected Boolean isRecursive; - - @Override - public void setId(Long id) { - this.id = id; - } - - @Override - public Long getId() { - return id; - } - - /** - * @return the guid - */ - public String getGuid() { - return guid; - } - - /** - * @param guid - * the guid to set - */ - public void setGuid(String guid) { - this.guid = guid; - } - - /** - * @return the resDefId - */ - public Long getResDefId() { - return resDefId; - } - - /** - * @param resDefId - * the resDefId to set - */ - public void setResDefId(Long resDefId) { - this.resDefId = resDefId; - } - - /** - * @return the isExcludes - */ - public Boolean getIsExcludes() { - return isExcludes; - } - - /** - * @param isExcludes - * the isExcludes to set - */ - public void setIsExcludes(Boolean isExcludes) { - this.isExcludes = isExcludes; - } - - /** - * @return the isRecursive - */ - public Boolean getIsRecursive() { - return isRecursive; - } - - /** - * @param isRecursive - * the isRecursive to set - */ - public void setIsRecursive(Boolean isRecursive) { - this.isRecursive = isRecursive; - } - - /** - * @return the taggedResourceId - */ - public Long getTaggedResourceId() { - return taggedResourceId; - } - - /** - * @param taggedResourceId - * the taggedResourceId to set - */ - public void setTaggedResourceId(Long taggedResourceId) { - this.taggedResourceId = taggedResourceId; - } - - @Override - public int getMyClassType() { - return AppConstants.CLASS_TYPE_XA_TAGGED_RESOURCE_VALUE; - } - - /* - * (non-Javadoc) - * - * @see java.lang.Object#hashCode() - */ - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((guid == null) ? 0 : guid.hashCode()); - result = prime * result + ((id == null) ? 0 : id.hashCode()); - result = prime * result + ((isExcludes == null) ? 0 : isExcludes.hashCode()); - result = prime * result + ((isRecursive == null) ? 0 : isRecursive.hashCode()); - result = prime * result + ((resDefId == null) ? 0 : resDefId.hashCode()); - result = prime * result + ((taggedResourceId == null) ? 0 : taggedResourceId.hashCode()); - return result; - } - - /* - * (non-Javadoc) - * - * @see java.lang.Object#equals(java.lang.Object) - */ - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (!super.equals(obj)) - return false; - if (getClass() != obj.getClass()) - return false; - XXTaggedResourceValue other = (XXTaggedResourceValue) obj; - if (guid == null) { - if (other.guid != null) - return false; - } else if (!guid.equals(other.guid)) - return false; - if (id == null) { - if (other.id != null) - return false; - } else if (!id.equals(other.id)) - return false; - if (isExcludes == null) { - if (other.isExcludes != null) - return false; - } else if (!isExcludes.equals(other.isExcludes)) - return false; - if (isRecursive == null) { - if (other.isRecursive != null) - return false; - } else if (!isRecursive.equals(other.isRecursive)) - return false; - if (resDefId == null) { - if (other.resDefId != null) - return false; - } else if (!resDefId.equals(other.resDefId)) - return false; - if (taggedResourceId == null) { - if (other.taggedResourceId != null) - return false; - } else if (!taggedResourceId.equals(other.taggedResourceId)) - return false; - return true; - } - - /* - * (non-Javadoc) - * - * @see java.lang.Object#toString() - */ - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - toString(sb); - return sb.toString(); - } - - public StringBuilder toString(StringBuilder sb) { - sb.append("{ "); - sb.append(super.toString() + "} "); - sb.append("id={").append(id).append("} "); - sb.append("guid={").append(guid).append("} "); - sb.append("resDefId={").append(resDefId).append("} "); - sb.append("taggedResourceId={").append(taggedResourceId).append("} "); - sb.append("isExcludes={").append(isExcludes).append("} "); - sb.append("isRecursive={").append(isRecursive).append("} "); - sb.append(" }"); - - return sb; - } - -} http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/303f7b70/security-admin/src/main/java/org/apache/ranger/entity/XXTaggedResourceValueMap.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/entity/XXTaggedResourceValueMap.java b/security-admin/src/main/java/org/apache/ranger/entity/XXTaggedResourceValueMap.java deleted file mode 100644 index 62e875f..0000000 --- a/security-admin/src/main/java/org/apache/ranger/entity/XXTaggedResourceValueMap.java +++ /dev/null @@ -1,220 +0,0 @@ -/* - * 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; - -import java.io.Serializable; - -import javax.persistence.Cacheable; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.SequenceGenerator; -import javax.persistence.Table; -import javax.xml.bind.annotation.XmlRootElement; - -import org.apache.ranger.common.AppConstants; - -@Entity -@Cacheable -@Table(name="x_tagged_resource_value_map") -@XmlRootElement -public class XXTaggedResourceValueMap extends XXDBBase implements Serializable { - private static final long serialVersionUID = 1L; - - @Id - @SequenceGenerator(name = "XXTaggedResourceValueMapSEQ", sequenceName = "XXTaggedResourceValueMapSEQ", allocationSize = 1) - @GeneratedValue(strategy = GenerationType.AUTO, generator = "XXTaggedResourceValueMapSEQ") - @Column(name = "id") - protected Long id; - - @Column(name = "guid", unique = true, nullable = false, length = 512) - protected String guid; - - @Column(name = "res_value_id") - protected Long resValueId; - - @Column(name = "value") - protected String value; - - @Column(name = "sort_order") - protected Integer sortOrder; - - @Override - public void setId(Long id) { - this.id = id; - } - - @Override - public Long getId() { - return id; - } - - /** - * @return the guid - */ - public String getGuid() { - return guid; - } - - /** - * @param guid - * the guid to set - */ - public void setGuid(String guid) { - this.guid = guid; - } - - /** - * @return the resValueId - */ - public Long getResValueId() { - return resValueId; - } - - /** - * @param resValueId - * the resValueId to set - */ - public void setResValueId(Long resValueId) { - this.resValueId = resValueId; - } - - /** - * @return the value - */ - public String getValue() { - return value; - } - - /** - * @param value - * the value to set - */ - public void setValue(String value) { - this.value = value; - } - - /** - * @return the sortOrder - */ - public Integer getSortOrder() { - return sortOrder; - } - - /** - * @param sortOrder - * the sortOrder to set - */ - public void setSortOrder(Integer sortOrder) { - this.sortOrder = sortOrder; - } - - @Override - public int getMyClassType() { - return AppConstants.CLASS_TYPE_XA_TAGGED_RESOURCE_VALUE_MAP; - } - - /* - * (non-Javadoc) - * - * @see java.lang.Object#hashCode() - */ - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((guid == null) ? 0 : guid.hashCode()); - result = prime * result + ((id == null) ? 0 : id.hashCode()); - result = prime * result + ((resValueId == null) ? 0 : resValueId.hashCode()); - result = prime * result + ((sortOrder == null) ? 0 : sortOrder.hashCode()); - result = prime * result + ((value == null) ? 0 : value.hashCode()); - return result; - } - - /* - * (non-Javadoc) - * - * @see java.lang.Object#equals(java.lang.Object) - */ - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (!super.equals(obj)) - return false; - if (getClass() != obj.getClass()) - return false; - XXTaggedResourceValueMap other = (XXTaggedResourceValueMap) obj; - if (guid == null) { - if (other.guid != null) - return false; - } else if (!guid.equals(other.guid)) - return false; - if (id == null) { - if (other.id != null) - return false; - } else if (!id.equals(other.id)) - return false; - if (resValueId == null) { - if (other.resValueId != null) - return false; - } else if (!resValueId.equals(other.resValueId)) - return false; - if (sortOrder == null) { - if (other.sortOrder != null) - return false; - } else if (!sortOrder.equals(other.sortOrder)) - return false; - if (value == null) { - if (other.value != null) - return false; - } else if (!value.equals(other.value)) - return false; - return true; - } - - /* - * (non-Javadoc) - * - * @see java.lang.Object#toString() - */ - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - toString(sb); - return sb.toString(); - } - - public StringBuilder toString(StringBuilder sb) { - sb.append("{ "); - sb.append(super.toString() + "} "); - sb.append("id={").append(id).append("} "); - sb.append("guid={").append(guid).append("} "); - sb.append("resValueId={").append(resValueId).append("} "); - sb.append("value={").append(value).append("} "); - sb.append("sortOrder={").append(sortOrder).append("} "); - sb.append(" }"); - - return sb; - } - -} http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/303f7b70/security-admin/src/main/java/org/apache/ranger/rest/TagREST.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/rest/TagREST.java b/security-admin/src/main/java/org/apache/ranger/rest/TagREST.java index b667777..0b0d4ca 100644 --- a/security-admin/src/main/java/org/apache/ranger/rest/TagREST.java +++ b/security-admin/src/main/java/org/apache/ranger/rest/TagREST.java @@ -20,24 +20,21 @@ package org.apache.ranger.rest; import org.apache.commons.collections.CollectionUtils; -import org.apache.commons.collections.ListUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.ranger.biz.ServiceDBStore; -//import org.apache.ranger.biz.TagDBStore; +import org.apache.ranger.biz.TagDBStore; import org.apache.ranger.common.RESTErrorUtil; import org.apache.ranger.plugin.model.RangerServiceResource; import org.apache.ranger.plugin.model.RangerTag; import org.apache.ranger.plugin.model.RangerTagResourceMap; import org.apache.ranger.plugin.model.RangerTagDef; -import org.apache.ranger.plugin.store.TagStore; import org.apache.ranger.plugin.store.TagValidator; - -import org.apache.ranger.plugin.store.file.TagFileStore; import org.apache.ranger.plugin.util.SearchFilter; import org.apache.ranger.plugin.util.ServiceTags; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Scope; +import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @@ -46,11 +43,9 @@ import javax.annotation.PostConstruct; import javax.servlet.http.HttpServletResponse; import javax.ws.rs.*; -import java.util.ArrayList; import java.util.List; @Path(TagRESTConstants.TAGDEF_NAME_AND_VERSION) - @Component @Scope("request") @Transactional(propagation = Propagation.REQUIRES_NEW) @@ -64,13 +59,8 @@ public class TagREST { @Autowired ServiceDBStore svcStore; - //@Autowired - //TagDBStore tagStore; - - TagStore tagStore; - - //@Autowired - //TagValidator validator; + @Autowired + TagDBStore tagStore; TagValidator validator; @@ -79,16 +69,16 @@ public class TagREST { @PostConstruct public void initStore() { - tagStore = TagFileStore.getInstance(); + validator = new TagValidator(); + tagStore.setServiceStore(svcStore); - validator = new TagValidator(); validator.setTagStore(tagStore); } @POST @Path(TagRESTConstants.TAGDEFS_RESOURCE) @Produces({ "application/json", "application/xml" }) - //@PreAuthorize("hasRole('ROLE_SYS_ADMIN')") + @PreAuthorize("hasRole('ROLE_SYS_ADMIN')") public RangerTagDef createTagDef(RangerTagDef tagDef) { if(LOG.isDebugEnabled()) { LOG.debug("==> TagREST.createTagDef(" + tagDef + ")"); @@ -116,8 +106,7 @@ public class TagREST { @PUT @Path(TagRESTConstants.TAGDEF_RESOURCE + "/{id}") @Produces({ "application/json", "application/xml" }) - //@PreAuthorize("hasRole('ROLE_SYS_ADMIN')") - + @PreAuthorize("hasRole('ROLE_SYS_ADMIN')") public RangerTagDef updateTagDef(@PathParam("id") Long id, RangerTagDef tagDef) { if(LOG.isDebugEnabled()) { @@ -147,7 +136,7 @@ public class TagREST { @DELETE @Path(TagRESTConstants.TAGDEF_RESOURCE + "/{id}") @Produces({ "application/json", "application/xml" }) - //@PreAuthorize("hasRole('ROLE_SYS_ADMIN')") + @PreAuthorize("hasRole('ROLE_SYS_ADMIN')") public void deleteTagDef(@PathParam("id") Long id) { if(LOG.isDebugEnabled()) { LOG.debug("==> TagREST.deleteTagDef(" + id + ")"); @@ -171,6 +160,7 @@ public class TagREST { @GET @Path(TagRESTConstants.TAGDEF_RESOURCE+"/{name}") @Produces({ "application/json", "application/xml" }) + @PreAuthorize("hasRole('ROLE_SYS_ADMIN')") public List<RangerTagDef> getTagDefByName(@PathParam("name") String name) { if(LOG.isDebugEnabled()) { LOG.debug("==> TagREST.getTagDefByName(" + name + ")"); @@ -179,7 +169,7 @@ public class TagREST { List<RangerTagDef> ret; try { - ret = tagStore.getTagDef(name); + ret = tagStore.getTagDefsByName(name); } catch(Exception excp) { LOG.error("getTagDefByName(" + name + ") failed", excp); @@ -200,6 +190,7 @@ public class TagREST { @GET @Path(TagRESTConstants.TAGDEFS_RESOURCE) @Produces({ "application/json", "application/xml" }) + @PreAuthorize("hasRole('ROLE_SYS_ADMIN')") public List<RangerTagDef> getTagDefs() { if(LOG.isDebugEnabled()) { LOG.debug("==> TagREST.getTagDefs()"); @@ -229,7 +220,7 @@ public class TagREST { @POST @Path(TagRESTConstants.TAGS_RESOURCE) @Produces({ "application/json", "application/xml" }) - //@PreAuthorize("hasRole('ROLE_SYS_ADMIN')") + @PreAuthorize("hasRole('ROLE_SYS_ADMIN')") public RangerTag createTag(RangerTag tag) { if(LOG.isDebugEnabled()) { LOG.debug("==> TagREST.createTag(" + tag + ")"); @@ -256,8 +247,7 @@ public class TagREST { @PUT @Path(TagRESTConstants.TAG_RESOURCE + "{id}") @Produces({ "application/json", "application/xml" }) - //@PreAuthorize("hasRole('ROLE_SYS_ADMIN')") - + @PreAuthorize("hasRole('ROLE_SYS_ADMIN')") public RangerTag updateTagById(@PathParam("id") Long id, RangerTag tag) { RangerTag ret; @@ -277,27 +267,26 @@ public class TagREST { } @PUT - @Path(TagRESTConstants.TAG_RESOURCE + "externalId/{externalId}") + @Path(TagRESTConstants.TAG_RESOURCE + "guid/{guid}") @Produces({ "application/json", "application/xml" }) - //@PreAuthorize("hasRole('ROLE_SYS_ADMIN')") - - public RangerTag updateTagByExternalId(@PathParam("externalId") String externalId, RangerTag tag) { + @PreAuthorize("hasRole('ROLE_SYS_ADMIN')") + public RangerTag updateTagByGuid(@PathParam("guid") String guid, RangerTag tag) { if(LOG.isDebugEnabled()) { - LOG.debug("==> TagREST.updateTagByExternalId(" + externalId + ")"); + LOG.debug("==> TagREST.updateTagByGuid(" + guid + ")"); } RangerTag ret; try { - validator.preUpdateTagByExternalId(externalId, tag); + validator.preUpdateTagByGuid(guid, tag); ret = tagStore.updateTag(tag); } catch (Exception excp) { - LOG.error("updateTagByExternalId(" + externalId + ") failed", excp); + LOG.error("updateTagByGuid(" + guid + ") failed", excp); throw restErrorUtil.createRESTException(HttpServletResponse.SC_BAD_REQUEST, excp.getMessage(), true); } if(LOG.isDebugEnabled()) { - LOG.debug("<== TagREST.updateTagByExternalId(" + externalId + "): " + ret); + LOG.debug("<== TagREST.updateTagByGuid(" + guid + "): " + ret); } return ret; @@ -306,8 +295,7 @@ public class TagREST { @PUT @Path(TagRESTConstants.TAG_RESOURCE + "name/{name}") @Produces({ "application/json", "application/xml" }) - //@PreAuthorize("hasRole('ROLE_SYS_ADMIN')") - + @PreAuthorize("hasRole('ROLE_SYS_ADMIN')") public RangerTag updateTagByName(@PathParam("name") String name, RangerTag tag) { if(LOG.isDebugEnabled()) { @@ -333,8 +321,7 @@ public class TagREST { @DELETE @Path(TagRESTConstants.TAG_RESOURCE + "{id}") @Produces({ "application/json", "application/xml" }) - //@PreAuthorize("hasRole('ROLE_SYS_ADMIN')") - + @PreAuthorize("hasRole('ROLE_SYS_ADMIN')") public void deleteTagById(@PathParam("id") Long id) { if(LOG.isDebugEnabled()) { LOG.debug("==> TagREST.deleteTagById(" + id +")"); @@ -354,32 +341,32 @@ public class TagREST { } @DELETE - @Path(TagRESTConstants.TAG_RESOURCE + "externalId/{externalId}") + @Path(TagRESTConstants.TAG_RESOURCE + "guid/{guid}") @Produces({ "application/json", "application/xml" }) - //@PreAuthorize("hasRole('ROLE_SYS_ADMIN')") - public void deleteTagByExternalId(@PathParam("externalId") String externalId) { + @PreAuthorize("hasRole('ROLE_SYS_ADMIN')") + public void deleteTagByGuid(@PathParam("guid") String guid) { if(LOG.isDebugEnabled()) { - LOG.debug("==> TagREST.deleteTagByExternalId(" + externalId + ")"); + LOG.debug("==> TagREST.deleteTagByGuid(" + guid + ")"); } try { - RangerTag exist = validator.preDeleteTagByExternalId(externalId); + RangerTag exist = validator.preDeleteTagByGuid(guid); tagStore.deleteTagById(exist.getId()); } catch(Exception excp) { - LOG.error("deleteTagByExternalId(" + externalId + ") failed", excp); + LOG.error("deleteTagByGuid(" + guid + ") failed", excp); throw restErrorUtil.createRESTException(HttpServletResponse.SC_BAD_REQUEST, excp.getMessage(), true); } if(LOG.isDebugEnabled()) { - LOG.debug("<== TagREST.deleteTagByExternalId(" + externalId + ")"); + LOG.debug("<== TagREST.deleteTagByGuid(" + guid + ")"); } } @DELETE @Path(TagRESTConstants.TAG_RESOURCE + "name/{name}") @Produces({ "application/json", "application/xml" }) - //@PreAuthorize("hasRole('ROLE_SYS_ADMIN')") + @PreAuthorize("hasRole('ROLE_SYS_ADMIN')") public void deleteTagByName(@PathParam("name") String name) { if(LOG.isDebugEnabled()) { LOG.debug("==> TagREST.deleteTagByName(" + name + ")"); @@ -402,6 +389,7 @@ public class TagREST { @GET @Path(TagRESTConstants.TAGS_RESOURCE + "{id}") @Produces({ "application/json", "application/xml" }) + @PreAuthorize("hasRole('ROLE_SYS_ADMIN')") public RangerTag getTagById(@PathParam("id") Long id) { if(LOG.isDebugEnabled()) { LOG.debug("==> TagREST.getTagById(" + id + ")"); @@ -424,24 +412,25 @@ public class TagREST { } @GET - @Path(TagRESTConstants.TAGS_RESOURCE + "externalId/{externalId}") + @Path(TagRESTConstants.TAGS_RESOURCE + "guid/{guid}") @Produces({ "application/json", "application/xml" }) - public List<RangerTag> getTagsByExternalId(@PathParam("externalId") String externalId) { + @PreAuthorize("hasRole('ROLE_SYS_ADMIN')") + public RangerTag getTagByGuid(@PathParam("guid") String guid) { if(LOG.isDebugEnabled()) { - LOG.debug("==> TagREST.getTagsByExternalId(" + externalId + ")"); + LOG.debug("==> TagREST.getTagByGuid(" + guid + ")"); } - List<RangerTag> ret; + RangerTag ret; try { - ret = tagStore.getTagsByExternalId(externalId); + ret = tagStore.getTagByGuid(guid); } catch(Exception excp) { - LOG.error("getTagsByExternalId(" + externalId + ") failed", excp); + LOG.error("getTagByGuid(" + guid + ") failed", excp); throw restErrorUtil.createRESTException(HttpServletResponse.SC_BAD_REQUEST, excp.getMessage(), true); } if(LOG.isDebugEnabled()) { - LOG.debug("<== TagREST.getTagsByExternalId(" + externalId + "): " + ret); + LOG.debug("<== TagREST.getTagByGuid(" + guid + "): " + ret); } return ret; @@ -450,6 +439,7 @@ public class TagREST { @GET @Path(TagRESTConstants.TAGS_RESOURCE + "name/{name}") @Produces({ "application/json", "application/xml" }) + @PreAuthorize("hasRole('ROLE_SYS_ADMIN')") public List<RangerTag> getTagsByName(@PathParam("name") String name) { if(LOG.isDebugEnabled()) { LOG.debug("==> TagREST.getTagsByName(" + name + ")"); @@ -474,6 +464,7 @@ public class TagREST { @GET @Path(TagRESTConstants.TAGS_RESOURCE) @Produces({ "application/json", "application/xml" }) + @PreAuthorize("hasRole('ROLE_SYS_ADMIN')") public List<RangerTag> getAllTags() { if(LOG.isDebugEnabled()) { LOG.debug("==> TagREST.getAllTags()"); @@ -504,7 +495,7 @@ public class TagREST { @POST @Path(TagRESTConstants.RESOURCES_RESOURCE) @Produces({ "application/json", "application/xml" }) - //@PreAuthorize("hasRole('ROLE_SYS_ADMIN')") + @PreAuthorize("hasRole('ROLE_SYS_ADMIN')") public RangerServiceResource createServiceResource(RangerServiceResource resource) { if(LOG.isDebugEnabled()) { LOG.debug("==> TagREST.createServiceResource(" + resource + ")"); @@ -531,8 +522,7 @@ public class TagREST { @PUT @Path(TagRESTConstants.RESOURCE_RESOURCE + "{id}") @Produces({ "application/json", "application/xml" }) - //@PreAuthorize("hasRole('ROLE_SYS_ADMIN')") - + @PreAuthorize("hasRole('ROLE_SYS_ADMIN')") public RangerServiceResource updateServiceResourceById(@PathParam("id") Long id, RangerServiceResource resource) { if(LOG.isDebugEnabled()) { LOG.debug("==> TagREST.updateServiceResourceById(" + id + ")"); @@ -555,25 +545,24 @@ public class TagREST { } @PUT - @Path(TagRESTConstants.RESOURCE_RESOURCE + "externalId/{externalId}") + @Path(TagRESTConstants.RESOURCE_RESOURCE + "guid/{guid}") @Produces({ "application/json", "application/xml" }) - //@PreAuthorize("hasRole('ROLE_SYS_ADMIN')") - - public RangerServiceResource updateServiceResourceByExternalId(@PathParam("externalId") String externalId, RangerServiceResource resource) { + @PreAuthorize("hasRole('ROLE_SYS_ADMIN')") + public RangerServiceResource updateServiceResourceByGuid(@PathParam("guid") String guid, RangerServiceResource resource) { if(LOG.isDebugEnabled()) { - LOG.debug("==> TagREST.updateServiceResourceByExternalId(" + externalId + ", " + resource + ")"); + LOG.debug("==> TagREST.updateServiceResourceByGuid(" + guid + ", " + resource + ")"); } RangerServiceResource ret; try { - validator.preUpdateServiceResourceByExternalId(externalId, resource); + validator.preUpdateServiceResourceByGuid(guid, resource); ret = tagStore.updateServiceResource(resource); } catch(Exception excp) { - LOG.error("updateServiceResourceByExternalId(" + externalId + ", " + resource + ") failed", excp); + LOG.error("updateServiceResourceByGuid(" + guid + ", " + resource + ") failed", excp); throw restErrorUtil.createRESTException(HttpServletResponse.SC_BAD_REQUEST, excp.getMessage(), true); } if(LOG.isDebugEnabled()) { - LOG.debug("<== TagREST.updateServiceResourceByExternalId(" + externalId + ", " + resource + "): " + ret); + LOG.debug("<== TagREST.updateServiceResourceByGuid(" + guid + ", " + resource + "): " + ret); } return ret; } @@ -581,7 +570,7 @@ public class TagREST { @DELETE @Path(TagRESTConstants.RESOURCE_RESOURCE + "{id}") @Produces({ "application/json", "application/xml" }) - //@PreAuthorize("hasRole('ROLE_SYS_ADMIN')") + @PreAuthorize("hasRole('ROLE_SYS_ADMIN')") public void deleteServiceResourceById(@PathParam("id") Long id) { if(LOG.isDebugEnabled()) { LOG.debug("==> TagREST.deleteServiceResourceById(" + id + ")"); @@ -601,31 +590,32 @@ public class TagREST { } @DELETE - @Path(TagRESTConstants.RESOURCE_RESOURCE + "externalId/{externalId}") + @Path(TagRESTConstants.RESOURCE_RESOURCE + "guid/{guid}") @Produces({ "application/json", "application/xml" }) - //@PreAuthorize("hasRole('ROLE_SYS_ADMIN')") - public void deleteServiceResourceByExternalId(@PathParam("externalId") String externalId) { + @PreAuthorize("hasRole('ROLE_SYS_ADMIN')") + public void deleteServiceResourceByGuid(@PathParam("guid") String guid) { if(LOG.isDebugEnabled()) { - LOG.debug("==> TagREST.deleteServiceResourceByExternalId(" + externalId + ")"); + LOG.debug("==> TagREST.deleteServiceResourceByGuid(" + guid + ")"); } try { - RangerServiceResource exist = validator.preDeleteServiceResourceByExternalId(externalId); + RangerServiceResource exist = validator.preDeleteServiceResourceByGuid(guid); tagStore.deleteServiceResourceById(exist.getId()); } catch(Exception excp) { - LOG.error("deleteServiceResourceByExternalId(" + externalId + ") failed", excp); + LOG.error("deleteServiceResourceByGuid(" + guid + ") failed", excp); throw restErrorUtil.createRESTException(HttpServletResponse.SC_BAD_REQUEST, excp.getMessage(), true); } if(LOG.isDebugEnabled()) { - LOG.debug("<== TagREST.deleteServiceResourceByExternalId(" + externalId + ")"); + LOG.debug("<== TagREST.deleteServiceResourceByGuid(" + guid + ")"); } } @GET @Path(TagRESTConstants.RESOURCES_RESOURCE + "{id}") @Produces({ "application/json", "application/xml" }) + @PreAuthorize("hasRole('ROLE_SYS_ADMIN')") public RangerServiceResource getServiceResourceById(@PathParam("id") Long id) { if(LOG.isDebugEnabled()) { LOG.debug("==> TagREST.getServiceResourceById(" + id + ")"); @@ -645,22 +635,23 @@ public class TagREST { } @GET - @Path(TagRESTConstants.RESOURCES_RESOURCE + "externalId/{externalId}") + @Path(TagRESTConstants.RESOURCES_RESOURCE + "guid/{guid}") @Produces({ "application/json", "application/xml" }) - public List<RangerServiceResource> getServiceResourcesByExternalId(@PathParam("externalId") String externalId) { + @PreAuthorize("hasRole('ROLE_SYS_ADMIN')") + public RangerServiceResource getServiceResourceByGuid(@PathParam("guid") String guid) { if(LOG.isDebugEnabled()) { - LOG.debug("==> TagREST.getServiceResourceByExternalId(" + externalId + ")"); + LOG.debug("==> TagREST.getServiceResourceByGuid(" + guid + ")"); } - List<RangerServiceResource> ret; + RangerServiceResource ret; try { - ret = tagStore.getServiceResourcesByExternalId(externalId); + ret = tagStore.getServiceResourceByGuid(guid); } catch(Exception excp) { - LOG.error("getServiceResourceByExternalId(" + externalId + ") failed", excp); + LOG.error("getServiceResourceByGuid(" + guid + ") failed", excp); throw restErrorUtil.createRESTException(HttpServletResponse.SC_BAD_REQUEST, excp.getMessage(), true); } if(LOG.isDebugEnabled()) { - LOG.debug("<== TagREST.getServiceResourceByExternalId(" + externalId + "): " + ret); + LOG.debug("<== TagREST.getServiceResourceByGuid(" + guid + "): " + ret); } return ret; } @@ -668,26 +659,25 @@ public class TagREST { @POST @Path(TagRESTConstants.TAGRESOURCEMAPS_RESOURCE) @Produces({ "application/json", "application/xml" }) - //@PreAuthorize("hasRole('ROLE_SYS_ADMIN')") - public RangerTagResourceMap createTagResourceMap(@QueryParam("externalResourceId") String externalResourceId, - @QueryParam("externalTagId") String externalTagId) { + @PreAuthorize("hasRole('ROLE_SYS_ADMIN')") + public RangerTagResourceMap createTagResourceMap(@QueryParam("tagGuid") String tagGuid, @QueryParam("resourceGuid") String resourceGuid) { if(LOG.isDebugEnabled()) { - LOG.debug("==> TagREST.createTagResourceMap(" + externalResourceId + ", " + externalTagId + ")"); + LOG.debug("==> TagREST.createTagResourceMap(" + tagGuid + ", " + resourceGuid + ")"); } RangerTagResourceMap tagResourceMap; try { - tagResourceMap = validator.preCreateTagResourceMap(externalResourceId, externalTagId); + tagResourceMap = validator.preCreateTagResourceMap(tagGuid, resourceGuid); tagResourceMap = tagStore.createTagResourceMap(tagResourceMap); } catch(Exception excp) { - LOG.error("createTagResourceMap(" + externalResourceId + ", " + externalTagId + ") failed", excp); + LOG.error("createTagResourceMap(" + tagGuid + ", " + resourceGuid + ") failed", excp); throw restErrorUtil.createRESTException(HttpServletResponse.SC_BAD_REQUEST, excp.getMessage(), true); } if(LOG.isDebugEnabled()) { - LOG.debug("==> TagREST.createTagResourceMap(" + externalResourceId + ", " + externalTagId + ")"); + LOG.debug("==> TagREST.createTagResourceMap(" + tagGuid + ", " + resourceGuid + ")"); } return tagResourceMap; @@ -696,24 +686,23 @@ public class TagREST { @DELETE @Path(TagRESTConstants.TAGRESOURCEMAPS_RESOURCE) @Produces({ "application/json", "application/xml" }) - //@PreAuthorize("hasRole('ROLE_SYS_ADMIN')") - public void deleteTagResourceMap(@QueryParam("externalResourceId") String externalResourceId, - @QueryParam("externalTagId") String externalTagId) { + @PreAuthorize("hasRole('ROLE_SYS_ADMIN')") + public void deleteTagResourceMap(@QueryParam("tagGuid") String tagGuid, @QueryParam("resourceGuid") String resourceGuid) { if(LOG.isDebugEnabled()) { - LOG.debug("==> TagREST.deleteTagResourceMap(" + externalResourceId + ", " + externalTagId + ")"); + LOG.debug("==> TagREST.deleteTagResourceMap(" + tagGuid + ", " + resourceGuid + ")"); } try { - RangerTagResourceMap exist = validator.preDeleteTagResourceMap(externalResourceId, externalTagId); + RangerTagResourceMap exist = validator.preDeleteTagResourceMap(tagGuid, resourceGuid); tagStore.deleteTagResourceMapById(exist.getId()); } catch(Exception excp) { - LOG.error("deleteTagResourceMap(" + externalResourceId + ", " + externalTagId + ") failed", excp); + LOG.error("deleteTagResourceMap(" + tagGuid + ", " + resourceGuid + ") failed", excp); throw restErrorUtil.createRESTException(HttpServletResponse.SC_BAD_REQUEST, excp.getMessage(), true); } if(LOG.isDebugEnabled()) { - LOG.debug("==> TagREST.deleteTagResourceMap(" + externalResourceId + ", " + externalTagId + ")"); + LOG.debug("==> TagREST.deleteTagResourceMap(" + tagGuid + ", " + resourceGuid + ")"); } } @@ -727,7 +716,7 @@ public class TagREST { @GET @Path(TagRESTConstants.RESOURCES_RESOURCE) @Produces({ "application/json", "application/xml" }) - //@PreAuthorize("hasRole('ROLE_SYS_ADMIN')") + @PreAuthorize("hasRole('ROLE_SYS_ADMIN')") public List<RangerServiceResource> getServiceResources(RangerServiceResource resource) throws Exception { List<RangerServiceResource> ret = null; @@ -776,6 +765,7 @@ public class TagREST { @GET @Path(TagRESTConstants.TAGNAMES_RESOURCE) @Produces({ "application/json", "application/xml" }) + @PreAuthorize("hasRole('ROLE_SYS_ADMIN')") public List<String> getTagNames(@QueryParam(TagRESTConstants.SERVICE_NAME_PARAM) String serviceName) { if(LOG.isDebugEnabled()) { http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/303f7b70/security-admin/src/main/java/org/apache/ranger/rest/TagRESTConstants.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/rest/TagRESTConstants.java b/security-admin/src/main/java/org/apache/ranger/rest/TagRESTConstants.java index 915ff13..07a559c 100644 --- a/security-admin/src/main/java/org/apache/ranger/rest/TagRESTConstants.java +++ b/security-admin/src/main/java/org/apache/ranger/rest/TagRESTConstants.java @@ -22,25 +22,18 @@ package org.apache.ranger.rest; public class TagRESTConstants { public static final String TAGDEF_NAME_AND_VERSION = "tags"; - static final String TAGDEFS_RESOURCE = "/tagdefs/"; - static final String TAGDEF_RESOURCE = "/tagdef/"; - - static final String TAGS_RESOURCE = "/tags/"; - static final String TAG_RESOURCE = "/tag/"; - - static final String RESOURCES_RESOURCE = "/resources/"; - static final String RESOURCE_RESOURCE = "/resource/"; - + static final String TAGDEFS_RESOURCE = "/tagdefs/"; + static final String TAGDEF_RESOURCE = "/tagdef/"; + static final String TAGS_RESOURCE = "/tags/"; + static final String TAG_RESOURCE = "/tag/"; + static final String RESOURCES_RESOURCE = "/resources/"; + static final String RESOURCE_RESOURCE = "/resource/"; static final String TAGRESOURCEMAPS_RESOURCE = "/tagresourcemaps/"; + static final String TAGNAMES_RESOURCE = "/tags/names/"; + static final String LOOKUP_TAGS_RESOURCE = "/tags/lookup/"; + static final String TAGS_DOWNLOAD = "/download/"; - - static final String TAGNAMES_RESOURCE = "/tags/names/"; - static final String LOOKUP_TAGS_RESOURCE = "/tags/lookup/"; - - static final String TAGS_DOWNLOAD = "/download/"; - - public static final String SERVICE_NAME_PARAM = "serviceName"; - public static final String LAST_KNOWN_TAG_VERSION_PARAM = "tagVersion"; - public static final String PATTERN_PARAM = "pattern"; - + public static final String SERVICE_NAME_PARAM = "serviceName"; + public static final String LAST_KNOWN_TAG_VERSION_PARAM = "lastKnownVersion"; + public static final String PATTERN_PARAM = "pattern"; } http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/303f7b70/security-admin/src/main/java/org/apache/ranger/service/RangerServiceDefService.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/service/RangerServiceDefService.java b/security-admin/src/main/java/org/apache/ranger/service/RangerServiceDefService.java index e80ba01..9f9761c 100644 --- a/security-admin/src/main/java/org/apache/ranger/service/RangerServiceDefService.java +++ b/security-admin/src/main/java/org/apache/ranger/service/RangerServiceDefService.java @@ -20,15 +20,6 @@ package org.apache.ranger.service; import java.util.ArrayList; import java.util.List; -import org.apache.ranger.common.SearchField.DATA_TYPE; -import org.apache.ranger.common.SearchField.SEARCH_TYPE; -import org.apache.ranger.common.UserSessionBase; -import org.apache.ranger.entity.XXContextEnricherDef; -import org.apache.ranger.entity.XXAccessTypeDef; -import org.apache.ranger.entity.XXEnumDef; -import org.apache.ranger.entity.XXPolicyConditionDef; -import org.apache.ranger.entity.XXResourceDef; -import org.apache.ranger.entity.XXServiceConfigDef; import org.apache.ranger.entity.XXServiceDef; import org.apache.ranger.entity.XXServiceDefBase; import org.apache.ranger.plugin.model.RangerServiceDef; http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/303f7b70/security-admin/src/main/java/org/apache/ranger/service/RangerServiceResourceService.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/service/RangerServiceResourceService.java b/security-admin/src/main/java/org/apache/ranger/service/RangerServiceResourceService.java new file mode 100644 index 0000000..3bbd344 --- /dev/null +++ b/security-admin/src/main/java/org/apache/ranger/service/RangerServiceResourceService.java @@ -0,0 +1,96 @@ +/* + * 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.service; + +import java.util.ArrayList; +import java.util.List; + +import org.apache.commons.collections.CollectionUtils; +import org.apache.ranger.common.SearchField; +import org.apache.ranger.common.SearchField.DATA_TYPE; +import org.apache.ranger.common.SearchField.SEARCH_TYPE; +import org.apache.ranger.entity.XXServiceResource; +import org.apache.ranger.plugin.model.RangerServiceResource; +import org.apache.ranger.plugin.util.SearchFilter; +import org.springframework.stereotype.Service; + +@Service +public class RangerServiceResourceService extends RangerServiceResourceServiceBase<XXServiceResource, RangerServiceResource> { + + public RangerServiceResourceService() { + searchFields.add(new SearchField(SearchFilter.TAG_RESOURCE_ID, "obj.id", DATA_TYPE.INTEGER, SEARCH_TYPE.FULL)); + searchFields.add(new SearchField(SearchFilter.TAG_SERVICE_ID, "obj.serviceId", DATA_TYPE.INTEGER, SEARCH_TYPE.FULL)); + searchFields.add(new SearchField(SearchFilter.TAG_RESOURCE_SIGNATURE, "obj.resourceSignature", DATA_TYPE.STRING, SEARCH_TYPE.FULL)); + } + + @Override + protected void validateForCreate(RangerServiceResource vObj) { + + } + + @Override + protected void validateForUpdate(RangerServiceResource vObj, XXServiceResource entityObj) { + + } + + public RangerServiceResource getPopulatedViewObject(XXServiceResource xObj) { + return populateViewBean(xObj); + } + + public RangerServiceResource getServiceResourceByGuid(String guid) { + RangerServiceResource ret = null; + + XXServiceResource xxServiceResource = daoMgr.getXXServiceResource().findByGuid(guid); + + if(xxServiceResource != null) { + ret = populateViewBean(xxServiceResource); + } + + return ret; + } + + public RangerServiceResource getServiceResourceByServiceIdAndResourceSignature(Long serviceId, String resourceSignature) { + RangerServiceResource ret = null; + + XXServiceResource xxServiceResource = daoMgr.getXXServiceResource().findByServiceIdAndResourceSignature(serviceId, resourceSignature); + + if(xxServiceResource != null) { + ret = populateViewBean(xxServiceResource); + } + + return ret; + } + + public List<RangerServiceResource> getTaggedResourcesInServiceId(Long serviceId) { + List<RangerServiceResource> ret = new ArrayList<RangerServiceResource>(); + + List<XXServiceResource> xxServiceResources = daoMgr.getXXServiceResource().findTaggedResourcesInServiceId(serviceId); + + if(CollectionUtils.isNotEmpty(xxServiceResources)) { + for(XXServiceResource xxServiceResource : xxServiceResources) { + RangerServiceResource serviceResource = populateViewBean(xxServiceResource); + + ret.add(serviceResource); + } + } + + return ret; + } +} http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/303f7b70/security-admin/src/main/java/org/apache/ranger/service/RangerServiceResourceServiceBase.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/service/RangerServiceResourceServiceBase.java b/security-admin/src/main/java/org/apache/ranger/service/RangerServiceResourceServiceBase.java new file mode 100644 index 0000000..f6a1dca --- /dev/null +++ b/security-admin/src/main/java/org/apache/ranger/service/RangerServiceResourceServiceBase.java @@ -0,0 +1,112 @@ +/* + * 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.service; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.apache.commons.lang.StringUtils; +import org.apache.ranger.common.GUIDUtil; +import org.apache.ranger.common.MessageEnums; +import org.apache.ranger.entity.XXResourceDef; +import org.apache.ranger.entity.XXService; +import org.apache.ranger.entity.XXServiceResource; +import org.apache.ranger.entity.XXServiceResourceElement; +import org.apache.ranger.plugin.model.RangerPolicy; +import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyResource; +import org.apache.ranger.plugin.model.RangerServiceResource; +import org.apache.ranger.plugin.store.PList; +import org.apache.ranger.plugin.util.SearchFilter; +import org.springframework.beans.factory.annotation.Autowired; + +public abstract class RangerServiceResourceServiceBase<T extends XXServiceResource, V extends RangerServiceResource> extends RangerBaseModelService<T, V> { + + @Autowired + GUIDUtil guidUtil; + + @Override + @SuppressWarnings("unchecked") + protected XXServiceResource mapViewToEntityBean(RangerServiceResource vObj, XXServiceResource xObj, int operationContext) { + String guid = (StringUtils.isEmpty(vObj.getGuid())) ? guidUtil.genGUID() : vObj.getGuid(); + + xObj.setGuid(guid); + xObj.setVersion(vObj.getVersion()); + xObj.setIsEnabled(vObj.getIsEnabled()); + + XXService xService = daoMgr.getXXService().findByName(vObj.getServiceName()); + if (xService == null) { + throw restErrorUtil.createRESTException("Error Populating XXServiceResource. No Service found with name: " + vObj.getServiceName(), MessageEnums.INVALID_INPUT_DATA); + } + + xObj.setServiceId(xService.getId()); + + return xObj; + } + + @Override + @SuppressWarnings("unchecked") + protected RangerServiceResource mapEntityToViewBean(RangerServiceResource vObj, XXServiceResource xObj) { + vObj.setGuid(xObj.getGuid()); + vObj.setVersion(xObj.getVersion()); + vObj.setIsEnabled(xObj.getIsEnabled()); + + XXService xService = daoMgr.getXXService().getById(xObj.getServiceId()); + + vObj.setServiceName(xService.getName()); + + List<XXServiceResourceElement> resElementList = daoMgr.getXXServiceResourceElement().findByResourceId(xObj.getId()); + Map<String, RangerPolicy.RangerPolicyResource> resourceSpec = new HashMap<String, RangerPolicy.RangerPolicyResource>(); + + for (XXServiceResourceElement resElement : resElementList) { + List<String> resValueMapList = daoMgr.getXXServiceResourceElementValue().findValuesByResElementId(resElement.getId()); + + XXResourceDef xResDef = daoMgr.getXXResourceDef().getById(resElement.getResDefId()); + + RangerPolicyResource policyRes = new RangerPolicyResource(); + policyRes.setIsExcludes(resElement.getIsExcludes()); + policyRes.setIsRecursive(resElement.getIsRecursive()); + policyRes.setValues(resValueMapList); + + resourceSpec.put(xResDef.getName(), policyRes); + } + + vObj.setResourceSpec(resourceSpec); + + return vObj; + } + + @SuppressWarnings("unchecked") + public PList<RangerServiceResource> searchServiceResources(SearchFilter searchFilter) { + PList<RangerServiceResource> retList = new PList<RangerServiceResource>(); + List<RangerServiceResource> resourceList = new ArrayList<RangerServiceResource>(); + + List<XXServiceResource> xResourceList = (List<XXServiceResource>) searchRangerObjects(searchFilter, searchFields, sortFields, (PList<V>) retList); + + for (XXServiceResource xResource : xResourceList) { + RangerServiceResource taggedRes = populateViewBean((T) xResource); + resourceList.add(taggedRes); + } + retList.setList(resourceList); + return retList; + } + +} http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/303f7b70/security-admin/src/main/java/org/apache/ranger/service/RangerTagDefService.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/service/RangerTagDefService.java b/security-admin/src/main/java/org/apache/ranger/service/RangerTagDefService.java index bd61ff1..462b781 100644 --- a/security-admin/src/main/java/org/apache/ranger/service/RangerTagDefService.java +++ b/security-admin/src/main/java/org/apache/ranger/service/RangerTagDefService.java @@ -19,11 +19,17 @@ package org.apache.ranger.service; +import java.util.ArrayList; +import java.util.List; + +import org.apache.commons.collections.CollectionUtils; import org.apache.ranger.common.SearchField; import org.apache.ranger.common.SearchField.DATA_TYPE; import org.apache.ranger.common.SearchField.SEARCH_TYPE; import org.apache.ranger.entity.XXTagDef; +import org.apache.ranger.entity.XXTagResourceMap; import org.apache.ranger.plugin.model.RangerTagDef; +import org.apache.ranger.plugin.model.RangerTagResourceMap; import org.apache.ranger.plugin.util.SearchFilter; import org.springframework.stereotype.Service; @@ -32,6 +38,7 @@ public class RangerTagDefService extends RangerTagDefServiceBase<XXTagDef, Range public RangerTagDefService() { searchFields.add(new SearchField(SearchFilter.TAG_DEF_ID, "obj.id", DATA_TYPE.INTEGER, SEARCH_TYPE.FULL)); + searchFields.add(new SearchField(SearchFilter.TAG_DEF_GUID, "obj.guid", DATA_TYPE.STRING, SEARCH_TYPE.FULL)); searchFields.add(new SearchField(SearchFilter.TAG_DEF_NAME, "obj.name", DATA_TYPE.STRING, SEARCH_TYPE.FULL)); } @@ -45,8 +52,61 @@ public class RangerTagDefService extends RangerTagDefServiceBase<XXTagDef, Range } + @Override + public RangerTagDef postUpdate(XXTagDef tagDef) { + RangerTagDef ret = super.postUpdate(tagDef); + + daoMgr.getXXTagDef().updateServiceForTagDefUpdate(tagDef.getId(), tagDef.getUpdateTime()); + + return ret; + } + public RangerTagDef getPopulatedViewObject(XXTagDef xObj) { return populateViewBean(xObj); } + public RangerTagDef getTagDefByGuid(String guid) { + RangerTagDef ret = null; + + XXTagDef xxTagDef = daoMgr.getXXTagDef().findByGuid(guid); + + if(xxTagDef != null) { + ret = populateViewBean(xxTagDef); + } + + return ret; + } + + public List<RangerTagDef> getTagDefsByName(String name) { + List<RangerTagDef> ret = new ArrayList<RangerTagDef>(); + + List<XXTagDef> xxTagDefs = daoMgr.getXXTagDef().findByName(name); + + if(CollectionUtils.isNotEmpty(xxTagDefs)) { + for(XXTagDef xxTagDef : xxTagDefs) { + RangerTagDef tagDef = populateViewBean(xxTagDef); + + ret.add(tagDef); + } + } + + return ret; + } + + public List<RangerTagDef> getTagDefsByServiceId(Long serviceId) { + List<RangerTagDef> ret = new ArrayList<RangerTagDef>(); + + List<XXTagDef> xxTagDefs = daoMgr.getXXTagDef().findByServiceId(serviceId); + + if(CollectionUtils.isNotEmpty(xxTagDefs)) { + for(XXTagDef xxTagDef : xxTagDefs) { + RangerTagDef tagDef = populateViewBean(xxTagDef); + + ret.add(tagDef); + } + } + + return ret; + } + }
