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 2014/11/03 23:18:28 UTC

svn commit: r1636460 - in /uima/uimaj/trunk/uimaj-json/src: main/java/org/apache/uima/json/ test/java/org/apache/uima/json/ test/resources/CasSerialization/expected/json/ test/resources/CasSerialization/expected/xmi/

Author: schor
Date: Mon Nov  3 22:18:27 2014
New Revision: 1636460

URL: http://svn.apache.org/r1636460
Log:
[UIMA-4083] fixes for JSON serialization, new tests

Added:
    uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-a1-not-a.txt
    uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-a1-not-l.txt
    uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-a2-not-a.txt
    uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-a2-not-l.txt
    uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-a3-not-a.txt
    uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-a3-not-l.txt
    uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-all-embeddable-a.txt
    uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-all-embeddable-l.txt
    uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-non-embeddable-a.txt
    uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-non-embeddable-l.txt
    uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-self-items-all-embeddable-a.txt
    uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-self-items-all-embeddable-l.txt
    uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-self-non-embeddable-a.txt
    uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-self-non-embeddable-l.txt
    uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-a1-not-a.xml
    uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-a1-not-l.xml
    uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-a2-not-a.xml
    uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-a2-not-l.xml
    uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-a3-not-a.xml
    uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-a3-not-l.xml
    uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-all-embeddable-a.xml
    uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-all-embeddable-l.xml
    uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-non-embeddable-a.xml
    uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-non-embeddable-l.xml
    uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-self-items-all-embeddable-a.xml
    uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-self-items-all-embeddable-l.xml
    uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-self-non-embeddable-a.xml
    uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-self-non-embeddable-l.xml
Removed:
    uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/indexedAndRefEmbed.txt
Modified:
    uima/uimaj/trunk/uimaj-json/src/main/java/org/apache/uima/json/JsonCasSerializer.java
    uima/uimaj/trunk/uimaj-json/src/test/java/org/apache/uima/json/JsonCasSerializerTest.java
    uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/indexedAndRef.txt
    uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/indexedSingleListStatic.txt
    uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/twoListMergeStatic.txt
    uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/indexedSingleList.xml
    uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/indexedSingleListStatic.xml
    uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/multipleViews.xml
    uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/twoListMerge.xml
    uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/twoListMergeStatic.xml

Modified: uima/uimaj/trunk/uimaj-json/src/main/java/org/apache/uima/json/JsonCasSerializer.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-json/src/main/java/org/apache/uima/json/JsonCasSerializer.java?rev=1636460&r1=1636459&r2=1636460&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-json/src/main/java/org/apache/uima/json/JsonCasSerializer.java (original)
+++ uima/uimaj/trunk/uimaj-json/src/main/java/org/apache/uima/json/JsonCasSerializer.java Mon Nov  3 22:18:27 2014
@@ -41,8 +41,9 @@ import org.apache.uima.cas.impl.TypeImpl
 import org.apache.uima.cas.impl.TypeSystemImpl;
 import org.apache.uima.cas.impl.XmiSerializationSharedData;
 import org.apache.uima.cas.impl.XmiSerializationSharedData.XmiArrayElement;
-import org.apache.uima.internal.util.IntHashSet;
 import org.apache.uima.internal.util.IntVector;
+import org.apache.uima.internal.util.PositiveIntSet;
+import org.apache.uima.internal.util.PositiveIntSet_impl;
 import org.apache.uima.internal.util.XmlElementName;
 import org.apache.uima.internal.util.rb_trees.RedBlackTree;
 import org.apache.uima.json.impl.JsonContentHandlerJacksonWrapper;
@@ -1103,11 +1104,18 @@ public class JsonCasSerializer {
         jch.writeNlJustBeforeNext();
         jg.writeFieldName(getShortFeatureName(featCode));
         isEmbeddedFromFsFeature = true;
+        //  Use cases:  can write embed, which has embed, which has non-embed
+        //     once hit non-embed, this flag would be turned off,
+        //     But it's only tested at the beginning of writeEmbeddedFs, so subsequent fields reset this
+        //     This flag only used to control new lines for embedded case
         writeEmbeddedFs(addr);
         isEmbeddedFromFsFeature = false; // restore default
       }
     }
     
