*

package* com.iton.uima.src;

*

import* java.util.regex.Matcher;
*

import* java.util.regex.Pattern;

*

import* com.ibm.uima.UimaContext;
*

import* com.ibm.uima.analysis_component.AnalysisComponent;
*

import* com.ibm.uima.analysis_component.JCasAnnotator_ImplBase;
*

import* com.ibm.uima.analysis_engine.AnalysisEngineProcessException;
*

import* com.ibm.uima.jcas.impl.JCas;
*

import* com.ibm.uima.resource.ResourceInitializationException;
*

import* com.ibm.uima.util.XMLInputSource;
*

import* com.iton.uima.DynamicAnnotation;
*

import* com.ibm.uima.analysis_engine.AnalysisEngine;

*

import* com.ibm.uima.resource.*;
*

import* com.ibm.uima.*;

*

public* *class* DyanamicAnnotations *extends* JCasAnnotator_ImplBase {

 *private* Pattern[] firstString;

*private* String [] secondString;

 *public* *void* initialize(UimaContext aContext)

*throws* ResourceInitializationException

{

*super*.initialize(aContext);

//Get config. parameter values

*try*{

XMLInputSource in = *new* XMLInputSource("DyanamicAnalyze.xml");

ResourceSpecifier specifier =

UIMAFramework.*getXMLParser*().parseResourceSpecifier(in);

AnalysisEngine analysisEngine=UIMAFramework.*produceAnalysisEngine*
(specifier);

analysisEngine.setConfigParameterValue("StringsToAnnotate",

*new* String[] {"Michael","UIMA","Vijay"});

}*catch*(Exception e){

e.printStackTrace();

}

 String[] patternStrings = (String[])aContext.getConfigParameterValue(
"Patterns");

  secondString = (String[])aContext.getConfigParameterValue("Location");

System.*out*.println("mLocations----->"+secondString);

*for* (*int* i = 0; i < secondString.length; i++){

System.*out*.println("mLocations value--->"+secondString[i]);

}

//compile regular expressions

firstString = *new* Pattern[patternStrings.length];

*for* (*int* i = 0; i < patternStrings.length; i++)

{

System.*out*.println("is this working or not");

firstString[i] = Pattern.*compile*(patternStrings[i]);

}

}

/**

* [EMAIL PROTECTED] JCasAnnotator_ImplBase#process(JCas)

*/

*public* *void* process(JCas aJCas)

*throws* AnalysisEngineProcessException

{

//get document text

String docText = aJCas.getDocumentText();

System.*out*.println("docText---------->"+docText);

//loop over patterns

System.*out*.println("mPattern length---------->"+firstString.length);

*for* (*int* i = 0; i < firstString.length; i++)

{

System.*out*.println("is For loop");

Matcher matcher = firstString[i].matcher(docText);

*int* pos = 0;

*while* (matcher.find(pos))

{

//found one - creation annotation

DynamicAnnotation annotation = *new* DynamicAnnotation(aJCas);

annotation.setBegin(matcher.start());

annotation.setEnd(matcher.end());

annotation.addToIndexes();

annotation.setStringsToAnnotate(secondString[i]);

pos = matcher.end();

System.*out*.println("Is Text at Last-------->");

//getContext().getLogger().log(Level.FINEST,"Found: " + annotation);

}

}

}

 }

this is wriiten  for getting dynamic annotations but it is not working,
analysisEngine.xml it asking for parameter values to be enterd ,so then what
is use of uisng tha above code

vijay

Reply via email to