Revision: 17852
          http://sourceforge.net/p/gate/code/17852
Author:   markagreenwood
Date:     2014-04-17 12:44:51 +0000 (Thu, 17 Apr 2014)
Log Message:
-----------
make sure that any annotations created within a segment use IDs that would be 
valid in the whole document and use these ids when the annotations are copied 
back

Modified Paths:
--------------
    
gate/trunk/plugins/Alignment/src/gate/composite/impl/CompositeDocumentImpl.java
    
gate/trunk/plugins/Alignment/src/gate/composite/impl/SegmentProcessingPR.java

Modified: 
gate/trunk/plugins/Alignment/src/gate/composite/impl/CompositeDocumentImpl.java
===================================================================
--- 
gate/trunk/plugins/Alignment/src/gate/composite/impl/CompositeDocumentImpl.java 
    2014-04-17 12:22:16 UTC (rev 17851)
+++ 
gate/trunk/plugins/Alignment/src/gate/composite/impl/CompositeDocumentImpl.java 
    2014-04-17 12:44:51 UTC (rev 17852)
@@ -131,16 +131,15 @@
         if(enOffset == -1) continue;
         Annotation originalAnnot = null;
         try {
-
+          Integer id = annot.getId();
           if(defaultAS) {
-            Integer id =
-              aDoc.getAnnotations().add(new Long(stOffset), new Long(enOffset),
+            
+              aDoc.getAnnotations().add(id, new Long(stOffset), new 
Long(enOffset),
                 annot.getType(), features);
             originalAnnot = aDoc.getAnnotations().get(id);
           }
           else {
-            Integer id =
-              aDoc.getAnnotations(as.getName()).add(new Long(stOffset),
+              aDoc.getAnnotations(as.getName()).add(id,new Long(stOffset),
                 new Long(enOffset), annot.getType(), features);
             originalAnnot = aDoc.getAnnotations(as.getName()).get(id);
           }

Modified: 
gate/trunk/plugins/Alignment/src/gate/composite/impl/SegmentProcessingPR.java
===================================================================
--- 
gate/trunk/plugins/Alignment/src/gate/composite/impl/SegmentProcessingPR.java   
    2014-04-17 12:22:16 UTC (rev 17851)
+++ 
gate/trunk/plugins/Alignment/src/gate/composite/impl/SegmentProcessingPR.java   
    2014-04-17 12:44:51 UTC (rev 17852)
@@ -16,6 +16,7 @@
 import gate.composite.CompositeDocument;
 import gate.compound.CompoundDocument;
 import gate.compound.impl.CompoundDocumentImpl;
+import gate.corpora.DocumentImpl;
 import gate.creole.AbstractLanguageAnalyser;
 import gate.creole.ExecutionException;
 import gate.creole.ResourceInstantiationException;
@@ -183,6 +184,15 @@
           }
           compositeDoc = combiningMethodInst.combine(compoundDoc, map);
           compositeDoc.setName(nameForCompositeDoc);
+          
+          // try and make sure any annotations created in the segment will have
+          // IDs that are valid in the original document
+          if(oldDoc instanceof DocumentImpl) {
+            ((CompositeDocumentImpl)compositeDoc)
+                .setNextAnnotationId(((DocumentImpl)oldDoc)
+                    .peakAtNextAnnotationId());
+          }
+          
           compoundDoc.addDocument(nameForCompositeDoc, compositeDoc);
           // change focus to composite document
           compoundDoc.setCurrentDocument(nameForCompositeDoc);

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/NeoTech
_______________________________________________
GATE-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gate-cvs

Reply via email to