git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube...
authorVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Wed, 4 Sep 2019 11:24:43 +0000 (11:24 +0000)
committerVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Wed, 4 Sep 2019 11:24:43 +0000 (11:24 +0000)
server/user.jobengine.osgi.commons/src/user/commons/StoreUri.java
server/user.jobengine.osgi.commons/src/user/commons/remotestore/DirectoryFileFilter.java
server/user.jobengine.osgi.commons/src/user/commons/remotestore/LocalDirectoryLister.java
server/user.jobengine.osgi.server/src/user/jobengine/server/JobEngine.java

index c6a725ce396449b490b6991a1df54ded29fecacb..150e39a9f5932d74986a74c677bf9201a2d00747 100644 (file)
@@ -32,7 +32,8 @@ public class StoreUri extends EntityBase implements Serializable {
        private boolean isStream = false;
        private boolean isSource = false;
        private boolean isTarget = false;
-       private String filter;
+       private String directoryFilter;
+       private String fileFilter;
        private String userName;
        private String password;
        private String rootPath;
@@ -44,6 +45,7 @@ public class StoreUri extends EntityBase implements Serializable {
        private EventListenerList statusListenerList;
        private int percent;
        private IDirectoryLister lister;
+       private boolean showDirectories;
 
        public StoreUri() {
                super();
@@ -193,8 +195,12 @@ public class StoreUri extends EntityBase implements Serializable {
                return delivery;
        }
 
-       public String getFilter() {
-               return filter;
+       public String getDirectoryFilter() {
+               return directoryFilter;
+       }
+
+       public String getFileFilter() {
+               return fileFilter;
        }
 
        public IDirectoryLister getLister() throws Exception {
@@ -255,6 +261,10 @@ public class StoreUri extends EntityBase implements Serializable {
                return userName;
        }
 
+       public boolean isShowDirectories() {
+               return showDirectories;
+       }
+
        public boolean isSource() {
                return isSource;
        }
@@ -283,8 +293,12 @@ public class StoreUri extends EntityBase implements Serializable {
                this.delivery = delivery;
        }
 
-       public void setFilter(String filter) {
-               this.filter = filter;
+       public void setDirectoryFilter(String directoryFilter) {
+               this.directoryFilter = directoryFilter;
+       }
+
+       public void setFileFilter(String fileFilter) {
+               this.fileFilter = fileFilter;
        }
 
        public void setPassword(String password) {
@@ -303,6 +317,10 @@ public class StoreUri extends EntityBase implements Serializable {
                this.rootPath = rootPath;
        }
 
+       public void setShowDirectories(boolean showDirectories) {
+               this.showDirectories = showDirectories;
+       }
+
        public void setSource(boolean isSource) {
                this.isSource = isSource;
        }
index 6637c1f2ab83f13e0d81bbf74c16ea61c2e68837..b8be6970bdf52e18bedc4fce6c5af704e8cfec5a 100644 (file)
@@ -4,45 +4,43 @@ import java.io.File;
 import java.io.FileFilter;\r
 \r
 public class DirectoryFileFilter implements FileFilter {\r
-       private String params = null;\r
-       private boolean forDirectories = false; \r
-       \r
-       DirectoryFileFilter(String params, boolean forDirectories) {\r
-               this.params = params;\r
+       private String filters = null;\r
+       private boolean forDirectories = false;\r
+\r
+       DirectoryFileFilter(String filters, boolean forDirectories) {\r
+               this.filters = filters;\r
                this.forDirectories = forDirectories;\r
        }\r
-       \r
+\r
+       @Override\r
        public boolean accept(File file) {\r
-               boolean ret = false; \r
+               boolean ret = false;\r
                String name = file.getName();\r
-               \r
-               if (forDirectories) \r
+\r
+               if (forDirectories)\r
                        ret = file.isDirectory();\r
                else\r
                        ret = file.isFile();\r
-               \r
+\r
                if (ret == false)\r
                        return ret;\r
-               \r
-               if (params == null || params.trim().length() == 0)\r
-                       return ret;\r
-               \r
-               if (params.startsWith("*")) {\r
-                       ret &= name.endsWith(params.replace("*", ""));\r
-                       return ret;\r
-               }\r
-               \r
-               if (params.endsWith("*")) {\r
-                       ret &= name.startsWith(params.replace("*", ""));\r
+\r
+               if (filters == null || filters.trim().length() == 0)\r
                        return ret;\r
+\r
+               if (!filters.contains("*")) {\r
+                       ret &= name.toLowerCase().contains(filters.toLowerCase());\r
+               } else {\r
+                       if (filters.startsWith("*")) {\r
+                               ret &= name.toLowerCase().endsWith(filters.toLowerCase().replace("*", ""));\r
+                               return ret;\r
+                       }\r
+                       if (filters.endsWith("*")) {\r
+                               ret &= name.toLowerCase().startsWith(filters.toLowerCase().replace("*", ""));\r
+                               return ret;\r
+                       }\r
                }\r
 \r
-               if (params.contains("*")) {\r
-                       String[] p = params.split("\\*");\r
-                       if (p.length == 2)\r
-                               ret &= name.startsWith(p[0]) && name.endsWith(p[1]);\r
-               } else \r
-                       ret &= file.getName().equals(params);\r
                return ret;\r
        }\r
 }\r
index 73ea97d88c927d8c712fcb9880e55495237843fb..a3d235069ff28fc2155679c3bee8ed5fdbcc991f 100644 (file)
@@ -81,8 +81,11 @@ public class LocalDirectoryLister implements IDirectoryLister {
                List<RemoteFile> result = new ArrayList<RemoteFile>();\r
                String path = storeUri.toString(true);\r
                File dir = new File(path);\r
-               File[] dirs = dir.listFiles(new DirectoryFileFilter(storeUri.getFilter(), true));\r
-               File[] files = dir.listFiles(new DirectoryFileFilter(storeUri.getFilter(), false));\r
+               File[] dirs = {};\r
+               if (storeUri.isShowDirectories())\r
+                       dirs = dir.listFiles(new DirectoryFileFilter(storeUri.getDirectoryFilter(), true));\r
+\r
+               File[] files = dir.listFiles(new DirectoryFileFilter(storeUri.getFileFilter(), false));\r
 \r
                Arrays.sort(dirs, new Comparator<File>() {\r
                        @Override\r
@@ -133,7 +136,7 @@ public class LocalDirectoryLister implements IDirectoryLister {
                result.setModify(new Timestamp(file.lastModified()));\r
                result.setIsFolder(file.isDirectory());\r
                result.setSize(file.length());\r
-               \r
+\r
                try {\r
                        Path tempFile = file.toPath();\r
                        BasicFileAttributes attr;\r
@@ -143,7 +146,7 @@ public class LocalDirectoryLister implements IDirectoryLister {
                        // TODO Auto-generated catch block\r
                        e.printStackTrace();\r
                }\r
-               \r
+\r
                return result;\r
        }\r
 }\r
index 84a55cb1657f434c7ec224b2819d792d3e2914a3..00dd7348d20591e1e37e2671850595d6d6018bf6 100644 (file)
@@ -553,7 +553,7 @@ public class JobEngine implements IJobEngine {
                        StoreUri store = new StoreUri();
                        store.setProtocol(RemoteStoreProtocol.LOCAL);
                        store.setUri(DirectoryUtils.normalize(System.getProperty(TEMPLATEROOT), File.separator));
-                       store.setFilter("*.xml");
+                       store.setFileFilter("*.xml");
                        String templateRoot = store.toString(true);
                        logger.info("Template root is: " + templateRoot);
                        List<RemoteFile> files = store.getRemoteFiles();