+    /**
+     * Write FSArrays
+     */
     @Override
     protected void writeArrays(int addr, int typeCode, int typeClass) throws IOException {
 //      maybeWriteIdFeat(addr);
@@ -1233,7 +1241,7 @@ public class JsonCasSerializer {
       int headFeat = listUtils.getHeadFeatCode(startNodeType);
       int tailFeat = listUtils.getTailFeatCode(startNodeType);
       int neListType = listUtils.getNeListType(startNodeType);  // non-empty
-      final IntHashSet visited = new IntHashSet();
+      final PositiveIntSet visited = new PositiveIntSet_impl();
      
       jg.writeStartArray();
       while (curNode != CASImpl.NULL) { 

Modified: uima/uimaj/trunk/uimaj-json/src/test/java/org/apache/uima/json/JsonCasSerializerTest.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-json/src/test/java/org/apache/uima/json/JsonCasSerializerTest.java?rev=1636460&r1=1636459&r2=1636460&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-json/src/test/java/org/apache/uima/json/JsonCasSerializerTest.java (original)
+++ uima/uimaj/trunk/uimaj-json/src/test/java/org/apache/uima/json/JsonCasSerializerTest.java Mon Nov  3 22:18:27 2014
@@ -40,8 +40,11 @@ import org.apache.uima.cas.impl.TypeSyst
 import org.apache.uima.cas.impl.XmiCasSerializer;
 import org.apache.uima.jcas.JCas;
 import org.apache.uima.jcas.cas.ByteArray;
+import org.apache.uima.jcas.cas.EmptyFSList;
 import org.apache.uima.jcas.cas.FSArray;
+import org.apache.uima.jcas.cas.FSList;
 import org.apache.uima.jcas.cas.IntegerList;
+import org.apache.uima.jcas.cas.NonEmptyFSList;
 import org.apache.uima.jcas.cas.NonEmptyIntegerList;
 import org.apache.uima.json.JsonCasSerializer.JsonContextFormat;
 import org.apache.uima.resource.ResourceInitializationException;
@@ -320,10 +323,9 @@ public class JsonCasSerializerTest exten
   public void testRefs() throws Exception {
     setupTypeSystem("refTypes.xml");
     jcs.setPrettyPrint(true);
+    jcs.setJsonContext(JsonContextFormat.omitContext);
 
-   
-    FeatureStructure[] fss = new FeatureStructure[20];
-    
+      
     //  make root FS that is indexed and has a ref 
     RefTypes root = new RefTypes(jcas);
     root.addToIndexes();
@@ -334,15 +336,82 @@ public class JsonCasSerializerTest exten
     root.setAFS(ref1);
     
     serializeAndCompare("indexedAndRef.txt");
+
+    arrayOrListRefstst(true);
+    arrayOrListRefstst(false);
+  }
+
+  public void arrayOrListRefstst(boolean tstArray) throws Exception {
+    jcas.reset();
     
-    // have the indexed & ref'd item ref an embeddable
-    RefTypes ref2 = new RefTypes(jcas);
-    ref1.setAFS(ref2);
-    serializeAndCompare("indexedAndRefEmbed.txt");
-   
- 
+    //  make root FS that is indexed and has a ref 
+    RefTypes root = new RefTypes(jcas);
+    root.addToIndexes();
+       
+    // Test list or array with 1 non-embeddable
+    RefTypes refa1 = new RefTypes(jcas);
+    RefTypes refa2 = new RefTypes(jcas);
+    RefTypes refa3 = new RefTypes(jcas);
+    
+    
+    FSArray a = new FSArray(jcas,  3);
+    a.set(0, refa1);
+    a.set(1, refa2);
+    a.set(2, refa3);
+
+    NonEmptyFSList l0 = new NonEmptyFSList(jcas);
+    NonEmptyFSList l1 = new NonEmptyFSList(jcas);
+    NonEmptyFSList l2 = new NonEmptyFSList(jcas);
+    EmptyFSList tailEnd = new EmptyFSList(jcas);    
+    l0.setTail(l1);
+    l1.setTail(l2);;
+    l2.setTail(tailEnd);
+    l0.setHead(refa1);
+    l1.setHead(refa2);
+    l2.setHead(refa3);;
+         
+    if (tstArray) {
+      root.setAArrayFS(a);
+    } else {
+      root.setAListFs(l0);
+    }
+    
+    String sfx = (tstArray) ? "a" : "l";
+    // all embeddable:
+    serializeAndCompare("array-all-embeddable-" + sfx + ".txt");
+    // 1 not embeddable, at all 3 positions
+    refa1.addToIndexes();
+    serializeAndCompare("array-a1-not-" + sfx + ".txt");
+    refa1.removeFromIndexes();
+    refa2.addToIndexes();
+    serializeAndCompare("array-a2-not-" + sfx + ".txt");
+    refa2.removeFromIndexes();
+    refa3.addToIndexes();
+    serializeAndCompare("array-a3-not-" + sfx + ".txt");
+    
+    // 3 not embeddable:
+    refa1.addToIndexes();
+    refa2.addToIndexes();
+    serializeAndCompare("array-non-embeddable-" + sfx + ".txt");
+    
+    // FSArray not embeddable
+    if (tstArray) {
+      a.addToIndexes();  
+    } else {
+      l0.addToIndexes();
+    }
+    
+    serializeAndCompare("array-self-non-embeddable-" + sfx + ".txt");
+    
+    
+    // all embeddable, FSArray not
+    refa1.removeFromIndexes();
+    refa2.removeFromIndexes();
+    refa3.removeFromIndexes();
+    serializeAndCompare("array-self-items-all-embeddable-" + sfx + ".txt");        
   }
 
+  
   private FeatureStructure emptyIntList() {
     return cas.createFS(emptyIntListType);
   }

Added: uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-a1-not-a.txt
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-a1-not-a.txt?rev=1636460&view=auto
==============================================================================
--- uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-a1-not-a.txt (added)
+++ uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-a1-not-a.txt Mon Nov  3 22:18:27 2014
@@ -0,0 +1,10 @@
+{
+  "@views" : {
+    "_InitialView" : {
+      "RefTypes" : [
+        {"sofa" : 8,  "aArrayFS" : [15,  22,  29 ] },  15 ] } }, 
+  "@referenced_fss" : {
+    "8" : {"@type" : "Sofa",  "sofaNum" : 1,  "sofaID" : "_InitialView" }, 
+    "15" : {"@type" : "RefTypes",  "sofa" : 8 }, 
+    "22" : {"@type" : "RefTypes",  "sofa" : 8 }, 
+    "29" : {"@type" : "RefTypes",  "sofa" : 8 } } }
\ No newline at end of file

Added: uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-a1-not-l.txt
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-a1-not-l.txt?rev=1636460&view=auto
==============================================================================
--- uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-a1-not-l.txt (added)
+++ uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-a1-not-l.txt Mon Nov  3 22:18:27 2014
@@ -0,0 +1,10 @@
+{
+  "@views" : {
+    "_InitialView" : {
+      "RefTypes" : [
+        {"sofa" : 8,  "aListFs" : [15, 
+            {"@type" : "RefTypes",  "sofa" : 8 }, 
+            {"@type" : "RefTypes",  "sofa" : 8 } ] },  15 ] } }, 
+  "@referenced_fss" : {
+    "8" : {"@type" : "Sofa",  "sofaNum" : 1,  "sofaID" : "_InitialView" }, 
+    "15" : {"@type" : "RefTypes",  "sofa" : 8 } } }
\ No newline at end of file

Added: uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-a2-not-a.txt
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-a2-not-a.txt?rev=1636460&view=auto
==============================================================================
--- uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-a2-not-a.txt (added)
+++ uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-a2-not-a.txt Mon Nov  3 22:18:27 2014
@@ -0,0 +1,10 @@
+{
+  "@views" : {
+    "_InitialView" : {
+      "RefTypes" : [
+        {"sofa" : 8,  "aArrayFS" : [15,  22,  29 ] },  22 ] } }, 
+  "@referenced_fss" : {
+    "8" : {"@type" : "Sofa",  "sofaNum" : 1,  "sofaID" : "_InitialView" }, 
+    "15" : {"@type" : "RefTypes",  "sofa" : 8 }, 
+    "22" : {"@type" : "RefTypes",  "sofa" : 8 }, 
+    "29" : {"@type" : "RefTypes",  "sofa" : 8 } } }
\ No newline at end of file

Added: uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-a2-not-l.txt
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-a2-not-l.txt?rev=1636460&view=auto
==============================================================================
--- uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-a2-not-l.txt (added)
+++ uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-a2-not-l.txt Mon Nov  3 22:18:27 2014
@@ -0,0 +1,10 @@
+{
+  "@views" : {
+    "_InitialView" : {
+      "RefTypes" : [
+        {"sofa" : 8,  "aListFs" : [
+            {"@type" : "RefTypes",  "sofa" : 8 },  22, 
+            {"@type" : "RefTypes",  "sofa" : 8 } ] },  22 ] } }, 
+  "@referenced_fss" : {
+    "8" : {"@type" : "Sofa",  "sofaNum" : 1,  "sofaID" : "_InitialView" }, 
+    "22" : {"@type" : "RefTypes",  "sofa" : 8 } } }
\ No newline at end of file

Added: uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-a3-not-a.txt
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-a3-not-a.txt?rev=1636460&view=auto
==============================================================================
--- uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-a3-not-a.txt (added)
+++ uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-a3-not-a.txt Mon Nov  3 22:18:27 2014
@@ -0,0 +1,10 @@
+{
+  "@views" : {
+    "_InitialView" : {
+      "RefTypes" : [
+        {"sofa" : 8,  "aArrayFS" : [15,  22,  29 ] },  29 ] } }, 
+  "@referenced_fss" : {
+    "8" : {"@type" : "Sofa",  "sofaNum" : 1,  "sofaID" : "_InitialView" }, 
+    "15" : {"@type" : "RefTypes",  "sofa" : 8 }, 
+    "22" : {"@type" : "RefTypes",  "sofa" : 8 }, 
+    "29" : {"@type" : "RefTypes",  "sofa" : 8 } } }
\ No newline at end of file

Added: uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-a3-not-l.txt
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-a3-not-l.txt?rev=1636460&view=auto
==============================================================================
--- uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-a3-not-l.txt (added)
+++ uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-a3-not-l.txt Mon Nov  3 22:18:27 2014
@@ -0,0 +1,10 @@
+{
+  "@views" : {
+    "_InitialView" : {
+      "RefTypes" : [
+        {"sofa" : 8,  "aListFs" : [
+            {"@type" : "RefTypes",  "sofa" : 8 }, 
+            {"@type" : "RefTypes",  "sofa" : 8 },  29 ] },  29 ] } }, 
+  "@referenced_fss" : {
+    "8" : {"@type" : "Sofa",  "sofaNum" : 1,  "sofaID" : "_InitialView" }, 
+    "29" : {"@type" : "RefTypes",  "sofa" : 8 } } }
\ No newline at end of file

Added: uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-all-embeddable-a.txt
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-all-embeddable-a.txt?rev=1636460&view=auto
==============================================================================
--- uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-all-embeddable-a.txt (added)
+++ uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-all-embeddable-a.txt Mon Nov  3 22:18:27 2014
@@ -0,0 +1,10 @@
+{
+  "@views" : {
+    "_InitialView" : {
+      "RefTypes" : [
+        {"sofa" : 8,  "aArrayFS" : [15,  22,  29 ] } ] } }, 
+  "@referenced_fss" : {
+    "8" : {"@type" : "Sofa",  "sofaNum" : 1,  "sofaID" : "_InitialView" }, 
+    "15" : {"@type" : "RefTypes",  "sofa" : 8 }, 
+    "22" : {"@type" : "RefTypes",  "sofa" : 8 }, 
+    "29" : {"@type" : "RefTypes",  "sofa" : 8 } } }
\ No newline at end of file

Added: uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-all-embeddable-l.txt
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-all-embeddable-l.txt?rev=1636460&view=auto
==============================================================================
--- uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-all-embeddable-l.txt (added)
+++ uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-all-embeddable-l.txt Mon Nov  3 22:18:27 2014
@@ -0,0 +1,10 @@
+{
+  "@views" : {
+    "_InitialView" : {
+      "RefTypes" : [
+        {"sofa" : 8,  "aListFs" : [
+            {"@type" : "RefTypes",  "sofa" : 8 }, 
+            {"@type" : "RefTypes",  "sofa" : 8 }, 
+            {"@type" : "RefTypes",  "sofa" : 8 } ] } ] } }, 
+  "@referenced_fss" : {
+    "8" : {"@type" : "Sofa",  "sofaNum" : 1,  "sofaID" : "_InitialView" } } }
\ No newline at end of file

Added: uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-non-embeddable-a.txt
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-non-embeddable-a.txt?rev=1636460&view=auto
==============================================================================
--- uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-non-embeddable-a.txt (added)
+++ uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-non-embeddable-a.txt Mon Nov  3 22:18:27 2014
@@ -0,0 +1,10 @@
+{
+  "@views" : {
+    "_InitialView" : {
+      "RefTypes" : [
+        {"sofa" : 8,  "aArrayFS" : [15,  22,  29 ] },  15,  22,  29 ] } }, 
+  "@referenced_fss" : {
+    "8" : {"@type" : "Sofa",  "sofaNum" : 1,  "sofaID" : "_InitialView" }, 
+    "15" : {"@type" : "RefTypes",  "sofa" : 8 }, 
+    "22" : {"@type" : "RefTypes",  "sofa" : 8 }, 
+    "29" : {"@type" : "RefTypes",  "sofa" : 8 } } }
\ No newline at end of file

Added: uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-non-embeddable-l.txt
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-non-embeddable-l.txt?rev=1636460&view=auto
==============================================================================
--- uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-non-embeddable-l.txt (added)
+++ uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-non-embeddable-l.txt Mon Nov  3 22:18:27 2014
@@ -0,0 +1,10 @@
+{
+  "@views" : {
+    "_InitialView" : {
+      "RefTypes" : [
+        {"sofa" : 8,  "aListFs" : [15,  22,  29 ] },  15,  22,  29 ] } }, 
+  "@referenced_fss" : {
+    "8" : {"@type" : "Sofa",  "sofaNum" : 1,  "sofaID" : "_InitialView" }, 
+    "15" : {"@type" : "RefTypes",  "sofa" : 8 }, 
+    "22" : {"@type" : "RefTypes",  "sofa" : 8 }, 
+    "29" : {"@type" : "RefTypes",  "sofa" : 8 } } }
\ No newline at end of file

Added: uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-self-items-all-embeddable-a.txt
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-self-items-all-embeddable-a.txt?rev=1636460&view=auto
==============================================================================
--- uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-self-items-all-embeddable-a.txt (added)
+++ uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-self-items-all-embeddable-a.txt Mon Nov  3 22:18:27 2014
@@ -0,0 +1,12 @@
+{
+  "@views" : {
+    "_InitialView" : {
+      "FSArray" : [36 ], 
+      "RefTypes" : [
+        {"sofa" : 8,  "aArrayFS" : 36 } ] } }, 
+  "@referenced_fss" : {
+    "8" : {"@type" : "Sofa",  "sofaNum" : 1,  "sofaID" : "_InitialView" }, 
+    "36" : {"@type" : "FSArray",  "@collection" : [
+        {"@type" : "RefTypes",  "sofa" : 8 }, 
+        {"@type" : "RefTypes",  "sofa" : 8 }, 
+        {"@type" : "RefTypes",  "sofa" : 8 } ] } } }
\ No newline at end of file

Added: uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-self-items-all-embeddable-l.txt
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-self-items-all-embeddable-l.txt?rev=1636460&view=auto
==============================================================================
--- uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-self-items-all-embeddable-l.txt (added)
+++ uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-self-items-all-embeddable-l.txt Mon Nov  3 22:18:27 2014
@@ -0,0 +1,12 @@
+{
+  "@views" : {
+    "_InitialView" : {
+      "NonEmptyFSList" : [41 ], 
+      "RefTypes" : [
+        {"sofa" : 8,  "aListFs" : 41 } ] } }, 
+  "@referenced_fss" : {
+    "8" : {"@type" : "Sofa",  "sofaNum" : 1,  "sofaID" : "_InitialView" }, 
+    "41" : {"@type" : "NonEmptyFSList", 
+      "head" : {"@type" : "RefTypes",  "sofa" : 8 },  "tail" : [
+        {"@type" : "RefTypes",  "sofa" : 8 }, 
+        {"@type" : "RefTypes",  "sofa" : 8 } ] } } }
\ No newline at end of file

Added: uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-self-non-embeddable-a.txt
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-self-non-embeddable-a.txt?rev=1636460&view=auto
==============================================================================
--- uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-self-non-embeddable-a.txt (added)
+++ uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-self-non-embeddable-a.txt Mon Nov  3 22:18:27 2014
@@ -0,0 +1,12 @@
+{
+  "@views" : {
+    "_InitialView" : {
+      "FSArray" : [36 ], 
+      "RefTypes" : [
+        {"sofa" : 8,  "aArrayFS" : 36 },  15,  22,  29 ] } }, 
+  "@referenced_fss" : {
+    "8" : {"@type" : "Sofa",  "sofaNum" : 1,  "sofaID" : "_InitialView" }, 
+    "15" : {"@type" : "RefTypes",  "sofa" : 8 }, 
+    "22" : {"@type" : "RefTypes",  "sofa" : 8 }, 
+    "29" : {"@type" : "RefTypes",  "sofa" : 8 }, 
+    "36" : {"@type" : "FSArray",  "@collection" : [15,  22,  29 ] } } }
\ No newline at end of file

Added: uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-self-non-embeddable-l.txt
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-self-non-embeddable-l.txt?rev=1636460&view=auto
==============================================================================
--- uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-self-non-embeddable-l.txt (added)
+++ uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/array-self-non-embeddable-l.txt Mon Nov  3 22:18:27 2014
@@ -0,0 +1,12 @@
+{
+  "@views" : {
+    "_InitialView" : {
+      "NonEmptyFSList" : [41 ], 
+      "RefTypes" : [
+        {"sofa" : 8,  "aListFs" : 41 },  15,  22,  29 ] } }, 
+  "@referenced_fss" : {
+    "8" : {"@type" : "Sofa",  "sofaNum" : 1,  "sofaID" : "_InitialView" }, 
+    "15" : {"@type" : "RefTypes",  "sofa" : 8 }, 
+    "22" : {"@type" : "RefTypes",  "sofa" : 8 }, 
+    "29" : {"@type" : "RefTypes",  "sofa" : 8 }, 
+    "41" : {"@type" : "NonEmptyFSList",  "head" : 15,  "tail" : [22,  29 ] } } }
\ No newline at end of file

Modified: uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/indexedAndRef.txt
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/indexedAndRef.txt?rev=1636460&r1=1636459&r2=1636460&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/indexedAndRef.txt (original)
+++ uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/indexedAndRef.txt Mon Nov  3 22:18:27 2014
@@ -1,17 +1,4 @@
-{"@context" : {
-    "@types" : {
-      "RefTypes" : {"@id" : "org.apache.uima.test.RefTypes", 
-        "@feature_types" : {"sofa" : "@ref",  "aFS" : "@ref",  "aListFs" : "@ref",  "aArrayFS" : "@ref" } }, 
-      "Sofa" : {"@id" : "uima.cas.Sofa", 
-        "@feature_types" : {"sofaArray" : "@ref" } }, 
-      "Annotation" : {"@id" : "uima.tcas.Annotation", 
-        "@feature_types" : {"sofa" : "@ref" }, 
-        "@subtypes" : ["RefTypes" ] }, 
-      "AnnotationBase" : {"@id" : "uima.cas.AnnotationBase", 
-        "@feature_types" : {"sofa" : "@ref" }, 
-        "@subtypes" : ["Annotation" ] }, 
-      "TOP" : {"@id" : "uima.cas.TOP", 
-        "@subtypes" : ["AnnotationBase",  "Sofa" ] } } }, 
+{
   "@views" : {
     "_InitialView" : {
       "RefTypes" : [

Modified: uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/indexedSingleListStatic.txt
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/indexedSingleListStatic.txt?rev=1636460&r1=1636459&r2=1636460&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/indexedSingleListStatic.txt (original)
+++ uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/indexedSingleListStatic.txt Mon Nov  3 22:18:27 2014
@@ -14,6 +14,6 @@
       "NonEmptyIntegerList" : [
         {"head" : 11,  "tail" : 5 } ] } }, 
   "@referenced_fss" : {
-    "5" : {"@type" : "NonEmptyIntegerList",  "head" : 22,  "tail" : 2 }, 
+    "1" : {"@type" : "EmptyIntegerList" }, 
     "2" : {"@type" : "NonEmptyIntegerList",  "head" : 33,  "tail" : 1 }, 
-    "1" : {"@type" : "EmptyIntegerList" } } }
\ No newline at end of file
+    "5" : {"@type" : "NonEmptyIntegerList",  "head" : 22,  "tail" : 2 } } }
\ No newline at end of file

Modified: uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/twoListMergeStatic.txt
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/twoListMergeStatic.txt?rev=1636460&r1=1636459&r2=1636460&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/twoListMergeStatic.txt (original)
+++ uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/json/twoListMergeStatic.txt Mon Nov  3 22:18:27 2014
@@ -15,6 +15,6 @@
         {"head" : 11,  "tail" : 5 }, 
         {"head" : 110,  "tail" : 5 } ] } }, 
   "@referenced_fss" : {
-    "5" : {"@type" : "NonEmptyIntegerList",  "head" : 22,  "tail" : 2 }, 
+    "1" : {"@type" : "EmptyIntegerList" }, 
     "2" : {"@type" : "NonEmptyIntegerList",  "head" : 33,  "tail" : 1 }, 
-    "1" : {"@type" : "EmptyIntegerList" } } }
\ No newline at end of file
+    "5" : {"@type" : "NonEmptyIntegerList",  "head" : 22,  "tail" : 2 } } }
\ No newline at end of file

