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/06/18 22:39:53 UTC

svn commit: r786255 [1/13] - in /incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor: ./ src/ src/main/ src/main/java/ src/main/java/org/ src/main/java/org/apache/ src/main/java/org/apache/uima/ src/main/java/org/apache/uima/tools/ src/main/java/...

Author: schor
Date: Thu Jun 18 20:39:50 2009
New Revision: 786255

URL: http://svn.apache.org/viewvc?rev=786255&view=rev
Log:
initial import

Added:
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/pom.xml
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/AnnotationMatchedValue.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/AppliedAnnotation.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/AppliedAnnotation_Type.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/ApplierInfoAnnotation.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/ApplierInfoAnnotation_Type.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/ArrayDelimiterObject.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/BitsetFeatureValues.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/CFEConfig.xsd
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/CFEConfigFromXML_Ecore.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/CFEConfigFromXML_XMLBeans.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/CollectionFeatureValues.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/CommonFeatureMatcher.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/EnumFeatureValues.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/FeatureObjectMatcher.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/FeatureValueConverter.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/FeatureValueNormalizer.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/FeatureValues.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/GroupFeatureMatcher.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/MatchedAnnotationDescriptor.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/MatchedSingleFeatureMatcher.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/MatchedValue.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/ObjectPathFeatureValues.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/OffsetDiff.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/PartialObjectMatcher.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/PatternFeatureValues.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/PrimitiveFeatureTransformer.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/RRMFeatureAnnotator.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/RRMFeatureMatcher.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/RangeFeatureValues.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/SenseAnnotation.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/SenseAnnotation_Type.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/SingleFeatureMatcher.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/TargetAnnotationDescriptor.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/TargetObjectMatcher.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/UIMAFeatureConsumer.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/UIMAFeatureMatcher.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/UIMAFeatureTransformer.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/BitsetFeatureValuesXML.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/CFEDescriptorXML.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/ConfigFactory.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/ConfigPackage.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/DocumentRoot.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/EnumFeatureValuesXML.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/FeatureObjectMatcherXML.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/GroupFeatureMatcherXML.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/ObjectPathFeatureValuesXML.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/PartialObjectMatcherXML.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/PatternFeatureValuesXML.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/RangeFeatureValuesXML.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/SingleFeatureMatcherXML.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/TargetAnnotationXML.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/impl/
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/impl/BitsetFeatureValuesXMLImpl.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/impl/CFEDescriptorXMLImpl.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/impl/ConfigFactoryImpl.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/impl/ConfigPackageImpl.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/impl/DocumentRootImpl.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/impl/EnumFeatureValuesXMLImpl.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/impl/FeatureObjectMatcherXMLImpl.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/impl/GroupFeatureMatcherXMLImpl.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/impl/ObjectPathFeatureValuesXMLImpl.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/impl/PartialObjectMatcherXMLImpl.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/impl/PatternFeatureValuesXMLImpl.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/impl/RangeFeatureValuesXMLImpl.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/impl/SingleFeatureMatcherXMLImpl.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/impl/TargetAnnotationXMLImpl.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/util/
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/util/ConfigAdapterFactory.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/util/ConfigResourceFactoryImpl.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/util/ConfigResourceImpl.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/util/ConfigResourceUtil.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/util/ConfigSwitch.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/util/ConfigXMLProcessor.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/xmlBeans/
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/xmlBeans/BitsetFeatureValuesXML.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/xmlBeans/CFEConfigDocument.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/xmlBeans/CFEDescriptorXML.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/xmlBeans/EnumFeatureValuesXML.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/xmlBeans/FeatureObjectMatcherXML.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/xmlBeans/GroupFeatureMatcherXML.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/xmlBeans/ObjectPathFeatureValuesXML.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/xmlBeans/PartialObjectMatcherXML.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/xmlBeans/PatternFeatureValuesXML.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/xmlBeans/RangeFeatureValuesXML.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/xmlBeans/SingleFeatureMatcherXML.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/xmlBeans/TargetAnnotationXML.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/xmlBeans/impl/
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/xmlBeans/impl/BitsetFeatureValuesXMLImpl.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/xmlBeans/impl/CFEConfigDocumentImpl.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/xmlBeans/impl/CFEDescriptorXMLImpl.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/xmlBeans/impl/EnumFeatureValuesXMLImpl.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/xmlBeans/impl/FeatureObjectMatcherXMLImpl.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/xmlBeans/impl/GroupFeatureMatcherXMLImpl.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/xmlBeans/impl/ObjectPathFeatureValuesXMLImpl.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/xmlBeans/impl/PartialObjectMatcherXMLImpl.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/xmlBeans/impl/PatternFeatureValuesXMLImpl.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/xmlBeans/impl/RangeFeatureValuesXMLImpl.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/xmlBeans/impl/SingleFeatureMatcherXMLImpl.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/config/xmlBeans/impl/TargetAnnotationXMLImpl.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/sample/
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/sample/CarAnnotation.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/sample/CarAnnotation_Type.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/sample/EngineAnnotation.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/sample/EngineAnnotation_Type.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/sample/WheelAnnotation.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/sample/WheelAnnotation_Type.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/support/
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/support/ArrayComparatorFinder.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/support/ComparableArray.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/support/DictionaryMatcher.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/support/EnumeratedEntryDictionary.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/support/FeatureConstrainedIterator.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/support/FileBasedDictionary.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/support/FileBasedResource.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/support/SimpleFileBasedDictionary.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/support/UIMAAnnotationOffsetComparator.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/support/UIMAAnnotationUtils.java
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/resources/
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/resources/descriptors/
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/resources/descriptors/cas_consumers/
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/resources/descriptors/cas_consumers/UIMAFeatureConsumer.xml
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/resources/descriptors/type_system/
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/resources/descriptors/type_system/AppliedSenseAnnotation.xml
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/test/
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/test/main/
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/test/main/java/
    incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/test/main/resources/

