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

svn commit: r782914 - in /incubator/uima/uimaj/trunk/uimaj-core/src: main/java/org/apache/uima/cas/ test/java/org/apache/uima/analysis_engine/impl/ test/java/org/apache/uima/cas/test/

Author: joern
Date: Tue Jun  9 08:45:45 2009
New Revision: 782914

URL: http://svn.apache.org/viewvc?rev=782914&view=rev
Log:
UIMA-1341 Added type parameter to iterator methods

Modified:
    incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/CAS.java
    incubator/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/analysis_engine/impl/AnnotationWriter.java
    incubator/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/cas/test/ArrayIndexTest.java
    incubator/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/cas/test/FilteredIteratorTest.java

Modified: incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/CAS.java
URL: http://svn.apache.org/viewvc/incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/CAS.java?rev=782914&r1=782913&r2=782914&view=diff
==============================================================================
--- incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/CAS.java (original)
+++ incubator/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/CAS.java Tue Jun  9 08:45:45 2009
@@ -778,7 +778,7 @@
    * 
    * @return an iterator over SofaFS.
    */
-  FSIterator getSofaIterator();
+  FSIterator<SofaFS> getSofaIterator();
 
   /**
    * Create an iterator over structures satisfying a given constraint. Constraints are described in
@@ -790,7 +790,7 @@
    *          The constraint specifying what structures should be returned.
    * @return An iterator over FSs.
    */
-  FSIterator createFilteredIterator(FSIterator it, FSMatchConstraint cons);
+  <T extends FeatureStructure> FSIterator<T> createFilteredIterator(FSIterator<T> it, FSMatchConstraint cons);
 
   /**
    * Get a constraint factory. A constraint factory is a simple way of creating
@@ -823,7 +823,7 @@
    *          The <code>FSListIterator</code> to be wrapped.
    * @return An equivalent <code>ListIterator</code>.
    */