Added: uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-a1-not-a.xml
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-a1-not-a.xml?rev=1636460&view=auto
==============================================================================
--- uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-a1-not-a.xml (added)
+++ uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-a1-not-a.xml Mon Nov  3 22:18:27 2014
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?><xmi:XMI xmlns:cas="http:///uima/cas.ecore" xmlns:test="http:///org/apache/uima/test.ecore" xmlns:xmi="http://www.omg.org/XMI" xmlns:tcas="http:///uima/tcas.ecore" xmi:version="2.0">
+    <cas:NULL xmi:id="0"/>
+    <test:RefTypes xmi:id="1" sofa="8" begin="0" end="0" aArrayFS="15 22 29"/>
+    <test:RefTypes xmi:id="15" sofa="8" begin="0" end="0"/>
+    <cas:Sofa xmi:id="8" sofaNum="1" sofaID="_InitialView"/>
+    <test:RefTypes xmi:id="22" sofa="8" begin="0" end="0"/>
+    <test:RefTypes xmi:id="29" sofa="8" begin="0" end="0"/>
+    <cas:View sofa="8" members="1 15"/>
+</xmi:XMI>
\ No newline at end of file

Added: uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-a1-not-l.xml
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-a1-not-l.xml?rev=1636460&view=auto
==============================================================================
--- uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-a1-not-l.xml (added)
+++ uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-a1-not-l.xml Mon Nov  3 22:18:27 2014
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?><xmi:XMI xmlns:cas="http:///uima/cas.ecore" xmlns:test="http:///org/apache/uima/test.ecore" xmlns:xmi="http://www.omg.org/XMI" xmlns:tcas="http:///uima/tcas.ecore" xmi:version="2.0">
+    <cas:NULL xmi:id="0"/>
+    <test:RefTypes xmi:id="1" sofa="8" begin="0" end="0" aListFs="15 22 29"/>
+    <test:RefTypes xmi:id="15" sofa="8" begin="0" end="0"/>
+    <cas:Sofa xmi:id="8" sofaNum="1" sofaID="_InitialView"/>
+    <test:RefTypes xmi:id="22" sofa="8" begin="0" end="0"/>
+    <test:RefTypes xmi:id="29" sofa="8" begin="0" end="0"/>
+    <cas:View sofa="8" members="1 15"/>
+</xmi:XMI>
\ No newline at end of file

