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>