You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by sc...@apache.org on 2007/07/06 16:08:05 UTC

svn commit: r553884 - in /incubator/uima/uimaj/trunk/uimaj-core/src/test: java/org/apache/uima/cas/test/TypeSystemReinitTest.java resources/ExampleTae/arrayTypeSerialization.xml

Author: schor
Date: Fri Jul  6 07:08:04 2007
New Revision: 553884

URL: http://svn.apache.org/viewvc?view=rev&rev=553884
Log:
[UIMA-476] add test case with a type having a feature whose
range is an array of a specific other type, then doing
complete-serialization as is done with SOAP, and 
deserializing back - and verifying the type is ok

Added:
    incubator/uima/uimaj/trunk/uimaj-core/src/test/resources/ExampleTae/arrayTypeSerialization.xml
Modified:
    incubator/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/cas/test/TypeSystemReinitTest.java

Modified: incubator/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/cas/test/TypeSystemReinitTest.java
URL: http://svn.apache.org/viewvc/incubator/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/cas/test/TypeSystemReinitTest.java?view=diff&rev=553884&r1=553883&r2=553884
==============================================================================
--- incubator/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/cas/test/TypeSystemReinitTest.java (original)
+++ incubator/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/cas/test/TypeSystemReinitTest.java Fri Jul  6 07:08:04 2007
@@ -27,10 +27,14 @@
 import org.apache.uima.analysis_engine.AnalysisEngineDescription;
 import org.apache.uima.cas.CAS;
 import org.apache.uima.cas.FeatureStructure;
+import org.apache.uima.cas.Type;
+import org.apache.uima.cas.TypeSystem;
 import org.apache.uima.cas.admin.CASMgr;
 import org.apache.uima.cas.impl.CASCompleteSerializer;
 import org.apache.uima.cas.impl.CASImpl;
 import org.apache.uima.cas.impl.Serialization;
+import org.apache.uima.cas.impl.TypeImpl;
+import org.apache.uima.cas.impl.TypeSystemImpl;
 import org.apache.uima.resource.metadata.TypeSystemDescription;
 import org.apache.uima.resource.metadata.impl.TypeSystemDescription_impl;
 import org.apache.uima.test.junit_extension.JUnitExtension;
@@ -70,6 +74,40 @@
 
       FeatureStructure fs = tcas3.createFS(tcas3.getTypeSystem().getType("NamedEntity"));
       tcas3.getIndexRepository().addFS(fs);
+    } catch (Exception e) {
+      JUnitExtension.handleException(e);
+    }
+  }
+  public void testReinitCASCompleteSerializerWithArrays() throws Exception {
+    try {
+      AnalysisEngineDescription aed = UIMAFramework.getXMLParser().parseAnalysisEngineDescription(
+              new XMLInputSource(JUnitExtension
+                      .getFile("ExampleTae/arrayTypeSerialization.xml")));
+     
+      CAS cas1 = CasCreationUtils.createCas(aed);
+      cas1.setDocumentText("foo");
+      CASCompleteSerializer ser = Serialization.serializeCASComplete((CASMgr) cas1);
+
+      CAS tcas2 = CasCreationUtils.createCas(new TypeSystemDescription_impl(), null, null);
+      CASImpl cas2 = ((CASImpl) tcas2).getBaseCAS();
+      tcas2.setDocumentText("bar");
+
+      // reinit
+      //  This uses cas2 which only has a base type system to start, 
+      //    and loads it from a complete serialization which has other new types
+      cas2.reinit(ser);
+      CAS tcas3 = cas2.getCurrentView();
+
+      assertTrue(tcas2 == tcas3);
+      assertNotNull(cas1.getTypeSystem().getType("Test.ArrayType"));
+      assertNotNull(tcas3.getTypeSystem().getType("Test.ArrayType"));
+      
+      TypeSystemImpl ts = (TypeSystemImpl)cas2.getTypeSystem();
+      Type arrayType = ts.getType("Test.ArrayType");
+      TypeImpl featRange = (TypeImpl)arrayType.getFeatureByBaseName("arrayFeature").getRange();
+     
+      assertTrue(ts.ll_isArrayType(featRange.getCode()));
+      
     } catch (Exception e) {
       JUnitExtension.handleException(e);
     }

Added: incubator/uima/uimaj/trunk/uimaj-core/src/test/resources/ExampleTae/arrayTypeSerialization.xml
URL: http://svn.apache.org/viewvc/incubator/uima/uimaj/trunk/uimaj-core/src/test/resources/ExampleTae/arrayTypeSerialization.xml?view=auto&rev=553884
==============================================================================
--- incubator/uima/uimaj/trunk/uimaj-core/src/test/resources/ExampleTae/arrayTypeSerialization.xml (added)
+++ incubator/uima/uimaj/trunk/uimaj-core/src/test/resources/ExampleTae/arrayTypeSerialization.xml Fri Jul  6 07:08:04 2007
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<analysisEngineDescription xmlns="http://uima.apache.org/resourceSpecifier">
+  <frameworkImplementation>org.apache.uima.java</frameworkImplementation>
+  <primitive>true</primitive>
+  <annotatorImplementationName>org.apache.uima.cas.test.ArrayIndexTest</annotatorImplementationName>
+  <analysisEngineMetaData>
+    <name>arrayTypeSerialization</name>
+    <description/>
+    <version>1.0</version>
+    <vendor/>
+    <configurationParameters/>
+    <configurationParameterSettings/>
+    <typeSystemDescription>
+      <types>
+        <typeDescription>
+          <name>Test.ArrayType</name>
+          <description/>
+          <supertypeName>uima.cas.TOP</supertypeName>
+          <features>
+            <featureDescription>
+              <name>arrayFeature</name>
+              <description/>
+              <rangeTypeName>uima.cas.FSArray</rangeTypeName>
+              <elementType>Test.ArrayType</elementType>
+            </featureDescription>
+          </features>
+        </typeDescription>
+      </types>
+    </typeSystemDescription>
+    <typePriorities/>
+    <fsIndexCollection/>
+    <capabilities>
+      <capability>
+        <inputs/>
+        <outputs/>
+        <languagesSupported/>
+      </capability>
+    </capabilities>
+    <operationalProperties>
+      <modifiesCas>true</modifiesCas>
+      <multipleDeploymentAllowed>true</multipleDeploymentAllowed>
+      <outputsNewCASes>false</outputsNewCASes>
+    </operationalProperties>
+  </analysisEngineMetaData>
+  <resourceManagerConfiguration/>
+</analysisEngineDescription>