Added: uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-a2-not-a.xml
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-a2-not-a.xml?rev=1636460&view=auto
==============================================================================
--- uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-a2-not-a.xml (added)
+++ uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-a2-not-a.xml Mon Nov  3 22:18:27 2014
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?><xmi:XMI xmlns:cas="http:///uima/cas.ecore" xmlns:test="http:///org/apache/uima/test.ecore" xmlns:xmi="http://www.omg.org/XMI" xmlns:tcas="http:///uima/tcas.ecore" xmi:version="2.0">
+    <cas:NULL xmi:id="0"/>
+    <test:RefTypes xmi:id="1" sofa="8" begin="0" end="0" aArrayFS="15 22 29"/>
+    <test:RefTypes xmi:id="22" sofa="8" begin="0" end="0"/>
+    <cas:Sofa xmi:id="8" sofaNum="1" sofaID="_InitialView"/>
+    <test:RefTypes xmi:id="15" sofa="8" begin="0" end="0"/>
+    <test:RefTypes xmi:id="29" sofa="8" begin="0" end="0"/>
+    <cas:View sofa="8" members="1 22"/>
+</xmi:XMI>
\ No newline at end of file

Added: uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-a2-not-l.xml
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-a2-not-l.xml?rev=1636460&view=auto
==============================================================================
--- uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-a2-not-l.xml (added)
+++ uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-a2-not-l.xml Mon Nov  3 22:18:27 2014
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?><xmi:XMI xmlns:cas="http:///uima/cas.ecore" xmlns:test="http:///org/apache/uima/test.ecore" xmlns:xmi="http://www.omg.org/XMI" xmlns:tcas="http:///uima/tcas.ecore" xmi:version="2.0">
+    <cas:NULL xmi:id="0"/>
+    <test:RefTypes xmi:id="1" sofa="8" begin="0" end="0" aListFs="15 22 29"/>
+    <test:RefTypes xmi:id="22" sofa="8" begin="0" end="0"/>
+    <cas:Sofa xmi:id="8" sofaNum="1" sofaID="_InitialView"/>
+    <test:RefTypes xmi:id="15" sofa="8" begin="0" end="0"/>
+    <test:RefTypes xmi:id="29" sofa="8" begin="0" end="0"/>
+    <cas:View sofa="8" members="1 22"/>
+</xmi:XMI>
\ No newline at end of file

