Hi Eddie,

unfortunately I'm out of the office today so I can only send you the unit test reproducing the problem on monday. But our scenario is more or less the following:

- A CPE running several Java AEs first, then send the CAS to a remote AS Service which is a C++ AE - the collection reader adds a FS with document metadata (including the String Feature "URL") to the CAS. This FS directly extends the Top-Type, not Annotation. - I used the unaltered DaveDetector to replace our own C++ AE to reproduce the problem

For the unit test I wrote a "No-OP" Java AE which uses a Typesystem only including this "DocumentData" FS with only this one String Feature. I used a Custom Resource Specifier like in the AS Documentation to reference the DaveDetector on a remote machine. I then create a CAS using the CasCreationUtil which in turn uses the "No-OP" AE descriptor and the DaveDetector-Resource Specifier. I then add the problematic Feature in question and call "process" on the remote Dave-AE. Then the exception I mentioned in my earlier mail happens.

I will send you the test code on monday and also try to use CVD to reproduce the problem.

Thanks,
Christoph


Eddie Epstein schrieb:
Hi Christoph,

I could not reproduce the problem, with 2.2.2 or the latest 2.3.0
release candidate code.

My scenario was:
1. add the following feature to type David:
        <featureDescription>
          <name>documentURL</name>
          <description></description>
          <rangeTypeName>uima.cas.String</rangeTypeName>
        </featureDescription>

2. add this code to DaveDetector.cpp:
      AnnotationFS fsNewExp =
        tcas.createAnnotation(david, uiExprBeginPos, uiExprEndPos);
+      Feature documentURL  = david.getFeatureByBaseName("documentURL");
+      fsNewExp.setStringValue(documentURL,
"http://www.gesundheitsnachrichten.net/live/navigation/live.php?navigation_id=11&_psmand=1";);
      indexRep.addFS(fsNewExp);

3. start DaveDetector as a service:
    deployCppService descriptors\DaveDetector.xml DaveDetector

4. create a DaveDetector JMS service descriptor pointing at the service:
<customResourceSpecifier xmlns="http://uima.apache.org/resourceSpecifier";>
   
<resourceClassName>org.apache.uima.aae.jms_adapter.JmsAnalysisEngineServiceAdapter</resourceClassName>
   <parameters>
     <parameter name="brokerURL" value="tcp://localhost:61616"/>
     <parameter name="endpoint" value="DaveDetector"/>
   </parameters>
</customResourceSpecifier>

5. use cvd to connect to the service, put a Dave and David in the
text, call it, and inspect the results.

Please do provide the modifications to DaveDetector and a details
description of the scenario.

Regards,
Eddie

Reply via email to