You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by sc...@apache.org on 2009/10/09 16:37:53 UTC

svn commit: r823566 [5/5] - in /incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor: ./ docbook/CFE_UG/ docs/html/CFE_UG/ docs/pdf/ src/main/java/org/apache/uima/tools/cfe/ src/main/java/org/apache/uima/tools/cfe/config/impl/ src/main/java/org/ap...

Modified: incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/docs/pdf/CFE_UG.pdf
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/docs/pdf/CFE_UG.pdf?rev=823566&r1=823565&r2=823566&view=diff
==============================================================================
Binary files - no diff available.

Modified: incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/CommonFeatureMatcher.java
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/CommonFeatureMatcher.java?rev=823566&r1=823565&r2=823566&view=diff
==============================================================================
--- incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/CommonFeatureMatcher.java (original)
+++ incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/CommonFeatureMatcher.java Fri Oct  9 14:37:50 2009
@@ -154,9 +154,10 @@
             AnnotationMatchedValue trg_mv = it.next();
             Map<String, Collection<MatchedAnnotationDescriptor>> target_feature_groups =
                 m_feature_annotations.get(trg_mv);
-            for (Iterator<String> sf_it = target_feature_groups.keySet().iterator(); sf_it.hasNext();) {
-                String class_label = sf_it.next();
-                Collection<MatchedAnnotationDescriptor> features = target_feature_groups.get(class_label);
+            
+            for (Map.Entry<String, Collection<MatchedAnnotationDescriptor>> entry : target_feature_groups.entrySet()) {
+                String class_label = entry.getKey();
+                Collection<MatchedAnnotationDescriptor> features = entry.getValue();
                 processFeatureGroup(jcas, trg_mv.getAnnotation(), class_label, features);
             }
         }

Modified: incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/GroupFeatureMatcher.java
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/GroupFeatureMatcher.java?rev=823566&r1=823565&r2=823566&view=diff
==============================================================================
--- incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/GroupFeatureMatcher.java (original)
+++ incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/GroupFeatureMatcher.java Fri Oct  9 14:37:50 2009
@@ -38,21 +38,6 @@
         m_single_feature_matchers.addAll(sfms);
     }
     
-    public boolean equals(Object obj)
-    {
-        if (this == obj) {
-            return true;
-        }
-        if (!(obj instanceof GroupFeatureMatcher)) {
-            return false;
-        }
-        GroupFeatureMatcher other = (GroupFeatureMatcher)obj;
-        if (!m_single_feature_matchers.equals(other.m_single_feature_matchers)) {
-            return false;
-        }
-        return super.equals(obj);
-    }
-
     public void addMatcher (String  feat_class,
                             String  feat_path,
                             boolean exclude,

Modified: incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/MatchedSingleFeatureMatcher.java
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/MatchedSingleFeatureMatcher.java?rev=823566&r1=823565&r2=823566&view=diff
==============================================================================
--- incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/MatchedSingleFeatureMatcher.java (original)
+++ incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/MatchedSingleFeatureMatcher.java Fri Oct  9 14:37:50 2009
@@ -35,7 +35,7 @@
     
     String getFeatureImage(boolean feat_name, String[] value_separators)
     {
-        String result = "";
+        StringBuffer result = new StringBuffer("");
         ArrayDelimiterObject max_level = null;
         if (!m_values.isEmpty()) {
             // first element must be max_level
@@ -50,15 +50,17 @@
             if (obj instanceof ArrayDelimiterObject) {
                 ArrayDelimiterObject ado = (ArrayDelimiterObject)obj; 
                 int ind = Math.min(max_level.m_level - ado.m_level, value_separators.length - 1);
-                result += value_separators[ind];
+                result.append(value_separators[ind]);
             }
             else {
-                result += m_matcher.m_feature_values.getFeatureImage(obj);
+                result.append(m_matcher.m_feature_values.getFeatureImage(obj));
             }
         }
         if (feat_name) {
-            result = m_matcher.m_feature_matcher.getFeaturePathImage() + value_separators[0] + result;
+            return m_matcher.m_feature_matcher.getFeaturePathImage() + value_separators[0] + result;
+        }
+        else {
+            return result.toString();
         }
-        return result;
     }
 }