Added: uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-a3-not-a.xml
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-a3-not-a.xml?rev=1636460&view=auto
==============================================================================
--- uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-a3-not-a.xml (added)
+++ uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-a3-not-a.xml Mon Nov  3 22:18:27 2014
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?><xmi:XMI xmlns:cas="http:///uima/cas.ecore" xmlns:test="http:///org/apache/uima/test.ecore" xmlns:xmi="http://www.omg.org/XMI" xmlns:tcas="http:///uima/tcas.ecore" xmi:version="2.0">
+    <cas:NULL xmi:id="0"/>
+    <test:RefTypes xmi:id="1" sofa="8" begin="0" end="0" aArrayFS="15 22 29"/>
+    <test:RefTypes xmi:id="29" sofa="8" begin="0" end="0"/>
+    <cas:Sofa xmi:id="8" sofaNum="1" sofaID="_InitialView"/>
+    <test:RefTypes xmi:id="15" sofa="8" begin="0" end="0"/>
+    <test:RefTypes xmi:id="22" sofa="8" begin="0" end="0"/>
+    <cas:View sofa="8" members="1 29"/>
+</xmi:XMI>
\ No newline at end of file

Added: uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-a3-not-l.xml
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-a3-not-l.xml?rev=1636460&view=auto
==============================================================================
--- uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-a3-not-l.xml (added)
+++ uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-a3-not-l.xml Mon Nov  3 22:18:27 2014
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?><xmi:XMI xmlns:cas="http:///uima/cas.ecore" xmlns:test="http:///org/apache/uima/test.ecore" xmlns:xmi="http://www.omg.org/XMI" xmlns:tcas="http:///uima/tcas.ecore" xmi:version="2.0">
+    <cas:NULL xmi:id="0"/>
+    <test:RefTypes xmi:id="1" sofa="8" begin="0" end="0" aListFs="15 22 29"/>
+    <test:RefTypes xmi:id="29" sofa="8" begin="0" end="0"/>
+    <cas:Sofa xmi:id="8" sofaNum="1" sofaID="_InitialView"/>
+    <test:RefTypes xmi:id="15" sofa="8" begin="0" end="0"/>
+    <test:RefTypes xmi:id="22" sofa="8" begin="0" end="0"/>
+    <cas:View sofa="8" members="1 29"/>
+</xmi:XMI>
\ No newline at end of file

