mneethiraj commented on code in PR #442:
URL: https://github.com/apache/ranger/pull/442#discussion_r1880969089


##########
agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerFileBasedTagRetriever.java:
##########
@@ -25,200 +25,185 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.io.*;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.nio.charset.StandardCharsets;
 import java.util.Map;
 
 public class RangerFileBasedTagRetriever extends RangerTagRetriever {
-       private static final Logger LOG = 
LoggerFactory.getLogger(RangerFileBasedTagRetriever.class);
-
-
-       private URL serviceTagsFileURL;
-       private String serviceTagsFileName;
-       int            tagFilesCount = 0;
-       int            currentTagFileIndex = 0;
-       boolean        isInitial = true;
-       @Override
-       public void init(Map<String, String> options) {
-
-               if (LOG.isDebugEnabled()) {
-                       LOG.debug("==> init()" );
-               }
-
-               String serviceTagsFileNameProperty = "serviceTagsFileName";
-               String serviceTagsDefaultFileName = 
"/testdata/test_servicetags_hive.json";
-               String tagFilesCountProperty      = "tagFileCount";
-
-               if (StringUtils.isNotBlank(serviceName) && serviceDef != null 
&& StringUtils.isNotBlank(appId)) {
-                       // Open specified file from options- it should contain 
service-tags
-
-                       serviceTagsFileName = options != null? 
options.get(serviceTagsFileNameProperty) : null;
-
-                       serviceTagsFileName = serviceTagsFileName == null ? 
serviceTagsDefaultFileName : serviceTagsFileName;
-                       if (options != null) {
-                               String tagFilesCountStr = 
options.get(tagFilesCountProperty);
-                               if (!StringUtils.isNotEmpty(tagFilesCountStr)) {
-                                       try {
-                                               tagFilesCount = 
Integer.parseInt(tagFilesCountStr);
-                                       } catch (Exception e) {
-                                               LOG.error("Exception while 
parsing tagFileCount option value:[" + tagFilesCountStr + "]");
-                                               LOG.error("Setting 
tagFilesCount to 0");
-                                       }
-                               }
-                       }
-
-                       if (StringUtils.isNotBlank(serviceTagsFileName)) {
-                               serviceTagsFileURL = 
getTagFileURL(serviceTagsFileName);
-                       }
-                       isInitial = true;
-               } else {
-                       LOG.error("FATAL: Cannot find 
service/serviceDef/serviceTagsFile to use for retrieving tags. Will NOT be able 
to retrieve tags.");
-               }
-
-               if (LOG.isDebugEnabled()) {
-                       LOG.debug("<== init() : serviceTagsFileName=" + 
serviceTagsFileName);
-               }
-       }
-
-       @Override
-       public ServiceTags retrieveTags(long lastKnownVersion, long 
lastActivationTimeInMillis) throws Exception {
-               if (LOG.isDebugEnabled()) {
-                       LOG.debug("==> retrieveTags(lastKnownVersion=" + 
lastKnownVersion + ", lastActivationTimeInMillis=" + lastActivationTimeInMillis 
+ ", serviceTagsFilePath=" + serviceTagsFileName);
-               }
-
-               ServiceTags serviceTags = readFromFile();
-
-               if (LOG.isDebugEnabled()) {
-                       LOG.debug("<== retrieveTags(lastKnownVersion=" + 
lastKnownVersion + ", lastActivationTimeInMillis=" + 
lastActivationTimeInMillis);
-               }
-
-               return serviceTags;
-       }
-
-       URL getTagFileURL(String fileName) {
-               URL fileURL = null;
-
-               InputStream tagFileStream = null;
-
-               File f = new File(fileName);
-
-               if (f.exists() && f.isFile() && f.canRead()) {
-                       try {
-                               tagFileStream = new FileInputStream(f);
-                               fileURL = f.toURI().toURL();
-                       } catch (FileNotFoundException exception) {
-                               LOG.error("Error processing input file:" + 
fileName + " or no privilege for reading file " + fileName, exception);
-                       } catch (MalformedURLException malformedException) {
-                               LOG.error("Error processing input file:" + 
fileName + " cannot be converted to URL " + fileName, malformedException);
-                       }
-               } else {
-
-                       fileURL = getClass().getResource(fileName);
-                       if (fileURL == null) {
-                               if (!fileName.startsWith("/")) {
-                                       fileURL = getClass().getResource("/" + 
fileName);
-                               }
-                       }
-
-                       if (fileURL == null) {
-                               fileURL = 
ClassLoader.getSystemClassLoader().getResource(fileName);
-                               if (fileURL == null) {
-                                       if (!fileName.startsWith("/")) {
-                                               fileURL = 
ClassLoader.getSystemClassLoader().getResource("/" + fileName);
-                                       }
-                               }
-                       }
-
-                       if (fileURL != null) {
-
-                               try {
-                                       tagFileStream = fileURL.openStream();
-                               } catch (Exception exception) {
-                                       fileURL = null;
-                                       LOG.error(fileName + " is not a file", 
exception);
-                               }
-                       } else {
-                               LOG.warn("Error processing input file: URL not 
found for " + fileName + " or no privilege for reading file " + fileName);
-                       }
-               }
-
-               if (tagFileStream != null) {
-                       try {
-                               tagFileStream.close();
-                       } catch (Exception e) {
-                               // Ignore
-                       }
-               }
-               return fileURL;
-       }
-
-       private ServiceTags readFromFile() {
-
-               if (LOG.isDebugEnabled()) {
-                       LOG.debug("==> 
RangerFileBasedTagRetriever.readFromFile: sourceFileName=" + 
serviceTagsFileName);
-               }
-
-               ServiceTags ret = null;
-
-               String fileName;
-
-               fileName = serviceTagsFileName;
-
-               if (isInitial) {
-                       isInitial = false;
-                       if (serviceTagsFileURL != null) {
-                               try (
-                                               InputStream fileStream = 
serviceTagsFileURL.openStream();
-                                               Reader reader = new 
InputStreamReader(fileStream, StandardCharsets.UTF_8)
-                               ) {
-
-                                       ret = JsonUtils.jsonToObject(reader, 
ServiceTags.class);
-                                       if (ret.getIsTagsDeduped()) {
-                                               final int countOfDuplicateTags 
= ret.dedupTags();
-                                               LOG.info("Number of duplicate 
tags removed from the received serviceTags:[" + countOfDuplicateTags + "]. 
Number of tags in the de-duplicated serviceTags :[" + ret.getTags().size() + 
"].");
-                                       }
-
-                               } catch (IOException e) {
-                                       LOG.warn("Error processing input file: 
or no privilege for reading file " + fileName, e);
-                               }
-                       } else {
-                               LOG.error("Error reading file: " + fileName);
-                       }
-
-               } else if (tagFilesCount > 0) {
-
-                       currentTagFileIndex = currentTagFileIndex % 
tagFilesCount;
-                       fileName = serviceTagsFileName + "_" + 
currentTagFileIndex + ".json";
-                       URL fileURL = getTagFileURL(fileName);
-                       if (fileURL != null) {
-                               try (
-                                               InputStream fileStream = 
fileURL.openStream();
-                                               Reader reader = new 
InputStreamReader(fileStream, StandardCharsets.UTF_8)
-                               ) {
-
-                                       ret = JsonUtils.jsonToObject(reader, 
ServiceTags.class);
-                                       currentTagFileIndex++;
-                                       if (ret.getIsTagsDeduped()) {
-                                               final int countOfDuplicateTags 
= ret.dedupTags();
-                                               LOG.info("Number of duplicate 
tags removed from the received serviceTags:[" + countOfDuplicateTags + "]. 
Number of tags in the de-duplicated serviceTags :[" + ret.getTags().size() + 
"].");
-                                       }
-                               } catch (IOException e) {
-                                       LOG.warn("Error processing input file: 
or no privilege for reading file " + fileName, e);
-                               }
-                       } else {
-                               LOG.error("Error reading file: " + fileName);
-                       }
-
-               }
-
-               if (LOG.isDebugEnabled()) {
-                       LOG.debug("<== 
RangerFileBasedTagRetriever.readFromFile: sourceFileName=" + fileName);
-               }
-
-               return ret;
-       }
-
+    private static final Logger LOG = 
LoggerFactory.getLogger(RangerFileBasedTagRetriever.class);
+
+    int     tagFilesCount;
+    int     currentTagFileIndex;
+    boolean isInitial = true;
+
+    private URL    serviceTagsFileURL;
+    private String serviceTagsFileName;
+
+    @Override
+    public void init(Map<String, String> options) {
+        LOG.debug("==> init()");
+
+        String serviceTagsFileNameProperty = "serviceTagsFileName";
+        String serviceTagsDefaultFileName  = 
"/testdata/test_servicetags_hive.json";
+        String tagFilesCountProperty       = "tagFileCount";
+
+        if (StringUtils.isNotBlank(serviceName) && serviceDef != null && 
StringUtils.isNotBlank(appId)) {
+            // Open specified file from options- it should contain service-tags
+            serviceTagsFileName = options != null ? 
options.get(serviceTagsFileNameProperty) : null;
+            serviceTagsFileName = serviceTagsFileName == null ? 
serviceTagsDefaultFileName : serviceTagsFileName;
+
+            if (options != null) {
+                String tagFilesCountStr = options.get(tagFilesCountProperty);
+
+                if (!StringUtils.isNotEmpty(tagFilesCountStr)) {
+                    try {
+                        tagFilesCount = Integer.parseInt(tagFilesCountStr);
+                    } catch (Exception e) {
+                        LOG.error("Exception while parsing tagFileCount option 
value:[{}]", tagFilesCountStr);
+                        LOG.error("Setting tagFilesCount to 0");
+                    }
+                }
+            }
+
+            if (StringUtils.isNotBlank(serviceTagsFileName)) {
+                serviceTagsFileURL = getTagFileURL(serviceTagsFileName);
+            }
+
+            isInitial = true;
+        } else {
+            LOG.error("FATAL: Cannot find service/serviceDef/serviceTagsFile 
to use for retrieving tags. Will NOT be able to retrieve tags.");
+        }
+
+        LOG.debug("<== init() : serviceTagsFileName={}", serviceTagsFileName);
+    }
+
+    @Override
+    public ServiceTags retrieveTags(long lastKnownVersion, long 
lastActivationTimeInMillis) {
+        LOG.debug("==> retrieveTags(lastKnownVersion={}, 
lastActivationTimeInMillis={}, serviceTagsFilePath={}", lastKnownVersion, 
lastActivationTimeInMillis, serviceTagsFileName);
+
+        ServiceTags serviceTags = readFromFile();
+
+        LOG.debug("<== retrieveTags(lastKnownVersion={}, 
lastActivationTimeInMillis={}", lastKnownVersion, lastActivationTimeInMillis);
+
+        return serviceTags;
+    }
+
+    URL getTagFileURL(String fileName) {
+        URL         fileURL       = null;

Review Comment:
   Would result in compliation error.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@ranger.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to