Added: incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/pom.xml
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/pom.xml?rev=786255&view=auto
==============================================================================
--- incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/pom.xml (added)
+++ incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/pom.xml Thu Jun 18 20:39:50 2009
@@ -0,0 +1,234 @@
+<!--
+	Licensed to the Apache Software Foundation (ASF) under one
+	or more contributor license agreements.  See the NOTICE file
+	distributed with this work for additional information
+	regarding copyright ownership.  The ASF licenses this file
+	to you under the Apache License, Version 2.0 (the
+	"License"); you may not use this file except in compliance
+	with the License.  You may obtain a copy of the License at
+	
+	http://www.apache.org/licenses/LICENSE-2.0
+	
+	Unless required by applicable law or agreed to in writing,
+	software distributed under the License is distributed on an
+	"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+	KIND, either express or implied.  See the License for the
+	specific language governing permissions and limitations
+	under the License.    
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>org.apache.uima</groupId>
+	<artifactId>ConfigurableFeatureExtractor</artifactId>
+	<packaging>jar</packaging>
+	<version>2.3-incubating-SNAPSHOT</version>
+	<name>Apache UIMA Java Tool - ConfigurableFeatureExtractor</name>
+	<url>http://incubator.apache.org/uima</url>
+	<dependencies>
+		<dependency>
+			<groupId>org.apache.uima</groupId>
+			<artifactId>uimaj-core</artifactId>
+			<version>2.2.2-incubating</version>
+			<scope>compile</scope>
+		</dependency>
+		<dependency>
+ 		    <groupId>commons-jxpath</groupId>
+			<artifactId>commons-jxpath</artifactId>
+			<version>1.3</version>
+	    </dependency>
+		<dependency>
+			<groupId>org.apache.xmlbeans</groupId>
+			<artifactId>xmlbeans</artifactId>
+			<version>2.4.0</version>
+		</dependency>
+        <dependency>
+            <groupId>org.eclipse.emf</groupId>
+            <artifactId>common</artifactId>
+            <version>2.3.0-v200706262000</version>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.emf.commonj</groupId>
+            <artifactId>sdo</artifactId>
+            <version>2.3.0-v200706262000</version>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.emf.ecore</groupId>
+            <artifactId>xmi</artifactId>
+            <version>2.3.0-v200706262000</version>
+			<exclusions>
+               <exclusion>
+                 <groupId>org.eclipse.emf</groupId>
+                 <artifactId>ecore</artifactId>
+              </exclusion>
+            </exclusions>
+        </dependency>        
+		<dependency>
+            <groupId>org.eclipse.emf.ecore</groupId>
+            <artifactId>sdo</artifactId>
+            <version>2.3.0-v200706262000</version>
+			<exclusions>
+               <exclusion>
+                 <groupId>org.eclipse.emf</groupId>
+                 <artifactId>ecore</artifactId>
+              </exclusion>
+	          <exclusion>
+                 <groupId>org.eclipse.emf.commonj</groupId>
+                 <artifactId>sdo</artifactId>
+              </exclusion>
+              <exclusion>
+                 <groupId>org.eclipse.emf.ecore</groupId>
+                 <artifactId>xmi</artifactId>
+              </exclusion>
+              <exclusion>
+                 <groupId>org.eclipse.emf.ecore</groupId>
+                 <artifactId>change</artifactId>
+              </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.emf</groupId>
+            <artifactId>ecore</artifactId>
+            <version>2.3.0-v200706262000</version>
+            <exclusions>
+               <exclusion>
+                 <groupId>org.eclipse.emf</groupId>
+                 <artifactId>common</artifactId>
+              </exclusion>
+            </exclusions>			
+        </dependency>
+	</dependencies>
+	<build>
+		<finalName>uima-tool-configurableFeatureExtractor</finalName>
+		<resources>
+			<resource>
+				<directory>src/main/resources</directory>
+			</resource>
+		</resources>
+		<plugins>
+		
+	      <plugin>
+	        <groupId>org.apache.maven.plugins</groupId>
+	        <artifactId>maven-compiler-plugin</artifactId>
+	        <configuration>
+	          <source>1.5</source>
+	          <target>1.5</target>
+	        </configuration>
+	      </plugin>
+		
+		   <plugin>
+		        <groupId>org.codehaus.mojo</groupId>
+		        <artifactId>buildnumber-maven-plugin</artifactId>
+		        <executions>
+		          <execution>
+		            <phase>process-classes</phase>
+		            <goals>
+		              <goal>create</goal>
+		            </goals>
+		          </execution>
+		        </executions>
+		        <configuration>
+		          <format>{0,date,yyyy-MM-dd HH:mm:ss}</format>
+		          <items>
+		            <item>timestamp</item>
+		          </items>
+		        </configuration>
+	      	</plugin>
+      
+      		<plugin>
+				<artifactId>maven-antrun-plugin</artifactId>
+				<executions>
+					<execution>
+						<id>CopyLicenseNoticeDisclaimer</id>
+						<phase>process-resources</phase>
+						<configuration>
+							<tasks>                    
+                				<copy todir="src/main/resources/META-INF">
+                  					<fileset dir="." includes="LICENSE NOTICE DISCLAIMER"/>
+                				</copy>
+                				<copy todir="target/classes/META-INF">
+                  					<fileset dir="." includes="LICENSE.txt NOTICE.txt DISCLAIMER"/>
+                				</copy>
+							</tasks>
+						</configuration>
+						<goals>
+							<goal>run</goal>
+						</goals>
+					</execution>
+					<!-- after compilation has been done and the files have been copied to the
+						 target directory, delete them from the source directory. -->
+					<execution>
+						<id>DeleteLicenseNoticeDisclaimer</id>
+						<phase>package</phase>
+						<configuration>
+							<tasks>
+								<delete dir="src/main/resources/META-INF" deleteOnExit="true" quiet="true" failOnError="false">
+									<fileset dir="src/main/resources/META-INF"
+										includes="LICENSE NOTICE DISCLAIMER"/>
+								</delete>
+							</tasks>
+						</configuration>
+						<goals>
+							<goal>run</goal>
+						</goals>
+					</execution>	
+					<!-- also delete on clean. -->
+					<execution>
+						<id>CleanLicenseNoticeDisclaimer</id>
+						<phase>clean</phase>
+						<configuration>
+							<tasks>
+								<delete dir="src/main/resources/META-INF" deleteOnExit="true" quiet="true" failOnError="false">
+									<fileset dir="src/main/resources/META-INF"
+										includes="LICENSE NOTICE DISCLAIMER"/>
+								</delete>
+							</tasks>
+						</configuration>
+						<goals>
+							<goal>run</goal>
+						</goals>
+					</execution>		          				
+					<execution>
+						<phase>package</phase>
+						<configuration>
+							<tasks>
+								<ant antfile="build_documentation.xml"/>
+							</tasks>
+						</configuration>
+						<goals>
+							<goal>run</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+              
+	        <plugin>
+		        <groupId>org.apache.maven.plugins</groupId>
+		        <artifactId>maven-jar-plugin</artifactId>
+		        <configuration>
+		          <archive>
+		            <manifestEntries>
+		              <Project-Title>Apache UIMA</Project-Title>
+		              <Implementation-Title>${pom.name}</Implementation-Title>
+		              <Implementation-Version>${pom.version}</Implementation-Version>
+		              <Implementation-Vendor>Apache Software Foundation</Implementation-Vendor>
+		              <Implementation-Url>${pom.url}</Implementation-Url>
+					        <Implementation-License>http://www.apache.org/licenses/LICENSE-2.0.txt</Implementation-License>
+		              <Build-Date>${buildNumber}</Build-Date>
+		            </manifestEntries>
+		          </archive>
+		        </configuration>
+      		</plugin> 
+
+		</plugins>
+	</build>
+	<repositories>
+		<repository>
+			<id>ApacheIncubatorRepository</id>
+			<url>
+				http://people.apache.org/repo/m2-incubating-repository/
+			</url>
+		</repository>
+	</repositories>
+</project>

Added: incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/AnnotationMatchedValue.java
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/AnnotationMatchedValue.java?rev=786255&view=auto
==============================================================================
--- incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/AnnotationMatchedValue.java (added)
+++ incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/AnnotationMatchedValue.java Thu Jun 18 20:39:50 2009
@@ -0,0 +1,43 @@
+package org.apache.uima.tools.cfe;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.apache.uima.jcas.tcas.Annotation;
+
+public class AnnotationMatchedValue extends MatchedValue
+{
+
+    public AnnotationMatchedValue (MatchedValue mv)
+    {
+        super(mv.m_matchedObject, mv.m_orderedPath);
+        getAnnotation(); // should throw an exception if m_matchedObject is not of Annotation type 
+    }
+
+    public AnnotationMatchedValue (Annotation matchedObject)
+    {
+        super(matchedObject);
+    }
+    
+    public AnnotationMatchedValue (Annotation matchedObject,
+                                   List<Object> orderedPath)
+    {
+        super(matchedObject, orderedPath);
+    }
+
+    
+    
+    public Annotation getAnnotation()
+    {
+        return (Annotation)super.m_matchedObject;
+    }
+    
+    public static Collection<AnnotationMatchedValue> upcast (Collection<AnnotationMatchedValue> trg,
+                                                             Collection<MatchedValue>           src)
+    {
+        for (MatchedValue mv : src) {
+            trg.add(new AnnotationMatchedValue(mv));
+        }
+        return trg;
+    }
+}

Added: incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/AppliedAnnotation.java
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/AppliedAnnotation.java?rev=786255&view=auto
==============================================================================
--- incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/AppliedAnnotation.java (added)
+++ incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/AppliedAnnotation.java Thu Jun 18 20:39:50 2009
@@ -0,0 +1,98 @@
+
+
+/* First created by JCasGen Tue Mar 18 14:49:11 EDT 2008 */
+package org.apache.uima.tools.cfe;
+
+import org.apache.uima.jcas.JCas; 
+import org.apache.uima.jcas.JCasRegistry;
+import org.apache.uima.jcas.cas.TOP_Type;
+
+import org.apache.uima.jcas.tcas.Annotation;
+
+
+/** Annotation that contains truth(if available) and assigned senses
+ * Updated by JCasGen Tue Mar 18 14:49:11 EDT 2008
+ * XML source: C:/eclipse/CFE/org/apache/uima/cfe/AppliedSenseAnnotation.xml
+ * @generated */
+public class AppliedAnnotation extends Annotation {
+  /** @generated
+   * @ordered 
+   */
+  public final static int typeIndexID = JCasRegistry.register(AppliedAnnotation.class);
+  /** @generated
+   * @ordered 
+   */
+  public final static int type = typeIndexID;
+  /** @generated  */
+  public              int getTypeIndexID() {return typeIndexID;}
+ 
+  /** Never called.  Disable default constructor
+   * @generated */
+  protected AppliedAnnotation() {}
+    
+  /** Internal - constructor used by generator 
+   * @generated */
+  public AppliedAnnotation(int addr, TOP_Type type) {
+    super(addr, type);
+    readObject();
+  }
+  
+  /** @generated */
+  public AppliedAnnotation(JCas jcas) {
+    super(jcas);
+    readObject();   
+  } 
+
+  /** @generated */  
+  public AppliedAnnotation(JCas jcas, int begin, int end) {
+    super(jcas);
+    setBegin(begin);
+    setEnd(end);
+    readObject();
+  }   
+
+  /** <!-- begin-user-doc -->
+    * Write your own initialization here
+    * <!-- end-user-doc -->
+  @generated modifiable */
+  private void readObject() {}
+     
+ 
+    
+  //*--------------*
+  //* Feature: Assigned
+
+  /** getter for Assigned - gets Annotation that contains information about sense assigned by applier
+   * @generated */
+  public SenseAnnotation getAssigned() {
+    if (AppliedAnnotation_Type.featOkTst && ((AppliedAnnotation_Type)jcasType).casFeat_Assigned == null)
+      jcasType.jcas.throwFeatMissing("Assigned", "org.apache.uima.cfe.AppliedAnnotation");
+    return (SenseAnnotation)(jcasType.ll_cas.ll_getFSForRef(jcasType.ll_cas.ll_getRefValue(addr, ((AppliedAnnotation_Type)jcasType).casFeatCode_Assigned)));}
+    
+  /** setter for Assigned - sets Annotation that contains information about sense assigned by applier 
+   * @generated */
+  public void setAssigned(SenseAnnotation v) {
+    if (AppliedAnnotation_Type.featOkTst && ((AppliedAnnotation_Type)jcasType).casFeat_Assigned == null)
+      jcasType.jcas.throwFeatMissing("Assigned", "org.apache.uima.cfe.AppliedAnnotation");
+    jcasType.ll_cas.ll_setRefValue(addr, ((AppliedAnnotation_Type)jcasType).casFeatCode_Assigned, jcasType.ll_cas.ll_getFSRef(v));}    
+   
+    
+  //*--------------*
+  //* Feature: Truth
+
+  /** getter for Truth - gets Annotation that contains information about manualy preannotated sense
+   * @generated */
+  public SenseAnnotation getTruth() {
+    if (AppliedAnnotation_Type.featOkTst && ((AppliedAnnotation_Type)jcasType).casFeat_Truth == null)
+      jcasType.jcas.throwFeatMissing("Truth", "org.apache.uima.cfe.AppliedAnnotation");
+    return (SenseAnnotation)(jcasType.ll_cas.ll_getFSForRef(jcasType.ll_cas.ll_getRefValue(addr, ((AppliedAnnotation_Type)jcasType).casFeatCode_Truth)));}
+    
+  /** setter for Truth - sets Annotation that contains information about manualy preannotated sense 
+   * @generated */
+  public void setTruth(SenseAnnotation v) {
+    if (AppliedAnnotation_Type.featOkTst && ((AppliedAnnotation_Type)jcasType).casFeat_Truth == null)
+      jcasType.jcas.throwFeatMissing("Truth", "org.apache.uima.cfe.AppliedAnnotation");
+    jcasType.ll_cas.ll_setRefValue(addr, ((AppliedAnnotation_Type)jcasType).casFeatCode_Truth, jcasType.ll_cas.ll_getFSRef(v));}    
+  }
+
+    
\ No newline at end of file

