package edu.isistan.uima.unified.analysisengines; import java.util.UUID; import org.apache.uima.UimaContext; import org.apache.uima.analysis_engine.AnalysisEngineProcessException; import org.apache.uima.cas.text.AnnotationIndex; import org.apache.uima.jcas.JCas; import org.apache.uima.jcas.tcas.Annotation; import org.apache.uima.jcas.tcas.DocumentAnnotation; import org.apache.uima.resource.ResourceInitializationException; import org.uimafit.component.JCasAnnotator_ImplBase; import edu.isistan.uima.unified.typesystems.srs.Document; import edu.isistan.uima.unified.typesystems.srs.Project; import edu.isistan.uima.unified.typesystems.srs.Section; public class WrapperAnnotator extends JCasAnnotator_ImplBase { @Override public void initialize(UimaContext aContext) throws ResourceInitializationException { super.initialize(aContext); } @Override public void process(JCas aJCas) throws AnalysisEngineProcessException { AnnotationIndex<Annotation> dAnnotations = aJCas.getAnnotationIndex(DocumentAnnotation.type); int counter = 1; for (Annotation dAnnotation : dAnnotations) { Project project = new Project(aJCas); project.setBegin(dAnnotation.getBegin()); project.setEnd(dAnnotation.getEnd()); project.setId(UUID.randomUUID().toString()); project.setKind("WRAPPER PROJECT"); project.setName("Wrapped Project " + counter); project.addToIndexes(); Document document = new Document(aJCas); document.setBegin(dAnnotation.getBegin()); document.setEnd(dAnnotation.getEnd()); document.setId(UUID.randomUUID().toString()); document.setKind("WRAPPER DOCUMENT"); document.setName("Wrapped Document " + counter); document.addToIndexes(); Section section = new Section(aJCas); section.setBegin(dAnnotation.getBegin()); section.setEnd(dAnnotation.getEnd()); section.setId(UUID.randomUUID().toString()); section.setKind("WRAPPER SECTION"); section.setName("Wrapped Section " + counter); section.addToIndexes(); counter++; } } @Override public void destroy() { super.destroy(); } }