From 28dc15c3d5200a0eb5c2dc5ddc209e3dff58fdab Mon Sep 17 00:00:00 2001 From: mdb Date: Mon, 2 Aug 2004 03:16:13 +0000 Subject: [PATCH] Converted to Java regexp code; renamed to avoid enum keyword collision. git-svn-id: https://samskivert.googlecode.com/svn/trunk@1470 6335cc39-0255-0410-8fd6-9bcaacd3b74c --- .../java/com/samskivert/viztool/Driver.java | 8 ++--- .../com/samskivert/viztool/DriverTask.java | 10 +++---- .../{enum => clenum}/ClassEnumerator.java | 30 +++++++++---------- .../{enum => clenum}/ComponentEnumerator.java | 2 +- .../{enum => clenum}/DirectoryEnumerator.java | 2 +- .../EnumerationException.java | 2 +- .../{enum => clenum}/FilterEnumerator.java | 2 +- .../{enum => clenum}/JarFileEnumerator.java | 2 +- .../{enum => clenum}/PackageEnumerator.java | 10 +++---- .../{enum => clenum}/RegexpEnumerator.java | 21 +++++++------ .../{enum => clenum}/ZipFileEnumerator.java | 2 +- .../viztool/{enum => clenum}/package.html | 0 .../hierarchy/HierarchyVisualizer.java | 2 +- 13 files changed, 46 insertions(+), 47 deletions(-) rename projects/viztool/src/java/com/samskivert/viztool/{enum => clenum}/ClassEnumerator.java (89%) rename projects/viztool/src/java/com/samskivert/viztool/{enum => clenum}/ComponentEnumerator.java (98%) rename projects/viztool/src/java/com/samskivert/viztool/{enum => clenum}/DirectoryEnumerator.java (99%) rename projects/viztool/src/java/com/samskivert/viztool/{enum => clenum}/EnumerationException.java (97%) rename projects/viztool/src/java/com/samskivert/viztool/{enum => clenum}/FilterEnumerator.java (98%) rename projects/viztool/src/java/com/samskivert/viztool/{enum => clenum}/JarFileEnumerator.java (97%) rename projects/viztool/src/java/com/samskivert/viztool/{enum => clenum}/PackageEnumerator.java (87%) rename projects/viztool/src/java/com/samskivert/viztool/{enum => clenum}/RegexpEnumerator.java (74%) rename projects/viztool/src/java/com/samskivert/viztool/{enum => clenum}/ZipFileEnumerator.java (98%) rename projects/viztool/src/java/com/samskivert/viztool/{enum => clenum}/package.html (100%) diff --git a/projects/viztool/src/java/com/samskivert/viztool/Driver.java b/projects/viztool/src/java/com/samskivert/viztool/Driver.java index 5168447c..6da8be0c 100644 --- a/projects/viztool/src/java/com/samskivert/viztool/Driver.java +++ b/projects/viztool/src/java/com/samskivert/viztool/Driver.java @@ -25,7 +25,7 @@ import java.awt.print.*; import java.util.ArrayList; import com.samskivert.swing.util.SwingUtil; -import com.samskivert.viztool.enum.*; +import com.samskivert.viztool.clenum.*; import com.samskivert.viztool.hierarchy.HierarchyVisualizer; import com.samskivert.viztool.summary.SummaryVisualizer; @@ -59,10 +59,10 @@ public class Driver // run ourselves on the classpath String classpath = System.getProperty("java.class.path"); // System.err.println("Scanning " + classpath + "."); - ClassEnumerator enum = new ClassEnumerator(classpath); + ClassEnumerator clenum = new ClassEnumerator(classpath); // print out the warnings - ClassEnumerator.Warning[] warnings = enum.getWarnings(); + ClassEnumerator.Warning[] warnings = clenum.getWarnings(); for (int i = 0; i < warnings.length; i++) { System.err.println("Warning: " + warnings[i].reason); } @@ -73,7 +73,7 @@ public class Driver // and finally generate the visualization FilterEnumerator fenum = null; try { - fenum = new RegexpEnumerator(regexp, enum); + fenum = new RegexpEnumerator(regexp, null, clenum); } catch (Exception e) { Log.warning("Invalid package regular expression " + "[regexp=" + regexp + ", error=" + e + "]."); diff --git a/projects/viztool/src/java/com/samskivert/viztool/DriverTask.java b/projects/viztool/src/java/com/samskivert/viztool/DriverTask.java index 17126c94..ee4be4d7 100644 --- a/projects/viztool/src/java/com/samskivert/viztool/DriverTask.java +++ b/projects/viztool/src/java/com/samskivert/viztool/DriverTask.java @@ -44,9 +44,9 @@ import org.apache.tools.ant.types.Path; import com.samskivert.swing.util.SwingUtil; -import com.samskivert.viztool.enum.ClassEnumerator; -import com.samskivert.viztool.enum.FilterEnumerator; -import com.samskivert.viztool.enum.RegexpEnumerator; +import com.samskivert.viztool.clenum.ClassEnumerator; +import com.samskivert.viztool.clenum.FilterEnumerator; +import com.samskivert.viztool.clenum.RegexpEnumerator; import com.samskivert.viztool.util.FontPicker; /** @@ -118,10 +118,10 @@ public class DriverTask extends Task // scan the classpath and determine which classes will be // visualized - ClassEnumerator enum = new ClassEnumerator(classpath.toString()); + ClassEnumerator clenum = new ClassEnumerator(classpath.toString()); FilterEnumerator fenum = null; try { - fenum = new RegexpEnumerator(_classes, _exclude, enum); + fenum = new RegexpEnumerator(_classes, _exclude, clenum); } catch (Exception e) { throw new BuildException("Invalid package regular expression " + "[classes=" + _classes + diff --git a/projects/viztool/src/java/com/samskivert/viztool/enum/ClassEnumerator.java b/projects/viztool/src/java/com/samskivert/viztool/clenum/ClassEnumerator.java similarity index 89% rename from projects/viztool/src/java/com/samskivert/viztool/enum/ClassEnumerator.java rename to projects/viztool/src/java/com/samskivert/viztool/clenum/ClassEnumerator.java index 0a33b201..8fd2ec06 100644 --- a/projects/viztool/src/java/com/samskivert/viztool/enum/ClassEnumerator.java +++ b/projects/viztool/src/java/com/samskivert/viztool/clenum/ClassEnumerator.java @@ -18,7 +18,7 @@ // with this program; if not, write to the Free Software Foundation, Inc., // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -package com.samskivert.viztool.enum; +package com.samskivert.viztool.clenum; import java.util.ArrayList; import java.util.StringTokenizer; @@ -53,19 +53,19 @@ public class ClassEnumerator implements Iterator while (tok.hasMoreTokens()) { String component = tok.nextToken(); // locate an enumerator for this token - ComponentEnumerator enum = matchEnumerator(component); - if (enum == null) { + ComponentEnumerator cenum = matchEnumerator(component); + if (cenum == null) { String wmsg = "Unable to match enumerator for " + "component '" + component + "'."; warnings.add(new Warning(wmsg)); } else { try { -// System.out.println("Adding [enum=" + enum + +// System.out.println("Adding [enum=" + cenum + // ", component=" + component + "]."); // construct an enumerator to enumerate this component // and put it on our list - enums.add(enum.enumerate(component)); + enums.add(cenum.enumerate(component)); } catch (EnumerationException ee) { // if there was a problem creating an enumerator for @@ -95,10 +95,10 @@ public class ClassEnumerator implements Iterator protected ComponentEnumerator matchEnumerator (String component) { for (int i = 0; i < _enumerators.size(); i++) { - ComponentEnumerator enum = + ComponentEnumerator cenum = (ComponentEnumerator)_enumerators.get(i); - if (enum.matchesComponent(component)) { - return enum; + if (cenum.matchesComponent(component)) { + return cenum; } } @@ -143,12 +143,12 @@ public class ClassEnumerator implements Iterator { if (_enumidx < _enums.length) { // grab the current enumerator - ComponentEnumerator enum = _enums[_enumidx]; + ComponentEnumerator cenum = _enums[_enumidx]; // if it has more classes - if (enum.hasMoreClasses()) { + if (cenum.hasMoreClasses()) { // get the next one - _nextClass = enum.nextClass(); + _nextClass = cenum.nextClass(); return; } else { @@ -182,17 +182,17 @@ public class ClassEnumerator implements Iterator { // run ourselves on the classpath String classpath = System.getProperty("java.class.path"); - ClassEnumerator enum = new ClassEnumerator(classpath); + ClassEnumerator cenum = new ClassEnumerator(classpath); // print out the warnings - Warning[] warnings = enum.getWarnings(); + Warning[] warnings = cenum.getWarnings(); for (int i = 0; i < warnings.length; i++) { System.out.println("Warning: " + warnings[i].reason); } // enumerate over whatever classes we can - while (enum.hasNext()) { - System.out.println("Class: " + enum.next()); + while (cenum.hasNext()) { + System.out.println("Class: " + cenum.next()); } } diff --git a/projects/viztool/src/java/com/samskivert/viztool/enum/ComponentEnumerator.java b/projects/viztool/src/java/com/samskivert/viztool/clenum/ComponentEnumerator.java similarity index 98% rename from projects/viztool/src/java/com/samskivert/viztool/enum/ComponentEnumerator.java rename to projects/viztool/src/java/com/samskivert/viztool/clenum/ComponentEnumerator.java index 2db55075..6ed6db2d 100644 --- a/projects/viztool/src/java/com/samskivert/viztool/enum/ComponentEnumerator.java +++ b/projects/viztool/src/java/com/samskivert/viztool/clenum/ComponentEnumerator.java @@ -18,7 +18,7 @@ // with this program; if not, write to the Free Software Foundation, Inc., // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -package com.samskivert.viztool.enum; +package com.samskivert.viztool.clenum; import com.samskivert.util.StringUtil; diff --git a/projects/viztool/src/java/com/samskivert/viztool/enum/DirectoryEnumerator.java b/projects/viztool/src/java/com/samskivert/viztool/clenum/DirectoryEnumerator.java similarity index 99% rename from projects/viztool/src/java/com/samskivert/viztool/enum/DirectoryEnumerator.java rename to projects/viztool/src/java/com/samskivert/viztool/clenum/DirectoryEnumerator.java index ed2e79fa..6f7b901a 100644 --- a/projects/viztool/src/java/com/samskivert/viztool/enum/DirectoryEnumerator.java +++ b/projects/viztool/src/java/com/samskivert/viztool/clenum/DirectoryEnumerator.java @@ -18,7 +18,7 @@ // with this program; if not, write to the Free Software Foundation, Inc., // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -package com.samskivert.viztool.enum; +package com.samskivert.viztool.clenum; import java.io.*; import java.util.ArrayList; diff --git a/projects/viztool/src/java/com/samskivert/viztool/enum/EnumerationException.java b/projects/viztool/src/java/com/samskivert/viztool/clenum/EnumerationException.java similarity index 97% rename from projects/viztool/src/java/com/samskivert/viztool/enum/EnumerationException.java rename to projects/viztool/src/java/com/samskivert/viztool/clenum/EnumerationException.java index d8cae5d6..574110d3 100644 --- a/projects/viztool/src/java/com/samskivert/viztool/enum/EnumerationException.java +++ b/projects/viztool/src/java/com/samskivert/viztool/clenum/EnumerationException.java @@ -18,7 +18,7 @@ // with this program; if not, write to the Free Software Foundation, Inc., // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -package com.samskivert.viztool.enum; +package com.samskivert.viztool.clenum; /** * An enumeration exception is thrown when some problem occurs while diff --git a/projects/viztool/src/java/com/samskivert/viztool/enum/FilterEnumerator.java b/projects/viztool/src/java/com/samskivert/viztool/clenum/FilterEnumerator.java similarity index 98% rename from projects/viztool/src/java/com/samskivert/viztool/enum/FilterEnumerator.java rename to projects/viztool/src/java/com/samskivert/viztool/clenum/FilterEnumerator.java index b3a5be1f..7188632c 100644 --- a/projects/viztool/src/java/com/samskivert/viztool/enum/FilterEnumerator.java +++ b/projects/viztool/src/java/com/samskivert/viztool/clenum/FilterEnumerator.java @@ -18,7 +18,7 @@ // with this program; if not, write to the Free Software Foundation, Inc., // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -package com.samskivert.viztool.enum; +package com.samskivert.viztool.clenum; import java.util.Iterator; diff --git a/projects/viztool/src/java/com/samskivert/viztool/enum/JarFileEnumerator.java b/projects/viztool/src/java/com/samskivert/viztool/clenum/JarFileEnumerator.java similarity index 97% rename from projects/viztool/src/java/com/samskivert/viztool/enum/JarFileEnumerator.java rename to projects/viztool/src/java/com/samskivert/viztool/clenum/JarFileEnumerator.java index 418c9ff4..22e24a8d 100644 --- a/projects/viztool/src/java/com/samskivert/viztool/enum/JarFileEnumerator.java +++ b/projects/viztool/src/java/com/samskivert/viztool/clenum/JarFileEnumerator.java @@ -18,7 +18,7 @@ // with this program; if not, write to the Free Software Foundation, Inc., // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -package com.samskivert.viztool.enum; +package com.samskivert.viztool.clenum; /** * The jar file enumerator enumerates all of the classes in a .jar class diff --git a/projects/viztool/src/java/com/samskivert/viztool/enum/PackageEnumerator.java b/projects/viztool/src/java/com/samskivert/viztool/clenum/PackageEnumerator.java similarity index 87% rename from projects/viztool/src/java/com/samskivert/viztool/enum/PackageEnumerator.java rename to projects/viztool/src/java/com/samskivert/viztool/clenum/PackageEnumerator.java index e050505f..40076e37 100644 --- a/projects/viztool/src/java/com/samskivert/viztool/enum/PackageEnumerator.java +++ b/projects/viztool/src/java/com/samskivert/viztool/clenum/PackageEnumerator.java @@ -18,7 +18,7 @@ // with this program; if not, write to the Free Software Foundation, Inc., // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -package com.samskivert.viztool.enum; +package com.samskivert.viztool.clenum; import java.util.Iterator; @@ -49,12 +49,12 @@ public class PackageEnumerator extends FilterEnumerator { // run ourselves on the classpath String classpath = System.getProperty("java.class.path"); - ClassEnumerator enum = new ClassEnumerator(classpath); - String pkg = "com.samskivert.viztool.enum"; - PackageEnumerator penum = new PackageEnumerator(pkg, enum, true); + ClassEnumerator clenum = new ClassEnumerator(classpath); + String pkg = "com.samskivert.viztool.clenum"; + PackageEnumerator penum = new PackageEnumerator(pkg, clenum, true); // print out the warnings - ClassEnumerator.Warning[] warnings = enum.getWarnings(); + ClassEnumerator.Warning[] warnings = clenum.getWarnings(); for (int i = 0; i < warnings.length; i++) { System.out.println("Warning: " + warnings[i].reason); } diff --git a/projects/viztool/src/java/com/samskivert/viztool/enum/RegexpEnumerator.java b/projects/viztool/src/java/com/samskivert/viztool/clenum/RegexpEnumerator.java similarity index 74% rename from projects/viztool/src/java/com/samskivert/viztool/enum/RegexpEnumerator.java rename to projects/viztool/src/java/com/samskivert/viztool/clenum/RegexpEnumerator.java index fe23ca1a..3194b56b 100644 --- a/projects/viztool/src/java/com/samskivert/viztool/enum/RegexpEnumerator.java +++ b/projects/viztool/src/java/com/samskivert/viztool/clenum/RegexpEnumerator.java @@ -18,12 +18,11 @@ // with this program; if not, write to the Free Software Foundation, Inc., // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -package com.samskivert.viztool.enum; +package com.samskivert.viztool.clenum; import java.util.Iterator; - -import org.apache.regexp.RE; -import org.apache.regexp.RESyntaxException; +import java.util.regex.Pattern; +import java.util.regex.PatternSyntaxException; /** * The regex enumerator filters classes based on a regular expression. @@ -31,21 +30,21 @@ import org.apache.regexp.RESyntaxException; public class RegexpEnumerator extends FilterEnumerator { public RegexpEnumerator (String regexp, String exregex, Iterator source) - throws RESyntaxException + throws PatternSyntaxException { super(source); - _regexp = new RE(regexp); + _regexp = Pattern.compile(regexp); if (exregex != null) { - _exreg = new RE(exregex); + _exreg = Pattern.compile(exregex); } } protected boolean filterClass (String clazz) { - return !(_regexp.match(clazz) && - (_exreg == null || !_exreg.match(clazz))); + return !(_regexp.matcher(clazz).matches() && + (_exreg == null || !_exreg.matcher(clazz).matches())); } - protected RE _regexp; - protected RE _exreg; + protected Pattern _regexp; + protected Pattern _exreg; } diff --git a/projects/viztool/src/java/com/samskivert/viztool/enum/ZipFileEnumerator.java b/projects/viztool/src/java/com/samskivert/viztool/clenum/ZipFileEnumerator.java similarity index 98% rename from projects/viztool/src/java/com/samskivert/viztool/enum/ZipFileEnumerator.java rename to projects/viztool/src/java/com/samskivert/viztool/clenum/ZipFileEnumerator.java index c730d4ed..e7fc120a 100644 --- a/projects/viztool/src/java/com/samskivert/viztool/enum/ZipFileEnumerator.java +++ b/projects/viztool/src/java/com/samskivert/viztool/clenum/ZipFileEnumerator.java @@ -18,7 +18,7 @@ // with this program; if not, write to the Free Software Foundation, Inc., // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -package com.samskivert.viztool.enum; +package com.samskivert.viztool.clenum; import java.io.IOException; import java.util.Enumeration; diff --git a/projects/viztool/src/java/com/samskivert/viztool/enum/package.html b/projects/viztool/src/java/com/samskivert/viztool/clenum/package.html similarity index 100% rename from projects/viztool/src/java/com/samskivert/viztool/enum/package.html rename to projects/viztool/src/java/com/samskivert/viztool/clenum/package.html diff --git a/projects/viztool/src/java/com/samskivert/viztool/hierarchy/HierarchyVisualizer.java b/projects/viztool/src/java/com/samskivert/viztool/hierarchy/HierarchyVisualizer.java index f1f3865a..b47a0b77 100644 --- a/projects/viztool/src/java/com/samskivert/viztool/hierarchy/HierarchyVisualizer.java +++ b/projects/viztool/src/java/com/samskivert/viztool/hierarchy/HierarchyVisualizer.java @@ -30,7 +30,7 @@ import com.samskivert.util.CollectionUtil; import com.samskivert.viztool.Log; import com.samskivert.viztool.Visualizer; -import com.samskivert.viztool.enum.PackageEnumerator; +import com.samskivert.viztool.clenum.PackageEnumerator; /** * The hierarchy visualizer displays inheritance hierarchies in a compact