Author: schor Date: Wed May 23 19:21:59 2012 New Revision: 1341991 URL: http://svn.apache.org/viewvc?rev=1341991&view=rev Log: [UIMA-2406] fix, plus add test case (failed before fix, works after)
Added: uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/testTypeSystem_arrays/ uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/testTypeSystem_arrays/OfShorts.java (with props) uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/testTypeSystem_arrays/OfShorts_Type.java (with props) uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/testTypeSystem_arrays/OfStrings.java (with props) uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/testTypeSystem_arrays/OfStrings_Type.java (with props) uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/util/CasToInlineXmlTest.java (with props) uima/uimaj/trunk/uimaj-core/src/test/resources/ExampleCas/testIndexes_arrays.xml (with props) uima/uimaj/trunk/uimaj-core/src/test/resources/ExampleCas/testTypeSystem_arrays.xml (with props) Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/util/CasToInlineXml.java Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/util/CasToInlineXml.java URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/util/CasToInlineXml.java?rev=1341991&r1=1341990&r2=1341991&view=diff ============================================================================== --- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/util/CasToInlineXml.java (original) +++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/util/CasToInlineXml.java Wed May 23 19:21:59 2012 @@ -25,20 +25,20 @@ import java.util.ArrayList; import java.util.List; import org.apache.uima.UIMARuntimeException; +import org.apache.uima.cas.BooleanArrayFS; +import org.apache.uima.cas.ByteArrayFS; import org.apache.uima.cas.CAS; import org.apache.uima.cas.CASException; +import org.apache.uima.cas.DoubleArrayFS; import org.apache.uima.cas.FSIterator; import org.apache.uima.cas.FSMatchConstraint; import org.apache.uima.cas.Feature; import org.apache.uima.cas.FeatureStructure; -import org.apache.uima.cas.impl.BooleanArrayFSImpl; -import org.apache.uima.cas.impl.ByteArrayFSImpl; -import org.apache.uima.cas.impl.DoubleArrayFSImpl; -import org.apache.uima.cas.impl.FloatArrayFSImpl; -import org.apache.uima.cas.impl.IntArrayFSImpl; -import org.apache.uima.cas.impl.LongArrayFSImpl; -import org.apache.uima.cas.impl.ShortArrayFSImpl; -import org.apache.uima.cas.impl.StringArrayFSImpl; +import org.apache.uima.cas.FloatArrayFS; +import org.apache.uima.cas.IntArrayFS; +import org.apache.uima.cas.LongArrayFS; +import org.apache.uima.cas.ShortArrayFS; +import org.apache.uima.cas.StringArrayFS; import org.apache.uima.cas.text.AnnotationFS; import org.xml.sax.Attributes; import org.xml.sax.ContentHandler; @@ -251,35 +251,35 @@ public class CasToInlineXml { //TODO: there should be a better way to get any array value as a string array String[] vals = null; if (CAS.TYPE_NAME_STRING_ARRAY.equals(rangeTypeName)) { - StringArrayFSImpl arrayFS = (StringArrayFSImpl) aFS.getFeatureValue(feat); + StringArrayFS arrayFS = (StringArrayFS) aFS.getFeatureValue(feat); if (arrayFS != null) vals = arrayFS.toArray(); } else if (CAS.TYPE_NAME_INTEGER_ARRAY.equals(rangeTypeName)) { - IntArrayFSImpl arrayFS = (IntArrayFSImpl) aFS.getFeatureValue(feat); + IntArrayFS arrayFS = (IntArrayFS) aFS.getFeatureValue(feat); if (arrayFS != null) vals = arrayFS.toStringArray(); } else if (CAS.TYPE_NAME_FLOAT_ARRAY.equals(rangeTypeName)) { - FloatArrayFSImpl arrayFS = (FloatArrayFSImpl) aFS.getFeatureValue(feat); + FloatArrayFS arrayFS = (FloatArrayFS) aFS.getFeatureValue(feat); if (arrayFS != null) vals = arrayFS.toStringArray(); } else if (CAS.TYPE_NAME_BOOLEAN_ARRAY.equals(rangeTypeName)) { - BooleanArrayFSImpl arrayFS = (BooleanArrayFSImpl) aFS.getFeatureValue(feat); + BooleanArrayFS arrayFS = (BooleanArrayFS) aFS.getFeatureValue(feat); if (arrayFS != null) vals = arrayFS.toStringArray(); } else if (CAS.TYPE_NAME_BYTE_ARRAY.equals(rangeTypeName)) { - ByteArrayFSImpl arrayFS = (ByteArrayFSImpl) aFS.getFeatureValue(feat); + ByteArrayFS arrayFS = (ByteArrayFS) aFS.getFeatureValue(feat); if (arrayFS != null) vals = arrayFS.toStringArray(); } else if (CAS.TYPE_NAME_SHORT_ARRAY.equals(rangeTypeName)) { - ShortArrayFSImpl arrayFS = (ShortArrayFSImpl) aFS.getFeatureValue(feat); + ShortArrayFS arrayFS = (ShortArrayFS) aFS.getFeatureValue(feat); if (arrayFS != null) vals = arrayFS.toStringArray(); } else if (CAS.TYPE_NAME_LONG_ARRAY.equals(rangeTypeName)) { - LongArrayFSImpl arrayFS = (LongArrayFSImpl) aFS.getFeatureValue(feat); + LongArrayFS arrayFS = (LongArrayFS) aFS.getFeatureValue(feat); if (arrayFS != null) vals = arrayFS.toStringArray(); } else if (CAS.TYPE_NAME_DOUBLE_ARRAY.equals(rangeTypeName)) { - DoubleArrayFSImpl arrayFS = (DoubleArrayFSImpl) aFS.getFeatureValue(feat); + DoubleArrayFS arrayFS = (DoubleArrayFS) aFS.getFeatureValue(feat); if (arrayFS != null) vals = arrayFS.toStringArray(); } Added: uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/testTypeSystem_arrays/OfShorts.java URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/testTypeSystem_arrays/OfShorts.java?rev=1341991&view=auto ============================================================================== --- uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/testTypeSystem_arrays/OfShorts.java (added) +++ uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/testTypeSystem_arrays/OfShorts.java Wed May 23 19:21:59 2012 @@ -0,0 +1,97 @@ + + +/* First created by JCasGen Wed May 23 14:54:19 EDT 2012 */ +package org.apache.uima.testTypeSystem_arrays; + +import org.apache.uima.jcas.JCas; +import org.apache.uima.jcas.JCasRegistry; +import org.apache.uima.jcas.cas.TOP_Type; + +import org.apache.uima.jcas.cas.ShortArray; +import org.apache.uima.jcas.tcas.Annotation; + + +/** + * Updated by JCasGen Wed May 23 14:55:00 EDT 2012 + * XML source: C:/au/svnCheckouts/trunks/uimaj/uimaj-core/src/test/resources/ExampleCas/testTypeSystem_arrays.xml + * @generated */ +public class OfShorts extends Annotation { + /** @generated + * @ordered + */ + public final static int typeIndexID = JCasRegistry.register(OfShorts.class); + /** @generated + * @ordered + */ + public final static int type = typeIndexID; + /** @generated */ + public int getTypeIndexID() {return typeIndexID;} + + /** Never called. Disable default constructor + * @generated */ + protected OfShorts() {} + + /** Internal - constructor used by generator + * @generated */ + public OfShorts(int addr, TOP_Type type) { + super(addr, type); + readObject(); + } + + /** @generated */ + public OfShorts(JCas jcas) { + super(jcas); + readObject(); + } + + /** @generated */ + public OfShorts(JCas jcas, int begin, int end) { + super(jcas); + setBegin(begin); + setEnd(end); + readObject(); + } + + /** <!-- begin-user-doc --> + * Write your own initialization here + * <!-- end-user-doc --> + @generated modifiable */ + private void readObject() {} + + + + //*--------------* + //* Feature: f1Shorts + + /** getter for f1Shorts - gets + * @generated */ + public ShortArray getF1Shorts() { + if (OfShorts_Type.featOkTst && ((OfShorts_Type)jcasType).casFeat_f1Shorts == null) + jcasType.jcas.throwFeatMissing("f1Shorts", "org.apache.uima.testTypeSystem_arrays.OfShorts"); + return (ShortArray)(jcasType.ll_cas.ll_getFSForRef(jcasType.ll_cas.ll_getRefValue(addr, ((OfShorts_Type)jcasType).casFeatCode_f1Shorts)));} + + /** setter for f1Shorts - sets + * @generated */ + public void setF1Shorts(ShortArray v) { + if (OfShorts_Type.featOkTst && ((OfShorts_Type)jcasType).casFeat_f1Shorts == null) + jcasType.jcas.throwFeatMissing("f1Shorts", "org.apache.uima.testTypeSystem_arrays.OfShorts"); + jcasType.ll_cas.ll_setRefValue(addr, ((OfShorts_Type)jcasType).casFeatCode_f1Shorts, jcasType.ll_cas.ll_getFSRef(v));} + + /** indexed getter for f1Shorts - gets an indexed value - + * @generated */ + public short getF1Shorts(int i) { + if (OfShorts_Type.featOkTst && ((OfShorts_Type)jcasType).casFeat_f1Shorts == null) + jcasType.jcas.throwFeatMissing("f1Shorts", "org.apache.uima.testTypeSystem_arrays.OfShorts"); + jcasType.jcas.checkArrayBounds(jcasType.ll_cas.ll_getRefValue(addr, ((OfShorts_Type)jcasType).casFeatCode_f1Shorts), i); + return jcasType.ll_cas.ll_getShortArrayValue(jcasType.ll_cas.ll_getRefValue(addr, ((OfShorts_Type)jcasType).casFeatCode_f1Shorts), i);} + + /** indexed setter for f1Shorts - sets an indexed value - + * @generated */ + public void setF1Shorts(int i, short v) { + if (OfShorts_Type.featOkTst && ((OfShorts_Type)jcasType).casFeat_f1Shorts == null) + jcasType.jcas.throwFeatMissing("f1Shorts", "org.apache.uima.testTypeSystem_arrays.OfShorts"); + jcasType.jcas.checkArrayBounds(jcasType.ll_cas.ll_getRefValue(addr, ((OfShorts_Type)jcasType).casFeatCode_f1Shorts), i); + jcasType.ll_cas.ll_setShortArrayValue(jcasType.ll_cas.ll_getRefValue(addr, ((OfShorts_Type)jcasType).casFeatCode_f1Shorts), i, v);} + } + + \ No newline at end of file Propchange: uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/testTypeSystem_arrays/OfShorts.java ------------------------------------------------------------------------------ svn:eol-style = native Added: uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/testTypeSystem_arrays/OfShorts_Type.java URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/testTypeSystem_arrays/OfShorts_Type.java?rev=1341991&view=auto ============================================================================== --- uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/testTypeSystem_arrays/OfShorts_Type.java (added) +++ uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/testTypeSystem_arrays/OfShorts_Type.java Wed May 23 19:21:59 2012 @@ -0,0 +1,98 @@ + +/* First created by JCasGen Wed May 23 14:54:19 EDT 2012 */ +package org.apache.uima.testTypeSystem_arrays; + +import org.apache.uima.jcas.JCas; +import org.apache.uima.jcas.JCasRegistry; +import org.apache.uima.cas.impl.CASImpl; +import org.apache.uima.cas.impl.FSGenerator; +import org.apache.uima.cas.FeatureStructure; +import org.apache.uima.cas.impl.TypeImpl; +import org.apache.uima.cas.Type; +import org.apache.uima.cas.impl.FeatureImpl; +import org.apache.uima.cas.Feature; +import org.apache.uima.jcas.tcas.Annotation_Type; + +/** + * Updated by JCasGen Wed May 23 14:55:02 EDT 2012 + * @generated */ +public class OfShorts_Type extends Annotation_Type { + /** @generated */ + protected FSGenerator getFSGenerator() {return fsGenerator;} + /** @generated */ + private final FSGenerator fsGenerator = + new FSGenerator() { + public FeatureStructure createFS(int addr, CASImpl cas) { + if (OfShorts_Type.this.useExistingInstance) { + // Return eq fs instance if already created + FeatureStructure fs = OfShorts_Type.this.jcas.getJfsFromCaddr(addr); + if (null == fs) { + fs = new OfShorts(addr, OfShorts_Type.this); + OfShorts_Type.this.jcas.putJfsFromCaddr(addr, fs); + return fs; + } + return fs; + } else return new OfShorts(addr, OfShorts_Type.this); + } + }; + /** @generated */ + public final static int typeIndexID = OfShorts.typeIndexID; + /** @generated + @modifiable */ + public final static boolean featOkTst = JCasRegistry.getFeatOkTst("org.apache.uima.testTypeSystem_arrays.OfShorts"); + + /** @generated */ + final Feature casFeat_f1Shorts; + /** @generated */ + final int casFeatCode_f1Shorts; + /** @generated */ + public int getF1Shorts(int addr) { + if (featOkTst && casFeat_f1Shorts == null) + jcas.throwFeatMissing("f1Shorts", "org.apache.uima.testTypeSystem_arrays.OfShorts"); + return ll_cas.ll_getRefValue(addr, casFeatCode_f1Shorts); + } + /** @generated */ + public void setF1Shorts(int addr, int v) { + if (featOkTst && casFeat_f1Shorts == null) + jcas.throwFeatMissing("f1Shorts", "org.apache.uima.testTypeSystem_arrays.OfShorts"); + ll_cas.ll_setRefValue(addr, casFeatCode_f1Shorts, v);} + + /** @generated */ + public short getF1Shorts(int addr, int i) { + if (featOkTst && casFeat_f1Shorts == null) + jcas.throwFeatMissing("f1Shorts", "org.apache.uima.testTypeSystem_arrays.OfShorts"); + if (lowLevelTypeChecks) + return ll_cas.ll_getShortArrayValue(ll_cas.ll_getRefValue(addr, casFeatCode_f1Shorts), i, true); + jcas.checkArrayBounds(ll_cas.ll_getRefValue(addr, casFeatCode_f1Shorts), i); + return ll_cas.ll_getShortArrayValue(ll_cas.ll_getRefValue(addr, casFeatCode_f1Shorts), i); + } + + /** @generated */ + public void setF1Shorts(int addr, int i, short v) { + if (featOkTst && casFeat_f1Shorts == null) + jcas.throwFeatMissing("f1Shorts", "org.apache.uima.testTypeSystem_arrays.OfShorts"); + if (lowLevelTypeChecks) + ll_cas.ll_setShortArrayValue(ll_cas.ll_getRefValue(addr, casFeatCode_f1Shorts), i, v, true); + jcas.checkArrayBounds(ll_cas.ll_getRefValue(addr, casFeatCode_f1Shorts), i); + ll_cas.ll_setShortArrayValue(ll_cas.ll_getRefValue(addr, casFeatCode_f1Shorts), i, v); + } + + + + + /** initialize variables to correspond with Cas Type and Features + * @generated */ + public OfShorts_Type(JCas jcas, Type casType) { + super(jcas, casType); + casImpl.getFSClassRegistry().addGeneratorForType((TypeImpl)this.casType, getFSGenerator()); + + + casFeat_f1Shorts = jcas.getRequiredFeatureDE(casType, "f1Shorts", "uima.cas.ShortArray", featOkTst); + casFeatCode_f1Shorts = (null == casFeat_f1Shorts) ? JCas.INVALID_FEATURE_CODE : ((FeatureImpl)casFeat_f1Shorts).getCode(); + + } +} + + + + \ No newline at end of file Propchange: uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/testTypeSystem_arrays/OfShorts_Type.java ------------------------------------------------------------------------------ svn:eol-style = native Added: uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/testTypeSystem_arrays/OfStrings.java URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/testTypeSystem_arrays/OfStrings.java?rev=1341991&view=auto ============================================================================== --- uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/testTypeSystem_arrays/OfStrings.java (added) +++ uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/testTypeSystem_arrays/OfStrings.java Wed May 23 19:21:59 2012 @@ -0,0 +1,97 @@ + + +/* First created by JCasGen Wed May 23 14:54:19 EDT 2012 */ +package org.apache.uima.testTypeSystem_arrays; + +import org.apache.uima.jcas.JCas; +import org.apache.uima.jcas.JCasRegistry; +import org.apache.uima.jcas.cas.TOP_Type; + +import org.apache.uima.jcas.cas.StringArray; +import org.apache.uima.jcas.tcas.Annotation; + + +/** + * Updated by JCasGen Wed May 23 14:55:02 EDT 2012 + * XML source: C:/au/svnCheckouts/trunks/uimaj/uimaj-core/src/test/resources/ExampleCas/testTypeSystem_arrays.xml + * @generated */ +public class OfStrings extends Annotation { + /** @generated + * @ordered + */ + public final static int typeIndexID = JCasRegistry.register(OfStrings.class); + /** @generated + * @ordered + */ + public final static int type = typeIndexID; + /** @generated */ + public int getTypeIndexID() {return typeIndexID;} + + /** Never called. Disable default constructor + * @generated */ + protected OfStrings() {} + + /** Internal - constructor used by generator + * @generated */ + public OfStrings(int addr, TOP_Type type) { + super(addr, type); + readObject(); + } + + /** @generated */ + public OfStrings(JCas jcas) { + super(jcas); + readObject(); + } + + /** @generated */ + public OfStrings(JCas jcas, int begin, int end) { + super(jcas); + setBegin(begin); + setEnd(end); + readObject(); + } + + /** <!-- begin-user-doc --> + * Write your own initialization here + * <!-- end-user-doc --> + @generated modifiable */ + private void readObject() {} + + + + //*--------------* + //* Feature: f1Strings + + /** getter for f1Strings - gets + * @generated */ + public StringArray getF1Strings() { + if (OfStrings_Type.featOkTst && ((OfStrings_Type)jcasType).casFeat_f1Strings == null) + jcasType.jcas.throwFeatMissing("f1Strings", "org.apache.uima.testTypeSystem_arrays.OfStrings"); + return (StringArray)(jcasType.ll_cas.ll_getFSForRef(jcasType.ll_cas.ll_getRefValue(addr, ((OfStrings_Type)jcasType).casFeatCode_f1Strings)));} + + /** setter for f1Strings - sets + * @generated */ + public void setF1Strings(StringArray v) { + if (OfStrings_Type.featOkTst && ((OfStrings_Type)jcasType).casFeat_f1Strings == null) + jcasType.jcas.throwFeatMissing("f1Strings", "org.apache.uima.testTypeSystem_arrays.OfStrings"); + jcasType.ll_cas.ll_setRefValue(addr, ((OfStrings_Type)jcasType).casFeatCode_f1Strings, jcasType.ll_cas.ll_getFSRef(v));} + + /** indexed getter for f1Strings - gets an indexed value - + * @generated */ + public String getF1Strings(int i) { + if (OfStrings_Type.featOkTst && ((OfStrings_Type)jcasType).casFeat_f1Strings == null) + jcasType.jcas.throwFeatMissing("f1Strings", "org.apache.uima.testTypeSystem_arrays.OfStrings"); + jcasType.jcas.checkArrayBounds(jcasType.ll_cas.ll_getRefValue(addr, ((OfStrings_Type)jcasType).casFeatCode_f1Strings), i); + return jcasType.ll_cas.ll_getStringArrayValue(jcasType.ll_cas.ll_getRefValue(addr, ((OfStrings_Type)jcasType).casFeatCode_f1Strings), i);} + + /** indexed setter for f1Strings - sets an indexed value - + * @generated */ + public void setF1Strings(int i, String v) { + if (OfStrings_Type.featOkTst && ((OfStrings_Type)jcasType).casFeat_f1Strings == null) + jcasType.jcas.throwFeatMissing("f1Strings", "org.apache.uima.testTypeSystem_arrays.OfStrings"); + jcasType.jcas.checkArrayBounds(jcasType.ll_cas.ll_getRefValue(addr, ((OfStrings_Type)jcasType).casFeatCode_f1Strings), i); + jcasType.ll_cas.ll_setStringArrayValue(jcasType.ll_cas.ll_getRefValue(addr, ((OfStrings_Type)jcasType).casFeatCode_f1Strings), i, v);} + } + + \ No newline at end of file Propchange: uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/testTypeSystem_arrays/OfStrings.java ------------------------------------------------------------------------------ svn:eol-style = native Added: uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/testTypeSystem_arrays/OfStrings_Type.java URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/testTypeSystem_arrays/OfStrings_Type.java?rev=1341991&view=auto ============================================================================== --- uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/testTypeSystem_arrays/OfStrings_Type.java (added) +++ uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/testTypeSystem_arrays/OfStrings_Type.java Wed May 23 19:21:59 2012 @@ -0,0 +1,98 @@ + +/* First created by JCasGen Wed May 23 14:54:19 EDT 2012 */ +package org.apache.uima.testTypeSystem_arrays; + +import org.apache.uima.jcas.JCas; +import org.apache.uima.jcas.JCasRegistry; +import org.apache.uima.cas.impl.CASImpl; +import org.apache.uima.cas.impl.FSGenerator; +import org.apache.uima.cas.FeatureStructure; +import org.apache.uima.cas.impl.TypeImpl; +import org.apache.uima.cas.Type; +import org.apache.uima.cas.impl.FeatureImpl; +import org.apache.uima.cas.Feature; +import org.apache.uima.jcas.tcas.Annotation_Type; + +/** + * Updated by JCasGen Wed May 23 14:55:02 EDT 2012 + * @generated */ +public class OfStrings_Type extends Annotation_Type { + /** @generated */ + protected FSGenerator getFSGenerator() {return fsGenerator;} + /** @generated */ + private final FSGenerator fsGenerator = + new FSGenerator() { + public FeatureStructure createFS(int addr, CASImpl cas) { + if (OfStrings_Type.this.useExistingInstance) { + // Return eq fs instance if already created + FeatureStructure fs = OfStrings_Type.this.jcas.getJfsFromCaddr(addr); + if (null == fs) { + fs = new OfStrings(addr, OfStrings_Type.this); + OfStrings_Type.this.jcas.putJfsFromCaddr(addr, fs); + return fs; + } + return fs; + } else return new OfStrings(addr, OfStrings_Type.this); + } + }; + /** @generated */ + public final static int typeIndexID = OfStrings.typeIndexID; + /** @generated + @modifiable */ + public final static boolean featOkTst = JCasRegistry.getFeatOkTst("org.apache.uima.testTypeSystem_arrays.OfStrings"); + + /** @generated */ + final Feature casFeat_f1Strings; + /** @generated */ + final int casFeatCode_f1Strings; + /** @generated */ + public int getF1Strings(int addr) { + if (featOkTst && casFeat_f1Strings == null) + jcas.throwFeatMissing("f1Strings", "org.apache.uima.testTypeSystem_arrays.OfStrings"); + return ll_cas.ll_getRefValue(addr, casFeatCode_f1Strings); + } + /** @generated */ + public void setF1Strings(int addr, int v) { + if (featOkTst && casFeat_f1Strings == null) + jcas.throwFeatMissing("f1Strings", "org.apache.uima.testTypeSystem_arrays.OfStrings"); + ll_cas.ll_setRefValue(addr, casFeatCode_f1Strings, v);} + + /** @generated */ + public String getF1Strings(int addr, int i) { + if (featOkTst && casFeat_f1Strings == null) + jcas.throwFeatMissing("f1Strings", "org.apache.uima.testTypeSystem_arrays.OfStrings"); + if (lowLevelTypeChecks) + return ll_cas.ll_getStringArrayValue(ll_cas.ll_getRefValue(addr, casFeatCode_f1Strings), i, true); + jcas.checkArrayBounds(ll_cas.ll_getRefValue(addr, casFeatCode_f1Strings), i); + return ll_cas.ll_getStringArrayValue(ll_cas.ll_getRefValue(addr, casFeatCode_f1Strings), i); + } + + /** @generated */ + public void setF1Strings(int addr, int i, String v) { + if (featOkTst && casFeat_f1Strings == null) + jcas.throwFeatMissing("f1Strings", "org.apache.uima.testTypeSystem_arrays.OfStrings"); + if (lowLevelTypeChecks) + ll_cas.ll_setStringArrayValue(ll_cas.ll_getRefValue(addr, casFeatCode_f1Strings), i, v, true); + jcas.checkArrayBounds(ll_cas.ll_getRefValue(addr, casFeatCode_f1Strings), i); + ll_cas.ll_setStringArrayValue(ll_cas.ll_getRefValue(addr, casFeatCode_f1Strings), i, v); + } + + + + + /** initialize variables to correspond with Cas Type and Features + * @generated */ + public OfStrings_Type(JCas jcas, Type casType) { + super(jcas, casType); + casImpl.getFSClassRegistry().addGeneratorForType((TypeImpl)this.casType, getFSGenerator()); + + + casFeat_f1Strings = jcas.getRequiredFeatureDE(casType, "f1Strings", "uima.cas.StringArray", featOkTst); + casFeatCode_f1Strings = (null == casFeat_f1Strings) ? JCas.INVALID_FEATURE_CODE : ((FeatureImpl)casFeat_f1Strings).getCode(); + + } +} + + + + \ No newline at end of file Propchange: uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/testTypeSystem_arrays/OfStrings_Type.java ------------------------------------------------------------------------------ svn:eol-style = native Added: uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/util/CasToInlineXmlTest.java URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/util/CasToInlineXmlTest.java?rev=1341991&view=auto ============================================================================== --- uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/util/CasToInlineXmlTest.java (added) +++ uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/util/CasToInlineXmlTest.java Wed May 23 19:21:59 2012 @@ -0,0 +1,85 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.uima.util; + +import java.io.File; + +import junit.framework.TestCase; + +import org.apache.uima.UIMAFramework; +import org.apache.uima.cas.CAS; +import org.apache.uima.jcas.JCas; +import org.apache.uima.jcas.cas.ShortArray; +import org.apache.uima.jcas.cas.StringArray; +import org.apache.uima.resource.metadata.FsIndexDescription; +import org.apache.uima.resource.metadata.TypeSystemDescription; +import org.apache.uima.resource.metadata.impl.TypePriorities_impl; +import org.apache.uima.test.junit_extension.JUnitExtension; +import org.apache.uima.testTypeSystem_arrays.OfShorts; +import org.apache.uima.testTypeSystem_arrays.OfStrings; + +/** + * + */ +public class CasToInlineXmlTest extends TestCase { + private TypeSystemDescription typeSystem; + + private FsIndexDescription[] indexes; + + protected void setUp() throws Exception { + File typeSystemFile1 = JUnitExtension.getFile("ExampleCas/testTypeSystem_arrays.xml"); + File indexesFile = JUnitExtension.getFile("ExampleCas/testIndexes_arrays.xml"); + + typeSystem = UIMAFramework.getXMLParser().parseTypeSystemDescription( + new XMLInputSource(typeSystemFile1)); + indexes = UIMAFramework.getXMLParser().parseFsIndexCollection(new XMLInputSource(indexesFile)) + .getFsIndexes(); + } + + public void testCasToInlineXml() throws Exception { + // Jira https://issues.apache.org/jira/browse/UIMA-2406 + CAS srcCas = CasCreationUtils.createCas(typeSystem, new TypePriorities_impl(), indexes); + + JCas jcas = srcCas.getJCas(); + + jcas.setDocumentText("1 2 3 4 5 6 7 8 9"); + OfShorts f = new OfShorts(jcas); + ShortArray a = new ShortArray(jcas, 3); + a.set(0, (short)0); + a.set(1, (short)1); + a.set(2, (short)2); + f.setF1Shorts(a); + f.addToIndexes(); + + OfStrings ss = new OfStrings(jcas); + StringArray sa = new StringArray(jcas, 3); + sa.set(0, "0s"); + sa.set(1, "1s"); + sa.set(2, "2s"); + ss.setF1Strings(sa); + ss.addToIndexes(); + + CasToInlineXml c2x = new CasToInlineXml(); + String result = c2x.generateXML(srcCas); + System.out.println(result); + } + + + +} Propchange: uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/util/CasToInlineXmlTest.java ------------------------------------------------------------------------------ svn:eol-style = native Added: uima/uimaj/trunk/uimaj-core/src/test/resources/ExampleCas/testIndexes_arrays.xml URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/test/resources/ExampleCas/testIndexes_arrays.xml?rev=1341991&view=auto ============================================================================== --- uima/uimaj/trunk/uimaj-core/src/test/resources/ExampleCas/testIndexes_arrays.xml (added) +++ uima/uimaj/trunk/uimaj-core/src/test/resources/ExampleCas/testIndexes_arrays.xml Wed May 23 19:21:59 2012 @@ -0,0 +1,27 @@ +<fsIndexCollection xmlns="http://uima.apache.org/resourceSpecifier"> + + <!-- + *************************************************************** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + *************************************************************** + --> + + +<fsIndexes> +</fsIndexes> +</fsIndexCollection> Propchange: uima/uimaj/trunk/uimaj-core/src/test/resources/ExampleCas/testIndexes_arrays.xml ------------------------------------------------------------------------------ svn:eol-style = native Added: uima/uimaj/trunk/uimaj-core/src/test/resources/ExampleCas/testTypeSystem_arrays.xml URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/test/resources/ExampleCas/testTypeSystem_arrays.xml?rev=1341991&view=auto ============================================================================== --- uima/uimaj/trunk/uimaj-core/src/test/resources/ExampleCas/testTypeSystem_arrays.xml (added) +++ uima/uimaj/trunk/uimaj-core/src/test/resources/ExampleCas/testTypeSystem_arrays.xml Wed May 23 19:21:59 2012 @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8"?><typeSystemDescription xmlns="http://uima.apache.org/resourceSpecifier"> + <name>testTypeSystem_arrays</name> + <description/> + <version>1.0</version> + <vendor/> + <types> + <typeDescription> + <name>org.apache.uima.testTypeSystem_arrays.OfStrings</name> + <description/> + <supertypeName>uima.tcas.Annotation</supertypeName> + <features> + <featureDescription> + <name>f1Strings</name> + <description/> + <rangeTypeName>uima.cas.StringArray</rangeTypeName> + </featureDescription> + </features> + </typeDescription> + <typeDescription> + <name>org.apache.uima.testTypeSystem_arrays.OfShorts</name> + <description/> + <supertypeName>uima.tcas.Annotation</supertypeName> + <features> + <featureDescription> + <name>f1Shorts</name> + <description/> + <rangeTypeName>uima.cas.ShortArray</rangeTypeName> + </featureDescription> + </features> + </typeDescription> + <typeDescription> + <name>org.apache.uima.testTypeSystem_arrays.Plain</name> + <description/> + <supertypeName>uima.tcas.Annotation</supertypeName> + </typeDescription> + </types> +</typeSystemDescription> \ No newline at end of file Propchange: uima/uimaj/trunk/uimaj-core/src/test/resources/ExampleCas/testTypeSystem_arrays.xml ------------------------------------------------------------------------------ svn:eol-style = native