Modified: incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/ObjectPathFeatureValues.java
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/ObjectPathFeatureValues.java?rev=823566&r1=823565&r2=823566&view=diff
==============================================================================
--- incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/ObjectPathFeatureValues.java (original)
+++ incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/ObjectPathFeatureValues.java Fri Oct  9 14:37:50 2009
@@ -72,24 +72,7 @@
         }
     }
     
-    public boolean equals(Object obj)
-    {
-        if (this == obj) {
-            return true;
-        }
-        if (!(obj instanceof ObjectPathFeatureValues)) {
-            return false;
-        }
-        ObjectPathFeatureValues other = (ObjectPathFeatureValues)obj;
-        if (!m_object_path.equals(other.m_object_path)) {
-            return false;
-        }
-        if (!m_values.equals(other.m_values)) {
-            return false;
-        }
-        return super.equals(obj);
-    }
-    
+
     public String getFeatureImage (Object feature)
     {
         return m_object_type_name + "," + m_object_path;

Modified: incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/OffsetDiff.java
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/OffsetDiff.java?rev=823566&r1=823565&r2=823566&view=diff
==============================================================================
--- incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/OffsetDiff.java (original)
+++ incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/OffsetDiff.java Fri Oct  9 14:37:50 2009
@@ -88,20 +88,21 @@
         public String printImage()
         {
             ++m_printed;
-            String image = m_toks[0] + "|" + m_toks[1];
+            StringBuilder image = new StringBuilder(m_toks[0] + "|" + m_toks[1]);
             for (int i = 2; i < m_toks.length; ++i) {
-                image += "|" + m_toks[i];
+                image.append("|");
+                image.append(m_toks[i]);
             }
-            return image;
+            return image.toString();
         }
         
         String printNullImage()
         {
-            String image = "|"; // for begin/end
+            StringBuilder image = new StringBuilder("|"); // for begin/end
             for (int i = 2; i < m_toks.length; ++i) {
-                image += "|";
+                image.append("|");
             }
-            return image;
+            return image.toString();
         }
 
         public int compare (Span other)
@@ -293,8 +294,8 @@
         File fs = new File(filename);
         if (fs.exists()) {
             int cnt = 0;
-            BufferedReader in = new BufferedReader(new FileReader(fs));
             try {
+                BufferedReader in = new BufferedReader(new FileReader(fs));
                 while (null != (line = in.readLine())) {
                     cnt++;
                     if (line.startsWith("#")) {
@@ -305,8 +306,9 @@
                         result.add(s);
                     }        
                 }
+                in.close();
             }
-            catch (Exception e) {
+            catch (IOException e) {
                 System.err.println(filename + ": failed to read " + cnt +" line"); 
             }
         }

Modified: incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/PartialObjectMatcher.java
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/PartialObjectMatcher.java?rev=823566&r1=823565&r2=823566&view=diff
==============================================================================
--- incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/PartialObjectMatcher.java (original)
+++ incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/PartialObjectMatcher.java Fri Oct  9 14:37:50 2009
@@ -40,7 +40,9 @@
         else {
             m_full_path = full_path;
         }
-        m_group_feature_matchers.addAll(gfms);
+        if (null != gfms) {
+            m_group_feature_matchers.addAll(gfms);
+        }
     }
 
     protected PartialObjectMatcher(String class_name, String full_annotation_path)
@@ -49,23 +51,6 @@
         this(class_name, full_annotation_path, new ArrayList<GroupFeatureMatcher>());
     }
     
-    public boolean equals(Object obj)
-    {
-        if (this == obj) {
-            return true;
-        }
-        if (!(obj instanceof PartialObjectMatcher)) {
-            return false;
-        }
-        PartialObjectMatcher other = (PartialObjectMatcher)obj;
-        if (!m_matcher_class.equals(other.m_matcher_class) ||
-            !m_full_path.equals(other.m_full_path) ||
-            !m_group_feature_matchers.equals(other.m_group_feature_matchers)) {
-            return false;
-        }
-        return super.equals(obj);
-    }
-
     String getObjectPath ()
     {
         return m_full_path;

Modified: incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/PatternFeatureValues.java
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/PatternFeatureValues.java?rev=823566&r1=823565&r2=823566&view=diff
==============================================================================
--- incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/PatternFeatureValues.java (original)
+++ incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/PatternFeatureValues.java Fri Oct  9 14:37:50 2009
@@ -30,21 +30,6 @@
         m_pattern = Pattern.compile(pattern);
     }
     
