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