Blob Blame History Raw
diff -up azureus-5.3.0.0/org/gudy/azureus2/ui/common/util/FileFinder.java.noPF azureus-5.3.0.0/org/gudy/azureus2/ui/common/util/FileFinder.java
--- azureus-5.3.0.0/org/gudy/azureus2/ui/common/util/FileFinder.java.noPF	2014-05-28 21:26:39.000000000 +0200
+++ azureus-5.3.0.0/org/gudy/azureus2/ui/common/util/FileFinder.java	2014-06-07 15:10:21.898380971 +0200
@@ -0,0 +1,80 @@
+package org.gudy.azureus2.ui.common.util;
+
+import java.io.File;
+import java.io.IOException;
+import java.nio.file.attribute.BasicFileAttributes;
+import java.nio.file.Files;
+import java.nio.file.FileSystems;
+import java.nio.file.FileVisitResult;
+import java.nio.file.Path;
+import java.nio.file.PathMatcher;
+import java.nio.file.Paths;
+import java.nio.file.SimpleFileVisitor;
+import java.util.Collections;
+import java.util.Vector;
+
+import org.gudy.azureus2.core3.logging.LogEvent;
+import org.gudy.azureus2.core3.logging.Logger;
+import org.gudy.azureus2.core3.logging.LogIDs;
+
+/** Replaces http://www.programmers-friend.org/apidoc/index.html */
+public class FileFinder{
+
+    private static class MatchingFileVisitor extends SimpleFileVisitor<Path>{
+
+	private PathMatcher matcher;
+	private Vector<Path> v;
+        
+
+	MatchingFileVisitor(PathMatcher matcher) {
+	    v = new Vector<Path>();
+	    this.matcher = matcher;
+	}
+
+    	@Override
+	public FileVisitResult visitFile (Path file, BasicFileAttributes attrs) {
+	    if (matcher.matches(file.getFileName())) {
+		v.add(file);
+	    }
+	    return FileVisitResult.CONTINUE;
+    	}
+
+	File[] getMatches() {
+	    File[] files=new File[v.size()];
+
+	    for (int i=0;i<v.size();i++)
+		files[i]=v.get(i).toFile();
+	    
+	    return files;
+	}
+    }
+
+    public static File[] 
+	findFiles(String dir, String pattern, boolean recursive) throws IllegalArgumentException{
+	
+	if (dir == null || pattern == null)
+	    throw new IllegalArgumentException("dir or pattern null");
+
+	Path rootDir = Paths.get(dir);
+	PathMatcher matcher =
+	    FileSystems.getDefault().getPathMatcher("glob:"+pattern);
+
+	MatchingFileVisitor myFileVisitor = new MatchingFileVisitor(matcher);
+	
+	
+	try{
+	    Files.walkFileTree(rootDir,Collections.EMPTY_SET,recursive?Integer.MAX_VALUE : 1, myFileVisitor);
+	}
+	catch (IOException e) {
+	    Logger.log(new LogEvent(LogIDs.DISK, "IOError" ,e));
+	}
+
+	return myFileVisitor.getMatches();
+    }
+
+    public static void main(String [] argv) {
+	File[] files = findFiles(".", "*.java", true);
+	for (int i = 0; i<files.length;i++)
+	    System.out.println(files[i]);
+    }
+}
diff -up azureus-5.3.0.0/org/gudy/azureus2/ui/common/util/StringPattern.java.noPF azureus-5.3.0.0/org/gudy/azureus2/ui/common/util/StringPattern.java
--- azureus-5.3.0.0/org/gudy/azureus2/ui/common/util/StringPattern.java.noPF	2014-04-11 19:50:21.000000000 +0200
+++ azureus-5.3.0.0/org/gudy/azureus2/ui/common/util/StringPattern.java	2014-06-12 18:28:59.684173761 +0200
@@ -0,0 +1,47 @@
+package org.gudy.azureus2.ui.common.util;
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/* Class to replace http://www.programmers-friend.org/apidoc/org/pf/text/StringPattern.html
+ org.pf.text.StringPattern makes * match anything wich is not really standard regexp
+ syntax */
+
+public class StringPattern {
+
+    private Pattern p;
+    private boolean hasWildcard;
+
+    public StringPattern(String sp) {
+
+	hasWildcard = (sp.contains("*") ||
+		       sp.contains("?"));
+	
+	//fix up pattern to standard regexp syntax, i.e
+	// * -> .*
+	// ? -> ?
+	sp=sp.replaceAll("\\?","\\.");
+	sp=sp.replaceAll("\\*","\\.\\*");
+	p = Pattern.compile(sp);
+    }
+
+    public boolean hasWildcard() {
+	return hasWildcard;
+    }
+
+    public void setIgnoreCase(boolean ignoreCase) {
+	p=Pattern.compile(p.pattern(),ignoreCase?Pattern.CASE_INSENSITIVE:0);
+    }
+
+    public boolean matches(String probe) {
+	return p.matcher(probe).matches();
+    }
+
+    /* test */
+    public static void main(String[] argv) {
+	StringPattern sp = new StringPattern(argv[0]);
+	System.out.println("hasWildcard: "+ sp.hasWildcard());
+	sp.setIgnoreCase(true);
+	System.out.println("matches:"+sp.matches(argv[1]));
+    }
+}
diff -up azureus-5.3.0.0/org/gudy/azureus2/ui/console/commands/AddFind.java.noPF azureus-5.3.0.0/org/gudy/azureus2/ui/console/commands/AddFind.java
--- azureus-5.3.0.0/org/gudy/azureus2/ui/console/commands/AddFind.java.noPF	2012-07-12 22:36:50.000000000 +0200
+++ azureus-5.3.0.0/org/gudy/azureus2/ui/console/commands/AddFind.java	2014-06-20 11:22:07.575584080 +0200
@@ -18,8 +18,8 @@ import java.net.URL;
 import org.apache.commons.cli.CommandLine;
 import org.apache.commons.cli.OptionBuilder;
 import org.gudy.azureus2.ui.console.ConsoleInput;