Added: incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/AppliedAnnotation_Type.java
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/AppliedAnnotation_Type.java?rev=786255&view=auto
==============================================================================
--- incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/AppliedAnnotation_Type.java (added)
+++ incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/AppliedAnnotation_Type.java Thu Jun 18 20:39:50 2009
@@ -0,0 +1,101 @@
+
+/* First created by JCasGen Tue Mar 18 14:49:11 EDT 2008 */
+package org.apache.uima.tools.cfe;
+
+import org.apache.uima.jcas.JCas;
+import org.apache.uima.jcas.JCasRegistry;
+import org.apache.uima.cas.impl.CASImpl;
+import org.apache.uima.cas.impl.FSGenerator;
+import org.apache.uima.cas.FeatureStructure;
+import org.apache.uima.cas.impl.TypeImpl;
+import org.apache.uima.cas.Type;
+import org.apache.uima.cas.impl.FeatureImpl;
+import org.apache.uima.cas.Feature;
+import org.apache.uima.jcas.tcas.Annotation_Type;
+
+/** Annotation that contains truth(if available) and assigned senses
+ * Updated by JCasGen Tue Mar 18 14:49:11 EDT 2008
+ * @generated */
+public class AppliedAnnotation_Type extends Annotation_Type {
+  /** @generated */
+  protected FSGenerator getFSGenerator() {return fsGenerator;}
+  /** @generated */
+  private final FSGenerator fsGenerator = 
+    new FSGenerator() {
+      public FeatureStructure createFS(int addr, CASImpl cas) {
+  			 if (AppliedAnnotation_Type.this.useExistingInstance) {
+  			   // Return eq fs instance if already created
+  		     FeatureStructure fs = AppliedAnnotation_Type.this.jcas.getJfsFromCaddr(addr);
+  		     if (null == fs) {
+  		       fs = new AppliedAnnotation(addr, AppliedAnnotation_Type.this);
+  			   AppliedAnnotation_Type.this.jcas.putJfsFromCaddr(addr, fs);
+  			   return fs;
+  		     }
+  		     return fs;
+        } else return new AppliedAnnotation(addr, AppliedAnnotation_Type.this);
+  	  }
+    };
+  /** @generated */
+  public final static int typeIndexID = AppliedAnnotation.typeIndexID;
+  /** @generated 
+     @modifiable */
+  public final static boolean featOkTst = JCasRegistry.getFeatOkTst("org.apache.uima.cfe.AppliedAnnotation");
+ 
+  /** @generated */
+  final Feature casFeat_Assigned;
+  /** @generated */
+  final int     casFeatCode_Assigned;
+  /** @generated */ 
+  public int getAssigned(int addr) {
+        if (featOkTst && casFeat_Assigned == null)
+      jcas.throwFeatMissing("Assigned", "org.apache.uima.cfe.AppliedAnnotation");
+    return ll_cas.ll_getRefValue(addr, casFeatCode_Assigned);
+  }
+  /** @generated */    
+  public void setAssigned(int addr, int v) {
+        if (featOkTst && casFeat_Assigned == null)
+      jcas.throwFeatMissing("Assigned", "org.apache.uima.cfe.AppliedAnnotation");
+    ll_cas.ll_setRefValue(addr, casFeatCode_Assigned, v);}
+    
+  
+ 
+  /** @generated */
+  final Feature casFeat_Truth;
+  /** @generated */
+  final int     casFeatCode_Truth;
+  /** @generated */ 
+  public int getTruth(int addr) {
+        if (featOkTst && casFeat_Truth == null)
+      jcas.throwFeatMissing("Truth", "org.apache.uima.cfe.AppliedAnnotation");
+    return ll_cas.ll_getRefValue(addr, casFeatCode_Truth);
+  }
+  /** @generated */    
+  public void setTruth(int addr, int v) {
+        if (featOkTst && casFeat_Truth == null)
+      jcas.throwFeatMissing("Truth", "org.apache.uima.cfe.AppliedAnnotation");
+    ll_cas.ll_setRefValue(addr, casFeatCode_Truth, v);}
+    
+  
+
+
+
+  /** initialize variables to correspond with Cas Type and Features
+	* @generated */
+  public AppliedAnnotation_Type(JCas jcas, Type casType) {
+    super(jcas, casType);
+    casImpl.getFSClassRegistry().addGeneratorForType((TypeImpl)this.casType, getFSGenerator());
+
+ 
+    casFeat_Assigned = jcas.getRequiredFeatureDE(casType, "Assigned", "org.apache.uima.cfe.SenseAnnotation", featOkTst);
+    casFeatCode_Assigned  = (null == casFeat_Assigned) ? JCas.INVALID_FEATURE_CODE : ((FeatureImpl)casFeat_Assigned).getCode();
+
+ 
+    casFeat_Truth = jcas.getRequiredFeatureDE(casType, "Truth", "org.apache.uima.cfe.SenseAnnotation", featOkTst);
+    casFeatCode_Truth  = (null == casFeat_Truth) ? JCas.INVALID_FEATURE_CODE : ((FeatureImpl)casFeat_Truth).getCode();
+
+  }
+}
+
+
+
+    
\ No newline at end of file