Added: uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-all-embeddable-a.xml
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-all-embeddable-a.xml?rev=1636460&view=auto
==============================================================================
--- uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-all-embeddable-a.xml (added)
+++ uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-all-embeddable-a.xml Mon Nov  3 22:18:27 2014
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?><xmi:XMI xmlns:cas="http:///uima/cas.ecore" xmlns:test="http:///org/apache/uima/test.ecore" xmlns:xmi="http://www.omg.org/XMI" xmlns:tcas="http:///uima/tcas.ecore" xmi:version="2.0">
+    <cas:NULL xmi:id="0"/>
+    <test:RefTypes xmi:id="1" sofa="8" begin="0" end="0" aArrayFS="15 22 29"/>
+    <cas:Sofa xmi:id="8" sofaNum="1" sofaID="_InitialView"/>
+    <test:RefTypes xmi:id="15" sofa="8" begin="0" end="0"/>
+    <test:RefTypes xmi:id="22" sofa="8" begin="0" end="0"/>
+    <test:RefTypes xmi:id="29" sofa="8" begin="0" end="0"/>
+    <cas:View sofa="8" members="1"/>
+</xmi:XMI>
\ No newline at end of file

Added: uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-all-embeddable-l.xml
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-all-embeddable-l.xml?rev=1636460&view=auto
==============================================================================
--- uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-all-embeddable-l.xml (added)
+++ uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-all-embeddable-l.xml Mon Nov  3 22:18:27 2014
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?><xmi:XMI xmlns:cas="http:///uima/cas.ecore" xmlns:test="http:///org/apache/uima/test.ecore" xmlns:xmi="http://www.omg.org/XMI" xmlns:tcas="http:///uima/tcas.ecore" xmi:version="2.0">
+    <cas:NULL xmi:id="0"/>
+    <test:RefTypes xmi:id="1" sofa="8" begin="0" end="0" aListFs="15 22 29"/>
+    <cas:Sofa xmi:id="8" sofaNum="1" sofaID="_InitialView"/>
+    <test:RefTypes xmi:id="15" sofa="8" begin="0" end="0"/>
+    <test:RefTypes xmi:id="22" sofa="8" begin="0" end="0"/>
+    <test:RefTypes xmi:id="29" sofa="8" begin="0" end="0"/>
+    <cas:View sofa="8" members="1"/>
+</xmi:XMI>
\ No newline at end of file

Added: uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-non-embeddable-a.xml
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-non-embeddable-a.xml?rev=1636460&view=auto
==============================================================================
--- uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-non-embeddable-a.xml (added)
+++ uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-non-embeddable-a.xml Mon Nov  3 22:18:27 2014
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?><xmi:XMI xmlns:cas="http:///uima/cas.ecore" xmlns:test="http:///org/apache/uima/test.ecore" xmlns:xmi="http://www.omg.org/XMI" xmlns:tcas="http:///uima/tcas.ecore" xmi:version="2.0">
+    <cas:NULL xmi:id="0"/>
+    <test:RefTypes xmi:id="1" sofa="8" begin="0" end="0" aArrayFS="15 22 29"/>
+    <test:RefTypes xmi:id="15" sofa="8" begin="0" end="0"/>
+    <test:RefTypes xmi:id="22" sofa="8" begin="0" end="0"/>
+    <test:RefTypes xmi:id="29" sofa="8" begin="0" end="0"/>
+    <cas:Sofa xmi:id="8" sofaNum="1" sofaID="_InitialView"/>
+    <cas:View sofa="8" members="1 15 22 29"/>
+</xmi:XMI>
\ No newline at end of file

