You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@uima.apache.org by vijay vijay <vi...@gmail.com> on 2007/09/13 13:42:30 UTC

can any one look in to my code

*

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]);

}

}

/**

* *@see* 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