Added: incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/ApplierInfoAnnotation.java
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/ApplierInfoAnnotation.java?rev=786255&view=auto
==============================================================================
--- incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/ApplierInfoAnnotation.java (added)
+++ incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/ApplierInfoAnnotation.java Thu Jun 18 20:39:50 2009
@@ -0,0 +1,167 @@
+
+
+/* First created by JCasGen Tue Mar 18 14:49:11 EDT 2008 */
+package org.apache.uima.tools.cfe;
+
+import org.apache.uima.jcas.JCas; 
+import org.apache.uima.jcas.JCasRegistry;
+import org.apache.uima.jcas.cas.TOP_Type;
+
+import org.apache.uima.jcas.tcas.Annotation;
+import org.apache.uima.jcas.cas.StringArray;
+
+
+/** 
+ * Updated by JCasGen Tue Mar 18 14:49:11 EDT 2008
+ * XML source: C:/eclipse/CFE/org/apache/uima/cfe/AppliedSenseAnnotation.xml
+ * @generated */
+public class ApplierInfoAnnotation extends Annotation {
+  /** @generated
+   * @ordered 
+   */
+  public final static int typeIndexID = JCasRegistry.register(ApplierInfoAnnotation.class);
+  /** @generated
+   * @ordered 
+   */
+  public final static int type = typeIndexID;
+  /** @generated  */
+  public              int getTypeIndexID() {return typeIndexID;}
+ 
+  /** Never called.  Disable default constructor
+   * @generated */
+  protected ApplierInfoAnnotation() {}
+    
+  /** Internal - constructor used by generator 
+   * @generated */
+  public ApplierInfoAnnotation(int addr, TOP_Type type) {
+    super(addr, type);
+    readObject();
+  }
+  
+  /** @generated */
+  public ApplierInfoAnnotation(JCas jcas) {
+    super(jcas);
+    readObject();   
+  } 
+
+  /** @generated */  
+  public ApplierInfoAnnotation(JCas jcas, int begin, int end) {
+    super(jcas);
+    setBegin(begin);
+    setEnd(end);
+    readObject();
+  }   
+
+  /** <!-- begin-user-doc -->
+    * Write your own initialization here
+    * <!-- end-user-doc -->
+  @generated modifiable */
+  private void readObject() {}
+     
+ 
+    
+  //*--------------*
+  //* Feature: Features
+
+  /** getter for Features - gets List of features for a term
+   * @generated */
+  public StringArray getFeatures() {
+    if (ApplierInfoAnnotation_Type.featOkTst && ((ApplierInfoAnnotation_Type)jcasType).casFeat_Features == null)
+      jcasType.jcas.throwFeatMissing("Features", "org.apache.uima.cfe.ApplierInfoAnnotation");
+    return (StringArray)(jcasType.ll_cas.ll_getFSForRef(jcasType.ll_cas.ll_getRefValue(addr, ((ApplierInfoAnnotation_Type)jcasType).casFeatCode_Features)));}
+    
+  /** setter for Features - sets List of features for a term 
+   * @generated */
+  public void setFeatures(StringArray v) {
+    if (ApplierInfoAnnotation_Type.featOkTst && ((ApplierInfoAnnotation_Type)jcasType).casFeat_Features == null)
+      jcasType.jcas.throwFeatMissing("Features", "org.apache.uima.cfe.ApplierInfoAnnotation");
+    jcasType.ll_cas.ll_setRefValue(addr, ((ApplierInfoAnnotation_Type)jcasType).casFeatCode_Features, jcasType.ll_cas.ll_getFSRef(v));}    
+    
+  /** indexed getter for Features - gets an indexed value - List of features for a term
+   * @generated */
+  public String getFeatures(int i) {
+    if (ApplierInfoAnnotation_Type.featOkTst && ((ApplierInfoAnnotation_Type)jcasType).casFeat_Features == null)
+      jcasType.jcas.throwFeatMissing("Features", "org.apache.uima.cfe.ApplierInfoAnnotation");
+    jcasType.jcas.checkArrayBounds(jcasType.ll_cas.ll_getRefValue(addr, ((ApplierInfoAnnotation_Type)jcasType).casFeatCode_Features), i);
+    return jcasType.ll_cas.ll_getStringArrayValue(jcasType.ll_cas.ll_getRefValue(addr, ((ApplierInfoAnnotation_Type)jcasType).casFeatCode_Features), i);}
+
+  /** indexed setter for Features - sets an indexed value - List of features for a term
+   * @generated */
+  public void setFeatures(int i, String v) { 
+    if (ApplierInfoAnnotation_Type.featOkTst && ((ApplierInfoAnnotation_Type)jcasType).casFeat_Features == null)
+      jcasType.jcas.throwFeatMissing("Features", "org.apache.uima.cfe.ApplierInfoAnnotation");
+    jcasType.jcas.checkArrayBounds(jcasType.ll_cas.ll_getRefValue(addr, ((ApplierInfoAnnotation_Type)jcasType).casFeatCode_Features), i);
+    jcasType.ll_cas.ll_setStringArrayValue(jcasType.ll_cas.ll_getRefValue(addr, ((ApplierInfoAnnotation_Type)jcasType).casFeatCode_Features), i, v);}
+   
+    
+  //*--------------*
+  //* Feature: AppliedAnnotation
+
+  /** getter for AppliedAnnotation - gets Annotation that contains assigned senses as well as it might contain onfo about manualy preannotated sense
+   * @generated */
+  public AppliedAnnotation getAppliedAnnotation() {
+    if (ApplierInfoAnnotation_Type.featOkTst && ((ApplierInfoAnnotation_Type)jcasType).casFeat_AppliedAnnotation == null)
+      jcasType.jcas.throwFeatMissing("AppliedAnnotation", "org.apache.uima.cfe.ApplierInfoAnnotation");
+    return (AppliedAnnotation)(jcasType.ll_cas.ll_getFSForRef(jcasType.ll_cas.ll_getRefValue(addr, ((ApplierInfoAnnotation_Type)jcasType).casFeatCode_AppliedAnnotation)));}
+    
+  /** setter for AppliedAnnotation - sets Annotation that contains assigned senses as well as it might contain onfo about manualy preannotated sense 
+   * @generated */
+  public void setAppliedAnnotation(AppliedAnnotation v) {
+    if (ApplierInfoAnnotation_Type.featOkTst && ((ApplierInfoAnnotation_Type)jcasType).casFeat_AppliedAnnotation == null)
+      jcasType.jcas.throwFeatMissing("AppliedAnnotation", "org.apache.uima.cfe.ApplierInfoAnnotation");
+    jcasType.ll_cas.ll_setRefValue(addr, ((ApplierInfoAnnotation_Type)jcasType).casFeatCode_AppliedAnnotation, jcasType.ll_cas.ll_getFSRef(v));}    
+   
+    
+  //*--------------*
+  //* Feature: Context
+
+  /** getter for Context - gets 
+   * @generated */
+  public StringArray getContext() {
+    if (ApplierInfoAnnotation_Type.featOkTst && ((ApplierInfoAnnotation_Type)jcasType).casFeat_Context == null)
+      jcasType.jcas.throwFeatMissing("Context", "org.apache.uima.cfe.ApplierInfoAnnotation");
+    return (StringArray)(jcasType.ll_cas.ll_getFSForRef(jcasType.ll_cas.ll_getRefValue(addr, ((ApplierInfoAnnotation_Type)jcasType).casFeatCode_Context)));}
+    
+  /** setter for Context - sets  
+   * @generated */
+  public void setContext(StringArray v) {
+    if (ApplierInfoAnnotation_Type.featOkTst && ((ApplierInfoAnnotation_Type)jcasType).casFeat_Context == null)
+      jcasType.jcas.throwFeatMissing("Context", "org.apache.uima.cfe.ApplierInfoAnnotation");
+    jcasType.ll_cas.ll_setRefValue(addr, ((ApplierInfoAnnotation_Type)jcasType).casFeatCode_Context, jcasType.ll_cas.ll_getFSRef(v));}    
+    
+  /** indexed getter for Context - gets an indexed value - 
+   * @generated */
+  public String getContext(int i) {
+    if (ApplierInfoAnnotation_Type.featOkTst && ((ApplierInfoAnnotation_Type)jcasType).casFeat_Context == null)
+      jcasType.jcas.throwFeatMissing("Context", "org.apache.uima.cfe.ApplierInfoAnnotation");
+    jcasType.jcas.checkArrayBounds(jcasType.ll_cas.ll_getRefValue(addr, ((ApplierInfoAnnotation_Type)jcasType).casFeatCode_Context), i);
+    return jcasType.ll_cas.ll_getStringArrayValue(jcasType.ll_cas.ll_getRefValue(addr, ((ApplierInfoAnnotation_Type)jcasType).casFeatCode_Context), i);}
+
+  /** indexed setter for Context - sets an indexed value - 
+   * @generated */
+  public void setContext(int i, String v) { 
+    if (ApplierInfoAnnotation_Type.featOkTst && ((ApplierInfoAnnotation_Type)jcasType).casFeat_Context == null)
+      jcasType.jcas.throwFeatMissing("Context", "org.apache.uima.cfe.ApplierInfoAnnotation");
+    jcasType.jcas.checkArrayBounds(jcasType.ll_cas.ll_getRefValue(addr, ((ApplierInfoAnnotation_Type)jcasType).casFeatCode_Context), i);
+    jcasType.ll_cas.ll_setStringArrayValue(jcasType.ll_cas.ll_getRefValue(addr, ((ApplierInfoAnnotation_Type)jcasType).casFeatCode_Context), i, v);}
+   
+    
+  //*--------------*
+  //* Feature: DocumentId
+
+  /** getter for DocumentId - gets unique id of a document (used in tf*idf calculations)
+   * @generated */
+  public String getDocumentId() {
+    if (ApplierInfoAnnotation_Type.featOkTst && ((ApplierInfoAnnotation_Type)jcasType).casFeat_DocumentId == null)
+      jcasType.jcas.throwFeatMissing("DocumentId", "org.apache.uima.cfe.ApplierInfoAnnotation");
+    return jcasType.ll_cas.ll_getStringValue(addr, ((ApplierInfoAnnotation_Type)jcasType).casFeatCode_DocumentId);}
+    
+  /** setter for DocumentId - sets unique id of a document (used in tf*idf calculations) 
+   * @generated */
+  public void setDocumentId(String v) {
+    if (ApplierInfoAnnotation_Type.featOkTst && ((ApplierInfoAnnotation_Type)jcasType).casFeat_DocumentId == null)
+      jcasType.jcas.throwFeatMissing("DocumentId", "org.apache.uima.cfe.ApplierInfoAnnotation");
+    jcasType.ll_cas.ll_setStringValue(addr, ((ApplierInfoAnnotation_Type)jcasType).casFeatCode_DocumentId, v);}    
+  }
+
+    
\ No newline at end of file