Added: uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-non-embeddable-l.xml
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-non-embeddable-l.xml?rev=1636460&view=auto
==============================================================================
--- uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-non-embeddable-l.xml (added)
+++ uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-non-embeddable-l.xml Mon Nov  3 22:18:27 2014
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?><xmi:XMI xmlns:cas="http:///uima/cas.ecore" xmlns:test="http:///org/apache/uima/test.ecore" xmlns:xmi="http://www.omg.org/XMI" xmlns:tcas="http:///uima/tcas.ecore" xmi:version="2.0">
+    <cas:NULL xmi:id="0"/>
+    <test:RefTypes xmi:id="1" sofa="8" begin="0" end="0" aListFs="15 22 29"/>
+    <test:RefTypes xmi:id="15" sofa="8" begin="0" end="0"/>
+    <test:RefTypes xmi:id="22" sofa="8" begin="0" end="0"/>
+    <test:RefTypes xmi:id="29" sofa="8" begin="0" end="0"/>
+    <cas:Sofa xmi:id="8" sofaNum="1" sofaID="_InitialView"/>
+    <cas:View sofa="8" members="1 15 22 29"/>
+</xmi:XMI>
\ No newline at end of file

Added: uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-self-items-all-embeddable-a.xml
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-self-items-all-embeddable-a.xml?rev=1636460&view=auto
==============================================================================
--- uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-self-items-all-embeddable-a.xml (added)
+++ uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-self-items-all-embeddable-a.xml Mon Nov  3 22:18:27 2014
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?><xmi:XMI xmlns:cas="http:///uima/cas.ecore" xmlns:test="http:///org/apache/uima/test.ecore" xmlns:xmi="http://www.omg.org/XMI" xmlns:tcas="http:///uima/tcas.ecore" xmi:version="2.0">
+    <cas:NULL xmi:id="0"/>
+    <test:RefTypes xmi:id="1" sofa="8" begin="0" end="0" aArrayFS="15 22 29"/>
+    <cas:FSArray xmi:id="36" elements="15 22 29"/>
+    <cas:Sofa xmi:id="8" sofaNum="1" sofaID="_InitialView"/>
+    <test:RefTypes xmi:id="15" sofa="8" begin="0" end="0"/>
+    <test:RefTypes xmi:id="22" sofa="8" begin="0" end="0"/>
+    <test:RefTypes xmi:id="29" sofa="8" begin="0" end="0"/>
+    <cas:View sofa="8" members="1 36"/>
+</xmi:XMI>
\ No newline at end of file

Added: uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-self-items-all-embeddable-l.xml
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-self-items-all-embeddable-l.xml?rev=1636460&view=auto
==============================================================================
--- uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-self-items-all-embeddable-l.xml (added)
+++ uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-self-items-all-embeddable-l.xml Mon Nov  3 22:18:27 2014
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?><xmi:XMI xmlns:cas="http:///uima/cas.ecore" xmlns:test="http:///org/apache/uima/test.ecore" xmlns:xmi="http://www.omg.org/XMI" xmlns:tcas="http:///uima/tcas.ecore" xmi:version="2.0">
+    <cas:NULL xmi:id="0"/>
+    <test:RefTypes xmi:id="1" sofa="8" begin="0" end="0" aListFs="15 22 29"/>
+    <cas:NonEmptyFSList xmi:id="41" head="15" tail="44"/>
+    <cas:Sofa xmi:id="8" sofaNum="1" sofaID="_InitialView"/>
+    <test:RefTypes xmi:id="15" sofa="8" begin="0" end="0"/>
+    <test:RefTypes xmi:id="22" sofa="8" begin="0" end="0"/>
+    <test:RefTypes xmi:id="29" sofa="8" begin="0" end="0"/>
+    <cas:NonEmptyFSList xmi:id="44" head="22" tail="47"/>
+    <cas:NonEmptyFSList xmi:id="47" head="29" tail="50"/>
+    <cas:EmptyFSList xmi:id="50"/>
+    <cas:View sofa="8" members="1 41"/>
+</xmi:XMI>
\ No newline at end of file

Added: uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-self-non-embeddable-a.xml
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-self-non-embeddable-a.xml?rev=1636460&view=auto
==============================================================================
--- uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-self-non-embeddable-a.xml (added)
+++ uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-self-non-embeddable-a.xml Mon Nov  3 22:18:27 2014
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?><xmi:XMI xmlns:cas="http:///uima/cas.ecore" xmlns:test="http:///org/apache/uima/test.ecore" xmlns:xmi="http://www.omg.org/XMI" xmlns:tcas="http:///uima/tcas.ecore" xmi:version="2.0">
+    <cas:NULL xmi:id="0"/>
+    <test:RefTypes xmi:id="1" sofa="8" begin="0" end="0" aArrayFS="15 22 29"/>
+    <test:RefTypes xmi:id="15" sofa="8" begin="0" end="0"/>
+    <test:RefTypes xmi:id="22" sofa="8" begin="0" end="0"/>
+    <test:RefTypes xmi:id="29" sofa="8" begin="0" end="0"/>
+    <cas:FSArray xmi:id="36" elements="15 22 29"/>
+    <cas:Sofa xmi:id="8" sofaNum="1" sofaID="_InitialView"/>
+    <cas:View sofa="8" members="1 15 22 29 36"/>
+</xmi:XMI>
\ No newline at end of file

Added: uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-self-non-embeddable-l.xml
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-self-non-embeddable-l.xml?rev=1636460&view=auto
==============================================================================
--- uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-self-non-embeddable-l.xml (added)
+++ uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/array-self-non-embeddable-l.xml Mon Nov  3 22:18:27 2014
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?><xmi:XMI xmlns:cas="http:///uima/cas.ecore" xmlns:test="http:///org/apache/uima/test.ecore" xmlns:xmi="http://www.omg.org/XMI" xmlns:tcas="http:///uima/tcas.ecore" xmi:version="2.0">
+    <cas:NULL xmi:id="0"/>
+    <test:RefTypes xmi:id="1" sofa="8" begin="0" end="0" aListFs="15 22 29"/>
+    <test:RefTypes xmi:id="15" sofa="8" begin="0" end="0"/>
+    <test:RefTypes xmi:id="22" sofa="8" begin="0" end="0"/>
+    <test:RefTypes xmi:id="29" sofa="8" begin="0" end="0"/>
+    <cas:NonEmptyFSList xmi:id="41" head="15" tail="44"/>
+    <cas:Sofa xmi:id="8" sofaNum="1" sofaID="_InitialView"/>
+    <cas:NonEmptyFSList xmi:id="44" head="22" tail="47"/>
+    <cas:NonEmptyFSList xmi:id="47" head="29" tail="50"/>
+    <cas:EmptyFSList xmi:id="50"/>
+    <cas:View sofa="8" members="1 15 22 29 41"/>
+</xmi:XMI>
\ No newline at end of file

