[azureus: 3/7] FileFinder implemented
David Juran
djuran at fedoraproject.org
Sat Oct 11 19:01:48 UTC 2014
commit f4906fd0239d766a863495a650c1ad6e0b834213
Author: David Juran <djuran at redhat.com>
Date: Sat Jun 7 17:13:50 2014 +0200
FileFinder implemented
azureus-5.3.0.0-noPF.patch | 138 ++++++++++++++++++++-----------------------
1 files changed, 64 insertions(+), 74 deletions(-)
---
diff --git a/azureus-5.3.0.0-noPF.patch b/azureus-5.3.0.0-noPF.patch
index 7480dfc..6853883 100644
--- a/azureus-5.3.0.0-noPF.patch
+++ b/azureus-5.3.0.0-noPF.patch
@@ -1,97 +1,85 @@
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-04-15 07:19:53.000000000 +0200
-@@ -0,0 +1,92 @@
++++ 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;
-+
-+public static printFnames(String sDir){
-+ File[] faFiles = new File(sDir).listFiles();
-+ for(File file: faFiles){
-+ if(file.getName().matches("^(.*?)")){
-+ System.out.println(file.getAbsolutePath());
-+ }
-+ if(file.isDirectory()){
-+ printFnames(file.getAbsolutePath());
-+ }
-+ }
-+}
-+
++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 */
-+Class FileFinder{
++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;
++ }
+
-+ Class MyFileVisitor() extends SimpleFileVisitor<Path>{
-+
+ @Override
-+ FileVisitResult visitFile (Path file, BasicFileAttributes attrs) {
++ 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){
++ 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);
+
-+ MyFileVisitor myFileVisitor = new MyFileVisitor(matcher);
-+
-+ Files.walkFileTree(rootDir, myFileVisitor);
-+ myFileVisitor.getMatches();
-+
++ 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 final void test() throws IOException, InterruptedException {
-+ final Path rootDir = Paths.get("path to your directory where the walk starts");
-+
-+ // Walk thru mainDir directory
-+ Files.walkFileTree(rootDir, new FileVisitor<Path>() {
-+ // First (minor) speed up. Compile regular expression pattern only one time.
-+ private Pattern pattern = Pattern.compile("^(.*?)");
-+
-+ @Override
-+ public FileVisitResult preVisitDirectory(Path path,
-+ BasicFileAttributes atts) throws IOException {
-+
-+ boolean matches = pattern.matcher(path.toString()).matches();
-+
-+ // TODO: Put here your business logic when matches equals true/false
-+
-+ return (matches)? FileVisitResult.CONTINUE:FileVisitResult.SKIP_SUBTREE;
-+ }
-+
-+ @Override
-+ public FileVisitResult visitFile(Path path, BasicFileAttributes mainAtts)
-+ throws IOException {
-+
-+ boolean matches = pattern.matcher(path.toString()).matches();
-+
-+ // TODO: Put here your business logic when matches equals true/false
-+
-+ return FileVisitResult.CONTINUE;
-+ }
-+
-+ @Override
-+ public FileVisitResult postVisitDirectory(Path path,
-+ IOException exc) throws IOException {
-+ // TODO Auto-generated method stub
-+ return FileVisitResult.CONTINUE;
-+ }
-+
-+ @Override
-+ public FileVisitResult visitFileFailed(Path path, IOException exc)
-+ throws IOException {
-+ exc.printStackTrace();
-+
-+ // If the root directory has failed it makes no sense to continue
-+ return path.equals(rootDir)? FileVisitResult.TERMINATE:FileVisitResult.CONTINUE;
-+ }
-+ });
++ 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
@@ -133,13 +121,15 @@ diff -up azureus-5.3.0.0/org/gudy/azureus2/ui/common/util/StringPattern.java.noP
+}
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-04-11 19:50:21.000000000 +0200
-@@ -18,8 +18,8 @@ import java.net.URL;
++++ azureus-5.3.0.0/org/gudy/azureus2/ui/console/commands/AddFind.java 2014-06-07 13:22:03.856415849 +0200
+@@ -18,8 +18,10 @@ 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 org.pf.file.FileFinder;
+//import org.pf.text.StringUtil;
More information about the scm-commits
mailing list