-  ListIterator<FeatureStructure> fs2listIterator(FSIterator it);
+  <T extends FeatureStructure> ListIterator<T> fs2listIterator(FSIterator<T> it);
 
   /**
    * Reset the CAS, emptying it of all content. Feature structures and iterators will no longer be

Modified: incubator/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/analysis_engine/impl/AnnotationWriter.java
URL: http://svn.apache.org/viewvc/incubator/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/analysis_engine/impl/AnnotationWriter.java?rev=782914&r1=782913&r2=782914&view=diff
==============================================================================
--- incubator/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/analysis_engine/impl/AnnotationWriter.java (original)
+++ incubator/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/analysis_engine/impl/AnnotationWriter.java Tue Jun  9 08:45:45 2009
@@ -93,7 +93,7 @@
   public synchronized void processCas(CAS aCAS) throws ResourceProcessException {
     try {
       // iterate and print annotations
-      FSIterator typeIterator = aCAS.getCurrentView().getAnnotationIndex().iterator();
+      FSIterator<AnnotationFS> typeIterator = aCAS.getCurrentView().getAnnotationIndex().iterator();
 
       for (typeIterator.moveToFirst(); typeIterator.isValid(); typeIterator.moveToNext()) {
         AnnotationFS annot = (AnnotationFS) typeIterator.get();

Modified: incubator/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/cas/test/ArrayIndexTest.java
URL: http://svn.apache.org/viewvc/incubator/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/cas/test/ArrayIndexTest.java?rev=782914&r1=782913&r2=782914&view=diff
==============================================================================
--- incubator/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/cas/test/ArrayIndexTest.java (original)
+++ incubator/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/cas/test/ArrayIndexTest.java Tue Jun  9 08:45:45 2009
@@ -34,6 +34,7 @@
 import org.apache.uima.cas.FSIndex;
 import org.apache.uima.cas.FSIndexRepository;
 import org.apache.uima.cas.FSIterator;
+import org.apache.uima.cas.FeatureStructure;
 import org.apache.uima.cas.Type;
 import org.apache.uima.cas.TypeSystem;
 import org.apache.uima.resource.ResourceInitializationException;
@@ -64,11 +65,11 @@
       Type annotationType = ts.getType(CAS.TYPE_NAME_ANNOTATION);
       Type annotArrayType = ts.getArrayType(annotationType);
 
-      FSIndex arrayIndexAll = ir.getIndex(idxId);
+      FSIndex<FeatureStructure> arrayIndexAll = ir.getIndex(idxId);
       assertEquals(countIndexMembers(arrayIndexAll), 0);
-      FSIndex arrayIndexFSArray = ir.getIndex(idxId, ts.getType(CAS.TYPE_NAME_FS_ARRAY));
+      FSIndex<FeatureStructure> arrayIndexFSArray = ir.getIndex(idxId, ts.getType(CAS.TYPE_NAME_FS_ARRAY));
       assertEquals(countIndexMembers(arrayIndexFSArray), 0);
-      FSIndex arrayIndexAnnotArray = ir.getIndex(idxId, annotArrayType);
+      FSIndex<FeatureStructure> arrayIndexAnnotArray = ir.getIndex(idxId, annotArrayType);
       assertNull(arrayIndexAnnotArray);
     } catch (ResourceInitializationException e) {
       assertTrue(false);

Modified: incubator/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/cas/test/FilteredIteratorTest.java
URL: http://svn.apache.org/viewvc/incubator/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/cas/test/FilteredIteratorTest.java?rev=782914&r1=782913&r2=782914&view=diff
==============================================================================
--- incubator/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/cas/test/FilteredIteratorTest.java (original)
+++ incubator/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/cas/test/FilteredIteratorTest.java Tue Jun  9 08:45:45 2009
@@ -166,9 +166,10 @@
     cas.getIndexRepository().addFS(cas.createAnnotation(sentenceType, 0, 15));
 
     // create filtered iterator over Tokens only
-    FSIterator it = cas.getAnnotationIndex().iterator();
+    FSIterator<AnnotationFS> it = cas.getAnnotationIndex().iterator();
     FSTypeConstraint constraint = cas.getConstraintFactory().createTypeConstraint();
     constraint.add(tokenType);
+    
     it = cas.createFilteredIterator(it, constraint);
 
     // do iteration
@@ -228,7 +229,7 @@
     cas.getIndexRepository().addFS(cas.createAnnotation(sentenceType, 0, 15));
 
     // create filtered iterator over Tokens only
-    FSIterator it = cas.getAnnotationIndex().iterator();
+    FSIterator<AnnotationFS> it = cas.getAnnotationIndex().iterator();
     FSTypeConstraint constraint = cas.getConstraintFactory().createTypeConstraint();
     constraint.add(tokenType.getName());
     it = cas.createFilteredIterator(it, constraint);
@@ -307,7 +308,7 @@
 
       String lemma = "the";
       // create filtered iterator over Tokens of type 1
-      FSIterator it = cas.getAnnotationIndex(tokenType).iterator();
+      FSIterator<AnnotationFS> it = cas.getAnnotationIndex(tokenType).iterator();
       FSStringConstraint type1Constraint = cas.getConstraintFactory().createStringConstraint();
       type1Constraint.equals(lemma);
       FeaturePath path = cas.createFeaturePath();
@@ -324,8 +325,8 @@
       // Count instances of tokens with lemma "the".
 
       // Create an iterator over Token annotations.
-      FSIndex tokenIndex = cas.getAnnotationIndex(tokenType);
-      FSIterator tokenIt = tokenIndex.iterator();
+      FSIndex<AnnotationFS> tokenIndex = cas.getAnnotationIndex(tokenType);
+      FSIterator<AnnotationFS> tokenIt = tokenIndex.iterator();
       // Create a counter.
       int theCount = 0;
       // Iterate over the tokens.
@@ -378,7 +379,7 @@
       cas.getIndexRepository().addFS(token);
 
       String lemma = "the";
-      FSIterator it = cas.getAnnotationIndex(tokenType).iterator();
+      FSIterator<AnnotationFS> it = cas.getAnnotationIndex(tokenType).iterator();
       FSStringConstraint type1Constraint = cas.getConstraintFactory().createStringConstraint();
       type1Constraint.equals(lemma);
       ArrayList<String> path = new ArrayList<String>();
@@ -395,8 +396,8 @@
       // Count instances of tokens with lemma "the".
 
       // Create an iterator over Token annotations.
-      FSIndex tokenIndex = cas.getAnnotationIndex(tokenType);
-      FSIterator tokenIt = tokenIndex.iterator();
+      FSIndex<AnnotationFS> tokenIndex = cas.getAnnotationIndex(tokenType);
+      FSIterator<AnnotationFS> tokenIt = tokenIndex.iterator();
       // Create a counter.
       int theCount = 0;
       // Iterate over the tokens.
@@ -458,13 +459,13 @@
       token.setFeatureValue(tokenTypeFeat, eosFS);
       cas.getIndexRepository().addFS(token);
 
-      FSIterator it = cas.getAnnotationIndex(tokenType).iterator();
+      FSIterator<AnnotationFS> it = cas.getAnnotationIndex(tokenType).iterator();
 
       ConstraintFactory cf = this.cas.getConstraintFactory();
       FSTypeConstraint tc = cf.createTypeConstraint();
       tc.add(sepType);
       tc.add(eosType.getName());
-      ArrayList path = new ArrayList();
+      ArrayList<String> path = new ArrayList<String>();
       path.add(tokenTypeFeat.getShortName());
       FSMatchConstraint cons = cf.embedConstraint(path, tc);
       it = this.cas.createFilteredIterator(it, cons);