-import org.pf.file.FileFinder;
-import org.pf.text.StringUtil;
+
+import org.gudy.azureus2.ui.common.util.FileFinder;
 
 import com.aelitis.azureus.core.AzureusCoreException;
 
@@ -189,7 +189,7 @@ public class AddFind extends OptionsCons
 	protected String transformLocalArgument(String arg) {
 		if( arg.startsWith("~/") || arg.equals("~") )
 		{
-			arg = StringUtil.current().replaceAll(arg, "~", System.getProperty("user.home"));
+		    arg = arg.replace("~", System.getProperty("user.home"));
 		}
 		return arg;
 	}
diff -up azureus-5.3.0.0/org/gudy/azureus2/ui/console/commands/Set.java.noPF azureus-5.3.0.0/org/gudy/azureus2/ui/console/commands/Set.java
--- azureus-5.3.0.0/org/gudy/azureus2/ui/console/commands/Set.java.noPF	2013-02-15 22:10:14.000000000 +0100
+++ azureus-5.3.0.0/org/gudy/azureus2/ui/console/commands/Set.java	2014-06-20 11:22:32.690520944 +0200
@@ -20,8 +20,9 @@ import java.util.TreeSet;
 import org.gudy.azureus2.core3.config.COConfigurationManager;
 import org.gudy.azureus2.core3.util.SHA1Hasher;
 import org.gudy.azureus2.ui.common.ExternalUIConst;
+import org.gudy.azureus2.ui.common.util.StringPattern;
 import org.gudy.azureus2.ui.console.ConsoleInput;
-import org.pf.text.StringPattern;
+
 
 /**
  * command that allows manipulation of Azureus' runtime properties.