Added: incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/ApplierInfoAnnotation_Type.java
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/ApplierInfoAnnotation_Type.java?rev=786255&view=auto
==============================================================================
--- incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/ApplierInfoAnnotation_Type.java (added)
+++ incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/ApplierInfoAnnotation_Type.java Thu Jun 18 20:39:50 2009
@@ -0,0 +1,183 @@
+
+/* First created by JCasGen Tue Mar 18 14:49:11 EDT 2008 */
+package org.apache.uima.tools.cfe;
+
+import org.apache.uima.jcas.JCas;
+import org.apache.uima.jcas.JCasRegistry;
+import org.apache.uima.cas.impl.CASImpl;
+import org.apache.uima.cas.impl.FSGenerator;
+import org.apache.uima.cas.FeatureStructure;
+import org.apache.uima.cas.impl.TypeImpl;
+import org.apache.uima.cas.Type;
+import org.apache.uima.cas.impl.FeatureImpl;
+import org.apache.uima.cas.Feature;
+import org.apache.uima.jcas.tcas.Annotation_Type;
+
+/** 
+ * Updated by JCasGen Tue Mar 18 14:49:11 EDT 2008
+ * @generated */
+public class ApplierInfoAnnotation_Type extends Annotation_Type {
+  /** @generated */
+  protected FSGenerator getFSGenerator() {return fsGenerator;}
+  /** @generated */
+  private final FSGenerator fsGenerator = 
+    new FSGenerator() {
+      public FeatureStructure createFS(int addr, CASImpl cas) {
+  			 if (ApplierInfoAnnotation_Type.this.useExistingInstance) {
+  			   // Return eq fs instance if already created
+  		     FeatureStructure fs = ApplierInfoAnnotation_Type.this.jcas.getJfsFromCaddr(addr);
+  		     if (null == fs) {
+  		       fs = new ApplierInfoAnnotation(addr, ApplierInfoAnnotation_Type.this);
+  			   ApplierInfoAnnotation_Type.this.jcas.putJfsFromCaddr(addr, fs);
+  			   return fs;
+  		     }
+  		     return fs;
+        } else return new ApplierInfoAnnotation(addr, ApplierInfoAnnotation_Type.this);
+  	  }
+    };
+  /** @generated */
+  public final static int typeIndexID = ApplierInfoAnnotation.typeIndexID;
+  /** @generated 
+     @modifiable */
+  public final static boolean featOkTst = JCasRegistry.getFeatOkTst("org.apache.uima.cfe.ApplierInfoAnnotation");
+ 
+  /** @generated */
+  final Feature casFeat_Features;
+  /** @generated */
+  final int     casFeatCode_Features;
+  /** @generated */ 
+  public int getFeatures(int addr) {
+        if (featOkTst && casFeat_Features == null)
+      jcas.throwFeatMissing("Features", "org.apache.uima.cfe.ApplierInfoAnnotation");
+    return ll_cas.ll_getRefValue(addr, casFeatCode_Features);
+  }
+  /** @generated */    
+  public void setFeatures(int addr, int v) {
+        if (featOkTst && casFeat_Features == null)
+      jcas.throwFeatMissing("Features", "org.apache.uima.cfe.ApplierInfoAnnotation");
+    ll_cas.ll_setRefValue(addr, casFeatCode_Features, v);}
+    
+   /** @generated */
+  public String getFeatures(int addr, int i) {
+        if (featOkTst && casFeat_Features == null)
+      jcas.throwFeatMissing("Features", "org.apache.uima.cfe.ApplierInfoAnnotation");
+    if (lowLevelTypeChecks)
+      return ll_cas.ll_getStringArrayValue(ll_cas.ll_getRefValue(addr, casFeatCode_Features), i, true);
+    jcas.checkArrayBounds(ll_cas.ll_getRefValue(addr, casFeatCode_Features), i);
+	return ll_cas.ll_getStringArrayValue(ll_cas.ll_getRefValue(addr, casFeatCode_Features), i);
+  }
+   
+  /** @generated */ 
+  public void setFeatures(int addr, int i, String v) {
+        if (featOkTst && casFeat_Features == null)
+      jcas.throwFeatMissing("Features", "org.apache.uima.cfe.ApplierInfoAnnotation");
+    if (lowLevelTypeChecks)
+      ll_cas.ll_setStringArrayValue(ll_cas.ll_getRefValue(addr, casFeatCode_Features), i, v, true);
+    jcas.checkArrayBounds(ll_cas.ll_getRefValue(addr, casFeatCode_Features), i);
+    ll_cas.ll_setStringArrayValue(ll_cas.ll_getRefValue(addr, casFeatCode_Features), i, v);
+  }
+ 
+ 
+  /** @generated */
+  final Feature casFeat_AppliedAnnotation;
+  /** @generated */
+  final int     casFeatCode_AppliedAnnotation;
+  /** @generated */ 
+  public int getAppliedAnnotation(int addr) {
+        if (featOkTst && casFeat_AppliedAnnotation == null)
+      jcas.throwFeatMissing("AppliedAnnotation", "org.apache.uima.cfe.ApplierInfoAnnotation");
+    return ll_cas.ll_getRefValue(addr, casFeatCode_AppliedAnnotation);
+  }
+  /** @generated */    
+  public void setAppliedAnnotation(int addr, int v) {
+        if (featOkTst && casFeat_AppliedAnnotation == null)
+      jcas.throwFeatMissing("AppliedAnnotation", "org.apache.uima.cfe.ApplierInfoAnnotation");
+    ll_cas.ll_setRefValue(addr, casFeatCode_AppliedAnnotation, v);}
+    
+  
+ 
+  /** @generated */
+  final Feature casFeat_Context;
+  /** @generated */
+  final int     casFeatCode_Context;
+  /** @generated */ 
+  public int getContext(int addr) {
+        if (featOkTst && casFeat_Context == null)
+      jcas.throwFeatMissing("Context", "org.apache.uima.cfe.ApplierInfoAnnotation");
+    return ll_cas.ll_getRefValue(addr, casFeatCode_Context);
+  }
+  /** @generated */    
+  public void setContext(int addr, int v) {
+        if (featOkTst && casFeat_Context == null)
+      jcas.throwFeatMissing("Context", "org.apache.uima.cfe.ApplierInfoAnnotation");
+    ll_cas.ll_setRefValue(addr, casFeatCode_Context, v);}
+    
+   /** @generated */
+  public String getContext(int addr, int i) {
+        if (featOkTst && casFeat_Context == null)
+      jcas.throwFeatMissing("Context", "org.apache.uima.cfe.ApplierInfoAnnotation");
+    if (lowLevelTypeChecks)
+      return ll_cas.ll_getStringArrayValue(ll_cas.ll_getRefValue(addr, casFeatCode_Context), i, true);
+    jcas.checkArrayBounds(ll_cas.ll_getRefValue(addr, casFeatCode_Context), i);
+	return ll_cas.ll_getStringArrayValue(ll_cas.ll_getRefValue(addr, casFeatCode_Context), i);
+  }
+   
+  /** @generated */ 
+  public void setContext(int addr, int i, String v) {
+        if (featOkTst && casFeat_Context == null)
+      jcas.throwFeatMissing("Context", "org.apache.uima.cfe.ApplierInfoAnnotation");
+    if (lowLevelTypeChecks)
+      ll_cas.ll_setStringArrayValue(ll_cas.ll_getRefValue(addr, casFeatCode_Context), i, v, true);
+    jcas.checkArrayBounds(ll_cas.ll_getRefValue(addr, casFeatCode_Context), i);
+    ll_cas.ll_setStringArrayValue(ll_cas.ll_getRefValue(addr, casFeatCode_Context), i, v);
+  }
+ 
+ 
+  /** @generated */
+  final Feature casFeat_DocumentId;
+  /** @generated */
+  final int     casFeatCode_DocumentId;
+  /** @generated */ 
+  public String getDocumentId(int addr) {
+        if (featOkTst && casFeat_DocumentId == null)
+      jcas.throwFeatMissing("DocumentId", "org.apache.uima.cfe.ApplierInfoAnnotation");
+    return ll_cas.ll_getStringValue(addr, casFeatCode_DocumentId);
+  }
+  /** @generated */    
+  public void setDocumentId(int addr, String v) {
+        if (featOkTst && casFeat_DocumentId == null)
+      jcas.throwFeatMissing("DocumentId", "org.apache.uima.cfe.ApplierInfoAnnotation");
+    ll_cas.ll_setStringValue(addr, casFeatCode_DocumentId, v);}
+    
+  
+
+
+
+  /** initialize variables to correspond with Cas Type and Features
+	* @generated */
+  public ApplierInfoAnnotation_Type(JCas jcas, Type casType) {
+    super(jcas, casType);
+    casImpl.getFSClassRegistry().addGeneratorForType((TypeImpl)this.casType, getFSGenerator());
+
+ 
+    casFeat_Features = jcas.getRequiredFeatureDE(casType, "Features", "uima.cas.StringArray", featOkTst);
+    casFeatCode_Features  = (null == casFeat_Features) ? JCas.INVALID_FEATURE_CODE : ((FeatureImpl)casFeat_Features).getCode();
+
+ 
+    casFeat_AppliedAnnotation = jcas.getRequiredFeatureDE(casType, "AppliedAnnotation", "org.apache.uima.cfe.AppliedAnnotation", featOkTst);
+    casFeatCode_AppliedAnnotation  = (null == casFeat_AppliedAnnotation) ? JCas.INVALID_FEATURE_CODE : ((FeatureImpl)casFeat_AppliedAnnotation).getCode();
+
+ 
+    casFeat_Context = jcas.getRequiredFeatureDE(casType, "Context", "uima.cas.StringArray", featOkTst);
+    casFeatCode_Context  = (null == casFeat_Context) ? JCas.INVALID_FEATURE_CODE : ((FeatureImpl)casFeat_Context).getCode();
+
+ 
+    casFeat_DocumentId = jcas.getRequiredFeatureDE(casType, "DocumentId", "uima.cas.String", featOkTst);
+    casFeatCode_DocumentId  = (null == casFeat_DocumentId) ? JCas.INVALID_FEATURE_CODE : ((FeatureImpl)casFeat_DocumentId).getCode();
+
+  }
+}
+
+
+
+    
\ No newline at end of file

Added: incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/ArrayDelimiterObject.java
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/ArrayDelimiterObject.java?rev=786255&view=auto
==============================================================================
--- incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/ArrayDelimiterObject.java (added)
+++ incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/ArrayDelimiterObject.java Thu Jun 18 20:39:50 2009
@@ -0,0 +1,14 @@
+package org.apache.uima.tools.cfe;
+
+
+public class ArrayDelimiterObject
+{
+    public final int m_level;
+    
+    ArrayDelimiterObject (int level)
+    {
+        m_level = level;
+    }
+}
+
+

Added: incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/BitsetFeatureValues.java
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/BitsetFeatureValues.java?rev=786255&view=auto
==============================================================================
--- incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/BitsetFeatureValues.java (added)
+++ incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/BitsetFeatureValues.java Thu Jun 18 20:39:50 2009
@@ -0,0 +1,27 @@
+package org.apache.uima.tools.cfe;
+
+public class BitsetFeatureValues implements FeatureValues
+{
+    final int m_bitmask;
+    final boolean m_exact_match;
+    
+    public BitsetFeatureValues(int bitmask, boolean exact_match)
+    {
+        m_bitmask = bitmask;
+        m_exact_match = exact_match;
+    }
+    
+    public boolean matches (Object feature)
+    {
+        if (feature instanceof Integer) {
+            int mask = ((Integer)feature).intValue();
+            return m_exact_match ? ((m_bitmask & mask) == m_bitmask) : ((m_bitmask & mask) != 0); 
+        }
+        return false;
+    }
+    
+    public String getFeatureImage (Object feature)
+    {
+        return feature.toString();
+    }
+}

