Repository: ranger
Updated Branches:
  refs/heads/master e8afb9faa -> b8c70c41b


RANGER-1849 - Remove PasswordGenerator and FileStoreUtil

Signed-off-by: Colm O hEigeartaigh <cohei...@apache.org>


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

Branch: refs/heads/master
Commit: b8c70c41b9728f9abb22b8cde66cc09ee8dc0845
Parents: e8afb9f
Author: Colm O hEigeartaigh <cohei...@apache.org>
Authored: Thu Nov 16 12:17:09 2017 +0000
Committer: Colm O hEigeartaigh <cohei...@apache.org>
Committed: Fri Dec 8 12:40:49 2017 +0000

----------------------------------------------------------------------
 .../ranger/plugin/store/file/FileStoreUtil.java | 314 -------------------
 .../ranger/utils/install/PasswordGenerator.java | 141 ---------
 2 files changed, 455 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ranger/blob/b8c70c41/agents-common/src/main/java/org/apache/ranger/plugin/store/file/FileStoreUtil.java
----------------------------------------------------------------------
diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/store/file/FileStoreUtil.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/store/file/FileStoreUtil.java
deleted file mode 100644
index 3f408d7..0000000
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/store/file/FileStoreUtil.java
+++ /dev/null
@@ -1,314 +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.plugin.store.file;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.OutputStreamWriter;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.fs.FSDataInputStream;
-import org.apache.hadoop.fs.FSDataOutputStream;
-import org.apache.hadoop.fs.FileStatus;
-import org.apache.hadoop.fs.FileSystem;
-import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.fs.PathFilter;
-import org.apache.ranger.plugin.model.RangerPolicy;
-import org.apache.ranger.plugin.model.RangerService;
-import org.apache.ranger.plugin.model.RangerServiceDef;
-
-import com.google.gson.Gson;
-import com.google.gson.GsonBuilder;
-
-public class FileStoreUtil {
-       private static final Log LOG = LogFactory.getLog(FileStoreUtil.class);
-
-       private Gson   gsonBuilder;
-       private String dataDir;
-
-       private static final String FILE_SUFFIX_JSON        = ".json";
-
-       public void initStore(String dataDir) {
-               this.dataDir = dataDir;
-
-               try {
-                       gsonBuilder = new 
GsonBuilder().setDateFormat("yyyyMMdd-HH:mm:ss.SSS-Z").setPrettyPrinting().create();
-               } catch(Throwable excp) {
-                       LOG.fatal("FileStoreUtil.init(): failed to create 
GsonBuilder object", excp);
-               }
-       }
-       
-       public String getDataDir() {
-               return dataDir;
-       }
-
-       public String getDataFile(String filePrefix, Long id) {
-               String filePath = dataDir + Path.SEPARATOR + filePrefix + id + 
FILE_SUFFIX_JSON;
-
-               return filePath;
-       }
-
-       public String getDataFile(String filePrefix, Long parentId, Long 
objectId) {
-               String filePath = dataDir + Path.SEPARATOR + filePrefix + 
parentId + "-" + objectId + FILE_SUFFIX_JSON;
-
-               return filePath;
-       }
-
-       public <T> T loadFromResource(String resource, Class<T> cls) throws 
Exception {
-               if(LOG.isDebugEnabled()) {
-                       LOG.debug("==> FileStoreUtil.loadFromResource(" + 
resource + ")");
-               }
-
-               InputStream inStream = 
this.getClass().getResourceAsStream(resource);
-
-               T ret = loadFromStream(inStream, cls);
-
-               if(LOG.isDebugEnabled()) {
-                       LOG.debug("<== FileStoreUtil.loadFromResource(" + 
resource + "): " + ret);
-               }
-
-               return ret;
-       }
-
-       public <T> T loadFromStream(InputStream inStream, Class<T> cls) throws 
Exception {
-               if(LOG.isDebugEnabled()) {
-                       LOG.debug("==> FileStoreUtil.loadFromStream()");
-               }
-
-               InputStreamReader reader = new InputStreamReader(inStream);
-
-               T ret = gsonBuilder.fromJson(reader, cls);
-
-               if(LOG.isDebugEnabled()) {
-                       LOG.debug("<== FileStoreUtil.loadFromStream(): " + ret);
-               }
-
-               return ret;
-       }
-
-       public <T> T loadFromFile(Path filePath, Class<T> cls) throws Exception 
{
-               if(LOG.isDebugEnabled()) {
-                       LOG.debug("==> FileStoreUtil.loadFromFile(" + filePath 
+ ")");
-               }
-
-               T                 ret    = null;
-               InputStreamReader reader = null;
-
-               try {
-                       FileSystem        fileSystem = getFileSystem(filePath);
-                       FSDataInputStream inStream   = 
fileSystem.open(filePath);
-
-                       ret = loadFromStream(inStream, cls);
-               } finally {
-                       close(reader);
-               }
-
-               if(LOG.isDebugEnabled()) {
-                       LOG.debug("<== FileStoreUtil.loadFromFile(" + filePath 
+ "): " + ret);
-               }
-
-               return ret;
-       }
-
-       public <T> List<T> loadFromDir(Path dirPath, final String filePrefix, 
Class<T> cls) throws Exception {
-               if(LOG.isDebugEnabled()) {
-                       LOG.debug("==> FileStoreUtil.loadFromDir()");
-               }
-
-               List<T> ret = new ArrayList<>();
-
-               try {
-                       FileSystem fileSystem = getFileSystem(dirPath);
-
-                       if(fileSystem.exists(dirPath) && 
fileSystem.isDirectory(dirPath)) {
-                               PathFilter filter = new PathFilter() {
-                                       @Override
-                                       public boolean accept(Path path) {
-                                               return 
path.getName().startsWith(filePrefix) &&
-                                                          
path.getName().endsWith(FILE_SUFFIX_JSON);
-                                       }
-                               };
-
-                               FileStatus[] sdFiles = 
fileSystem.listStatus(dirPath, filter);
-
-                               if(sdFiles != null) {
-                                       for(FileStatus sdFile : sdFiles) {
-                                               T obj = 
loadFromFile(sdFile.getPath(), cls);
-
-                                               if(obj != null) {
-                                                       ret.add(obj);
-                                               }
-                                       }
-                               }
-                       } else {
-                               LOG.error(dirPath + ": does not exists or not a 
directory");
-                       }
-               } catch(IOException excp) {
-                       LOG.warn("error loading service-def in directory " + 
dirPath, excp);
-               }
-
-               if(LOG.isDebugEnabled()) {
-                       LOG.debug("<== FileStoreUtil.loadFromDir(): count=" + 
(ret == null ? 0 : ret.size()));
-               }
-
-               return ret;
-       }
-
-       public <T> T saveToFile(T obj, Path filePath, boolean overWrite) throws 
Exception {
-               if(LOG.isDebugEnabled()) {
-                       LOG.debug("==> FileStoreUtil.saveToFile(" + filePath + 
")");
-               }
-
-               OutputStreamWriter writer = null;
-
-               try {
-                       FileSystem         fileSystem = getFileSystem(filePath);
-                       FSDataOutputStream outStream  = 
fileSystem.create(filePath, overWrite);
-
-                       writer = new OutputStreamWriter(outStream);
-
-                       gsonBuilder.toJson(obj, writer);
-               } finally {
-                       close(writer);
-               }
-
-               if(LOG.isDebugEnabled()) {
-                       LOG.debug("<== FileStoreUtil.saveToFile(" + filePath + 
"): " + obj);
-               }
-
-               return obj;
-       }
-
-       public boolean deleteFile(Path filePath) throws Exception {
-               LOG.debug("==> FileStoreUtil.deleteFile(" + filePath + ")");
-
-               FileSystem fileSystem = getFileSystem(filePath);
-
-               boolean ret = false;
-
-               if(fileSystem.exists(filePath)) {
-                       ret = fileSystem.delete(filePath, false);
-               } else {
-                       ret = true; // nothing to delete
-               }
-
-               LOG.debug("<== FileStoreUtil.deleteFile(" + filePath + "): " + 
ret);
-
-               return ret;
-       }
-
-       public boolean renamePath(Path oldPath, Path newPath) throws Exception {
-               if(LOG.isDebugEnabled()) {
-                       LOG.debug("==> FileStoreUtil.renamePath(" + oldPath + 
"," + newPath + ")");
-               }
-
-               FileSystem fileSystem = getFileSystem(oldPath);
-
-               boolean ret = false;
-
-               if(fileSystem.exists(oldPath)) {
-                       if(! fileSystem.exists(newPath)) {
-                               ret = fileSystem.rename(oldPath, newPath);
-                       } else {
-                               LOG.warn("target of rename '" + newPath + "' 
already exists");
-                       }
-               }
-
-               if(LOG.isDebugEnabled()) {
-                       LOG.debug("<== FileStoreUtil.renamePath(" + oldPath + 
"," + newPath + "): " + ret);
-               }
-
-               return ret;
-       }
-
-       public RangerServiceDef saveToFile(RangerServiceDef serviceDef, String 
filePrefix, boolean overWrite) throws Exception {
-               if(LOG.isDebugEnabled()) {
-                       LOG.debug("==> FileStoreUtil.saveToFile(" + serviceDef 
+ "," + overWrite + ")");
-               }
-
-               Path filePath = new Path(getDataFile(filePrefix, 
serviceDef.getId()));
-
-               RangerServiceDef ret = saveToFile(serviceDef, filePath, 
overWrite);
-               
-               if(LOG.isDebugEnabled()) {
-                       LOG.debug("<== FileStoreUtil.saveToFile(" + serviceDef 
+ "," + overWrite + "): ");
-               }
-
-               return ret;
-       }
-
-       public RangerService saveToFile(RangerService service, String 
filePrefix,boolean overWrite) throws Exception {
-               Path filePath = new Path(getDataFile(filePrefix, 
service.getId()));
-
-               RangerService ret = saveToFile(service, filePath, overWrite);
-               
-               return ret;
-       }
-
-       public RangerPolicy saveToFile(RangerPolicy policy, String filePrefix, 
long serviceId, boolean overWrite) throws Exception {
-               Path filePath = new Path(getDataFile(filePrefix, serviceId, 
policy.getId()));
-
-               RangerPolicy ret = saveToFile(policy, filePath, overWrite);
-
-               return ret;
-       }
-
-       public FileSystem getFileSystem(Path filePath) throws Exception {
-               Configuration conf        = new Configuration();
-               FileSystem    fileSystem  = filePath.getFileSystem(conf);
-               
-               return fileSystem;
-       }
-
-       protected void close(FileSystem fs) {
-               if(fs != null) {
-                       try {
-                               fs.close();
-                       } catch(IOException excp) {
-                               // ignore
-                       }
-               }
-       }
-
-       protected void close(InputStreamReader reader) {
-               if(reader != null) {
-                       try {
-                               reader.close();
-                       } catch(IOException excp) {
-                               // ignore
-                       }
-               }
-       }
-
-       protected void close(OutputStreamWriter writer) {
-               if(writer != null) {
-                       try {
-                               writer.close();
-                       } catch(IOException excp) {
-                               // ignore
-                       }
-               }
-       }
-}

http://git-wip-us.apache.org/repos/asf/ranger/blob/b8c70c41/agents-installer/src/main/java/org/apache/ranger/utils/install/PasswordGenerator.java
----------------------------------------------------------------------
diff --git 
a/agents-installer/src/main/java/org/apache/ranger/utils/install/PasswordGenerator.java
 
b/agents-installer/src/main/java/org/apache/ranger/utils/install/PasswordGenerator.java
deleted file mode 100644
index a829957..0000000
--- 
a/agents-installer/src/main/java/org/apache/ranger/utils/install/PasswordGenerator.java
+++ /dev/null
@@ -1,141 +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.utils.install;
-
-import java.security.SecureRandom;
-import java.util.ArrayList;
-
-public class PasswordGenerator {
-
-       
-       private int minimumPasswordLength = 8;
-       
-       private int maximumPasswordLength = 12;
-       
-       private boolean isExpectedNumberic = true;
-       
-       private boolean isExpectedBothCase = true;
-       
-       private static final ArrayList<Character> alphaLetters = new 
ArrayList<Character>();
-
-       private static final ArrayList<Character> alphaUpperLetters = new 
ArrayList<Character>();
-
-       private static final ArrayList<Character> numericLetters = new 
ArrayList<Character>();
-       
-       
-       static {
-               for(int x = 'a'; x <= 'z' ; x++) {
-                       char v = (char)x;
-                       alphaLetters.add(Character.toLowerCase(v));
-                       alphaUpperLetters.add(Character.toUpperCase(v));
-               }
-               for(int i = 0; i < 10 ; i++) {
-                       numericLetters.add(Character.forDigit(i,10));
-               }
-       }
-       
-
-       
-       public static void main(String[] args) {
-               PasswordGenerator pg = new PasswordGenerator();
-               System.out.println(pg.generatorPassword());
-       }
-       
-       
-       private int getPasswordLength() {
-               int ret = 0;
-               
-               if (minimumPasswordLength == maximumPasswordLength) {
-                       ret = minimumPasswordLength;
-               }
-               else {
-                       
-                       int diff = Math.abs(maximumPasswordLength - 
minimumPasswordLength) + 1;
-                        ret = minimumPasswordLength + new 
SecureRandom().nextInt(diff);
-               }
-               return (ret);
-       }
-       
-       
-       public String generatorPassword() {
-       
-               String password = null;
-               
-               ArrayList<Character> all = new ArrayList<Character>();
-               
-               all.addAll(alphaLetters);
-               all.addAll(alphaUpperLetters);
-               all.addAll(numericLetters);
-                               
-               int len = getPasswordLength();
-               
-               SecureRandom random = new SecureRandom();
-               
-               int setSz = all.size();
-               
-               do
-               {
-                       StringBuilder sb = new StringBuilder();
-                       
-                       for(int i = 0; i < len ; i++) {
-                               int index = random.nextInt(setSz);
-                               Character c = all.get(index);
-                               while ((i == 0) && Character.isDigit(c)) {
-                                       index = random.nextInt(setSz);
-                                       c = all.get(index);
-                               }
-                               sb.append(all.get(index));
-                       }
-                       password = sb.toString();
-               } while (! isValidPassword(password));
-               
-               
-               return password;
-               
-       }
-       
-       private boolean isValidPassword(String pass) {
-               boolean ret = true;
-               
-               if (isExpectedNumberic || isExpectedBothCase) {
-                       boolean lowerCaseFound = false;
-                       boolean digitFound = false;
-                       boolean upperCaseFound = false;
-                       for(char c : pass.toCharArray()) {
-                               if (!digitFound && Character.isDigit(c)) {
-                                       digitFound = true;
-                               }
-                               else if (!lowerCaseFound && 
Character.isLowerCase(c)) {
-                                       lowerCaseFound = true;
-                               }
-                               else if (!upperCaseFound && 
Character.isUpperCase(c) ) {
-                                       upperCaseFound = true;
-                               }
-                       }
-                       
-                       if (isExpectedNumberic && !digitFound) {
-                               ret = false ;
-                       }
-                       
-                       if (isExpectedBothCase && (!lowerCaseFound || 
!upperCaseFound)) {
-                               ret = false;
-                       }
-               }
-               
-               return ret;
-       }
-}

Reply via email to