Hi
i am getting an error like this
*java.lang.ClassCastException*: com.iton.uima.TestTypestep :5
at com.iton.uima.Clases.ExampleApplication.processFile(*
ExampleApplication.java:169*)
at com.iton.uima.Clases.ExampleApplication.testAnnotation(*
ExampleApplication.java:99*)
at com.iton.uima.Clases.ExampleApplication.main(*ExampleApplication.java:33*)
it is showing error at these lines
DocumentAnnotation annot = (DocumentAnnotation)itr.next();
*
processFile*(files[i], ae, cas, out);
*i have tried to use TestType which is defined in document descriptor but
same error is repeting.here i am getting out put then this error is coming
along with it*
*can any one help me in this*
*vijay*
**
package com.iton.uima;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.PrintStream;
import java.io.PrintWriter;
import java.util.Iterator;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.ibm.uima.UIMAFramework;
import com.ibm.uima.analysis_engine.AnalysisEngine;
import com.ibm.uima.analysis_engine.AnalysisEngineProcessException;
import com.ibm.uima.cas.CAS;
import com.ibm.uima.cas.CASException;
import com.ibm.uima.cas.FSIndex;
import com.ibm.uima.cas.Type;
import com.ibm.uima.examples.PrintAnnotations;
import com.ibm.uima.jcas.impl.JCas;
import com.ibm.uima.jcas.tcas.DocumentAnnotation;
import com.ibm.uima.resource.ResourceSpecifier;
import com.ibm.uima.util.XMLInputSource;
import com.iton.uima.Clases.ExampleApplication;
import com.iton.uima.Clases.SampleAnnotator;
public class Test extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse
response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintStream stream = new
PrintStream(response.getOutputStream());
try
{
File taeDescriptor = new File("descriptor\\aeDescriptor.xml");
File inputDir = new File("input");
String file1 = "output.txt";
String file2 = "package.html";
System.out.println("file is:"+file1);
System.out.println("file 2 is :"+file2);
//Read and validate command line arguments
boolean validArgs = false;
/*if (args.length == 2)
{
taeDescriptor = new File(file1);
inputDir = new File(file2);
validArgs = taeDescriptor.exists() &&
!taeDescriptor.isDirectory() &&
inputDir.isDirectory();
}*/
//System.out.println("length is:"+args.length);
{
//get Resource Specifier from XML file
XMLInputSource in = new XMLInputSource(taeDescriptor);
ResourceSpecifier specifier =
UIMAFramework.getXMLParser().parseResourceSpecifier(in);
//for debugging, output the Resource Specifier
//System.out.println(specifier);
//create Analysis Engine
AnalysisEngine ae =
UIMAFramework.produceAnalysisEngine(specifier);
ae.setConfigParameterValue("StringsToAnnotate", new
String[]
{"Michael","UIMA","vijay"});
ae.reconfigure();
//create a CAS
CAS cas = ae.newCAS();
//get all files in the input directory
File[] files = inputDir.listFiles();
if (files == null)
{
System.out.println("No files to process");
}
else
{
//process documents
for(int i = 0; i < files.length; i++)
{
if (!files[i].isDirectory())
{
processFile(files[i], ae, cas, stream);
}
}
}
ae.destroy();
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
private static void processFile( File aFile, AnalysisEngine aAE,
CAS aCAS, PrintStream out)
throws IOException,CASException,
AnalysisEngineProcessException
{
System.out.println("Processing file " + aFile.getName());
FileInputStream fis = null;
try
{
//read file
fis = new FileInputStream(aFile );
byte[] contents = new byte[(int)aFile.length() ];
fis.read( contents );
String document = new String(contents, "UTF-8");
document = document.trim();
//put document text in CAS
aCAS.setDocumentText(document);
//process
aAE.process(aCAS);
//print annotations to System.out
//PrintAnnotations.printAnnotations(aCAS, out);
FSIndex fsIndex = aCAS.getAnnotationIndex();
aCAS.getJCas().getJFSIndexRepository().getIndex("TestType", TestType.type);
//JCas jc=aCAS.getJCas();
//jc.getJFSIndexRepository().getIndex("allEvents",
TestType.type);
Iterator<DocumentAnnotation> itr = fsIndex.iterator();
while(itr.hasNext())
{
DocumentAnnotation annot = (DocumentAnnotation)itr.next();
out.println("Test UIMA Servlet
Begin::"+annot.getBegin()+"<br>");
out.println("Test UIMA Servlet
End::"+annot.getEnd()+"<br>");
out.println("Test UIMA Servlet
Content::"+annot.getCoveredText()+"<br>");
out.println("Test UIMA Servlet
End::"+annot.getType()+"<br>");
}
//reset the CAS to prepare it for processing the next
document
aCAS.reset();
}
finally
{
try
{
if ( fis != null )
fis.close();
}
catch( Exception ex )
{
ex.printStackTrace();
}
}
}
}