From: Vásáry Dániel Date: Wed, 4 Sep 2019 11:24:43 +0000 (+0000) Subject: git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube... X-Git-Url: http://git.useribm.hu/?a=commitdiff_plain;h=0fd785861ac012c397556cb6433abc432dfb1dde;p=mediacube.git git-tfs-id: [tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube;C31496 --- diff --git a/server/user.jobengine.osgi.commons/src/user/commons/StoreUri.java b/server/user.jobengine.osgi.commons/src/user/commons/StoreUri.java index c6a725ce..150e39a9 100644 --- a/server/user.jobengine.osgi.commons/src/user/commons/StoreUri.java +++ b/server/user.jobengine.osgi.commons/src/user/commons/StoreUri.java @@ -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; } diff --git a/server/user.jobengine.osgi.commons/src/user/commons/remotestore/DirectoryFileFilter.java b/server/user.jobengine.osgi.commons/src/user/commons/remotestore/DirectoryFileFilter.java index 6637c1f2..b8be6970 100644 --- a/server/user.jobengine.osgi.commons/src/user/commons/remotestore/DirectoryFileFilter.java +++ b/server/user.jobengine.osgi.commons/src/user/commons/remotestore/DirectoryFileFilter.java @@ -4,45 +4,43 @@ import java.io.File; import java.io.FileFilter; public class DirectoryFileFilter implements FileFilter { - private String params = null; - private boolean forDirectories = false; - - DirectoryFileFilter(String params, boolean forDirectories) { - this.params = params; + private String filters = null; + private boolean forDirectories = false; + + DirectoryFileFilter(String filters, boolean forDirectories) { + this.filters = filters; this.forDirectories = forDirectories; } - + + @Override public boolean accept(File file) { - boolean ret = false; + boolean ret = false; String name = file.getName(); - - if (forDirectories) + + if (forDirectories) ret = file.isDirectory(); else ret = file.isFile(); - + if (ret == false) return ret; - - if (params == null || params.trim().length() == 0) - return ret; - - if (params.startsWith("*")) { - ret &= name.endsWith(params.replace("*", "")); - return ret; - } - - if (params.endsWith("*")) { - ret &= name.startsWith(params.replace("*", "")); + + if (filters == null || filters.trim().length() == 0) return ret; + + if (!filters.contains("*")) { + ret &= name.toLowerCase().contains(filters.toLowerCase()); + } else { + if (filters.startsWith("*")) { + ret &= name.toLowerCase().endsWith(filters.toLowerCase().replace("*", "")); + return ret; + } + if (filters.endsWith("*")) { + ret &= name.toLowerCase().startsWith(filters.toLowerCase().replace("*", "")); + return ret; + } } - if (params.contains("*")) { - String[] p = params.split("\\*"); - if (p.length == 2) - ret &= name.startsWith(p[0]) && name.endsWith(p[1]); - } else - ret &= file.getName().equals(params); return ret; } } diff --git a/server/user.jobengine.osgi.commons/src/user/commons/remotestore/LocalDirectoryLister.java b/server/user.jobengine.osgi.commons/src/user/commons/remotestore/LocalDirectoryLister.java index 73ea97d8..a3d23506 100644 --- a/server/user.jobengine.osgi.commons/src/user/commons/remotestore/LocalDirectoryLister.java +++ b/server/user.jobengine.osgi.commons/src/user/commons/remotestore/LocalDirectoryLister.java @@ -81,8 +81,11 @@ public class LocalDirectoryLister implements IDirectoryLister { List result = new ArrayList(); String path = storeUri.toString(true); File dir = new File(path); - File[] dirs = dir.listFiles(new DirectoryFileFilter(storeUri.getFilter(), true)); - File[] files = dir.listFiles(new DirectoryFileFilter(storeUri.getFilter(), false)); + File[] dirs = {}; + if (storeUri.isShowDirectories()) + dirs = dir.listFiles(new DirectoryFileFilter(storeUri.getDirectoryFilter(), true)); + + File[] files = dir.listFiles(new DirectoryFileFilter(storeUri.getFileFilter(), false)); Arrays.sort(dirs, new Comparator() { @Override @@ -133,7 +136,7 @@ public class LocalDirectoryLister implements IDirectoryLister { result.setModify(new Timestamp(file.lastModified())); result.setIsFolder(file.isDirectory()); result.setSize(file.length()); - + try { Path tempFile = file.toPath(); BasicFileAttributes attr; @@ -143,7 +146,7 @@ public class LocalDirectoryLister implements IDirectoryLister { // TODO Auto-generated catch block e.printStackTrace(); } - + return result; } } diff --git a/server/user.jobengine.osgi.server/src/user/jobengine/server/JobEngine.java b/server/user.jobengine.osgi.server/src/user/jobengine/server/JobEngine.java index 84a55cb1..00dd7348 100644 --- a/server/user.jobengine.osgi.server/src/user/jobengine/server/JobEngine.java +++ b/server/user.jobengine.osgi.server/src/user/jobengine/server/JobEngine.java @@ -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 files = store.getRemoteFiles();