-    public boolean equals(Object obj)
-    {
-        if (this == obj) {
-            return true;
-        }
-        if (!(obj instanceof PatternFeatureValues)) {
-            return false;
-        }
-        PatternFeatureValues other = (PatternFeatureValues)obj;
-        if (m_pattern == other.m_pattern) {
-            return super.equals(obj);
-        }
-        return false;
-    }
-
     public boolean matches (Object feature)
     {
         return m_pattern.matcher(getFeatureImage(feature)).find();

Modified: incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/RangeFeatureValues.java
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/RangeFeatureValues.java?rev=823566&r1=823565&r2=823566&view=diff
==============================================================================
--- incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/RangeFeatureValues.java (original)
+++ incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/RangeFeatureValues.java Fri Oct  9 14:37:50 2009
@@ -38,27 +38,7 @@
         m_upper_boundary = ub;
         m_upper_boundary_inclusive = ubi;
     }
-    
-    public boolean equals(Object obj)
-    {
-        if (this == obj) {
-            return true;
-        }
-        if (!(obj instanceof RangeFeatureValues)) {
-            return false;
-        }
-        RangeFeatureValues other = (RangeFeatureValues)obj;
-        if (!m_lower_boundary.equals(other.m_lower_boundary) ||
-            (m_lower_boundary_inclusive != other.m_lower_boundary_inclusive) ||
-            !m_upper_boundary.equals(other.m_upper_boundary) ||
-            (m_upper_boundary_inclusive != other.m_upper_boundary_inclusive)) {
-            return false;
-        }
-        return super.equals(obj);
-    }
-    
-    
-    
+
     public boolean matches (Object feature)
     {
         if (!(feature instanceof Number)) {

Modified: incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/SingleFeatureMatcher.java
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/SingleFeatureMatcher.java?rev=823566&r1=823565&r2=823566&view=diff
==============================================================================
--- incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/SingleFeatureMatcher.java (original)
+++ incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/SingleFeatureMatcher.java Fri Oct  9 14:37:50 2009
@@ -102,25 +102,6 @@
         this(feat_class_name, full_feat_path, exclude, quiet, new PatternFeatureValues(pattern));
     }
 
-    public boolean equals(Object obj)
-    {
-        if (this == obj) {
-            return true;
-        }
-        if (!(obj instanceof SingleFeatureMatcher)) {
-            return false;
-        }
-        SingleFeatureMatcher other = (SingleFeatureMatcher)obj;
-        if (!m_feature_matcher.equals(other.m_feature_matcher) ||
-            ((null == m_feature_values) && (null != other.m_feature_values)) ||
-            ((null != m_feature_values) && !m_feature_values.equals(other.m_feature_values)) ||
-            (m_exclude != other.m_exclude)) {
-            return false;
-        }
-        return super.equals(obj);
-    }
-
-
     public boolean matches (MatchedValue mv, List<MatchedValue> matchedValues)
     throws IllegalArgumentException, IllegalAccessException, InvocationTargetException
     {

Modified: incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/TargetAnnotationDescriptor.java
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/TargetAnnotationDescriptor.java?rev=823566&r1=823565&r2=823566&view=diff
==============================================================================
--- incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/TargetAnnotationDescriptor.java (original)
+++ incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/TargetAnnotationDescriptor.java Fri Oct  9 14:37:50 2009
@@ -46,24 +46,6 @@
         m_priorityOrder = priorityOrder;
    }
     
-    public boolean equals(Object obj)
-    {
-        if (this == obj) {
-            return true;
-        }
-        if (!(obj instanceof TargetAnnotationDescriptor)) {
-            return false;
-        }
-        TargetAnnotationDescriptor other = (TargetAnnotationDescriptor)obj;
-        if (!m_class_name.equals(other.m_class_name) ||
-            !m_enclosing_annotation_name.equals(other.m_enclosing_annotation_name) ||
-            !m_target_annotation_matcher.equals(other.m_target_annotation_matcher) ||
-            !m_feature_annotation_matchers.equals(other.m_feature_annotation_matchers)) {
-            return false;
-        }
-        return super.equals(obj);
-    }
-
     String getClassName ()
     {
         return m_class_name;

Modified: incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/TargetObjectMatcher.java
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/TargetObjectMatcher.java?rev=823566&r1=823565&r2=823566&view=diff
==============================================================================
--- incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/TargetObjectMatcher.java (original)
+++ incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/TargetObjectMatcher.java Fri Oct  9 14:37:50 2009
@@ -43,23 +43,7 @@
     static private final String KEYWORD_SORT = "sort";
     
     
-    public boolean equals (Object obj)
-    {
-        if (this == obj) {
-            return true;
-        }
-        if (!(obj instanceof TargetObjectMatcher)) {
-            return false;
-        }
-        TargetObjectMatcher other = (TargetObjectMatcher)obj;
-        if (!m_root_class.equals(other.m_root_class) ||
-            !isTargetClassMatches(other.m_target_class, true) ||
-            !m_target_path_tokens.equals(other.m_target_path_tokens)) {
-            return false;
-        }
-        return super.equals(obj);
-    }
-    
+
     private TargetObjectMatcher (Class<?> target_class, String[] full_target_path_tokens, boolean delimit_array_values)
     throws ClassNotFoundException
     {
@@ -112,14 +96,14 @@
 
     String getFeaturePathImage ()
     {
-        String result = "";
+        StringBuilder result = new StringBuilder();
         for (int i = 0; i < m_target_path_tokens.length; ++i) {
             if (0 != i) {
-                result += "_";
+                result.append("_");
             }
-            result += m_target_path_tokens[i];
+            result.append(m_target_path_tokens[i]);
         }
-        return result;
+        return result.toString();
     }
 
     boolean isDetached()

Modified: incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/UIMAFeatureConsumer.java
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/UIMAFeatureConsumer.java?rev=823566&r1=823565&r2=823566&view=diff
==============================================================================
--- incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/UIMAFeatureConsumer.java (original)
+++ incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/UIMAFeatureConsumer.java Fri Oct  9 14:37:50 2009
@@ -21,6 +21,7 @@
 
 import java.io.File;
 import java.io.FileOutputStream;
+import java.io.IOException;
 import java.util.Iterator;
 
 import org.apache.uima.cas.CAS;
@@ -83,7 +84,10 @@
             File f = new File(m_outdir);
             if (!f.exists()) {
                 System.err.println("Directory " + m_outdir + " does not exist, creating");
-                f.mkdirs();
+                if (!f.mkdirs()) {
+                    throw new IOException(
+                            String.format("failed to create an output directory \"%s\"", m_outdir));
+                }
             }
             
             FileOutputStream fos = new FileOutputStream(m_outdir + "/" + docId + ".fve");

Modified: incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/UIMAFeatureMatcher.java
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/UIMAFeatureMatcher.java?rev=823566&r1=823565&r2=823566&view=diff
==============================================================================
--- incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/UIMAFeatureMatcher.java (original)
+++ incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/UIMAFeatureMatcher.java Fri Oct  9 14:37:50 2009
@@ -61,10 +61,12 @@
         for (Iterator<MatchedAnnotationDescriptor> feat_it = features.iterator(); feat_it.hasNext();) {
             MatchedAnnotationDescriptor mad = feat_it.next();
             ComparableArray key = new ComparableArray(
-                new Integer[] {new Integer(mad.m_feature_mv.getAnnotation().getEnd()),
-                               new Integer(mad.m_feature_mv.getAnnotation().getBegin()),
-                               new Integer(mad.m_orderIndex),
-                               new Integer(m_featureImages.size())});
+                new Integer[] {
+                        Integer.valueOf(mad.m_feature_mv.getAnnotation().getEnd()),
+                        Integer.valueOf(mad.m_feature_mv.getAnnotation().getBegin()),
+                        Integer.valueOf(mad.m_orderIndex),
+                        Integer.valueOf(m_featureImages.size())
+                 });
             
             String feature = make_UIMA_feature(mad, make_image(mad, trg));
             m_featureImages.put(key, group_label + m_fieldSeparator + feature);

Modified: incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/impl/FeatureObjectMatcherXMLImpl.java
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/impl/FeatureObjectMatcherXMLImpl.java?rev=823566&r1=823565&r2=823566&view=diff
==============================================================================
--- incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/impl/FeatureObjectMatcherXMLImpl.java (original)
+++ incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/impl/FeatureObjectMatcherXMLImpl.java Fri Oct  9 14:37:50 2009
@@ -641,15 +641,15 @@
             case ConfigPackage.FEATURE_OBJECT_MATCHER_XML__ORIENTATION:
                 return isOrientation() ? Boolean.TRUE : Boolean.FALSE;
             case ConfigPackage.FEATURE_OBJECT_MATCHER_XML__WINDOW_FLAGS:
-                return new Integer(getWindowFlags());
+                return Integer.valueOf(getWindowFlags());
             case ConfigPackage.FEATURE_OBJECT_MATCHER_XML__WINDOWSIZE_ENCLOSED:
-                return new Integer(getWindowsizeEnclosed());
+                return Integer.valueOf(getWindowsizeEnclosed());
             case ConfigPackage.FEATURE_OBJECT_MATCHER_XML__WINDOWSIZE_INSIDE:
-                return new Integer(getWindowsizeInside());
+                return Integer.valueOf(getWindowsizeInside());
             case ConfigPackage.FEATURE_OBJECT_MATCHER_XML__WINDOWSIZE_LEFT:
-                return new Integer(getWindowsizeLeft());
+                return Integer.valueOf(getWindowsizeLeft());
             case ConfigPackage.FEATURE_OBJECT_MATCHER_XML__WINDOWSIZE_RIGHT:
-                return new Integer(getWindowsizeRight());
+                return Integer.valueOf(getWindowsizeRight());
         }
         return super.eGet(featureID, resolve, coreType);
     }
@@ -762,7 +762,7 @@
   {
         if (eIsProxy()) return super.toString();
 
-        StringBuffer result = new StringBuffer(super.toString());
+        StringBuilder result = new StringBuilder(super.toString());
         result.append(" (distance: ");
         if (distanceESet) result.append(distance); else result.append("<unset>");
         result.append(", orientation: ");

Modified: incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/support/ComparableArray.java
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/support/ComparableArray.java?rev=823566&r1=823565&r2=823566&view=diff
==============================================================================
--- incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/support/ComparableArray.java (original)
+++ incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/support/ComparableArray.java Fri Oct  9 14:37:50 2009
@@ -28,7 +28,7 @@
         m_src = src;
     }
     
-    int compare(Comparable[] ia1, Comparable[] ia2)
+    private int compare(Comparable[] ia1, Comparable[] ia2)
     {
         if (ia1 == ia2) {
             return 0;
@@ -50,20 +50,44 @@
     
     public int compareTo (Object other)
     {
-        return compare(m_src, ((ComparableArray)other).m_src);
+        if (null == other) {
+            return 1;
+        }
+
+        if (other instanceof ComparableArray) {
+            return compare(m_src, ((ComparableArray)other).m_src);
+        }
+        throw new ClassCastException("Cannot compare ComparableArray to object of type " + 
+            other.getClass().getName());
+    }
+    
+    public  boolean equals (Object other)
+    {
+        return 0 == compareTo(other);
     }
     
+    public int hashCode()
+    {
+        int result = 0;
+        result += Math.min(m_src.length, 9) * m_src.length;
+        for (int i = 0; i < m_src.length; ++i) {
+            result += Math.min(m_src.length, 9) * m_src[i].hashCode();
+        }
+        return result;
+    }
+
+    
     public String toString ()
     {
+        assert (null != m_src);
+        
         StringBuffer result = new StringBuffer(m_src.length * 8);
         result.append("[");
-        if (null != m_src) {
-            for (int i = 0; i < m_src.length; ++i) {
-                if (0 != i) {
-                    result.append(",");
-                }  
-                result.append(m_src[i]);
-            }
+        for (int i = 0; i < m_src.length; ++i) {
+            if (0 != i) {
+                result.append(",");
+            }  
+            result.append(m_src[i]);
         }
         result.append("]");
         return result.toString();

Modified: incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/support/SimpleFileBasedDictionary.java
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/support/SimpleFileBasedDictionary.java?rev=823566&r1=823565&r2=823566&view=diff
==============================================================================
--- incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/support/SimpleFileBasedDictionary.java (original)
+++ incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/support/SimpleFileBasedDictionary.java Fri Oct  9 14:37:50 2009
@@ -71,6 +71,7 @@
             }
             addLine(columns, cnt);
         }
+        bufReader.close();
     }
     
     public void save () throws IOException
@@ -79,6 +80,7 @@
         for (Iterator<String> it = m_storage.keySet().iterator(); it.hasNext();) {
             ps.println(make_line(it.next()));
         }
+        ps.close();
     }
 
     protected void addEntry (String key, T value, int linenum)