Modified: uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/indexedSingleList.xml
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/indexedSingleList.xml?rev=1636460&r1=1636459&r2=1636460&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/indexedSingleList.xml (original)
+++ uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/indexedSingleList.xml Mon Nov  3 22:18:27 2014
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?><xmi:XMI xmlns:cas="http:///uima/cas.ecore" xmlns:test="http:///org/apache/uima/test.ecore" xmlns:xmi="http://www.omg.org/XMI" xmlns:tcas="http:///uima/tcas.ecore" xmi:version="2.0">
     <cas:NULL xmi:id="0"/>
     <cas:NonEmptyIntegerList xmi:id="8" head="11" tail="5"/>
-    <cas:NonEmptyIntegerList xmi:id="5" head="22" tail="2"/>
-    <cas:NonEmptyIntegerList xmi:id="2" head="33" tail="1"/>
     <cas:EmptyIntegerList xmi:id="1"/>
+    <cas:NonEmptyIntegerList xmi:id="2" head="33" tail="1"/>
+    <cas:NonEmptyIntegerList xmi:id="5" head="22" tail="2"/>
     <cas:View members="8"/>
 </xmi:XMI>
\ No newline at end of file

Modified: uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/indexedSingleListStatic.xml
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/indexedSingleListStatic.xml?rev=1636460&r1=1636459&r2=1636460&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/indexedSingleListStatic.xml (original)
+++ uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/indexedSingleListStatic.xml Mon Nov  3 22:18:27 2014
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?><xmi:XMI xmlns:cas="http:///uima/cas.ecore" xmlns:test="http:///org/apache/uima/test.ecore" xmlns:xmi="http://www.omg.org/XMI" xmlns:tcas="http:///uima/tcas.ecore" xmi:version="2.0">
     <cas:NULL xmi:id="0"/>
     <cas:NonEmptyIntegerList xmi:id="8" head="11" tail="5"/>
-    <cas:NonEmptyIntegerList xmi:id="5" head="22" tail="2"/>
-    <cas:NonEmptyIntegerList xmi:id="2" head="33" tail="1"/>
     <cas:EmptyIntegerList xmi:id="1"/>
+    <cas:NonEmptyIntegerList xmi:id="2" head="33" tail="1"/>
+    <cas:NonEmptyIntegerList xmi:id="5" head="22" tail="2"/>
     <cas:View members="8"/>
 </xmi:XMI>
\ No newline at end of file

Modified: uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/multipleViews.xml
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/multipleViews.xml?rev=1636460&r1=1636459&r2=1636460&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/multipleViews.xml (original)
+++ uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/multipleViews.xml Mon Nov  3 22:18:27 2014
@@ -8,7 +8,6 @@
         <aListString>testStr</aListString>
     </test:AllTypes>
     <cas:Sofa xmi:id="29" sofaNum="1" sofaID="_InitialView"/>
-    <cas:Sofa xmi:id="185" sofaNum="2" sofaID="View2"/>
     <test:AllTypes xmi:id="36" sofa="29" begin="0" end="0" aBoolean="false" aByte="0" aShort="0" aInteger="0" aLong="0" aFloat="0.0" aDouble="0.0"/>
     <cas:BooleanArray xmi:id="164" elements="false"/>
     <cas:ByteArray xmi:id="167" elements="0000"/>
@@ -16,6 +15,7 @@
     <cas:StringArray xmi:id="173">
         <elements/>
     </cas:StringArray>
+    <cas:Sofa xmi:id="185" sofaNum="2" sofaID="View2"/>
     <test:AllTypes xmi:id="220" sofa="185" begin="0" end="0" aBoolean="false" aByte="0" aShort="0" aInteger="0" aLong="0" aFloat="0.0" aDouble="0.0"/>
     <cas:BooleanArray xmi:id="349" elements="false"/>
     <cas:ByteArray xmi:id="352" elements="0000"/>

Modified: uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/twoListMerge.xml
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/twoListMerge.xml?rev=1636460&r1=1636459&r2=1636460&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/twoListMerge.xml (original)
+++ uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/twoListMerge.xml Mon Nov  3 22:18:27 2014
@@ -2,8 +2,8 @@
     <cas:NULL xmi:id="0"/>
     <cas:NonEmptyIntegerList xmi:id="8" head="11" tail="5"/>
     <cas:NonEmptyIntegerList xmi:id="11" head="110" tail="5"/>
-    <cas:NonEmptyIntegerList xmi:id="5" head="22" tail="2"/>
-    <cas:NonEmptyIntegerList xmi:id="2" head="33" tail="1"/>
     <cas:EmptyIntegerList xmi:id="1"/>
+    <cas:NonEmptyIntegerList xmi:id="2" head="33" tail="1"/>
+    <cas:NonEmptyIntegerList xmi:id="5" head="22" tail="2"/>
     <cas:View members="8 11"/>
 </xmi:XMI>
\ No newline at end of file

Modified: uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/twoListMergeStatic.xml
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/twoListMergeStatic.xml?rev=1636460&r1=1636459&r2=1636460&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/twoListMergeStatic.xml (original)
+++ uima/uimaj/trunk/uimaj-json/src/test/resources/CasSerialization/expected/xmi/twoListMergeStatic.xml Mon Nov  3 22:18:27 2014
@@ -2,8 +2,8 @@
     <cas:NULL xmi:id="0"/>
     <cas:NonEmptyIntegerList xmi:id="8" head="11" tail="5"/>
     <cas:NonEmptyIntegerList xmi:id="11" head="110" tail="5"/>
-    <cas:NonEmptyIntegerList xmi:id="5" head="22" tail="2"/>
-    <cas:NonEmptyIntegerList xmi:id="2" head="33" tail="1"/>
     <cas:EmptyIntegerList xmi:id="1"/>
+    <cas:NonEmptyIntegerList xmi:id="2" head="33" tail="1"/>
+    <cas:NonEmptyIntegerList xmi:id="5" head="22" tail="2"/>
     <cas:View members="8 11"/>
 </xmi:XMI>
\ No newline at end of file