Added: incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/CFEConfig.xsd
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/CFEConfig.xsd?rev=786255&view=auto
==============================================================================
--- incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/CFEConfig.xsd (added)
+++ incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/CFEConfig.xsd Thu Jun 18 20:39:50 2009
@@ -0,0 +1,172 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.apache.org/uima/tools/cfe/config" xmlns:tns="http://www.apache.org/uima/tools/cfe/config" elementFormDefault="qualified">
+
+    <complexType name="SingleFeatureMatcherXML">
+    	<choice>
+    		<element name="rangeFeatureValues"
+    			type="tns:RangeFeatureValuesXML" minOccurs="0" maxOccurs="1">
+    		</element>
+    		<element name="enumFeatureValues"
+    			type="tns:EnumFeatureValuesXML" minOccurs="0" maxOccurs="1">
+    		</element>
+    		<element name="bitsetFeatureValues"
+    			type="tns:BitsetFeatureValuesXML" maxOccurs="1" minOccurs="0">
+    		</element>
+    		<element name="objectPathFeatureValues"
+    			type="tns:ObjectPathFeatureValuesXML" maxOccurs="1"
+    			minOccurs="0">
+    		</element>
+    		<element name="patternFeatureValues"
+    			type="tns:PatternFeatureValuesXML" maxOccurs="1" minOccurs="0">
+    		</element>
+    	</choice>
+    	<attribute name="featureTypeName" type="string"
+    		use="optional">
+    	</attribute>
+    	<attribute name="featurePath" type="string" use="required"></attribute>
+    	<attribute name="exclude" use="optional" type="boolean"></attribute>
+    	<attribute name="quiet" type="boolean" use="optional"></attribute>
+    </complexType>
+
+    <complexType name="GroupFeatureMatcherXML">
+    	<sequence>
+    		<element name="featureMatchers" type="tns:SingleFeatureMatcherXML" maxOccurs="unbounded" minOccurs="1"></element>
+    		<element name="exclude" type="boolean" minOccurs="0" maxOccurs="1"></element>
+    	</sequence>
+    </complexType>
+    
+
+    <complexType name="PartialObjectMatcherXML">
+    	<sequence>
+    		<element name="groupFeatureMatchers" type="tns:GroupFeatureMatcherXML" maxOccurs="unbounded" minOccurs="0"></element>
+    	</sequence>
+    	<attribute name="annotationTypeName" type="string" use="required"></attribute>
+    	<attribute name="fullPath" type="string" use="optional"></attribute>
+    </complexType>
+
+
+    <complexType name="TargetAnnotationXML">
+    	<sequence>
+    		<element name="targetAnnotationMatcher" type="tns:PartialObjectMatcherXML" minOccurs="1" maxOccurs="1"></element>
+    		<element name="featureAnnotationMatchers" type="tns:FeatureObjectMatcherXML" maxOccurs="unbounded" minOccurs="0"></element>
+    	</sequence>
+    	<attribute name="className" type="string" use="required">
+    		<annotation>
+    			<documentation>class id for RRM training</documentation>
+    		</annotation>
+    	</attribute>
+    	<attribute name="enclosingAnnotation" type="string" use="required"></attribute>
+    </complexType>
+
+    <complexType name="CFEDescriptorXML">
+    	<sequence>
+    		<element name="targetAnnotations" type="tns:TargetAnnotationXML" maxOccurs="unbounded" minOccurs="1"></element>
+    	</sequence>
+    	<attribute name="nullValueImage" type="string" use="optional"></attribute>
+    </complexType>
+
+
+    <element name="CFEConfig" type="tns:CFEDescriptorXML"></element>
+
+    <complexType name="EnumFeatureValuesXML">
+    	<sequence>
+    		<element name="values" type="string" maxOccurs="unbounded" minOccurs="0"></element>
+    	</sequence>
+    	<attribute name="caseSensitive" type="boolean" use="optional"></attribute>
+    </complexType>
+
+
+    <complexType name="RangeFeatureValuesXML">
+    	<attribute name="lowerBoundaryInclusive" type="boolean" use="optional"></attribute>
+    	<attribute name="upperBoundaryInclusive" type="boolean" use="optional"></attribute>
+    	<attribute name="lowerBoundary" use="optional"></attribute>
+    	<attribute name="upperBoundary" use="optional"></attribute>
+    </complexType>
+
+    <complexType name="FeatureObjectMatcherXML">
+    	<complexContent>
+    		<extension base="tns:PartialObjectMatcherXML">
+    			<sequence></sequence>
+    			<attribute name="windowsizeLeft" type="int" use="optional"></attribute>
+    			<attribute name="windowsizeInside" type="int" use="optional"></attribute>
+    			<attribute name="windowsizeRight" type="int" use="optional"></attribute>
+    			<attribute name="windowsizeEnclosed" type="int" use="optional"></attribute>
+    			<attribute name="windowFlags" type="int" use="optional">
+    				<annotation>
+    					<documentation>
+    						in class CommonFeatureMatcher
+    						the following flg constants are defined
+
+    						CONSTANT_LEFTLEFT // 1 feature
+    						annotation starts left from the target ends
+    						left from the target
+
+    						CONSTANT_LEFTINSIDE // 2 feature
+    						annotation starts left from the target ends
+    						inside the target
+
+    						CONSTANT_LEFTRIGHT  // 4 feature
+    						annotation starts left from the target ends
+    						right from the target
+
+    						CONSTANT_INSIDEINSIDE // 8 feature
+    						annotation starts inside the target ends
+    						inside the target
+
+    						CONSTANT_INSIDERIGHT // 16 feature
+    						annotation starts inside the target ends
+    						right from the target
+
+    						CONSTANT_RIGHTRIGHT  // 32 feature
+    						annotation starts right from the target ends
+    						right from the target
+
+    						// any annotation that starts left from the
+    						target
+
+    						CONSTANT_STARTSLEFT = CONSTANT_LEFTLEFT |
+    						CONSTANT_LEFTINSIDE | CONSTANT_LEFTRIGHT;
+    						// 7
+
+    						// any annotation that starts inside the
+    						target
+
+    						CONSTANT_STARTSINSIDE =
+    						CONSTANT_INSIDEINSIDE|CONSTANT_INSIDERIGHT;
+    						// 24
+
+    						// any annotation that starts right from the
+    						target
+
+    						CONSTANT_STARTSRIGHT = CONSTANT_RIGHTRIGHT;
+    						// 32
+
+    						// any annotation that is within the span
+    						of enclosing annotation
+
+    						CONSTANT_ANYENCLOSED = CONSTANT_STARTSLEFT |
+    						CONSTANT_STARTSINSIDE |
+    						CONSTANT_STARTSRIGHT;
+    						// 63
+    					</documentation>
+    				</annotation>
+    			</attribute>
+    			<attribute name="orientation" type="boolean" use="optional"></attribute>
+    			<attribute name="distance" type="boolean" use="optional"></attribute>
+    		</extension>
+    	</complexContent>
+    </complexType>
+
+    <complexType name="BitsetFeatureValuesXML">
+    	<attribute name="bitmask" type="string" use="required"></attribute>
+    	<attribute name="exact_match" type="boolean" use="optional"></attribute>
+    </complexType>
+
+    <complexType name="ObjectPathFeatureValuesXML">
+    	<attribute name="objectPath" type="string" use="required"></attribute>
+    </complexType>
+
+    <complexType name="PatternFeatureValuesXML">
+    	<attribute name="pattern" type="string" use="required"></attribute>
+    </complexType>
+</schema>
\ No newline at end of file

