Author: arunpatidar
Date: Wed Jun 29 15:20:09 2016
New Revision: 1750663

URL: http://svn.apache.org/viewvc?rev=1750663&view=rev
Log:
Applied patch from jira issue - OFBIZ-7540 - Enforce noninstantiability to 
FileUtil class. Thanks Rishi Solanki and Rohit Koushal for your contribution.

Modified:
    ofbiz/trunk/framework/base/src/org/ofbiz/base/util/FileUtil.java

Modified: ofbiz/trunk/framework/base/src/org/ofbiz/base/util/FileUtil.java
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/org/ofbiz/base/util/FileUtil.java?rev=1750663&r1=1750662&r2=1750663&view=diff
==============================================================================
--- ofbiz/trunk/framework/base/src/org/ofbiz/base/util/FileUtil.java (original)
+++ ofbiz/trunk/framework/base/src/org/ofbiz/base/util/FileUtil.java Wed Jun 29 
15:20:09 2016
@@ -44,10 +44,77 @@ import org.ofbiz.base.location.Component
  * File Utilities
  *
  */
-public class FileUtil {
+public final class FileUtil {
 
     public static final String module = FileUtil.class.getName();
 
+    private FileUtil () {}
+
+    private static class SearchTextFilesFilter implements FilenameFilter {
+        String fileExtension;
+        Set<String> stringsToFindInFile = new HashSet<String>();
+        Set<String> stringsToFindInPath = new HashSet<String>();
+
+        public SearchTextFilesFilter(String fileExtension, Set<String> 
stringsToFindInPath, Set<String> stringsToFindInFile) {
+            this.fileExtension = fileExtension;
+            if (stringsToFindInPath != null) {
+                this.stringsToFindInPath.addAll(stringsToFindInPath);
+            }
+            if (stringsToFindInFile != null) {
+                this.stringsToFindInFile.addAll(stringsToFindInFile);
+            }
+        }
+
+        @Override
+        public boolean accept(File dir, String name) {
+            File file = new File(dir, name);
+            if (file.getName().startsWith(".")) {
+                return false;
+            }
+            if (file.isDirectory()) {
+                return true;
+            }
+
+            boolean hasAllPathStrings = true;
+            String fullPath = dir.getPath().replace('\\', '/');
+            for (String pathString: stringsToFindInPath) {
+                if (fullPath.indexOf(pathString) < 0) {
+                    hasAllPathStrings = false;
+                    break;
+                }
+            }
+
+            if (hasAllPathStrings && name.endsWith("." + fileExtension)) {
+                if (stringsToFindInFile.size() == 0) {
+                    return true;
+                }
+                StringBuffer xmlFileBuffer = null;
+                try {
+                    xmlFileBuffer = FileUtil.readTextFile(file, true);
+                } catch (FileNotFoundException e) {
+                    Debug.logWarning("Error reading xml file [" + file + "] 
for file search: " + e.toString(), module);
+                    return false;
+                } catch (IOException e) {
+                    Debug.logWarning("Error reading xml file [" + file + "] 
for file search: " + e.toString(), module);
+                    return false;
+                }
+                if (UtilValidate.isNotEmpty(xmlFileBuffer)) {
+                    boolean hasAllStrings = true;
+                    for (String stringToFile: stringsToFindInFile) {
+                        if (xmlFileBuffer.indexOf(stringToFile) < 0) {
+                            hasAllStrings = false;
+                            break;
+                        }
+                    }
+                    return hasAllStrings;
+                }
+            } else {
+                return false;
+            }
+            return false;
+        }
+    }
+
     public static File getFile(String path) {
         return getFile(null, path);
     }
@@ -277,71 +344,6 @@ public class FileUtil {
         return fileList;
     }
 
-    public static class SearchTextFilesFilter implements FilenameFilter {
-        String fileExtension;
-        Set<String> stringsToFindInFile = new HashSet<String>();
-        Set<String> stringsToFindInPath = new HashSet<String>();
-
-        public SearchTextFilesFilter(String fileExtension, Set<String> 
stringsToFindInPath, Set<String> stringsToFindInFile) {
-            this.fileExtension = fileExtension;
-            if (stringsToFindInPath != null) {
-                this.stringsToFindInPath.addAll(stringsToFindInPath);
-            }
-            if (stringsToFindInFile != null) {
-                this.stringsToFindInFile.addAll(stringsToFindInFile);
-            }
-        }
-
-        @Override
-        public boolean accept(File dir, String name) {
-            File file = new File(dir, name);
-            if (file.getName().startsWith(".")) {
-                return false;
-            }
-            if (file.isDirectory()) {
-                return true;
-            }
-
-            boolean hasAllPathStrings = true;
-            String fullPath = dir.getPath().replace('\\', '/');
-            for (String pathString: stringsToFindInPath) {
-                if (fullPath.indexOf(pathString) < 0) {
-                    hasAllPathStrings = false;
-                    break;
-                }
-            }
-
-            if (hasAllPathStrings && name.endsWith("." + fileExtension)) {
-                if (stringsToFindInFile.size() == 0) {
-                    return true;
-                }
-                StringBuffer xmlFileBuffer = null;
-                try {
-                    xmlFileBuffer = FileUtil.readTextFile(file, true);
-                } catch (FileNotFoundException e) {
-                    Debug.logWarning("Error reading xml file [" + file + "] 
for file search: " + e.toString(), module);
-                    return false;
-                } catch (IOException e) {
-                    Debug.logWarning("Error reading xml file [" + file + "] 
for file search: " + e.toString(), module);
-                    return false;
-                }
-                if (UtilValidate.isNotEmpty(xmlFileBuffer)) {
-                    boolean hasAllStrings = true;
-                    for (String stringToFile: stringsToFindInFile) {
-                        if (xmlFileBuffer.indexOf(stringToFile) < 0) {
-                            hasAllStrings = false;
-                            break;
-                        }
-                    }
-                    return hasAllStrings;
-                }
-            } else {
-                return false;
-            }
-            return false;
-        }
-    }
-
     /**
     *
     *


Reply via email to