Oh sorry, I didn't notice I unintentionally used UIMAFit for my test. I rewrote the test so that it is now 'raw' UIMA. But still in this setup the TypeOrFeature[]-Array which is returned from the ResultSpecification is empty :-(

This is the code for my Test:

public class Test {

    public static AnalysisEngineDescription readAED() {
        AnalysisEngineDescription result = null;
InputStream anInStream = Test.class.getResourceAsStream("/testEngine.xml");
        XMLParser xmlParser = UIMAFramework.getXMLParser();
        try {
result = xmlParser.parseAnalysisEngineDescription(new XMLInputSource(anInStream, null));
        } catch (InvalidXMLException e) {
            e.printStackTrace();
        }
        return result;
    }

    public static void main(String[] args) {
        try {
            AnalysisEngineDescription aed = readAED();
            AnalysisEngine ae = UIMAFramework.produceAnalysisEngine(aed);
            ResultSpecification resultSpec =
UIMAFramework.getResourceSpecifierFactory().createResultSpecification();
            resultSpec.addResultType("test", true);
            CAS cas = CasCreationUtils.createCas(aed);
            ae.process(cas, resultSpec);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}

This is my engine class:

public class TestEngine extends CasAnnotator_ImplBase {
    @Override
    public void process(CAS arg0) throws AnalysisEngineProcessException {
        ResultSpecification resultSpec = getResultSpecification();
        TypeOrFeature[] types = resultSpec.getResultTypesAndFeatures();
    }
}

This is the typesystem:

<?xml version="1.0" encoding="UTF-8"?>
<typeSystemDescription xmlns="http://uima.apache.org/resourceSpecifier";>
    <types>
        <typeDescription>
            <name>test</name>
            <description></description>
<supertypeName>uima.tcas.Annotation</supertypeName>
        </typeDescription>
    </types>
</typeSystemDescription>

And this is the AnalysisEngingeDescription:

<?xml version="1.0" encoding="UTF-8"?>
<analysisEngineDescription xmlns="http://uima.apache.org/resourceSpecifier";>
    <primitive>true</primitive>
    <annotatorImplementationName>
        de.uniwue.test.uimaresultSpec.TestEngine
    </annotatorImplementationName>
    <analysisEngineMetaData>
        <typeSystemDescription>
<name>de.uniwue.dw.tm.TestTypeSystem</name>
            <imports>
                <import location="src/typeSystem.xml"/>
            </imports>
        </typeSystemDescription>
    </analysisEngineMetaData>
</analysisEngineDescription>


Greetings
Georg

Am 14.04.2013 07:19, schrieb Marshall Schor:
 From the source code you posted, it appears you are using UIMAFit, is this 
correct?

How are you specifying the UIMA Type system (which would need to contain a
definition for the type "test") for this?

-Marshall

On 4/13/2013 8:49 AM, Georg Fette wrote:
Hello,
I have a problem in understanding how to use the class "ResultSpecification".
I thought that before I call "process(cas)" I configure an instance of
ResultSpecification by adding types which have to be produced in the process
call. My test code looks like this:

MainClass:
------------------
AnalysisEngineDescription aed =
AnalysisEngineFactory.createPrimitiveDescription(TestEngine.class);
AnalysisEngine ae = AnalysisEngineFactory.createPrimitive(aed);
ResultSpecification resultSpec =
UIMAFramework.getResourceSpecifierFactory().createResultSpecification();
resultSpec.addResultType("test", true);
CAS cas = CasCreationUtils.createCas(aed);
ae.process(cas, resultSpec);

TestEngine:
-------------------------
     @Override
     public void process(JCas arg0) throws AnalysisEngineProcessException {
         ResultSpecification resultSpec = getResultSpecification();
         TypeOrFeature[] types = resultSpec.getResultTypesAndFeatures();
     }

Unfortunately the types-array in is retured by the resultSpec in the enginge's
process method is always empty.
What am I doing wrong ?
Greetings
Georg



--
---------------------------------------------------------------------
Dipl.-Inf. Georg Fette      Raum: B009
Universität Würzburg        Tel.: +49-(0)931-31-85516
Am Hubland                  Fax.: +49-(0)931-31-86732
97074 Würzburg              mail: [email protected]
---------------------------------------------------------------------

Reply via email to