Added: incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/CFEConfigFromXML_Ecore.java
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/CFEConfigFromXML_Ecore.java?rev=786255&view=auto
==============================================================================
--- incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/CFEConfigFromXML_Ecore.java (added)
+++ incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/CFEConfigFromXML_Ecore.java Thu Jun 18 20:39:50 2009
@@ -0,0 +1,213 @@
+package org.apache.uima.tools.cfe;
+
+import java.io.IOException;
+import java.net.URISyntaxException;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.apache.uima.tools.cfe.config.*;
+import org.apache.uima.tools.cfe.config.impl.ConfigFactoryImpl;
+import org.apache.uima.tools.cfe.config.impl.ConfigPackageImpl;
+import org.apache.uima.tools.cfe.config.util.ConfigResourceFactoryImpl;
+import org.apache.uima.tools.cfe.config.util.ConfigResourceImpl;
+import org.apache.uima.tools.cfe.config.util.ConfigResourceUtil;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+
+public class CFEConfigFromXML_Ecore
+{
+    
+    private CFEDescriptorXML m_CFEDescriptor;
+
+    public CFEConfigFromXML_Ecore (String path) throws IOException
+    {
+        ConfigResourceUtil cru = ConfigResourceUtil.getInstance();
+        DocumentRoot r = cru.load("file://" + path);
+        m_CFEDescriptor = r.getCFEConfig();
+    }
+
+
+    private static boolean m_init = false;
+    
+    private DocumentRoot load(String filename) throws IOException
+    {
+        if (!m_init) {
+            Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("xml", new ConfigResourceFactoryImpl());
+            ConfigPackageImpl.init();
+            ConfigFactoryImpl.init();
+            m_init = true;
+        }
+      
+      ConfigResourceImpl resource = (ConfigResourceImpl)(new ConfigResourceFactoryImpl()).createResource(URI.createURI("file://" + filename));
+      resource.load(null);
+      DocumentRoot documentRoot = (DocumentRoot)resource.getContents().get(0);
+      return documentRoot;
+    }
+
+    public CFEConfigFromXML_Ecore (String path, boolean manual) throws IOException
+    {
+        DocumentRoot r = load(path);
+        m_CFEDescriptor = r.getCFEConfig();
+    }
+
+    EnumFeatureValues getEnumFeatureValues(EnumFeatureValuesXML efvs_xml)
+    throws IOException, URISyntaxException
+    {
+        List<String> vals = efvs_xml.getValues();
+
+        if ((1 == vals.size()) && (((String)vals.get(0))).startsWith("file://")) {
+            return new EnumFeatureValues(new java.net.URI((String)vals.get(0)).getPath(), efvs_xml.isCaseSensitive());
+        }
+        return new EnumFeatureValues(vals.toArray(), efvs_xml.isCaseSensitive());
+    }
+    
+    RangeFeatureValues getRangeFeatureValues(RangeFeatureValuesXML rfvs_xml)
+    {
+        String lb = ((String)rfvs_xml.getLowerBoundary()).trim();
+        String ub = ((String)rfvs_xml.getUpperBoundary()).trim();
+        
+        return new RangeFeatureValues(Double.parseDouble(lb),
+                                      rfvs_xml.isLowerBoundaryInclusive(),
+                                      Double.parseDouble(ub),
+                                      rfvs_xml.isUpperBoundaryInclusive());
+    }
+
+    BitsetFeatureValues getBitsetFeatureValues(BitsetFeatureValuesXML bfvs_xml)
+    {
+        return new BitsetFeatureValues(Integer.parseInt(bfvs_xml.getBitmask(), 16),
+                                       bfvs_xml.isExactMatch());
+    }
+    
+    PatternFeatureValues getPatternFeatureValues(PatternFeatureValuesXML pattern_xml)
+    {
+        return new PatternFeatureValues(pattern_xml.getPattern());
+    }
+
+    ObjectPathFeatureValues getObjectPathFeatureValues(ObjectPathFeatureValuesXML opfvs_xml,
+                                                       String                     feature_class)
+    {
+        return new ObjectPathFeatureValues(feature_class, opfvs_xml.getObjectPath());
+    }
+    
+    SingleFeatureMatcher getSingleFeatureMatcher(SingleFeatureMatcherXML sfm_xml, String obj_class)
+    throws SecurityException, NoSuchMethodException, ClassNotFoundException, IOException, URISyntaxException
+    {
+        if (null != sfm_xml.getEnumFeatureValues()) {
+            return new SingleFeatureMatcher(sfm_xml.getFeatureTypeName(),
+                                            obj_class + ":" + sfm_xml.getFeaturePath(),
+                                            sfm_xml.isExclude(),
+                                            sfm_xml.isQuiet(),
+                                            getEnumFeatureValues(sfm_xml.getEnumFeatureValues())); 
+        }
+        else if (null != sfm_xml.getRangeFeatureValues()) {
+            return new SingleFeatureMatcher(sfm_xml.getFeatureTypeName(),
+                                            obj_class + ":" + sfm_xml.getFeaturePath(),
+                                            sfm_xml.isExclude(),
+                                            sfm_xml.isQuiet(),
+                                            getRangeFeatureValues(sfm_xml.getRangeFeatureValues())); 
+        }
+        else if (null != sfm_xml.getBitsetFeatureValues()) {
+            return new SingleFeatureMatcher(sfm_xml.getFeatureTypeName(),
+                                            obj_class + ":" + sfm_xml.getFeaturePath(),
+                                            sfm_xml.isExclude(),
+                                            sfm_xml.isQuiet(),
+                                            getBitsetFeatureValues(sfm_xml.getBitsetFeatureValues())); 
+        }
+        else if (null != sfm_xml.getPatternFeatureValues()) {
+            return new SingleFeatureMatcher(sfm_xml.getFeatureTypeName(),
+                                            obj_class + ":" + sfm_xml.getFeaturePath(),
+                                            sfm_xml.isExclude(),
+                                            sfm_xml.isQuiet(),
+                                            getPatternFeatureValues(sfm_xml.getPatternFeatureValues())); 
+        }
+        else if (null != sfm_xml.getObjectPathFeatureValues()) {
+            return new SingleFeatureMatcher(sfm_xml.getFeatureTypeName(),
+                                            obj_class + ":" + sfm_xml.getFeaturePath(),
+                                            sfm_xml.isExclude(),
+                                            sfm_xml.isQuiet(),
+                                            getObjectPathFeatureValues(sfm_xml.getObjectPathFeatureValues(), sfm_xml.getFeatureTypeName())); 
+        }
+        else {
+            return new SingleFeatureMatcher(sfm_xml.getFeatureTypeName(),
+                                            obj_class + ":" + sfm_xml.getFeaturePath(),
+                                            sfm_xml.isExclude(),
+                                            sfm_xml.isQuiet(),
+                                            new EnumFeatureValues()); // would match any value 
+        }
+    }
+    
+    GroupFeatureMatcher getGroupFeatureMatcher(GroupFeatureMatcherXML gfm_xml, String obj_class_name)
+    throws SecurityException, NoSuchMethodException, ClassNotFoundException, IOException, URISyntaxException
+    {
+        List<SingleFeatureMatcherXML> fms_xml = gfm_xml.getFeatureMatchers();
+        List<SingleFeatureMatcher> sfms = new ArrayList<SingleFeatureMatcher>(); 
+        for (Iterator<SingleFeatureMatcherXML> fm_it = fms_xml.iterator(); fm_it.hasNext();) {
+            sfms.add(getSingleFeatureMatcher((SingleFeatureMatcherXML)fm_it.next(), obj_class_name));
+        }
+        return new GroupFeatureMatcher(sfms, gfm_xml.isExclude()); 
+    }
+    
+    PartialObjectMatcher getPartialObjectMatcher(PartialObjectMatcherXML pom_xml)
+    throws SecurityException, NoSuchMethodException, IOException, URISyntaxException, ClassNotFoundException
+    {
+        List<GroupFeatureMatcherXML> gfms_xml = pom_xml.getGroupFeatureMatchers();
+        List<GroupFeatureMatcher> gfms = new ArrayList<GroupFeatureMatcher>();
+        
+        for (Iterator<GroupFeatureMatcherXML> it = gfms_xml.iterator(); it.hasNext();) {
+            gfms.add(getGroupFeatureMatcher((GroupFeatureMatcherXML)it.next(), pom_xml.getAnnotationTypeName()));
+        }
+        return new PartialObjectMatcher(pom_xml.getAnnotationTypeName(), pom_xml.getFullPath(), gfms); 
+    }
+    
+    FeatureObjectMatcher getFeatureObjectMatcher(FeatureObjectMatcherXML fom_xml)
+    throws SecurityException, NoSuchMethodException, IOException, ClassNotFoundException, URISyntaxException
+    {
+        List<GroupFeatureMatcherXML> gfms_xml = fom_xml.getGroupFeatureMatchers();
+        List<GroupFeatureMatcher> gfms = new ArrayList<GroupFeatureMatcher>();
+        
+        for (Iterator<GroupFeatureMatcherXML> it = gfms_xml.iterator(); it.hasNext();) {
+            gfms.add(getGroupFeatureMatcher((GroupFeatureMatcherXML)it.next(), fom_xml.getAnnotationTypeName()));
+        }
+        return new FeatureObjectMatcher(fom_xml.getAnnotationTypeName(), fom_xml.getFullPath(), gfms, 
+                                        fom_xml.getWindowsizeLeft(),
+                                        fom_xml.getWindowsizeInside(),
+                                        fom_xml.getWindowsizeRight(),
+                                        fom_xml.getWindowsizeEnclosed(),
+                                        fom_xml.getWindowFlags(),
+                                        fom_xml.isOrientation(), 
+                                        fom_xml.isDistance()); 
+    }
+    
+    TargetAnnotationDescriptor getTargetAnnotationDescriptor(TargetAnnotationXML ta_xml, int priorityOrder)
+    throws SecurityException, NoSuchMethodException, IOException, ClassNotFoundException, URISyntaxException
+    {
+        PartialObjectMatcher ta_matcher = getPartialObjectMatcher(ta_xml.getTargetAnnotationMatcher());
+        List<FeatureObjectMatcherXML> fams_xml = ta_xml.getFeatureAnnotationMatchers();
+        List<FeatureObjectMatcher> fams = new ArrayList<FeatureObjectMatcher>();
+        for (Iterator<FeatureObjectMatcherXML> it = fams_xml.iterator(); it.hasNext();) {
+            fams.add(getFeatureObjectMatcher((FeatureObjectMatcherXML)it.next()));
+        }
+        return new TargetAnnotationDescriptor(ta_xml.getClassName(),
+                                              ta_xml.getEnclosingAnnotation(),
+                                              ta_matcher,
+                                              fams,
+                                              priorityOrder);
+    } 
+
+    public List<TargetAnnotationDescriptor> getTargetAnnotationDescriptors()
+    throws SecurityException, NoSuchMethodException, IOException, ClassNotFoundException, URISyntaxException
+    {
+        List<TargetAnnotationDescriptor> result = new ArrayList<TargetAnnotationDescriptor>();
+        List<TargetAnnotationXML> tans = m_CFEDescriptor.getTargetAnnotations();
+        for (Iterator<TargetAnnotationXML> it = tans.iterator(); it.hasNext();) {
+            result.add(getTargetAnnotationDescriptor((TargetAnnotationXML)it.next(), result.size() + 1));
+        }
+        return result;
+    }
+    
+    public String getNullValueImage()
+    {
+        return m_CFEDescriptor.getNullValueImage();  
+    }
+}

