Repository: incubator-ranger
Updated Branches:
  refs/heads/tag-policy 26778304f -> 673b6d551


Added RangerTaggedResourceKey class representing <cluster-name, component-type, 
map-of-policyresources> tuple.

Signed-off-by: Madhan Neethiraj <[email protected]>


Project: http://git-wip-us.apache.org/repos/asf/incubator-ranger/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/673b6d55
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/673b6d55
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/673b6d55

Branch: refs/heads/tag-policy
Commit: 673b6d551c564bf04b5173f3f1a2d95a17e03d5f
Parents: 2677830
Author: Abhay Kulkarni <[email protected]>
Authored: Fri Jun 26 14:49:13 2015 -0700
Committer: Madhan Neethiraj <[email protected]>
Committed: Fri Jun 26 23:51:44 2015 -0700

----------------------------------------------------------------------
 .../contextenricher/RangerTagProvider.java      |  2 +-
 .../plugin/model/RangerTaggedResource.java      | 59 ++++---------
 .../plugin/model/RangerTaggedResourceKey.java   | 90 ++++++++++++++++++++
 .../ranger/plugin/store/TagPredicateUtil.java   |  4 +-
 .../apache/ranger/plugin/store/TagStore.java    |  6 +-
 .../ranger/plugin/store/file/TagFileStore.java  | 35 ++++----
 .../ranger/plugin/store/TestTagStore.java       | 13 ++-
 .../java/org/apache/ranger/rest/TagREST.java    | 18 +++-
 .../apache/ranger/rest/TagRESTConstants.java    |  2 +-
 9 files changed, 152 insertions(+), 77 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/673b6d55/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerTagProvider.java
----------------------------------------------------------------------
diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerTagProvider.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerTagProvider.java
index 8896e6e..9f56c83 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerTagProvider.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerTagProvider.java
@@ -120,7 +120,7 @@ public class RangerTagProvider extends 
RangerAbstractContextEnricher implements
                                RangerDefaultPolicyResourceMatcher matcher = 
new RangerDefaultPolicyResourceMatcher();
 
                                matcher.setServiceDef(this.serviceDef);