Added: incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/CFEConfigFromXML_XMLBeans.java
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/CFEConfigFromXML_XMLBeans.java?rev=786255&view=auto
==============================================================================
--- incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/CFEConfigFromXML_XMLBeans.java (added)
+++ incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/CFEConfigFromXML_XMLBeans.java Thu Jun 18 20:39:50 2009
@@ -0,0 +1,183 @@
+package org.apache.uima.tools.cfe;
+
+import java.io.File;
+import java.io.IOException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.uima.tools.cfe.config.xmlBeans.*;
+import org.apache.xmlbeans.XmlException;
+
+public class CFEConfigFromXML_XMLBeans
+{
+    private final CFEDescriptorXML m_CFEDescriptor;
+    
+    public CFEConfigFromXML_XMLBeans (String path) throws XmlException, IOException
+    {
+        m_CFEDescriptor = CFEDescriptorXML.Factory.parse(new File(path));
+    }
+    
+    EnumFeatureValues getEnumFeatureValues(EnumFeatureValuesXML efvs_xml)
+    throws IOException, URISyntaxException
+    {
+        String[] vals = efvs_xml.getValuesArray();
+
+        if ((1 == vals.length) && (vals[0]).startsWith("file://")) {
+            return new EnumFeatureValues(new URI((String)vals[0]).getPath(), efvs_xml.getCaseSensitive());
+        }
+        return new EnumFeatureValues(vals, efvs_xml.getCaseSensitive());
+    }
+    
+    RangeFeatureValues getRangeFeatureValues(RangeFeatureValuesXML rfvs_xml)
+    {
+        String lb = rfvs_xml.getLowerBoundary().toString().trim();
+        String ub = rfvs_xml.getUpperBoundary().toString().trim();
+        
+        return new RangeFeatureValues(Double.parseDouble(lb),
+                                      rfvs_xml.getLowerBoundaryInclusive(),
+                                      Double.parseDouble(ub),
+                                      rfvs_xml.getUpperBoundaryInclusive());
+    }
+
+    BitsetFeatureValues getBitsetFeatureValues(BitsetFeatureValuesXML bfvs_xml)
+    {
+        return new BitsetFeatureValues(Integer.parseInt(bfvs_xml.getBitmask(), 16),
+                                       bfvs_xml.getExactMatch());
+    }
+    
+    PatternFeatureValues getPatternFeatureValues(PatternFeatureValuesXML pattern_xml)
+    {
+        return new PatternFeatureValues(pattern_xml.getPattern());
+    }
+
+    ObjectPathFeatureValues getObjectPathFeatureValues(ObjectPathFeatureValuesXML opfvs_xml,
+                                                       String                     feature_class)
+    {
+        return new ObjectPathFeatureValues(feature_class, opfvs_xml.getObjectPath());
+    }
+    
+    SingleFeatureMatcher getSingleFeatureMatcher(SingleFeatureMatcherXML sfm_xml, String obj_class)
+    throws SecurityException, NoSuchMethodException, ClassNotFoundException, IOException, URISyntaxException
+    {
+        if (null != sfm_xml.getEnumFeatureValues()) {
+            return new SingleFeatureMatcher(sfm_xml.getFeatureTypeName(),
+                                            obj_class + ":" + sfm_xml.getFeaturePath(),
+                                            sfm_xml.getExclude(),
+                                            sfm_xml.getQuiet(),
+                                            getEnumFeatureValues(sfm_xml.getEnumFeatureValues())); 
+        }
+        else if (null != sfm_xml.getRangeFeatureValues()) {
+            return new SingleFeatureMatcher(sfm_xml.getFeatureTypeName(),
+                                            obj_class + ":" + sfm_xml.getFeaturePath(),
+                                            sfm_xml.getExclude(),
+                                            sfm_xml.getQuiet(),
+                                            getRangeFeatureValues(sfm_xml.getRangeFeatureValues())); 
+        }
+        else if (null != sfm_xml.getBitsetFeatureValues()) {
+            return new SingleFeatureMatcher(sfm_xml.getFeatureTypeName(),
+                                            obj_class + ":" + sfm_xml.getFeaturePath(),
+                                            sfm_xml.getExclude(),
+                                            sfm_xml.getQuiet(),
+                                            getBitsetFeatureValues(sfm_xml.getBitsetFeatureValues())); 
+        }
+        else if (null != sfm_xml.getPatternFeatureValues()) {
+            return new SingleFeatureMatcher(sfm_xml.getFeatureTypeName(),
+                                            obj_class + ":" + sfm_xml.getFeaturePath(),
+                                            sfm_xml.getExclude(),
+                                            sfm_xml.getQuiet(),
+                                            getPatternFeatureValues(sfm_xml.getPatternFeatureValues())); 
+        }
+        else if (null != sfm_xml.getObjectPathFeatureValues()) {
+            return new SingleFeatureMatcher(sfm_xml.getFeatureTypeName(),
+                                            obj_class + ":" + sfm_xml.getFeaturePath(),
+                                            sfm_xml.getExclude(),
+                                            sfm_xml.getQuiet(),
+                                            getObjectPathFeatureValues(sfm_xml.getObjectPathFeatureValues(), sfm_xml.getFeatureTypeName())); 
+        }
+        else {
+            return new SingleFeatureMatcher(sfm_xml.getFeatureTypeName(),
+                                            obj_class + ":" + sfm_xml.getFeaturePath(),
+                                            sfm_xml.getExclude(),
+                                            sfm_xml.getQuiet(),
+                                            new EnumFeatureValues()); // would match any value 
+        }
+    }
+    
+    GroupFeatureMatcher getGroupFeatureMatcher(GroupFeatureMatcherXML gfm_xml, String obj_class_name)
+    throws SecurityException, NoSuchMethodException, ClassNotFoundException, IOException, URISyntaxException
+    {
+        SingleFeatureMatcherXML[] fms_xml = gfm_xml.getFeatureMatchersArray();
+        List<SingleFeatureMatcher> sfms = new ArrayList<SingleFeatureMatcher>();
+
+        for (int i = 0; i < fms_xml.length; ++i) {
+            sfms.add(getSingleFeatureMatcher(fms_xml[i], obj_class_name));
+        }
+        return new GroupFeatureMatcher(sfms, gfm_xml.getExclude()); 
+    }
+    
+    PartialObjectMatcher getPartialObjectMatcher(PartialObjectMatcherXML pom_xml)
+    throws SecurityException, NoSuchMethodException, IOException, URISyntaxException, ClassNotFoundException
+    {
+        GroupFeatureMatcherXML[] gfms_xml = pom_xml.getGroupFeatureMatchersArray();
+        List<GroupFeatureMatcher> gfms = new ArrayList<GroupFeatureMatcher>();
+        
+        for (int i = 0; i < gfms_xml.length; ++i) {
+            gfms.add(getGroupFeatureMatcher(gfms_xml[i], pom_xml.getAnnotationTypeName()));
+        }
+        return new PartialObjectMatcher(pom_xml.getAnnotationTypeName(), pom_xml.getFullPath(), gfms); 
+    }
+    
+    FeatureObjectMatcher getFeatureObjectMatcher(FeatureObjectMatcherXML fom_xml)
+    throws SecurityException, NoSuchMethodException, IOException, ClassNotFoundException, URISyntaxException
+    {
+        GroupFeatureMatcherXML[] gfms_xml = fom_xml.getGroupFeatureMatchersArray();
+        List<GroupFeatureMatcher> gfms = new ArrayList<GroupFeatureMatcher>();
+
+        for (int i = 0; i < gfms_xml.length; ++i) {
+            gfms.add(getGroupFeatureMatcher(gfms_xml[i], fom_xml.getAnnotationTypeName()));
+        }
+        return new FeatureObjectMatcher(fom_xml.getAnnotationTypeName(), fom_xml.getFullPath(), gfms, 
+                                        fom_xml.getWindowsizeLeft(),
+                                        fom_xml.getWindowsizeInside(),
+                                        fom_xml.getWindowsizeRight(),
+                                        fom_xml.getWindowsizeEnclosed(),
+                                        fom_xml.getWindowFlags(),
+                                        fom_xml.getOrientation(), 
+                                        fom_xml.getDistance()); 
+    }
+    
+    TargetAnnotationDescriptor getTargetAnnotationDescriptor(TargetAnnotationXML ta_xml, int priorityOrder)
+    throws SecurityException, NoSuchMethodException, IOException, ClassNotFoundException, URISyntaxException
+    {
+        PartialObjectMatcher ta_matcher = getPartialObjectMatcher(ta_xml.getTargetAnnotationMatcher());
+        FeatureObjectMatcherXML[] fams_xml = ta_xml.getFeatureAnnotationMatchersArray();
+        
+        List<FeatureObjectMatcher> fams = new ArrayList<FeatureObjectMatcher>();
+        for (int i = 0; i < fams_xml.length; ++i) {
+            fams.add(getFeatureObjectMatcher(fams_xml[i]));
+        }
+        return new TargetAnnotationDescriptor(ta_xml.getClassName(),
+                                              ta_xml.getEnclosingAnnotation(),
+                                              ta_matcher,
+                                              fams,
+                                              priorityOrder);
+    } 
+    
+    public List<TargetAnnotationDescriptor> getTargetAnnotationDescriptors()
+    throws SecurityException, NoSuchMethodException, IOException, ClassNotFoundException, URISyntaxException
+    {
+        List<TargetAnnotationDescriptor> result = new ArrayList<TargetAnnotationDescriptor>();
+        TargetAnnotationXML[] tans = m_CFEDescriptor.getTargetAnnotationsArray();
+        for (int i = 0; i < tans.length; ++i) {
+            result.add(getTargetAnnotationDescriptor(tans[i], result.size() + 1));
+        }
+        return result;
+    }
+    
+    public String getNullValueImage()
+    {
+        return m_CFEDescriptor.getNullValueImage();  
+    }
+}

Added: incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/CollectionFeatureValues.java
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/CollectionFeatureValues.java?rev=786255&view=auto
==============================================================================
--- incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/CollectionFeatureValues.java (added)
+++ incubator/uima/sandbox/trunk/ConfigurableFeatureExtractor/src/main/java/org/apache/uima/tools/cfe/CollectionFeatureValues.java Thu Jun 18 20:39:50 2009
@@ -0,0 +1,16 @@
+package org.apache.uima.tools.cfe;
+
+import java.util.Collection;
+
+public abstract class CollectionFeatureValues<T> implements FeatureValues
+{
+
+    Collection<T> m_values;
+
+    public CollectionFeatureValues (Collection<T> values)
+    {
+        m_values = values;
+    }
+    
+    public abstract boolean matches (Object feature);
+}