-                               
matcher.setPolicyResources(taggedResource.getResourceSpec());
+                               
matcher.setPolicyResources(taggedResource.getKey().getResourceSpec());
 
                                if (LOG.isDebugEnabled()) {
                                        
LOG.debug("RangerTagProvider.setRangerTaggedResources() - Initializing matcher 
with (resource=" + taggedResource

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/673b6d55/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerTaggedResource.java
----------------------------------------------------------------------
diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerTaggedResource.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerTaggedResource.java
index b532ca5..b6927ad 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerTaggedResource.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerTaggedResource.java
@@ -46,50 +46,28 @@ import java.util.*;
 public class RangerTaggedResource extends RangerBaseModelObject {
     private static final long serialVersionUID = 1L;
 
-    private String componentType                                               
 = null; // one of any supported by any component
-    private String tagServiceName                                              
 = null;
-    private Map<String, RangerPolicy.RangerPolicyResource> resourceSpec        
 = null;
-    private List<RangerResourceTag> tags                                       
 = null;
-
-    public RangerTaggedResource(String componentType, String tagServiceName, 
Map<String, RangerPolicy.RangerPolicyResource> resourceSpec, 
List<RangerResourceTag> tags) {
-        super();
-        setComponentType(componentType);
-        setTagServiceName(tagServiceName);
-        setResourceSpec(resourceSpec);
+    private RangerTaggedResourceKey          key;
+    private List<RangerResourceTag> tags;
+
+    public RangerTaggedResource(RangerTaggedResourceKey key, 
List<RangerResourceTag> tags) {
+        setKey(key);
         setTags(tags);
     }
 
     public RangerTaggedResource() {
-        this(null, null, null, null);
-    }
-
-    public String getComponentType() {
-        return componentType;
-    }
-
-    public String getTagServiceName() {
-        return tagServiceName;
+        this(null, null);
     }
 
-    public Map<String, RangerPolicy.RangerPolicyResource> getResourceSpec() {
-        return resourceSpec;
-    }
+    public RangerTaggedResourceKey getKey() { return key; }
 
     public List<RangerResourceTag> getTags() {
         return tags;
     }
 
     // And corresponding set methods
-    public void setComponentType(String componentType) {
-        this.componentType = componentType;
-    }
 
-    public void setTagServiceName(String tagServiceName) {
-        this.tagServiceName = tagServiceName;
-    }
-
-    public void setResourceSpec(Map<String, RangerPolicy.RangerPolicyResource> 
resourceSpec) {
-        this.resourceSpec = resourceSpec == null ? new HashMap<String, 
RangerPolicy.RangerPolicyResource>() : resourceSpec;
+    public void setKey(RangerTaggedResourceKey key) {
+        this.key = key == null ? new RangerTaggedResourceKey() : key;
     }
 
     public void setTags(List<RangerResourceTag> tags) {
@@ -109,16 +87,9 @@ public class RangerTaggedResource extends 
RangerBaseModelObject {
 
         sb.append("{ ");
 
-        sb.append("componentType={").append(componentType).append("} ");
-        sb.append("tagServiceName={").append(tagServiceName).append("} ");
-
-        sb.append("RangerTaggedResource={");
-        if(resourceSpec != null) {
-            for(Map.Entry<String, RangerPolicy.RangerPolicyResource> e : 
resourceSpec.entrySet()) {
-                sb.append(e.getKey()).append("={");
-                e.getValue().toString(sb);
-                sb.append("} ");
-            }
+        sb.append("key={");
+        if (key != null) {
+            key.toString(sb);
         }
         sb.append("} ");
 
@@ -164,12 +135,16 @@ public class RangerTaggedResource extends 
RangerBaseModelObject {
         public String getName() {
             return name;
         }
+
         public void setName(String name) { this.name = name; }
 
         public Map<String, String> getAttributeValues() {
             return attributeValues;
         }
-        public void setAttributeValues(Map<String, String> attributeValues) { 
this.attributeValues = attributeValues; }
+
+        public void setAttributeValues(Map<String, String> attributeValues) {
+            this.attributeValues = attributeValues == null ? new 
HashMap<String, String>() : attributeValues;
+        }
 
         @Override
         public String toString( ) {

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/673b6d55/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerTaggedResourceKey.java
----------------------------------------------------------------------
diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerTaggedResourceKey.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerTaggedResourceKey.java
new file mode 100644
index 0000000..649c27d
--- /dev/null
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerTaggedResourceKey.java
@@ -0,0 +1,90 @@
+/*
+ * 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.plugin.model;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class RangerTaggedResourceKey implements java.io.Serializable {
+       private static final long serialVersionUID = 1L;
+
+       private String componentType                                            
    = null; // one of any supported by any component
+       private String tagServiceName                                           
    = null;
+       private Map<String, RangerPolicy.RangerPolicyResource> resourceSpec     
    = null;
+
+       public RangerTaggedResourceKey() { this(null, null, null); }
+
+       public RangerTaggedResourceKey(String componentType, String 
tagServiceName, Map<String, RangerPolicy.RangerPolicyResource> resourceSpec) {
+               super();
+
+               setComponentType(componentType);
+               setTagServiceName(tagServiceName);
+               setResourceSpec(resourceSpec);
+       }
+
+       public String getComponentType() { return componentType;}
+
+       public String getTagServiceName() { return tagServiceName; }
+
+       public Map<String, RangerPolicy.RangerPolicyResource> getResourceSpec() 
{ return resourceSpec; }
+
+       public void setComponentType(String componentType) {
+               this.componentType = componentType;
+       }
+
+       public void setTagServiceName(String tagServiceName) {
+               this.tagServiceName = tagServiceName;
+       }
+
+       public void setResourceSpec(Map<String, 
RangerPolicy.RangerPolicyResource> resourceSpec) {
+               this.resourceSpec = resourceSpec == null ? new HashMap<String, 
RangerPolicy.RangerPolicyResource>() : resourceSpec;
+       }
+
+       @Override
+       public String toString( ) {
+               StringBuilder sb = new StringBuilder();
+
+               toString(sb);
+
+               return sb.toString();
+       }
+
+       public StringBuilder toString(StringBuilder sb) {
+
+               sb.append("{ ");
+
+               sb.append("componentType={").append(componentType).append("} ");
+               sb.append("tagServiceName={").append(tagServiceName).append("} 
");
+
+               sb.append("resourceSpec={");
+               if(resourceSpec != null) {
+                       for(Map.Entry<String, 
RangerPolicy.RangerPolicyResource> e : resourceSpec.entrySet()) {
+                               sb.append(e.getKey()).append("={");
+                               e.getValue().toString(sb);
+                               sb.append("} ");
+                       }
+               }
+               sb.append("} ");
+
+               sb.append(" }");
+
+               return sb;
+       }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/673b6d55/agents-common/src/main/java/org/apache/ranger/plugin/store/TagPredicateUtil.java
----------------------------------------------------------------------
diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/store/TagPredicateUtil.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/store/TagPredicateUtil.java
index 8347f7f..dc78855 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/store/TagPredicateUtil.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/store/TagPredicateUtil.java
@@ -130,7 +130,7 @@ public class TagPredicateUtil extends AbstractPredicateUtil 
{
                                if (object instanceof RangerTaggedResource) {
                                        RangerTaggedResource rangerResource = 
(RangerTaggedResource) object;
 
-                                       ret = StringUtils.equals(name, 
rangerResource.getTagServiceName());
+                                       ret = StringUtils.equals(name, 
rangerResource.getKey().getTagServiceName());
                                }
 
                                return ret;
@@ -162,7 +162,7 @@ public class TagPredicateUtil extends AbstractPredicateUtil 
{
                                if (object instanceof RangerTaggedResource) {
                                        RangerTaggedResource rangerResource = 
(RangerTaggedResource) object;
 
-                                       ret = StringUtils.equals(type, 
rangerResource.getComponentType());
+                                       ret = StringUtils.equals(type, 
rangerResource.getKey().getComponentType());
                                }
 
                                return ret;

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/673b6d55/agents-common/src/main/java/org/apache/ranger/plugin/store/TagStore.java
----------------------------------------------------------------------
diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/store/TagStore.java 
b/agents-common/src/main/java/org/apache/ranger/plugin/store/TagStore.java
index a0b14db..384251b 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/store/TagStore.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/store/TagStore.java
@@ -20,6 +20,7 @@
 package org.apache.ranger.plugin.store;
 
 import org.apache.ranger.plugin.model.RangerPolicy;
+import org.apache.ranger.plugin.model.RangerTaggedResourceKey;
 import org.apache.ranger.plugin.model.RangerTaggedResource;
 import org.apache.ranger.plugin.model.RangerTagDef;
 import org.apache.ranger.plugin.util.SearchFilter;
@@ -59,8 +60,6 @@ public interface TagStore {
 
     RangerTaggedResource getResource(Long id) throws Exception;
 
-    public List<RangerTaggedResource> getResources(String componentType, 
Map<String, RangerPolicy.RangerPolicyResource> resourceSpec) throws Exception;
-
     List<RangerTaggedResource> getResources(String tagServiceName, String 
componentType) throws Exception;
 
     List<RangerTaggedResource> getResources(SearchFilter filter) throws 
Exception;
@@ -70,4 +69,7 @@ public interface TagStore {
     Set<String> getTags(String tagServiceName, String serviceType) throws 
Exception;
 
     Set<String> lookupTags(String tagServiceName, String serviceType, String 
tagNamePattern) throws Exception;
+
+    //List<RangerTaggedResource> getResources(String componentType, 
Map<String, RangerPolicy.RangerPolicyResource> resourceSpec) throws Exception;
+    List<RangerTaggedResource> getResources(RangerTaggedResourceKey key) 
throws Exception;
 }

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/673b6d55/agents-common/src/main/java/org/apache/ranger/plugin/store/file/TagFileStore.java
----------------------------------------------------------------------
diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/store/file/TagFileStore.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/store/file/TagFileStore.java
index d7de976..b641902 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/store/file/TagFileStore.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/store/file/TagFileStore.java
@@ -27,10 +27,7 @@ import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.fs.Path;
 import org.apache.ranger.authorization.hadoop.config.RangerConfiguration;
-import org.apache.ranger.plugin.model.RangerPolicy;
-import org.apache.ranger.plugin.model.RangerTaggedResource;
-import org.apache.ranger.plugin.model.RangerServiceDef;
-import org.apache.ranger.plugin.model.RangerTagDef;
+import org.apache.ranger.plugin.model.*;
 import 
org.apache.ranger.plugin.policyresourcematcher.RangerDefaultPolicyResourceMatcher;
 import org.apache.ranger.plugin.service.ResourceLookupContext;
 import org.apache.ranger.plugin.store.AbstractTagStore;
@@ -304,7 +301,7 @@ public class TagFileStore extends AbstractTagStore {
                        throw new Exception(resource.getId() + ": resource 
already exists (id=" + existing.getId() + ")");
                }
 
-               List<RangerTaggedResource> existingResources = 
getResources(resource.getComponentType(), resource.getResourceSpec());
+               List<RangerTaggedResource> existingResources = 
getResources(resource.getKey());
 
                if (CollectionUtils.isNotEmpty(existingResources)) {
                        throw new Exception("resource(s) with same 
specification already exists");
@@ -349,9 +346,9 @@ public class TagFileStore extends AbstractTagStore {
                try {
                        preUpdate(existing);
 
-                       existing.setComponentType(resource.getComponentType());
-                       existing.setResourceSpec(resource.getResourceSpec());
-                       
existing.setTagServiceName(resource.getTagServiceName());
+                       
existing.getKey().setComponentType(resource.getKey().getComponentType());
+                       
existing.getKey().setResourceSpec(resource.getKey().getResourceSpec());
+                       
existing.getKey().setTagServiceName(resource.getKey().getTagServiceName());
                        existing.setTags(resource.getTags());
 
                        ret = fileStoreUtil.saveToFile(existing, new 
Path(fileStoreUtil.getDataFile(FILE_PREFIX_TAG_RESOURCE, existing.getId())), 
true);
@@ -422,9 +419,10 @@ public class TagFileStore extends AbstractTagStore {
        }
 
        @Override
-       public List<RangerTaggedResource> getResources(String componentType, 
Map<String, RangerPolicy.RangerPolicyResource> resourceSpec) throws Exception {
+       public List<RangerTaggedResource> getResources(RangerTaggedResourceKey 
key) throws Exception {
+
                if (LOG.isDebugEnabled()) {
-                       LOG.debug("==> TagFileStore.getResources( " + 
componentType + " )");
+                       LOG.debug("==> TagFileStore.getResources( " + 
key.getTagServiceName() + ", " + key.getComponentType() + " )");
                }
 
                if (this.svcStore == null) {
@@ -436,16 +434,15 @@ public class TagFileStore extends AbstractTagStore {
                RangerServiceDef serviceDef = null;
 
                try {
-                       serviceDef = 
svcStore.getServiceDefByName(componentType);
+                       serviceDef = 
svcStore.getServiceDefByName(key.getComponentType());
                } catch (Exception exception) {
-                       LOG.error("TagFileStore.getResource - failed to get 
serviceDef for " + componentType);
-                       throw new Exception("Invalid component-type: " + 
componentType);
+                       LOG.error("TagFileStore.getResource - failed to get 
serviceDef for " + key.getComponentType());
+                       throw new Exception("Invalid component-type: " + 
key.getComponentType());
                }
 
-               if (MapUtils.isNotEmpty(resourceSpec)) {
-
-                       ret = getResources(null, componentType);
+               if (MapUtils.isNotEmpty(key.getResourceSpec())) {
 
+                       ret = getResources(key.getTagServiceName(), 
key.getComponentType());
                        List<RangerTaggedResource> notMatchedResources = new 
ArrayList<>();
 
                        if (CollectionUtils.isNotEmpty(ret)) {
@@ -454,13 +451,13 @@ public class TagFileStore extends AbstractTagStore {
                                        RangerDefaultPolicyResourceMatcher 
policyResourceMatcher =
                                                        new 
RangerDefaultPolicyResourceMatcher();
 
-                                       
policyResourceMatcher.setPolicyResources(resource.getResourceSpec());
+                                       
policyResourceMatcher.setPolicyResources(resource.getKey().getResourceSpec());
 
                                        
policyResourceMatcher.setServiceDef(serviceDef);
 
                                        policyResourceMatcher.init();
 
-                                       boolean isMatch = 
policyResourceMatcher.isSingleAndExactMatch(resourceSpec);
+                                       boolean isMatch = 
policyResourceMatcher.isSingleAndExactMatch(key.getResourceSpec());
 
                                        if (! isMatch) {
                                                
notMatchedResources.add(resource);
@@ -475,7 +472,7 @@ public class TagFileStore extends AbstractTagStore {
                        ret = null;
                }
                if (LOG.isDebugEnabled()) {
-                       LOG.debug("<== TagFileStore.getResources(" + 
componentType + ") = " + ret);
+                       LOG.debug("==> TagFileStore.getResources( " + 
key.getTagServiceName() + ", " + key.getComponentType() + " )" + ret);
                }
                return ret;
        }

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/673b6d55/agents-common/src/test/java/org/apache/ranger/plugin/store/TestTagStore.java
----------------------------------------------------------------------
diff --git 
a/agents-common/src/test/java/org/apache/ranger/plugin/store/TestTagStore.java 
b/agents-common/src/test/java/org/apache/ranger/plugin/store/TestTagStore.java
index f93bb4c..65913f7 100644
--- 
a/agents-common/src/test/java/org/apache/ranger/plugin/store/TestTagStore.java
+++ 
b/agents-common/src/test/java/org/apache/ranger/plugin/store/TestTagStore.java
@@ -90,7 +90,6 @@ public class TestTagStore {
                tagStore.setServiceStore(new ServiceRESTStore());
                tagStore.init();
                */
-
        }
 
        //@AfterClass
@@ -138,8 +137,8 @@ public class TestTagStore {
                int initResourceCount = taggedResources == null ? 0 : 
taggedResources.size();
 
                RangerTaggedResource rr = new RangerTaggedResource();
-               rr.setComponentType("hive");
-               rr.setTagServiceName("tagdev");
+               rr.getKey().setComponentType("hive");
+               rr.getKey().setTagServiceName("tagdev");
 
                Map<String, RangerPolicyResource> resourceSpec = new 
HashMap<>();
 
@@ -155,7 +154,7 @@ public class TestTagStore {
                policyResource.setValues(Arrays.asList("column1", "ssn", 
"vendor"));
                resourceSpec.put("column", policyResource);
 
-               rr.setResourceSpec(resourceSpec);
+               rr.getKey().setResourceSpec(resourceSpec);
 
                List<RangerTaggedResource.RangerResourceTag> tags = new 
ArrayList<>();
 
@@ -171,11 +170,11 @@ public class TestTagStore {
                taggedResources = tagStore.getResources(filter);
                assertEquals("createResource() failed", initResourceCount + 1, 
taggedResources == null ? 0 : taggedResources.size());
 
-               taggedResources = tagStore.getResources("hive", resourceSpec);
+               taggedResources = tagStore.getResources(rr.getKey());
                assertEquals("createResource() failed", initResourceCount + 1, 
taggedResources == null ? 0 : taggedResources.size());
 
-               resourceSpec.remove("column");
-               taggedResources = tagStore.getResources("hive", resourceSpec);
+               rr.getKey().getResourceSpec().remove("column");
+               taggedResources = tagStore.getResources(rr.getKey());
                assertEquals("createResource() failed", initResourceCount, 
taggedResources == null ? 0 : taggedResources.size());
                */
        }

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/673b6d55/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 e702961..7514d14 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
@@ -25,6 +25,7 @@ import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.biz.ServiceDBStore;
 import org.apache.ranger.common.RESTErrorUtil;
 import org.apache.ranger.plugin.model.RangerPolicy;
+import org.apache.ranger.plugin.model.RangerTaggedResourceKey;
 import org.apache.ranger.plugin.model.RangerTaggedResource;
 import org.apache.ranger.plugin.model.RangerTagDef;
 import org.apache.ranger.plugin.store.file.TagFileStore;
@@ -386,6 +387,8 @@ public class TagREST {
         return ret;
     }
 
+    // This API is typically used by plug-in to get all tagged resources from 
RangerAdmin
+
     @GET
     @Path(TagRESTConstants.RESOURCES_RESOURCE)
     @Produces({ "application/json", "application/xml" })
@@ -424,6 +427,10 @@ public class TagREST {
 
         return ret;
     }
+
+    // This API is typically used by GUI to get all available tags from 
RangerAdmin Can be used to validate configuration
+    // parameters of a tag-service
+
     @GET
     @Path(TagRESTConstants.TAGNAMES_RESOURCE)
     @Produces({ "application/json", "application/xml" })
@@ -449,6 +456,9 @@ public class TagREST {
         return tagNames;
     }
 
+    // This API is typically used by GUI to help lookup available tags from 
RangerAdmin to help tag-policy writer. It
+    // may also be used to validate configuration parameters of a tag-service
+
     @GET
     @Path(TagRESTConstants.LOOKUP_TAGS_RESOURCE)
     @Produces({ "application/json", "application/xml" })
@@ -474,10 +484,12 @@ public class TagREST {
         return matchingTagNames;
     }
 
+    // The following APIs will be typically used by tag-sync module
+
     @GET
-    @Path(TagRESTConstants.RESOURCES_BY_SPEC_RESOURCE)
+    @Path(TagRESTConstants.RESOURCES_ALL_RESOURCE)
     @Produces({ "application/json", "application/xml" })
-    public List<RangerTaggedResource> 
getResourcesBySpec(@QueryParam(TagRESTConstants.COMPONENT_TYPE_PARAM) String 
componentType) throws Exception {
+    public List<RangerTaggedResource> getAllTaggedResources() throws Exception 
{
         return null;
     }
 
@@ -491,7 +503,7 @@ public class TagREST {
     @PUT
     @Path(TagRESTConstants.RESOURCES_SET_RESOURCE)
     @Produces({ "application/json", "application/xml" })
-    public Map<String, RangerPolicy.RangerPolicyResource> 
setResources(List<RangerTaggedResource> resources, String componentType) {
+    public Map<String, RangerTaggedResource> 
setResources(List<RangerTaggedResource> resources, String componentType) {
         return null;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/673b6d55/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 5dcc133..a7c8c60 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
@@ -25,10 +25,10 @@ public class TagRESTConstants {
        static final String TAGNAMES_RESOURCE = "tag-names";
        static final String TAG_RESOURCE = "tag";
        static final String RESOURCES_RESOURCE = "resources";
-       static final String RESOURCES_BY_SPEC_RESOURCE = "resources-by-spec";
        static final String RESOURCE_SET_RESOURCE = "set-resource";
        static final String RESOURCES_SET_RESOURCE = "set-resources";
        static final String RESOURCE_UPDATE_RESOURCE = "update-resource";
+       static final String RESOURCES_ALL_RESOURCE = "all-resources";
 
        static final String LOOKUP_TAGS_RESOURCE = "lookup-tags";
        static final String RESOURCES_IF_UPDATED_RESOURCE = "resources";

Reply via email to