From 195774c489a1a671aca514b0afa88332bf9c6ee3 Mon Sep 17 00:00:00 2001 From: lresende Date: Tue, 10 Nov 2009 19:20:12 +0000 Subject: Moving SDO tags git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@834617 13f79535-47bb-0310-9956-ffa450edef68 --- .../test/java/com/example/repchoice/RCType.java | 103 +++ .../com/example/repchoice/RepchoiceFactory.java | 61 ++ .../com/example/repchoice/impl/RCTypeImpl.java | 332 +++++++++ .../repchoice/impl/RepchoiceFactoryImpl.java | 269 +++++++ .../java/com/example/sequences/MixedQuote.java | 491 +++++++++++++ .../example/sequences/MixedRepeatingChoice.java | 102 +++ .../com/example/sequences/RepeatingChoice.java | 88 +++ .../com/example/sequences/SequencesFactory.java | 97 +++ .../test/java/com/example/sequences/TwoRCs.java | 184 +++++ .../java/com/example/sequences/TwoRCsMixed.java | 198 ++++++ .../com/example/sequences/impl/MixedQuoteImpl.java | 766 ++++++++++++++++++++ .../sequences/impl/MixedRepeatingChoiceImpl.java | 335 +++++++++ .../sequences/impl/RepeatingChoiceImpl.java | 299 ++++++++ .../sequences/impl/SequencesFactoryImpl.java | 770 +++++++++++++++++++++ .../com/example/sequences/impl/TwoRCsImpl.java | 521 ++++++++++++++ .../example/sequences/impl/TwoRCsMixedImpl.java | 499 +++++++++++++ .../java/org/apache/tuscany/sdo/test/AllTests.java | 48 ++ .../sdo/test/GeneratedPackagesTestCase.java | 70 ++ .../tools/src/test/resources/TUSCANY1050.xsd | 44 ++ .../1.1.1-RC2a/tools/src/test/resources/enum.xsd | 50 ++ .../resources/mixedRepeatingChoiceTestResult.xml | 20 + .../src/test/resources/mixedStaticTestResult.xml | 27 + .../tools/src/test/resources/repeatingChoice.xsd | 33 + .../test/resources/repeatingChoiceTestResult.xml | 25 + .../tools/src/test/resources/sdoModel.xsd | 28 + .../tools/src/test/resources/sequences.xsd | 100 +++ .../twoRepeatingChoicesMixedTestResult.xml | 20 + .../resources/twoRepeatingChoicesTestResult.xml | 28 + 28 files changed, 5608 insertions(+) create mode 100644 sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/repchoice/RCType.java create mode 100644 sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/repchoice/RepchoiceFactory.java create mode 100644 sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/repchoice/impl/RCTypeImpl.java create mode 100644 sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/repchoice/impl/RepchoiceFactoryImpl.java create mode 100644 sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/sequences/MixedQuote.java create mode 100644 sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/sequences/MixedRepeatingChoice.java create mode 100644 sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/sequences/RepeatingChoice.java create mode 100644 sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/sequences/SequencesFactory.java create mode 100644 sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/sequences/TwoRCs.java create mode 100644 sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/sequences/TwoRCsMixed.java create mode 100644 sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/sequences/impl/MixedQuoteImpl.java create mode 100644 sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/sequences/impl/MixedRepeatingChoiceImpl.java create mode 100644 sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/sequences/impl/RepeatingChoiceImpl.java create mode 100644 sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/sequences/impl/SequencesFactoryImpl.java create mode 100644 sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/sequences/impl/TwoRCsImpl.java create mode 100644 sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/sequences/impl/TwoRCsMixedImpl.java create mode 100644 sdo-java/tags/1.1.1-RC2a/tools/src/test/java/org/apache/tuscany/sdo/test/AllTests.java create mode 100644 sdo-java/tags/1.1.1-RC2a/tools/src/test/java/org/apache/tuscany/sdo/test/GeneratedPackagesTestCase.java create mode 100644 sdo-java/tags/1.1.1-RC2a/tools/src/test/resources/TUSCANY1050.xsd create mode 100644 sdo-java/tags/1.1.1-RC2a/tools/src/test/resources/enum.xsd create mode 100644 sdo-java/tags/1.1.1-RC2a/tools/src/test/resources/mixedRepeatingChoiceTestResult.xml create mode 100644 sdo-java/tags/1.1.1-RC2a/tools/src/test/resources/mixedStaticTestResult.xml create mode 100644 sdo-java/tags/1.1.1-RC2a/tools/src/test/resources/repeatingChoice.xsd create mode 100644 sdo-java/tags/1.1.1-RC2a/tools/src/test/resources/repeatingChoiceTestResult.xml create mode 100644 sdo-java/tags/1.1.1-RC2a/tools/src/test/resources/sdoModel.xsd create mode 100644 sdo-java/tags/1.1.1-RC2a/tools/src/test/resources/sequences.xsd create mode 100644 sdo-java/tags/1.1.1-RC2a/tools/src/test/resources/twoRepeatingChoicesMixedTestResult.xml create mode 100644 sdo-java/tags/1.1.1-RC2a/tools/src/test/resources/twoRepeatingChoicesTestResult.xml (limited to 'sdo-java/tags/1.1.1-RC2a/tools/src/test') diff --git a/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/repchoice/RCType.java b/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/repchoice/RCType.java new file mode 100644 index 0000000000..29a558b5a2 --- /dev/null +++ b/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/repchoice/RCType.java @@ -0,0 +1,103 @@ +/** + * + * 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 com.example.repchoice; + +import commonj.sdo.Sequence; + +import java.io.Serializable; + +import java.util.List; + +/** + * + * A representation of the model object 'RC Type'. + * + * + *

+ * The following features are supported: + *

+ *

+ * + * @extends Serializable + * @generated + */ +public interface RCType extends Serializable +{ + /** + * Returns the value of the 'Group' attribute list. + * + *

+ * If the meaning of the 'Group' attribute list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Group' attribute list. + * @generated + */ + Sequence getGroup(); + + /** + * Returns the value of the 'S' attribute list. + * The list contents are of type {@link java.lang.String}. + * + *

+ * If the meaning of the 'S' attribute list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'S' attribute list. + * @generated + */ + List getS(); + + /** + * Returns the value of the 'I' attribute list. + * The list contents are of type {@link java.lang.Integer}. + * + *

+ * If the meaning of the 'I' attribute list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'I' attribute list. + * @generated + */ + List getI(); + + /** + * Returns the value of the 'F' attribute list. + * The list contents are of type {@link java.lang.Float}. + * + *

+ * If the meaning of the 'F' attribute list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'F' attribute list. + * @generated + */ + List getF(); + +} // RCType diff --git a/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/repchoice/RepchoiceFactory.java b/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/repchoice/RepchoiceFactory.java new file mode 100644 index 0000000000..9a7c3033a5 --- /dev/null +++ b/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/repchoice/RepchoiceFactory.java @@ -0,0 +1,61 @@ +/** + * + * 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 com.example.repchoice; + +import commonj.sdo.helper.HelperContext; + + +/** + * + * The Factory for the model. + * It provides a create method for each non-abstract class of the model. + * + * @generated + */ +public interface RepchoiceFactory +{ + + /** + * The singleton instance of the factory. + * + * + * @generated + */ + RepchoiceFactory INSTANCE = com.example.repchoice.impl.RepchoiceFactoryImpl.init(); + + /** + * Returns a new object of class 'RC Type'. + * + * + * @return a new object of class 'RC Type'. + * @generated + */ + RCType createRCType(); + + /** + * Registers the types supported by this Factory within the supplied scope.argument + * + * + * @param scope an instance of HelperContext used to manage the scoping of types. + * @generated + */ + public void register(HelperContext scope); + +} //RepchoiceFactory diff --git a/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/repchoice/impl/RCTypeImpl.java b/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/repchoice/impl/RCTypeImpl.java new file mode 100644 index 0000000000..322dc5a8e0 --- /dev/null +++ b/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/repchoice/impl/RCTypeImpl.java @@ -0,0 +1,332 @@ +/** + * + * 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 com.example.repchoice.impl; + +import com.example.repchoice.RCType; +import com.example.repchoice.RepchoiceFactory; + +import commonj.sdo.Sequence; +import commonj.sdo.Type; + +import java.util.Collection; +import java.util.List; + +import org.apache.tuscany.sdo.impl.DataObjectBase; + +/** + * + * An implementation of the model object 'RC Type'. + * + *

+ * The following features are implemented: + *

+ *

+ * + * @generated + */ +public class RCTypeImpl extends DataObjectBase implements RCType +{ + + public final static int GROUP = -1; + + public final static int S = 0; + + public final static int I = 1; + + public final static int F = 2; + + public final static int SDO_PROPERTY_COUNT = 3; + + public final static int EXTENDED_PROPERTY_COUNT = -1; + + + /** + * The internal feature id for the 'Group' attribute list. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_GROUP = 0; + + /** + * The internal feature id for the 'S' attribute list. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_S = 1; + + /** + * The internal feature id for the 'I' attribute list. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_I = 2; + + /** + * The internal feature id for the 'F' attribute list. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_F = 3; + + /** + * The number of properties for this type. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_PROPERTY_COUNT = 4; + + protected int internalConvertIndex(int internalIndex) + { + switch (internalIndex) + { + case INTERNAL_GROUP: return GROUP; + case INTERNAL_S: return S; + case INTERNAL_I: return I; + case INTERNAL_F: return F; + } + return super.internalConvertIndex(internalIndex); + } + + + /** + * The cached value of the '{@link #getGroup() Group}' attribute list. + * + * + * @see #getGroup() + * @generated + * @ordered + */ + + protected Sequence group = null; + + /** + * + * + * @generated + */ + public RCTypeImpl() + { + super(); + } + + /** + * + * + * @generated + */ + public Type getStaticType() + { + return ((RepchoiceFactoryImpl)RepchoiceFactory.INSTANCE).getRCType(); + } + + /** + * + * + * @generated + */ + public int getStaticPropertyCount() + { + return INTERNAL_PROPERTY_COUNT; + } + + /** + * + * + * @generated + */ + public Sequence getGroup() + { + if (group == null) + { + group = createSequence(INTERNAL_GROUP); + } + return group; + } + /** + * + * + * @generated + */ + public List getS() + { + return getList(getGroup(), getType(), INTERNAL_S); + } + /** + * + * + * @generated + */ + public List getI() + { + return getList(getGroup(), getType(), INTERNAL_I); + } + /** + * + * + * @generated + */ + public List getF() + { + return getList(getGroup(), getType(), INTERNAL_F); + } + /** + * + * + * @generated + */ + public ChangeContext inverseRemove(Object otherEnd, int propertyIndex, ChangeContext changeContext) + { + switch (propertyIndex) + { + case GROUP: + return removeFromSequence(getGroup(), otherEnd, changeContext); + } + return super.inverseRemove(otherEnd, propertyIndex, changeContext); + } + + /** + * + * + * @generated + */ + public Object get(int propertyIndex, boolean resolve) + { + switch (propertyIndex) + { + case GROUP: + // XXX query introduce coreType as an argument? -- semantic = if true -- coreType - return the core EMF object if value is a non-EMF wrapper/view + //if (coreType) + return getGroup(); + case S: + return getS(); + case I: + return getI(); + case F: + return getF(); + } + return super.get(propertyIndex, resolve); + } + + /** + * + * + * @generated + */ + public void set(int propertyIndex, Object newValue) + { + switch (propertyIndex) + { + case GROUP: + setSequence(getGroup(), newValue); + return; + case S: + getS().clear(); + getS().addAll((Collection)newValue); + return; + case I: + getI().clear(); + getI().addAll((Collection)newValue); + return; + case F: + getF().clear(); + getF().addAll((Collection)newValue); + return; + } + super.set(propertyIndex, newValue); + } + + /** + * + * + * @generated + */ + public void unset(int propertyIndex) + { + switch (propertyIndex) + { + case GROUP: + unsetSequence(getGroup()); + return; + case S: + getS().clear(); + return; + case I: + getI().clear(); + return; + case F: + getF().clear(); + return; + } + super.unset(propertyIndex); + } + + /** + * + * + * @generated + */ + public boolean isSet(int propertyIndex) + { + switch (propertyIndex) + { + case GROUP: + return group != null && !isSequenceEmpty(getGroup()); + case S: + return !getS().isEmpty(); + case I: + return !getI().isEmpty(); + case F: + return !getF().isEmpty(); + } + return super.isSet(propertyIndex); + } + + /** + * + * + * @generated + */ + public String toString() + { + if (isProxy(this)) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (group: "); + result.append(group); + result.append(')'); + return result.toString(); + } + +} //RCTypeImpl diff --git a/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/repchoice/impl/RepchoiceFactoryImpl.java b/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/repchoice/impl/RepchoiceFactoryImpl.java new file mode 100644 index 0000000000..40d3e9eeec --- /dev/null +++ b/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/repchoice/impl/RepchoiceFactoryImpl.java @@ -0,0 +1,269 @@ +/** + * + * 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 com.example.repchoice.impl; + +import commonj.sdo.helper.HelperContext; +import org.apache.tuscany.sdo.helper.TypeHelperImpl; + +import com.example.repchoice.*; + +import commonj.sdo.DataObject; +import commonj.sdo.Property; +import commonj.sdo.Type; + +import org.apache.tuscany.sdo.impl.FactoryBase; + +import org.apache.tuscany.sdo.model.ModelFactory; + +import org.apache.tuscany.sdo.model.impl.ModelFactoryImpl; + +/** + * + * An implementation of the model Factory. + * Generator information: + * patternVersion=1.2; + * + * @generated + */ +public class RepchoiceFactoryImpl extends FactoryBase implements RepchoiceFactory +{ + + /** + * The package namespace URI. + * + * + * @generated + */ + public static final String NAMESPACE_URI = "http://www.example.com/repchoice"; + + /** + * The package namespace name. + * + * + * @generated + */ + public static final String NAMESPACE_PREFIX = "repchoice"; + + /** + * The version of the generator pattern used to generate this class. + * + * + * @generated + */ + public static final String PATTERN_VERSION = "1.2"; + + public static final int RC_TYPE = 1; + + /** + * Creates an instance of the factory. + * + * + * @generated + */ + public RepchoiceFactoryImpl() + { + super(NAMESPACE_URI, NAMESPACE_PREFIX, "com.example.repchoice"); + } + + /** + * Registers the Factory instance so that it is available within the supplied scope. + * @argument scope a HelperContext instance that will make the types supported by this Factory available. + * + * + * @generated + */ + public void register(HelperContext scope) + { + if(scope == null) { + throw new IllegalArgumentException("Scope can not be null"); + } + + //Register dependent packages with provided scope + ModelFactory.INSTANCE.register(scope); + + // Initialize this package + TypeHelperImpl th = (TypeHelperImpl)scope.getTypeHelper(); + th.getExtendedMetaData().putPackage(NAMESPACE_URI, this); + } + + /** + * + * + * @generated + */ + public DataObject create(int typeNumber) + { + switch (typeNumber) + { + case RC_TYPE: return (DataObject)createRCType(); + default: + return super.create(typeNumber); + } + } + + /** + * + * + * @generated + */ + public RCType createRCType() + { + RCTypeImpl rcType = new RCTypeImpl(); + return rcType; + } + + // Following creates and initializes SDO metadata for the supported types. + protected Type rcTypeType = null; + + public Type getRCType() + { + return rcTypeType; + } + + + private static RepchoiceFactoryImpl instance = null; + public static RepchoiceFactoryImpl init() + { + if (instance != null ) return instance; + instance = new RepchoiceFactoryImpl(); + + // Initialize dependent packages + ModelFactory ModelFactoryInstance = ModelFactory.INSTANCE; + + // Create package meta-data objects + instance.createMetaData(); + + // Initialize created meta-data + instance.initializeMetaData(); + + // Mark meta-data to indicate it can't be changed + //theRepchoiceFactoryImpl.freeze(); //FB do we need to freeze / should we freeze ???? + + return instance; + } + + private boolean isCreated = false; + + public void createMetaData() + { + if (isCreated) return; + isCreated = true; + + // Create types and their properties + rcTypeType = createType(false, RC_TYPE); + createProperty(true, rcTypeType,RCTypeImpl.INTERNAL_GROUP); + createProperty(true, rcTypeType,RCTypeImpl.INTERNAL_S); + createProperty(true, rcTypeType,RCTypeImpl.INTERNAL_I); + createProperty(true, rcTypeType,RCTypeImpl.INTERNAL_F); + } + + private boolean isInitialized = false; + + public void initializeMetaData() + { + if (isInitialized) return; + isInitialized = true; + + // Obtain other dependent packages + ModelFactoryImpl theModelPackageImpl = (ModelFactoryImpl)ModelFactory.INSTANCE; + Property property = null; + + // Add supertypes to types + + // Initialize types and properties + initializeType(rcTypeType, RCType.class, "RCType", false); + property = getLocalProperty(rcTypeType, 0); + initializeProperty(property, getSequence(), "group", null, 0, -1, RCType.class, false, false, false); + + property = getLocalProperty(rcTypeType, 1); + initializeProperty(property, theModelPackageImpl.getString(), "s", null, 0, -1, RCType.class, false, false, true); + + property = getLocalProperty(rcTypeType, 2); + initializeProperty(property, theModelPackageImpl.getInt(), "i", null, 0, -1, RCType.class, false, false, true); + + property = getLocalProperty(rcTypeType, 3); + initializeProperty(property, theModelPackageImpl.getFloat(), "f", null, 0, -1, RCType.class, false, false, true); + + createXSDMetaData(theModelPackageImpl); + } + + protected void createXSDMetaData(ModelFactoryImpl theModelPackageImpl) + { + super.initXSD(); + + Property property = null; + + + property = createGlobalProperty + ("rc", + this.getRCType(), + new String[] + { + "kind", "element", + "name", "rc", + "namespace", "##targetNamespace" + }); + + addXSDMapping + (rcTypeType, + new String[] + { + "name", "RCType", + "kind", "elementOnly" + }); + + addXSDMapping + (getProperty(rcTypeType, RCTypeImpl.INTERNAL_GROUP), + new String[] + { + "kind", "group", + "name", "group:0" + }); + + addXSDMapping + (getProperty(rcTypeType, RCTypeImpl.INTERNAL_S), + new String[] + { + "kind", "element", + "name", "s", + "group", "#group:0" + }); + + addXSDMapping + (getProperty(rcTypeType, RCTypeImpl.INTERNAL_I), + new String[] + { + "kind", "element", + "name", "i", + "group", "#group:0" + }); + + addXSDMapping + (getProperty(rcTypeType, RCTypeImpl.INTERNAL_F), + new String[] + { + "kind", "element", + "name", "f", + "group", "#group:0" + }); + + } + +} //RepchoiceFactoryImpl diff --git a/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/sequences/MixedQuote.java b/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/sequences/MixedQuote.java new file mode 100644 index 0000000000..f1882ba616 --- /dev/null +++ b/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/sequences/MixedQuote.java @@ -0,0 +1,491 @@ +/** + * + * 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 com.example.sequences; + +import commonj.sdo.Sequence; + +import java.io.Serializable; + +import java.math.BigDecimal; + +import java.util.List; + +/** + * + * A representation of the model object 'Mixed Quote'. + * + * + *

+ * The following features are supported: + *

+ *

+ * + * @extends Serializable + * @generated + */ +public interface MixedQuote extends Serializable +{ + /** + * Returns the value of the 'Mixed' attribute list. + * + *

+ * If the meaning of the 'Mixed' attribute list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Mixed' attribute list. + * @generated + */ + Sequence getMixed(); + + /** + * Returns the value of the 'Symbol' attribute. + * + *

+ * If the meaning of the 'Symbol' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Symbol' attribute. + * @see #isSetSymbol() + * @see #unsetSymbol() + * @see #setSymbol(String) + * @generated + */ + String getSymbol(); + + /** + * Sets the value of the '{@link com.example.sequences.MixedQuote#getSymbol Symbol}' attribute. + * + * + * @param value the new value of the 'Symbol' attribute. + * @see #isSetSymbol() + * @see #unsetSymbol() + * @see #getSymbol() + * @generated + */ + void setSymbol(String value); + + /** + * Unsets the value of the '{@link com.example.sequences.MixedQuote#getSymbol Symbol}' attribute. + * + * + * @see #isSetSymbol() + * @see #getSymbol() + * @see #setSymbol(String) + * @generated + */ + void unsetSymbol(); + + /** + * Returns whether the value of the '{@link com.example.sequences.MixedQuote#getSymbol Symbol}' attribute is set. + * + * + * @return whether the value of the 'Symbol' attribute is set. + * @see #unsetSymbol() + * @see #getSymbol() + * @see #setSymbol(String) + * @generated + */ + boolean isSetSymbol(); + + /** + * Returns the value of the 'Company Name' attribute. + * + *

+ * If the meaning of the 'Company Name' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Company Name' attribute. + * @see #isSetCompanyName() + * @see #unsetCompanyName() + * @see #setCompanyName(String) + * @generated + */ + String getCompanyName(); + + /** + * Sets the value of the '{@link com.example.sequences.MixedQuote#getCompanyName Company Name}' attribute. + * + * + * @param value the new value of the 'Company Name' attribute. + * @see #isSetCompanyName() + * @see #unsetCompanyName() + * @see #getCompanyName() + * @generated + */ + void setCompanyName(String value); + + /** + * Unsets the value of the '{@link com.example.sequences.MixedQuote#getCompanyName Company Name}' attribute. + * + * + * @see #isSetCompanyName() + * @see #getCompanyName() + * @see #setCompanyName(String) + * @generated + */ + void unsetCompanyName(); + + /** + * Returns whether the value of the '{@link com.example.sequences.MixedQuote#getCompanyName Company Name}' attribute is set. + * + * + * @return whether the value of the 'Company Name' attribute is set. + * @see #unsetCompanyName() + * @see #getCompanyName() + * @see #setCompanyName(String) + * @generated + */ + boolean isSetCompanyName(); + + /** + * Returns the value of the 'Price' attribute. + * + *

+ * If the meaning of the 'Price' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Price' attribute. + * @see #isSetPrice() + * @see #unsetPrice() + * @see #setPrice(BigDecimal) + * @generated + */ + BigDecimal getPrice(); + + /** + * Sets the value of the '{@link com.example.sequences.MixedQuote#getPrice Price}' attribute. + * + * + * @param value the new value of the 'Price' attribute. + * @see #isSetPrice() + * @see #unsetPrice() + * @see #getPrice() + * @generated + */ + void setPrice(BigDecimal value); + + /** + * Unsets the value of the '{@link com.example.sequences.MixedQuote#getPrice Price}' attribute. + * + * + * @see #isSetPrice() + * @see #getPrice() + * @see #setPrice(BigDecimal) + * @generated + */ + void unsetPrice(); + + /** + * Returns whether the value of the '{@link com.example.sequences.MixedQuote#getPrice Price}' attribute is set. + * + * + * @return whether the value of the 'Price' attribute is set. + * @see #unsetPrice() + * @see #getPrice() + * @see #setPrice(BigDecimal) + * @generated + */ + boolean isSetPrice(); + + /** + * Returns the value of the 'Open1' attribute. + * + *

+ * If the meaning of the 'Open1' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Open1' attribute. + * @see #isSetOpen1() + * @see #unsetOpen1() + * @see #setOpen1(BigDecimal) + * @generated + */ + BigDecimal getOpen1(); + + /** + * Sets the value of the '{@link com.example.sequences.MixedQuote#getOpen1 Open1}' attribute. + * + * + * @param value the new value of the 'Open1' attribute. + * @see #isSetOpen1() + * @see #unsetOpen1() + * @see #getOpen1() + * @generated + */ + void setOpen1(BigDecimal value); + + /** + * Unsets the value of the '{@link com.example.sequences.MixedQuote#getOpen1 Open1}' attribute. + * + * + * @see #isSetOpen1() + * @see #getOpen1() + * @see #setOpen1(BigDecimal) + * @generated + */ + void unsetOpen1(); + + /** + * Returns whether the value of the '{@link com.example.sequences.MixedQuote#getOpen1 Open1}' attribute is set. + * + * + * @return whether the value of the 'Open1' attribute is set. + * @see #unsetOpen1() + * @see #getOpen1() + * @see #setOpen1(BigDecimal) + * @generated + */ + boolean isSetOpen1(); + + /** + * Returns the value of the 'High' attribute. + * + *

+ * If the meaning of the 'High' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'High' attribute. + * @see #isSetHigh() + * @see #unsetHigh() + * @see #setHigh(BigDecimal) + * @generated + */ + BigDecimal getHigh(); + + /** + * Sets the value of the '{@link com.example.sequences.MixedQuote#getHigh High}' attribute. + * + * + * @param value the new value of the 'High' attribute. + * @see #isSetHigh() + * @see #unsetHigh() + * @see #getHigh() + * @generated + */ + void setHigh(BigDecimal value); + + /** + * Unsets the value of the '{@link com.example.sequences.MixedQuote#getHigh High}' attribute. + * + * + * @see #isSetHigh() + * @see #getHigh() + * @see #setHigh(BigDecimal) + * @generated + */ + void unsetHigh(); + + /** + * Returns whether the value of the '{@link com.example.sequences.MixedQuote#getHigh High}' attribute is set. + * + * + * @return whether the value of the 'High' attribute is set. + * @see #unsetHigh() + * @see #getHigh() + * @see #setHigh(BigDecimal) + * @generated + */ + boolean isSetHigh(); + + /** + * Returns the value of the 'Low' attribute. + * + *

+ * If the meaning of the 'Low' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Low' attribute. + * @see #isSetLow() + * @see #unsetLow() + * @see #setLow(BigDecimal) + * @generated + */ + BigDecimal getLow(); + + /** + * Sets the value of the '{@link com.example.sequences.MixedQuote#getLow Low}' attribute. + * + * + * @param value the new value of the 'Low' attribute. + * @see #isSetLow() + * @see #unsetLow() + * @see #getLow() + * @generated + */ + void setLow(BigDecimal value); + + /** + * Unsets the value of the '{@link com.example.sequences.MixedQuote#getLow Low}' attribute. + * + * + * @see #isSetLow() + * @see #getLow() + * @see #setLow(BigDecimal) + * @generated + */ + void unsetLow(); + + /** + * Returns whether the value of the '{@link com.example.sequences.MixedQuote#getLow Low}' attribute is set. + * + * + * @return whether the value of the 'Low' attribute is set. + * @see #unsetLow() + * @see #getLow() + * @see #setLow(BigDecimal) + * @generated + */ + boolean isSetLow(); + + /** + * Returns the value of the 'Volume' attribute. + * + *

+ * If the meaning of the 'Volume' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Volume' attribute. + * @see #isSetVolume() + * @see #unsetVolume() + * @see #setVolume(double) + * @generated + */ + double getVolume(); + + /** + * Sets the value of the '{@link com.example.sequences.MixedQuote#getVolume Volume}' attribute. + * + * + * @param value the new value of the 'Volume' attribute. + * @see #isSetVolume() + * @see #unsetVolume() + * @see #getVolume() + * @generated + */ + void setVolume(double value); + + /** + * Unsets the value of the '{@link com.example.sequences.MixedQuote#getVolume Volume}' attribute. + * + * + * @see #isSetVolume() + * @see #getVolume() + * @see #setVolume(double) + * @generated + */ + void unsetVolume(); + + /** + * Returns whether the value of the '{@link com.example.sequences.MixedQuote#getVolume Volume}' attribute is set. + * + * + * @return whether the value of the 'Volume' attribute is set. + * @see #unsetVolume() + * @see #getVolume() + * @see #setVolume(double) + * @generated + */ + boolean isSetVolume(); + + /** + * Returns the value of the 'Change1' attribute. + * + *

+ * If the meaning of the 'Change1' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Change1' attribute. + * @see #isSetChange1() + * @see #unsetChange1() + * @see #setChange1(double) + * @generated + */ + double getChange1(); + + /** + * Sets the value of the '{@link com.example.sequences.MixedQuote#getChange1 Change1}' attribute. + * + * + * @param value the new value of the 'Change1' attribute. + * @see #isSetChange1() + * @see #unsetChange1() + * @see #getChange1() + * @generated + */ + void setChange1(double value); + + /** + * Unsets the value of the '{@link com.example.sequences.MixedQuote#getChange1 Change1}' attribute. + * + * + * @see #isSetChange1() + * @see #getChange1() + * @see #setChange1(double) + * @generated + */ + void unsetChange1(); + + /** + * Returns whether the value of the '{@link com.example.sequences.MixedQuote#getChange1 Change1}' attribute is set. + * + * + * @return whether the value of the 'Change1' attribute is set. + * @see #unsetChange1() + * @see #getChange1() + * @see #setChange1(double) + * @generated + */ + boolean isSetChange1(); + + /** + * Returns the value of the 'Quotes' containment reference list. + * The list contents are of type {@link com.example.sequences.MixedQuote}. + * + *

+ * If the meaning of the 'Quotes' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Quotes' containment reference list. + * @generated + */ + List getQuotes(); + +} // MixedQuote diff --git a/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/sequences/MixedRepeatingChoice.java b/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/sequences/MixedRepeatingChoice.java new file mode 100644 index 0000000000..dba64b0487 --- /dev/null +++ b/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/sequences/MixedRepeatingChoice.java @@ -0,0 +1,102 @@ +/** + * + * 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 com.example.sequences; + +import commonj.sdo.Sequence; + +import java.io.Serializable; + +import java.util.List; + +/** + * + * A representation of the model object 'Mixed Repeating Choice'. + * + * + *

+ * The following features are supported: + *

+ *

+ * + * @extends Serializable + * @generated + */ +public interface MixedRepeatingChoice extends Serializable +{ + /** + * Returns the value of the 'Mixed' attribute list. + * + *

+ * If the meaning of the 'Mixed' attribute list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Mixed' attribute list. + * @generated + */ + Sequence getMixed(); + + /** + * Returns the value of the 'Group' attribute list. + * + *

+ * If the meaning of the 'Group' attribute list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Group' attribute list. + * @generated + */ + Sequence getGroup(); + + /** + * Returns the value of the 'A' attribute list. + * The list contents are of type {@link java.lang.String}. + * + *

+ * If the meaning of the 'A' attribute list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'A' attribute list. + * @generated + */ + List getA(); + + /** + * Returns the value of the 'B' attribute list. + * The list contents are of type {@link java.lang.Integer}. + * + *

+ * If the meaning of the 'B' attribute list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'B' attribute list. + * @generated + */ + List getB(); + +} // MixedRepeatingChoice diff --git a/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/sequences/RepeatingChoice.java b/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/sequences/RepeatingChoice.java new file mode 100644 index 0000000000..3f0b0839f2 --- /dev/null +++ b/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/sequences/RepeatingChoice.java @@ -0,0 +1,88 @@ +/** + * + * 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 com.example.sequences; + +import commonj.sdo.Sequence; + +import java.io.Serializable; + +import java.util.List; + +/** + * + * A representation of the model object 'Repeating Choice'. + * + * + *

+ * The following features are supported: + *

+ *

+ * + * @extends Serializable + * @generated + */ +public interface RepeatingChoice extends Serializable +{ + /** + * Returns the value of the 'Group' attribute list. + * + *

+ * If the meaning of the 'Group' attribute list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Group' attribute list. + * @generated + */ + Sequence getGroup(); + + /** + * Returns the value of the 'A' attribute list. + * The list contents are of type {@link java.lang.String}. + * + *

+ * If the meaning of the 'A' attribute list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'A' attribute list. + * @generated + */ + List getA(); + + /** + * Returns the value of the 'B' attribute list. + * The list contents are of type {@link java.lang.Integer}. + * + *

+ * If the meaning of the 'B' attribute list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'B' attribute list. + * @generated + */ + List getB(); + +} // RepeatingChoice diff --git a/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/sequences/SequencesFactory.java b/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/sequences/SequencesFactory.java new file mode 100644 index 0000000000..900b51ddc3 --- /dev/null +++ b/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/sequences/SequencesFactory.java @@ -0,0 +1,97 @@ +/** + * + * 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 com.example.sequences; + +import commonj.sdo.helper.HelperContext; + + +/** + * + * The Factory for the model. + * It provides a create method for each non-abstract class of the model. + * + * @generated + */ +public interface SequencesFactory +{ + + /** + * The singleton instance of the factory. + * + * + * @generated + */ + SequencesFactory INSTANCE = com.example.sequences.impl.SequencesFactoryImpl.init(); + + /** + * Returns a new object of class 'Mixed Quote'. + * + * + * @return a new object of class 'Mixed Quote'. + * @generated + */ + MixedQuote createMixedQuote(); + + /** + * Returns a new object of class 'Mixed Repeating Choice'. + * + * + * @return a new object of class 'Mixed Repeating Choice'. + * @generated + */ + MixedRepeatingChoice createMixedRepeatingChoice(); + + /** + * Returns a new object of class 'Repeating Choice'. + * + * + * @return a new object of class 'Repeating Choice'. + * @generated + */ + RepeatingChoice createRepeatingChoice(); + + /** + * Returns a new object of class 'Two RCs'. + * + * + * @return a new object of class 'Two RCs'. + * @generated + */ + TwoRCs createTwoRCs(); + + /** + * Returns a new object of class 'Two RCs Mixed'. + * + * + * @return a new object of class 'Two RCs Mixed'. + * @generated + */ + TwoRCsMixed createTwoRCsMixed(); + + /** + * Registers the types supported by this Factory within the supplied scope.argument + * + * + * @param scope an instance of HelperContext used to manage the scoping of types. + * @generated + */ + public void register(HelperContext scope); + +} //SequencesFactory diff --git a/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/sequences/TwoRCs.java b/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/sequences/TwoRCs.java new file mode 100644 index 0000000000..c6e54e6598 --- /dev/null +++ b/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/sequences/TwoRCs.java @@ -0,0 +1,184 @@ +/** + * + * 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 com.example.sequences; + +import commonj.sdo.Sequence; + +import java.io.Serializable; + +import java.util.List; + +/** + * + * A representation of the model object 'Two RCs'. + * + * + *

+ * The following features are supported: + *

+ *

+ * + * @extends Serializable + * @generated + */ +public interface TwoRCs extends Serializable +{ + /** + * Returns the value of the 'Group' attribute list. + * + *

+ * If the meaning of the 'Group' attribute list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Group' attribute list. + * @generated + */ + Sequence getGroup(); + + /** + * Returns the value of the 'A' attribute list. + * The list contents are of type {@link java.lang.String}. + * + *

+ * If the meaning of the 'A' attribute list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'A' attribute list. + * @generated + */ + List getA(); + + /** + * Returns the value of the 'B' attribute list. + * The list contents are of type {@link java.lang.Integer}. + * + *

+ * If the meaning of the 'B' attribute list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'B' attribute list. + * @generated + */ + List getB(); + + /** + * Returns the value of the 'Split' attribute. + * + *

+ * If the meaning of the 'Split' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Split' attribute. + * @see #isSetSplit() + * @see #unsetSplit() + * @see #setSplit(String) + * @generated + */ + String getSplit(); + + /** + * Sets the value of the '{@link com.example.sequences.TwoRCs#getSplit Split}' attribute. + * + * + * @param value the new value of the 'Split' attribute. + * @see #isSetSplit() + * @see #unsetSplit() + * @see #getSplit() + * @generated + */ + void setSplit(String value); + + /** + * Unsets the value of the '{@link com.example.sequences.TwoRCs#getSplit Split}' attribute. + * + * + * @see #isSetSplit() + * @see #getSplit() + * @see #setSplit(String) + * @generated + */ + void unsetSplit(); + + /** + * Returns whether the value of the '{@link com.example.sequences.TwoRCs#getSplit Split}' attribute is set. + * + * + * @return whether the value of the 'Split' attribute is set. + * @see #unsetSplit() + * @see #getSplit() + * @see #setSplit(String) + * @generated + */ + boolean isSetSplit(); + + /** + * Returns the value of the 'Group1' attribute list. + * + *

+ * If the meaning of the 'Group1' attribute list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Group1' attribute list. + * @generated + */ + Sequence getGroup1(); + + /** + * Returns the value of the 'Y' attribute list. + * The list contents are of type {@link java.lang.String}. + * + *

+ * If the meaning of the 'Y' attribute list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Y' attribute list. + * @generated + */ + List getY(); + + /** + * Returns the value of the 'Z' attribute list. + * The list contents are of type {@link java.lang.Integer}. + * + *

+ * If the meaning of the 'Z' attribute list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Z' attribute list. + * @generated + */ + List getZ(); + +} // TwoRCs diff --git a/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/sequences/TwoRCsMixed.java b/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/sequences/TwoRCsMixed.java new file mode 100644 index 0000000000..90d5f942b6 --- /dev/null +++ b/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/sequences/TwoRCsMixed.java @@ -0,0 +1,198 @@ +/** + * + * 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 com.example.sequences; + +import commonj.sdo.Sequence; + +import java.io.Serializable; + +import java.util.List; + +/** + * + * A representation of the model object 'Two RCs Mixed'. + * + * + *

+ * The following features are supported: + *

+ *

+ * + * @extends Serializable + * @generated + */ +public interface TwoRCsMixed extends Serializable +{ + /** + * Returns the value of the 'Mixed' attribute list. + * + *

+ * If the meaning of the 'Mixed' attribute list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Mixed' attribute list. + * @generated + */ + Sequence getMixed(); + + /** + * Returns the value of the 'Group' attribute list. + * + *

+ * If the meaning of the 'Group' attribute list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Group' attribute list. + * @generated + */ + Sequence getGroup(); + + /** + * Returns the value of the 'A' attribute list. + * The list contents are of type {@link java.lang.String}. + * + *

+ * If the meaning of the 'A' attribute list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'A' attribute list. + * @generated + */ + List getA(); + + /** + * Returns the value of the 'B' attribute list. + * The list contents are of type {@link java.lang.Integer}. + * + *

+ * If the meaning of the 'B' attribute list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'B' attribute list. + * @generated + */ + List getB(); + + /** + * Returns the value of the 'Split' attribute. + * + *

+ * If the meaning of the 'Split' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Split' attribute. + * @see #isSetSplit() + * @see #unsetSplit() + * @see #setSplit(String) + * @generated + */ + String getSplit(); + + /** + * Sets the value of the '{@link com.example.sequences.TwoRCsMixed#getSplit Split}' attribute. + * + * + * @param value the new value of the 'Split' attribute. + * @see #isSetSplit() + * @see #unsetSplit() + * @see #getSplit() + * @generated + */ + void setSplit(String value); + + /** + * Unsets the value of the '{@link com.example.sequences.TwoRCsMixed#getSplit Split}' attribute. + * + * + * @see #isSetSplit() + * @see #getSplit() + * @see #setSplit(String) + * @generated + */ + void unsetSplit(); + + /** + * Returns whether the value of the '{@link com.example.sequences.TwoRCsMixed#getSplit Split}' attribute is set. + * + * + * @return whether the value of the 'Split' attribute is set. + * @see #unsetSplit() + * @see #getSplit() + * @see #setSplit(String) + * @generated + */ + boolean isSetSplit(); + + /** + * Returns the value of the 'Group1' attribute list. + * + *

+ * If the meaning of the 'Group1' attribute list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Group1' attribute list. + * @generated + */ + Sequence getGroup1(); + + /** + * Returns the value of the 'Y' attribute list. + * The list contents are of type {@link java.lang.String}. + * + *

+ * If the meaning of the 'Y' attribute list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Y' attribute list. + * @generated + */ + List getY(); + + /** + * Returns the value of the 'Z' attribute list. + * The list contents are of type {@link java.lang.Integer}. + * + *

+ * If the meaning of the 'Z' attribute list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Z' attribute list. + * @generated + */ + List getZ(); + +} // TwoRCsMixed diff --git a/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/sequences/impl/MixedQuoteImpl.java b/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/sequences/impl/MixedQuoteImpl.java new file mode 100644 index 0000000000..96fe832ef3 --- /dev/null +++ b/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/sequences/impl/MixedQuoteImpl.java @@ -0,0 +1,766 @@ +/** + * + * 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 com.example.sequences.impl; + +import com.example.sequences.MixedQuote; +import com.example.sequences.SequencesFactory; + +import commonj.sdo.Sequence; +import commonj.sdo.Type; + +import java.math.BigDecimal; + +import java.util.Collection; +import java.util.List; + +import org.apache.tuscany.sdo.impl.DataObjectBase; + +/** + * + * An implementation of the model object 'Mixed Quote'. + * + *

+ * The following features are implemented: + *

+ *

+ * + * @generated + */ +public class MixedQuoteImpl extends DataObjectBase implements MixedQuote +{ + + public final static int MIXED = -1; + + public final static int SYMBOL = 0; + + public final static int COMPANY_NAME = 1; + + public final static int PRICE = 2; + + public final static int OPEN1 = 3; + + public final static int HIGH = 4; + + public final static int LOW = 5; + + public final static int VOLUME = 6; + + public final static int CHANGE1 = 7; + + public final static int QUOTES = 8; + + public final static int SDO_PROPERTY_COUNT = 9; + + public final static int EXTENDED_PROPERTY_COUNT = -1; + + + /** + * The internal feature id for the 'Mixed' attribute list. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_MIXED = 0; + + /** + * The internal feature id for the 'Symbol' attribute. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_SYMBOL = 1; + + /** + * The internal feature id for the 'Company Name' attribute. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_COMPANY_NAME = 2; + + /** + * The internal feature id for the 'Price' attribute. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_PRICE = 3; + + /** + * The internal feature id for the 'Open1' attribute. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_OPEN1 = 4; + + /** + * The internal feature id for the 'High' attribute. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_HIGH = 5; + + /** + * The internal feature id for the 'Low' attribute. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_LOW = 6; + + /** + * The internal feature id for the 'Volume' attribute. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_VOLUME = 7; + + /** + * The internal feature id for the 'Change1' attribute. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_CHANGE1 = 8; + + /** + * The internal feature id for the 'Quotes' containment reference list. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_QUOTES = 9; + + /** + * The number of properties for this type. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_PROPERTY_COUNT = 10; + + protected int internalConvertIndex(int internalIndex) + { + switch (internalIndex) + { + case INTERNAL_MIXED: return MIXED; + case INTERNAL_SYMBOL: return SYMBOL; + case INTERNAL_COMPANY_NAME: return COMPANY_NAME; + case INTERNAL_PRICE: return PRICE; + case INTERNAL_OPEN1: return OPEN1; + case INTERNAL_HIGH: return HIGH; + case INTERNAL_LOW: return LOW; + case INTERNAL_VOLUME: return VOLUME; + case INTERNAL_CHANGE1: return CHANGE1; + case INTERNAL_QUOTES: return QUOTES; + } + return super.internalConvertIndex(internalIndex); + } + + + /** + * The cached value of the '{@link #getMixed() Mixed}' attribute list. + * + * + * @see #getMixed() + * @generated + * @ordered + */ + + protected Sequence mixed = null; + + /** + * + * + * @generated + */ + public MixedQuoteImpl() + { + super(); + } + + /** + * + * + * @generated + */ + public Type getStaticType() + { + return ((SequencesFactoryImpl)SequencesFactory.INSTANCE).getMixedQuote(); + } + + /** + * + * + * @generated + */ + public int getStaticPropertyCount() + { + return INTERNAL_PROPERTY_COUNT; + } + + /** + * + * + * @generated + */ + public Sequence getMixed() + { + if (mixed == null) + { + mixed = createSequence(INTERNAL_MIXED); + } + return mixed; + } + /** + * + * + * @generated + */ + public String getSymbol() + { + return (String)get(getMixed(), getType(), INTERNAL_SYMBOL); + } + /** + * + * + * @generated + */ + public void setSymbol(String newSymbol) + { + set(getMixed(), getType(), INTERNAL_SYMBOL, newSymbol); + } + + /** + * + * + * @generated + */ + public void unsetSymbol() + { + unset(getMixed(), getType(), INTERNAL_SYMBOL); + } + + /** + * + * + * @generated + */ + public boolean isSetSymbol() + { + return isSet(getMixed(), getType(), INTERNAL_SYMBOL); + } + + /** + * + * + * @generated + */ + public String getCompanyName() + { + return (String)get(getMixed(), getType(), INTERNAL_COMPANY_NAME); + } + /** + * + * + * @generated + */ + public void setCompanyName(String newCompanyName) + { + set(getMixed(), getType(), INTERNAL_COMPANY_NAME, newCompanyName); + } + + /** + * + * + * @generated + */ + public void unsetCompanyName() + { + unset(getMixed(), getType(), INTERNAL_COMPANY_NAME); + } + + /** + * + * + * @generated + */ + public boolean isSetCompanyName() + { + return isSet(getMixed(), getType(), INTERNAL_COMPANY_NAME); + } + + /** + * + * + * @generated + */ + public BigDecimal getPrice() + { + return (BigDecimal)get(getMixed(), getType(), INTERNAL_PRICE); + } + /** + * + * + * @generated + */ + public void setPrice(BigDecimal newPrice) + { + set(getMixed(), getType(), INTERNAL_PRICE, newPrice); + } + + /** + * + * + * @generated + */ + public void unsetPrice() + { + unset(getMixed(), getType(), INTERNAL_PRICE); + } + + /** + * + * + * @generated + */ + public boolean isSetPrice() + { + return isSet(getMixed(), getType(), INTERNAL_PRICE); + } + + /** + * + * + * @generated + */ + public BigDecimal getOpen1() + { + return (BigDecimal)get(getMixed(), getType(), INTERNAL_OPEN1); + } + /** + * + * + * @generated + */ + public void setOpen1(BigDecimal newOpen1) + { + set(getMixed(), getType(), INTERNAL_OPEN1, newOpen1); + } + + /** + * + * + * @generated + */ + public void unsetOpen1() + { + unset(getMixed(), getType(), INTERNAL_OPEN1); + } + + /** + * + * + * @generated + */ + public boolean isSetOpen1() + { + return isSet(getMixed(), getType(), INTERNAL_OPEN1); + } + + /** + * + * + * @generated + */ + public BigDecimal getHigh() + { + return (BigDecimal)get(getMixed(), getType(), INTERNAL_HIGH); + } + /** + * + * + * @generated + */ + public void setHigh(BigDecimal newHigh) + { + set(getMixed(), getType(), INTERNAL_HIGH, newHigh); + } + + /** + * + * + * @generated + */ + public void unsetHigh() + { + unset(getMixed(), getType(), INTERNAL_HIGH); + } + + /** + * + * + * @generated + */ + public boolean isSetHigh() + { + return isSet(getMixed(), getType(), INTERNAL_HIGH); + } + + /** + * + * + * @generated + */ + public BigDecimal getLow() + { + return (BigDecimal)get(getMixed(), getType(), INTERNAL_LOW); + } + /** + * + * + * @generated + */ + public void setLow(BigDecimal newLow) + { + set(getMixed(), getType(), INTERNAL_LOW, newLow); + } + + /** + * + * + * @generated + */ + public void unsetLow() + { + unset(getMixed(), getType(), INTERNAL_LOW); + } + + /** + * + * + * @generated + */ + public boolean isSetLow() + { + return isSet(getMixed(), getType(), INTERNAL_LOW); + } + + /** + * + * + * @generated + */ + public double getVolume() + { + return ((Double)get(getMixed(), getType(), INTERNAL_VOLUME)).doubleValue(); + } + /** + * + * + * @generated + */ + public void setVolume(double newVolume) + { + set(getMixed(), getType(), INTERNAL_VOLUME, new Double(newVolume)); + } + + /** + * + * + * @generated + */ + public void unsetVolume() + { + unset(getMixed(), getType(), INTERNAL_VOLUME); + } + + /** + * + * + * @generated + */ + public boolean isSetVolume() + { + return isSet(getMixed(), getType(), INTERNAL_VOLUME); + } + + /** + * + * + * @generated + */ + public double getChange1() + { + return ((Double)get(getMixed(), getType(), INTERNAL_CHANGE1)).doubleValue(); + } + /** + * + * + * @generated + */ + public void setChange1(double newChange1) + { + set(getMixed(), getType(), INTERNAL_CHANGE1, new Double(newChange1)); + } + + /** + * + * + * @generated + */ + public void unsetChange1() + { + unset(getMixed(), getType(), INTERNAL_CHANGE1); + } + + /** + * + * + * @generated + */ + public boolean isSetChange1() + { + return isSet(getMixed(), getType(), INTERNAL_CHANGE1); + } + + /** + * + * + * @generated + */ + public List getQuotes() + { + return getList(getMixed(), getType(), INTERNAL_QUOTES); + } + /** + * + * + * @generated + */ + public ChangeContext inverseRemove(Object otherEnd, int propertyIndex, ChangeContext changeContext) + { + switch (propertyIndex) + { + case MIXED: + return removeFromSequence(getMixed(), otherEnd, changeContext); + case QUOTES: + return removeFromList(getQuotes(), otherEnd, changeContext); + } + return super.inverseRemove(otherEnd, propertyIndex, changeContext); + } + + /** + * + * + * @generated + */ + public Object get(int propertyIndex, boolean resolve) + { + switch (propertyIndex) + { + case MIXED: + // XXX query introduce coreType as an argument? -- semantic = if true -- coreType - return the core EMF object if value is a non-EMF wrapper/view + //if (coreType) + return getMixed(); + case SYMBOL: + return getSymbol(); + case COMPANY_NAME: + return getCompanyName(); + case PRICE: + return getPrice(); + case OPEN1: + return getOpen1(); + case HIGH: + return getHigh(); + case LOW: + return getLow(); + case VOLUME: + return new Double(getVolume()); + case CHANGE1: + return new Double(getChange1()); + case QUOTES: + return getQuotes(); + } + return super.get(propertyIndex, resolve); + } + + /** + * + * + * @generated + */ + public void set(int propertyIndex, Object newValue) + { + switch (propertyIndex) + { + case MIXED: + setSequence(getMixed(), newValue); + return; + case SYMBOL: + setSymbol((String)newValue); + return; + case COMPANY_NAME: + setCompanyName((String)newValue); + return; + case PRICE: + setPrice((BigDecimal)newValue); + return; + case OPEN1: + setOpen1((BigDecimal)newValue); + return; + case HIGH: + setHigh((BigDecimal)newValue); + return; + case LOW: + setLow((BigDecimal)newValue); + return; + case VOLUME: + setVolume(((Double)newValue).doubleValue()); + return; + case CHANGE1: + setChange1(((Double)newValue).doubleValue()); + return; + case QUOTES: + getQuotes().clear(); + getQuotes().addAll((Collection)newValue); + return; + } + super.set(propertyIndex, newValue); + } + + /** + * + * + * @generated + */ + public void unset(int propertyIndex) + { + switch (propertyIndex) + { + case MIXED: + unsetSequence(getMixed()); + return; + case SYMBOL: + unsetSymbol(); + return; + case COMPANY_NAME: + unsetCompanyName(); + return; + case PRICE: + unsetPrice(); + return; + case OPEN1: + unsetOpen1(); + return; + case HIGH: + unsetHigh(); + return; + case LOW: + unsetLow(); + return; + case VOLUME: + unsetVolume(); + return; + case CHANGE1: + unsetChange1(); + return; + case QUOTES: + getQuotes().clear(); + return; + } + super.unset(propertyIndex); + } + + /** + * + * + * @generated + */ + public boolean isSet(int propertyIndex) + { + switch (propertyIndex) + { + case MIXED: + return mixed != null && !isSequenceEmpty(getMixed()); + case SYMBOL: + return isSetSymbol(); + case COMPANY_NAME: + return isSetCompanyName(); + case PRICE: + return isSetPrice(); + case OPEN1: + return isSetOpen1(); + case HIGH: + return isSetHigh(); + case LOW: + return isSetLow(); + case VOLUME: + return isSetVolume(); + case CHANGE1: + return isSetChange1(); + case QUOTES: + return !getQuotes().isEmpty(); + } + return super.isSet(propertyIndex); + } + + /** + * + * + * @generated + */ + public String toString() + { + if (isProxy(this)) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (mixed: "); + result.append(mixed); + result.append(')'); + return result.toString(); + } + +} //MixedQuoteImpl diff --git a/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/sequences/impl/MixedRepeatingChoiceImpl.java b/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/sequences/impl/MixedRepeatingChoiceImpl.java new file mode 100644 index 0000000000..d9cb3ac080 --- /dev/null +++ b/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/sequences/impl/MixedRepeatingChoiceImpl.java @@ -0,0 +1,335 @@ +/** + * + * 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 com.example.sequences.impl; + +import com.example.sequences.MixedRepeatingChoice; +import com.example.sequences.SequencesFactory; + +import commonj.sdo.Sequence; +import commonj.sdo.Type; + +import java.util.Collection; +import java.util.List; + +import org.apache.tuscany.sdo.impl.DataObjectBase; + +/** + * + * An implementation of the model object 'Mixed Repeating Choice'. + * + *

+ * The following features are implemented: + *

+ *

+ * + * @generated + */ +public class MixedRepeatingChoiceImpl extends DataObjectBase implements MixedRepeatingChoice +{ + + public final static int MIXED = -1; + + public final static int GROUP = -2; + + public final static int A = 0; + + public final static int B = 1; + + public final static int SDO_PROPERTY_COUNT = 2; + + public final static int EXTENDED_PROPERTY_COUNT = -2; + + + /** + * The internal feature id for the 'Mixed' attribute list. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_MIXED = 0; + + /** + * The internal feature id for the 'Group' attribute list. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_GROUP = 1; + + /** + * The internal feature id for the 'A' attribute list. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_A = 2; + + /** + * The internal feature id for the 'B' attribute list. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_B = 3; + + /** + * The number of properties for this type. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_PROPERTY_COUNT = 4; + + protected int internalConvertIndex(int internalIndex) + { + switch (internalIndex) + { + case INTERNAL_MIXED: return MIXED; + case INTERNAL_GROUP: return GROUP; + case INTERNAL_A: return A; + case INTERNAL_B: return B; + } + return super.internalConvertIndex(internalIndex); + } + + + /** + * The cached value of the '{@link #getMixed() Mixed}' attribute list. + * + * + * @see #getMixed() + * @generated + * @ordered + */ + + protected Sequence mixed = null; + + /** + * + * + * @generated + */ + public MixedRepeatingChoiceImpl() + { + super(); + } + + /** + * + * + * @generated + */ + public Type getStaticType() + { + return ((SequencesFactoryImpl)SequencesFactory.INSTANCE).getMixedRepeatingChoice(); + } + + /** + * + * + * @generated + */ + public int getStaticPropertyCount() + { + return INTERNAL_PROPERTY_COUNT; + } + + /** + * + * + * @generated + */ + public Sequence getMixed() + { + if (mixed == null) + { + mixed = createSequence(INTERNAL_MIXED); + } + return mixed; + } + /** + * + * + * @generated + */ + public Sequence getGroup() + { + return createSequence(getMixed(), getType(), INTERNAL_GROUP); + } + /** + * + * + * @generated + */ + public List getA() + { + return getList(getGroup(), getType(), INTERNAL_A); + } + /** + * + * + * @generated + */ + public List getB() + { + return getList(getGroup(), getType(), INTERNAL_B); + } + /** + * + * + * @generated + */ + public ChangeContext inverseRemove(Object otherEnd, int propertyIndex, ChangeContext changeContext) + { + switch (propertyIndex) + { + case MIXED: + return removeFromSequence(getMixed(), otherEnd, changeContext); + case GROUP: + return removeFromSequence(getGroup(), otherEnd, changeContext); + } + return super.inverseRemove(otherEnd, propertyIndex, changeContext); + } + + /** + * + * + * @generated + */ + public Object get(int propertyIndex, boolean resolve) + { + switch (propertyIndex) + { + case MIXED: + // XXX query introduce coreType as an argument? -- semantic = if true -- coreType - return the core EMF object if value is a non-EMF wrapper/view + //if (coreType) + return getMixed(); + case GROUP: + // XXX query introduce coreType as an argument? -- semantic = if true -- coreType - return the core EMF object if value is a non-EMF wrapper/view + //if (coreType) + return getGroup(); + case A: + return getA(); + case B: + return getB(); + } + return super.get(propertyIndex, resolve); + } + + /** + * + * + * @generated + */ + public void set(int propertyIndex, Object newValue) + { + switch (propertyIndex) + { + case MIXED: + setSequence(getMixed(), newValue); + return; + case GROUP: + setSequence(getGroup(), newValue); + return; + case A: + getA().clear(); + getA().addAll((Collection)newValue); + return; + case B: + getB().clear(); + getB().addAll((Collection)newValue); + return; + } + super.set(propertyIndex, newValue); + } + + /** + * + * + * @generated + */ + public void unset(int propertyIndex) + { + switch (propertyIndex) + { + case MIXED: + unsetSequence(getMixed()); + return; + case GROUP: + unsetSequence(getGroup()); + return; + case A: + getA().clear(); + return; + case B: + getB().clear(); + return; + } + super.unset(propertyIndex); + } + + /** + * + * + * @generated + */ + public boolean isSet(int propertyIndex) + { + switch (propertyIndex) + { + case MIXED: + return mixed != null && !isSequenceEmpty(getMixed()); + case GROUP: + return !isSequenceEmpty(getGroup()); + case A: + return !getA().isEmpty(); + case B: + return !getB().isEmpty(); + } + return super.isSet(propertyIndex); + } + + /** + * + * + * @generated + */ + public String toString() + { + if (isProxy(this)) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (mixed: "); + result.append(mixed); + result.append(')'); + return result.toString(); + } + +} //MixedRepeatingChoiceImpl diff --git a/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/sequences/impl/RepeatingChoiceImpl.java b/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/sequences/impl/RepeatingChoiceImpl.java new file mode 100644 index 0000000000..376a8471cf --- /dev/null +++ b/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/sequences/impl/RepeatingChoiceImpl.java @@ -0,0 +1,299 @@ +/** + * + * 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 com.example.sequences.impl; + +import com.example.sequences.RepeatingChoice; +import com.example.sequences.SequencesFactory; + +import commonj.sdo.Sequence; +import commonj.sdo.Type; + +import java.util.Collection; +import java.util.List; + +import org.apache.tuscany.sdo.impl.DataObjectBase; + +/** + * + * An implementation of the model object 'Repeating Choice'. + * + *

+ * The following features are implemented: + *

+ *

+ * + * @generated + */ +public class RepeatingChoiceImpl extends DataObjectBase implements RepeatingChoice +{ + + public final static int GROUP = -1; + + public final static int A = 0; + + public final static int B = 1; + + public final static int SDO_PROPERTY_COUNT = 2; + + public final static int EXTENDED_PROPERTY_COUNT = -1; + + + /** + * The internal feature id for the 'Group' attribute list. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_GROUP = 0; + + /** + * The internal feature id for the 'A' attribute list. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_A = 1; + + /** + * The internal feature id for the 'B' attribute list. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_B = 2; + + /** + * The number of properties for this type. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_PROPERTY_COUNT = 3; + + protected int internalConvertIndex(int internalIndex) + { + switch (internalIndex) + { + case INTERNAL_GROUP: return GROUP; + case INTERNAL_A: return A; + case INTERNAL_B: return B; + } + return super.internalConvertIndex(internalIndex); + } + + + /** + * The cached value of the '{@link #getGroup() Group}' attribute list. + * + * + * @see #getGroup() + * @generated + * @ordered + */ + + protected Sequence group = null; + + /** + * + * + * @generated + */ + public RepeatingChoiceImpl() + { + super(); + } + + /** + * + * + * @generated + */ + public Type getStaticType() + { + return ((SequencesFactoryImpl)SequencesFactory.INSTANCE).getRepeatingChoice(); + } + + /** + * + * + * @generated + */ + public int getStaticPropertyCount() + { + return INTERNAL_PROPERTY_COUNT; + } + + /** + * + * + * @generated + */ + public Sequence getGroup() + { + if (group == null) + { + group = createSequence(INTERNAL_GROUP); + } + return group; + } + /** + * + * + * @generated + */ + public List getA() + { + return getList(getGroup(), getType(), INTERNAL_A); + } + /** + * + * + * @generated + */ + public List getB() + { + return getList(getGroup(), getType(), INTERNAL_B); + } + /** + * + * + * @generated + */ + public ChangeContext inverseRemove(Object otherEnd, int propertyIndex, ChangeContext changeContext) + { + switch (propertyIndex) + { + case GROUP: + return removeFromSequence(getGroup(), otherEnd, changeContext); + } + return super.inverseRemove(otherEnd, propertyIndex, changeContext); + } + + /** + * + * + * @generated + */ + public Object get(int propertyIndex, boolean resolve) + { + switch (propertyIndex) + { + case GROUP: + // XXX query introduce coreType as an argument? -- semantic = if true -- coreType - return the core EMF object if value is a non-EMF wrapper/view + //if (coreType) + return getGroup(); + case A: + return getA(); + case B: + return getB(); + } + return super.get(propertyIndex, resolve); + } + + /** + * + * + * @generated + */ + public void set(int propertyIndex, Object newValue) + { + switch (propertyIndex) + { + case GROUP: + setSequence(getGroup(), newValue); + return; + case A: + getA().clear(); + getA().addAll((Collection)newValue); + return; + case B: + getB().clear(); + getB().addAll((Collection)newValue); + return; + } + super.set(propertyIndex, newValue); + } + + /** + * + * + * @generated + */ + public void unset(int propertyIndex) + { + switch (propertyIndex) + { + case GROUP: + unsetSequence(getGroup()); + return; + case A: + getA().clear(); + return; + case B: + getB().clear(); + return; + } + super.unset(propertyIndex); + } + + /** + * + * + * @generated + */ + public boolean isSet(int propertyIndex) + { + switch (propertyIndex) + { + case GROUP: + return group != null && !isSequenceEmpty(getGroup()); + case A: + return !getA().isEmpty(); + case B: + return !getB().isEmpty(); + } + return super.isSet(propertyIndex); + } + + /** + * + * + * @generated + */ + public String toString() + { + if (isProxy(this)) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (group: "); + result.append(group); + result.append(')'); + return result.toString(); + } + +} //RepeatingChoiceImpl diff --git a/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/sequences/impl/SequencesFactoryImpl.java b/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/sequences/impl/SequencesFactoryImpl.java new file mode 100644 index 0000000000..84631cb06d --- /dev/null +++ b/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/sequences/impl/SequencesFactoryImpl.java @@ -0,0 +1,770 @@ +/** + * + * 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 com.example.sequences.impl; + +import commonj.sdo.helper.HelperContext; +import org.apache.tuscany.sdo.helper.TypeHelperImpl; + +import com.example.sequences.*; + +import commonj.sdo.DataObject; +import commonj.sdo.Property; +import commonj.sdo.Type; + +import org.apache.tuscany.sdo.impl.FactoryBase; + +import org.apache.tuscany.sdo.model.ModelFactory; + +import org.apache.tuscany.sdo.model.impl.ModelFactoryImpl; + +/** + * + * An implementation of the model Factory. + * Generator information: + * patternVersion=1.2; -prefix Sequences + * + * @generated + */ +public class SequencesFactoryImpl extends FactoryBase implements SequencesFactory +{ + + /** + * The package namespace URI. + * + * + * @generated + */ + public static final String NAMESPACE_URI = "http://www.example.com/sequences"; + + /** + * The package namespace name. + * + * + * @generated + */ + public static final String NAMESPACE_PREFIX = "seq"; + + /** + * The version of the generator pattern used to generate this class. + * + * + * @generated + */ + public static final String PATTERN_VERSION = "1.2"; + + public static final int MIXED_QUOTE = 1; + public static final int MIXED_REPEATING_CHOICE = 2; + public static final int REPEATING_CHOICE = 3; + public static final int TWO_RCS = 4; + public static final int TWO_RCS_MIXED = 5; + + /** + * Creates an instance of the factory. + * + * + * @generated + */ + public SequencesFactoryImpl() + { + super(NAMESPACE_URI, NAMESPACE_PREFIX, "com.example.sequences"); + } + + /** + * Registers the Factory instance so that it is available within the supplied scope. + * @argument scope a HelperContext instance that will make the types supported by this Factory available. + * + * + * @generated + */ + public void register(HelperContext scope) + { + if(scope == null) { + throw new IllegalArgumentException("Scope can not be null"); + } + + //Register dependent packages with provided scope + ModelFactory.INSTANCE.register(scope); + + // Initialize this package + TypeHelperImpl th = (TypeHelperImpl)scope.getTypeHelper(); + th.getExtendedMetaData().putPackage(NAMESPACE_URI, this); + } + + /** + * + * + * @generated + */ + public DataObject create(int typeNumber) + { + switch (typeNumber) + { + case MIXED_QUOTE: return (DataObject)createMixedQuote(); + case MIXED_REPEATING_CHOICE: return (DataObject)createMixedRepeatingChoice(); + case REPEATING_CHOICE: return (DataObject)createRepeatingChoice(); + case TWO_RCS: return (DataObject)createTwoRCs(); + case TWO_RCS_MIXED: return (DataObject)createTwoRCsMixed(); + default: + return super.create(typeNumber); + } + } + + /** + * + * + * @generated + */ + public MixedQuote createMixedQuote() + { + MixedQuoteImpl mixedQuote = new MixedQuoteImpl(); + return mixedQuote; + } + /** + * + * + * @generated + */ + public MixedRepeatingChoice createMixedRepeatingChoice() + { + MixedRepeatingChoiceImpl mixedRepeatingChoice = new MixedRepeatingChoiceImpl(); + return mixedRepeatingChoice; + } + /** + * + * + * @generated + */ + public RepeatingChoice createRepeatingChoice() + { + RepeatingChoiceImpl repeatingChoice = new RepeatingChoiceImpl(); + return repeatingChoice; + } + /** + * + * + * @generated + */ + public TwoRCs createTwoRCs() + { + TwoRCsImpl twoRCs = new TwoRCsImpl(); + return twoRCs; + } + /** + * + * + * @generated + */ + public TwoRCsMixed createTwoRCsMixed() + { + TwoRCsMixedImpl twoRCsMixed = new TwoRCsMixedImpl(); + return twoRCsMixed; + } + + // Following creates and initializes SDO metadata for the supported types. + protected Type mixedQuoteType = null; + + public Type getMixedQuote() + { + return mixedQuoteType; + } + + protected Type mixedRepeatingChoiceType = null; + + public Type getMixedRepeatingChoice() + { + return mixedRepeatingChoiceType; + } + + protected Type repeatingChoiceType = null; + + public Type getRepeatingChoice() + { + return repeatingChoiceType; + } + + protected Type twoRCsType = null; + + public Type getTwoRCs() + { + return twoRCsType; + } + + protected Type twoRCsMixedType = null; + + public Type getTwoRCsMixed() + { + return twoRCsMixedType; + } + + + private static SequencesFactoryImpl instance = null; + public static SequencesFactoryImpl init() + { + if (instance != null ) return instance; + instance = new SequencesFactoryImpl(); + + // Initialize dependent packages + ModelFactory ModelFactoryInstance = ModelFactory.INSTANCE; + + // Create package meta-data objects + instance.createMetaData(); + + // Initialize created meta-data + instance.initializeMetaData(); + + // Mark meta-data to indicate it can't be changed + //theSequencesFactoryImpl.freeze(); //FB do we need to freeze / should we freeze ???? + + return instance; + } + + private boolean isCreated = false; + + public void createMetaData() + { + if (isCreated) return; + isCreated = true; + + // Create types and their properties + mixedQuoteType = createType(false, MIXED_QUOTE); + createProperty(true, mixedQuoteType,MixedQuoteImpl.INTERNAL_MIXED); + createProperty(true, mixedQuoteType,MixedQuoteImpl.INTERNAL_SYMBOL); + createProperty(true, mixedQuoteType,MixedQuoteImpl.INTERNAL_COMPANY_NAME); + createProperty(true, mixedQuoteType,MixedQuoteImpl.INTERNAL_PRICE); + createProperty(true, mixedQuoteType,MixedQuoteImpl.INTERNAL_OPEN1); + createProperty(true, mixedQuoteType,MixedQuoteImpl.INTERNAL_HIGH); + createProperty(true, mixedQuoteType,MixedQuoteImpl.INTERNAL_LOW); + createProperty(true, mixedQuoteType,MixedQuoteImpl.INTERNAL_VOLUME); + createProperty(true, mixedQuoteType,MixedQuoteImpl.INTERNAL_CHANGE1); + createProperty(false, mixedQuoteType,MixedQuoteImpl.INTERNAL_QUOTES); + mixedRepeatingChoiceType = createType(false, MIXED_REPEATING_CHOICE); + createProperty(true, mixedRepeatingChoiceType,MixedRepeatingChoiceImpl.INTERNAL_MIXED); + createProperty(true, mixedRepeatingChoiceType,MixedRepeatingChoiceImpl.INTERNAL_GROUP); + createProperty(true, mixedRepeatingChoiceType,MixedRepeatingChoiceImpl.INTERNAL_A); + createProperty(true, mixedRepeatingChoiceType,MixedRepeatingChoiceImpl.INTERNAL_B); + repeatingChoiceType = createType(false, REPEATING_CHOICE); + createProperty(true, repeatingChoiceType,RepeatingChoiceImpl.INTERNAL_GROUP); + createProperty(true, repeatingChoiceType,RepeatingChoiceImpl.INTERNAL_A); + createProperty(true, repeatingChoiceType,RepeatingChoiceImpl.INTERNAL_B); + twoRCsType = createType(false, TWO_RCS); + createProperty(true, twoRCsType,TwoRCsImpl.INTERNAL_GROUP); + createProperty(true, twoRCsType,TwoRCsImpl.INTERNAL_A); + createProperty(true, twoRCsType,TwoRCsImpl.INTERNAL_B); + createProperty(true, twoRCsType,TwoRCsImpl.INTERNAL_SPLIT); + createProperty(true, twoRCsType,TwoRCsImpl.INTERNAL_GROUP1); + createProperty(true, twoRCsType,TwoRCsImpl.INTERNAL_Y); + createProperty(true, twoRCsType,TwoRCsImpl.INTERNAL_Z); + twoRCsMixedType = createType(false, TWO_RCS_MIXED); + createProperty(true, twoRCsMixedType,TwoRCsMixedImpl.INTERNAL_MIXED); + createProperty(true, twoRCsMixedType,TwoRCsMixedImpl.INTERNAL_GROUP); + createProperty(true, twoRCsMixedType,TwoRCsMixedImpl.INTERNAL_A); + createProperty(true, twoRCsMixedType,TwoRCsMixedImpl.INTERNAL_B); + createProperty(true, twoRCsMixedType,TwoRCsMixedImpl.INTERNAL_SPLIT); + createProperty(true, twoRCsMixedType,TwoRCsMixedImpl.INTERNAL_GROUP1); + createProperty(true, twoRCsMixedType,TwoRCsMixedImpl.INTERNAL_Y); + createProperty(true, twoRCsMixedType,TwoRCsMixedImpl.INTERNAL_Z); + } + + private boolean isInitialized = false; + + public void initializeMetaData() + { + if (isInitialized) return; + isInitialized = true; + + // Obtain other dependent packages + ModelFactoryImpl theModelPackageImpl = (ModelFactoryImpl)ModelFactory.INSTANCE; + Property property = null; + + // Add supertypes to types + + // Initialize types and properties + initializeType(mixedQuoteType, MixedQuote.class, "MixedQuote", false); + property = getLocalProperty(mixedQuoteType, 0); + initializeProperty(property, getSequence(), "mixed", null, 0, -1, MixedQuote.class, false, false, false); + + property = getLocalProperty(mixedQuoteType, 1); + initializeProperty(property, theModelPackageImpl.getString(), "symbol", null, 1, 1, MixedQuote.class, false, true, true); + + property = getLocalProperty(mixedQuoteType, 2); + initializeProperty(property, theModelPackageImpl.getString(), "companyName", null, 1, 1, MixedQuote.class, false, true, true); + + property = getLocalProperty(mixedQuoteType, 3); + initializeProperty(property, theModelPackageImpl.getDecimal(), "price", null, 1, 1, MixedQuote.class, false, true, true); + + property = getLocalProperty(mixedQuoteType, 4); + initializeProperty(property, theModelPackageImpl.getDecimal(), "open1", null, 1, 1, MixedQuote.class, false, true, true); + + property = getLocalProperty(mixedQuoteType, 5); + initializeProperty(property, theModelPackageImpl.getDecimal(), "high", null, 1, 1, MixedQuote.class, false, true, true); + + property = getLocalProperty(mixedQuoteType, 6); + initializeProperty(property, theModelPackageImpl.getDecimal(), "low", null, 1, 1, MixedQuote.class, false, true, true); + + property = getLocalProperty(mixedQuoteType, 7); + initializeProperty(property, theModelPackageImpl.getDouble(), "volume", null, 1, 1, MixedQuote.class, false, true, true); + + property = getLocalProperty(mixedQuoteType, 8); + initializeProperty(property, theModelPackageImpl.getDouble(), "change1", null, 1, 1, MixedQuote.class, false, true, true); + + property = getLocalProperty(mixedQuoteType, 9); + initializeProperty(property, this.getMixedQuote(), "quotes", null, 0, -1, MixedQuote.class, false, false, true, true , null); + + initializeType(mixedRepeatingChoiceType, MixedRepeatingChoice.class, "MixedRepeatingChoice", false); + property = getLocalProperty(mixedRepeatingChoiceType, 0); + initializeProperty(property, getSequence(), "mixed", null, 0, -1, MixedRepeatingChoice.class, false, false, false); + + property = getLocalProperty(mixedRepeatingChoiceType, 1); + initializeProperty(property, getSequence(), "group", null, 0, -1, MixedRepeatingChoice.class, false, false, true); + + property = getLocalProperty(mixedRepeatingChoiceType, 2); + initializeProperty(property, theModelPackageImpl.getString(), "a", null, 0, -1, MixedRepeatingChoice.class, false, false, true); + + property = getLocalProperty(mixedRepeatingChoiceType, 3); + initializeProperty(property, theModelPackageImpl.getInt(), "b", null, 0, -1, MixedRepeatingChoice.class, false, false, true); + + initializeType(repeatingChoiceType, RepeatingChoice.class, "RepeatingChoice", false); + property = getLocalProperty(repeatingChoiceType, 0); + initializeProperty(property, getSequence(), "group", null, 0, -1, RepeatingChoice.class, false, false, false); + + property = getLocalProperty(repeatingChoiceType, 1); + initializeProperty(property, theModelPackageImpl.getString(), "a", null, 0, -1, RepeatingChoice.class, false, false, true); + + property = getLocalProperty(repeatingChoiceType, 2); + initializeProperty(property, theModelPackageImpl.getInt(), "b", null, 0, -1, RepeatingChoice.class, false, false, true); + + initializeType(twoRCsType, TwoRCs.class, "TwoRCs", false); + property = getLocalProperty(twoRCsType, 0); + initializeProperty(property, getSequence(), "group", null, 0, -1, TwoRCs.class, false, false, false); + + property = getLocalProperty(twoRCsType, 1); + initializeProperty(property, theModelPackageImpl.getString(), "a", null, 0, -1, TwoRCs.class, false, false, true); + + property = getLocalProperty(twoRCsType, 2); + initializeProperty(property, theModelPackageImpl.getInt(), "b", null, 0, -1, TwoRCs.class, false, false, true); + + property = getLocalProperty(twoRCsType, 3); + initializeProperty(property, theModelPackageImpl.getString(), "split", null, 1, 1, TwoRCs.class, false, true, false); + + property = getLocalProperty(twoRCsType, 4); + initializeProperty(property, getSequence(), "group1", null, 0, -1, TwoRCs.class, false, false, false); + + property = getLocalProperty(twoRCsType, 5); + initializeProperty(property, theModelPackageImpl.getString(), "y", null, 0, -1, TwoRCs.class, false, false, true); + + property = getLocalProperty(twoRCsType, 6); + initializeProperty(property, theModelPackageImpl.getInt(), "z", null, 0, -1, TwoRCs.class, false, false, true); + + initializeType(twoRCsMixedType, TwoRCsMixed.class, "TwoRCsMixed", false); + property = getLocalProperty(twoRCsMixedType, 0); + initializeProperty(property, getSequence(), "mixed", null, 0, -1, TwoRCsMixed.class, false, false, false); + + property = getLocalProperty(twoRCsMixedType, 1); + initializeProperty(property, getSequence(), "group", null, 0, -1, TwoRCsMixed.class, false, false, true); + + property = getLocalProperty(twoRCsMixedType, 2); + initializeProperty(property, theModelPackageImpl.getString(), "a", null, 0, -1, TwoRCsMixed.class, false, false, true); + + property = getLocalProperty(twoRCsMixedType, 3); + initializeProperty(property, theModelPackageImpl.getInt(), "b", null, 0, -1, TwoRCsMixed.class, false, false, true); + + property = getLocalProperty(twoRCsMixedType, 4); + initializeProperty(property, theModelPackageImpl.getString(), "split", null, 1, 1, TwoRCsMixed.class, false, true, true); + + property = getLocalProperty(twoRCsMixedType, 5); + initializeProperty(property, getSequence(), "group1", null, 0, -1, TwoRCsMixed.class, false, false, true); + + property = getLocalProperty(twoRCsMixedType, 6); + initializeProperty(property, theModelPackageImpl.getString(), "y", null, 0, -1, TwoRCsMixed.class, false, false, true); + + property = getLocalProperty(twoRCsMixedType, 7); + initializeProperty(property, theModelPackageImpl.getInt(), "z", null, 0, -1, TwoRCsMixed.class, false, false, true); + + createXSDMetaData(theModelPackageImpl); + } + + protected void createXSDMetaData(ModelFactoryImpl theModelPackageImpl) + { + super.initXSD(); + + Property property = null; + + + property = createGlobalProperty + ("mixedStockQuote", + this.getMixedQuote(), + new String[] + { + "kind", "element", + "name", "mixedStockQuote", + "namespace", "##targetNamespace" + }); + + property = createGlobalProperty + ("mrc", + this.getMixedRepeatingChoice(), + new String[] + { + "kind", "element", + "name", "mrc", + "namespace", "##targetNamespace" + }); + + property = createGlobalProperty + ("mrc2", + this.getTwoRCsMixed(), + new String[] + { + "kind", "element", + "name", "mrc2", + "namespace", "##targetNamespace" + }); + + property = createGlobalProperty + ("rc", + this.getRepeatingChoice(), + new String[] + { + "kind", "element", + "name", "rc", + "namespace", "##targetNamespace" + }); + + property = createGlobalProperty + ("rc2", + this.getTwoRCs(), + new String[] + { + "kind", "element", + "name", "rc2", + "namespace", "##targetNamespace" + }); + + addXSDMapping + (mixedQuoteType, + new String[] + { + "name", "MixedQuote", + "kind", "mixed" + }); + + addXSDMapping + (getProperty(mixedQuoteType, MixedQuoteImpl.INTERNAL_MIXED), + new String[] + { + "kind", "elementWildcard", + "name", ":mixed" + }); + + addXSDMapping + (getProperty(mixedQuoteType, MixedQuoteImpl.INTERNAL_SYMBOL), + new String[] + { + "kind", "element", + "name", "symbol" + }); + + addXSDMapping + (getProperty(mixedQuoteType, MixedQuoteImpl.INTERNAL_COMPANY_NAME), + new String[] + { + "kind", "element", + "name", "companyName" + }); + + addXSDMapping + (getProperty(mixedQuoteType, MixedQuoteImpl.INTERNAL_PRICE), + new String[] + { + "kind", "element", + "name", "price" + }); + + addXSDMapping + (getProperty(mixedQuoteType, MixedQuoteImpl.INTERNAL_OPEN1), + new String[] + { + "kind", "element", + "name", "open1" + }); + + addXSDMapping + (getProperty(mixedQuoteType, MixedQuoteImpl.INTERNAL_HIGH), + new String[] + { + "kind", "element", + "name", "high" + }); + + addXSDMapping + (getProperty(mixedQuoteType, MixedQuoteImpl.INTERNAL_LOW), + new String[] + { + "kind", "element", + "name", "low" + }); + + addXSDMapping + (getProperty(mixedQuoteType, MixedQuoteImpl.INTERNAL_VOLUME), + new String[] + { + "kind", "element", + "name", "volume" + }); + + addXSDMapping + (getProperty(mixedQuoteType, MixedQuoteImpl.INTERNAL_CHANGE1), + new String[] + { + "kind", "element", + "name", "change1" + }); + + addXSDMapping + (getProperty(mixedQuoteType, MixedQuoteImpl.INTERNAL_QUOTES), + new String[] + { + "kind", "element", + "name", "quotes" + }); + + addXSDMapping + (mixedRepeatingChoiceType, + new String[] + { + "name", "MixedRepeatingChoice", + "kind", "mixed" + }); + + addXSDMapping + (getProperty(mixedRepeatingChoiceType, MixedRepeatingChoiceImpl.INTERNAL_MIXED), + new String[] + { + "kind", "elementWildcard", + "name", ":mixed" + }); + + addXSDMapping + (getProperty(mixedRepeatingChoiceType, MixedRepeatingChoiceImpl.INTERNAL_GROUP), + new String[] + { + "kind", "group", + "name", "group:1" + }); + + addXSDMapping + (getProperty(mixedRepeatingChoiceType, MixedRepeatingChoiceImpl.INTERNAL_A), + new String[] + { + "kind", "element", + "name", "a", + "group", "#group:1" + }); + + addXSDMapping + (getProperty(mixedRepeatingChoiceType, MixedRepeatingChoiceImpl.INTERNAL_B), + new String[] + { + "kind", "element", + "name", "b", + "group", "#group:1" + }); + + addXSDMapping + (repeatingChoiceType, + new String[] + { + "name", "RepeatingChoice", + "kind", "elementOnly" + }); + + addXSDMapping + (getProperty(repeatingChoiceType, RepeatingChoiceImpl.INTERNAL_GROUP), + new String[] + { + "kind", "group", + "name", "group:0" + }); + + addXSDMapping + (getProperty(repeatingChoiceType, RepeatingChoiceImpl.INTERNAL_A), + new String[] + { + "kind", "element", + "name", "a", + "group", "#group:0" + }); + + addXSDMapping + (getProperty(repeatingChoiceType, RepeatingChoiceImpl.INTERNAL_B), + new String[] + { + "kind", "element", + "name", "b", + "group", "#group:0" + }); + + addXSDMapping + (twoRCsType, + new String[] + { + "name", "TwoRCs", + "kind", "elementOnly" + }); + + addXSDMapping + (getProperty(twoRCsType, TwoRCsImpl.INTERNAL_GROUP), + new String[] + { + "kind", "group", + "name", "group:0" + }); + + addXSDMapping + (getProperty(twoRCsType, TwoRCsImpl.INTERNAL_A), + new String[] + { + "kind", "element", + "name", "a", + "group", "#group:0" + }); + + addXSDMapping + (getProperty(twoRCsType, TwoRCsImpl.INTERNAL_B), + new String[] + { + "kind", "element", + "name", "b", + "group", "#group:0" + }); + + addXSDMapping + (getProperty(twoRCsType, TwoRCsImpl.INTERNAL_SPLIT), + new String[] + { + "kind", "element", + "name", "split" + }); + + addXSDMapping + (getProperty(twoRCsType, TwoRCsImpl.INTERNAL_GROUP1), + new String[] + { + "kind", "group", + "name", "group:4" + }); + + addXSDMapping + (getProperty(twoRCsType, TwoRCsImpl.INTERNAL_Y), + new String[] + { + "kind", "element", + "name", "y", + "group", "#group:4" + }); + + addXSDMapping + (getProperty(twoRCsType, TwoRCsImpl.INTERNAL_Z), + new String[] + { + "kind", "element", + "name", "z", + "group", "#group:4" + }); + + addXSDMapping + (twoRCsMixedType, + new String[] + { + "name", "TwoRCsMixed", + "kind", "mixed" + }); + + addXSDMapping + (getProperty(twoRCsMixedType, TwoRCsMixedImpl.INTERNAL_MIXED), + new String[] + { + "kind", "elementWildcard", + "name", ":mixed" + }); + + addXSDMapping + (getProperty(twoRCsMixedType, TwoRCsMixedImpl.INTERNAL_GROUP), + new String[] + { + "kind", "group", + "name", "group:1" + }); + + addXSDMapping + (getProperty(twoRCsMixedType, TwoRCsMixedImpl.INTERNAL_A), + new String[] + { + "kind", "element", + "name", "a", + "group", "#group:1" + }); + + addXSDMapping + (getProperty(twoRCsMixedType, TwoRCsMixedImpl.INTERNAL_B), + new String[] + { + "kind", "element", + "name", "b", + "group", "#group:1" + }); + + addXSDMapping + (getProperty(twoRCsMixedType, TwoRCsMixedImpl.INTERNAL_SPLIT), + new String[] + { + "kind", "element", + "name", "split" + }); + + addXSDMapping + (getProperty(twoRCsMixedType, TwoRCsMixedImpl.INTERNAL_GROUP1), + new String[] + { + "kind", "group", + "name", "group:5" + }); + + addXSDMapping + (getProperty(twoRCsMixedType, TwoRCsMixedImpl.INTERNAL_Y), + new String[] + { + "kind", "element", + "name", "y", + "group", "#group:5" + }); + + addXSDMapping + (getProperty(twoRCsMixedType, TwoRCsMixedImpl.INTERNAL_Z), + new String[] + { + "kind", "element", + "name", "z", + "group", "#group:5" + }); + + } + +} //SequencesFactoryImpl diff --git a/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/sequences/impl/TwoRCsImpl.java b/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/sequences/impl/TwoRCsImpl.java new file mode 100644 index 0000000000..c1e385ec63 --- /dev/null +++ b/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/sequences/impl/TwoRCsImpl.java @@ -0,0 +1,521 @@ +/** + * + * 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 com.example.sequences.impl; + +import com.example.sequences.SequencesFactory; +import com.example.sequences.TwoRCs; + +import commonj.sdo.Sequence; +import commonj.sdo.Type; + +import java.util.Collection; +import java.util.List; + +import org.apache.tuscany.sdo.impl.DataObjectBase; + +/** + * + * An implementation of the model object 'Two RCs'. + * + *

+ * The following features are implemented: + *

+ *

+ * + * @generated + */ +public class TwoRCsImpl extends DataObjectBase implements TwoRCs +{ + + public final static int GROUP = -1; + + public final static int A = 0; + + public final static int B = 1; + + public final static int SPLIT = 2; + + public final static int GROUP1 = -2; + + public final static int Y = 3; + + public final static int Z = 4; + + public final static int SDO_PROPERTY_COUNT = 5; + + public final static int EXTENDED_PROPERTY_COUNT = -2; + + + /** + * The internal feature id for the 'Group' attribute list. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_GROUP = 0; + + /** + * The internal feature id for the 'A' attribute list. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_A = 1; + + /** + * The internal feature id for the 'B' attribute list. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_B = 2; + + /** + * The internal feature id for the 'Split' attribute. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_SPLIT = 3; + + /** + * The internal feature id for the 'Group1' attribute list. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_GROUP1 = 4; + + /** + * The internal feature id for the 'Y' attribute list. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_Y = 5; + + /** + * The internal feature id for the 'Z' attribute list. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_Z = 6; + + /** + * The number of properties for this type. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_PROPERTY_COUNT = 7; + + protected int internalConvertIndex(int internalIndex) + { + switch (internalIndex) + { + case INTERNAL_GROUP: return GROUP; + case INTERNAL_A: return A; + case INTERNAL_B: return B; + case INTERNAL_SPLIT: return SPLIT; + case INTERNAL_GROUP1: return GROUP1; + case INTERNAL_Y: return Y; + case INTERNAL_Z: return Z; + } + return super.internalConvertIndex(internalIndex); + } + + + /** + * The cached value of the '{@link #getGroup() Group}' attribute list. + * + * + * @see #getGroup() + * @generated + * @ordered + */ + + protected Sequence group = null; + + /** + * The default value of the '{@link #getSplit() Split}' attribute. + * + * + * @see #getSplit() + * @generated + * @ordered + */ + protected static final String SPLIT_DEFAULT_ = null; + + /** + * The cached value of the '{@link #getSplit() Split}' attribute. + * + * + * @see #getSplit() + * @generated + * @ordered + */ + protected String split = SPLIT_DEFAULT_; + + /** + * This is true if the Split attribute has been set. + * + * + * @generated + * @ordered + */ + protected boolean split_set_ = false; + + /** + * The cached value of the '{@link #getGroup1() Group1}' attribute list. + * + * + * @see #getGroup1() + * @generated + * @ordered + */ + + protected Sequence group1 = null; + + /** + * + * + * @generated + */ + public TwoRCsImpl() + { + super(); + } + + /** + * + * + * @generated + */ + public Type getStaticType() + { + return ((SequencesFactoryImpl)SequencesFactory.INSTANCE).getTwoRCs(); + } + + /** + * + * + * @generated + */ + public int getStaticPropertyCount() + { + return INTERNAL_PROPERTY_COUNT; + } + + /** + * + * + * @generated + */ + public Sequence getGroup() + { + if (group == null) + { + group = createSequence(INTERNAL_GROUP); + } + return group; + } + /** + * + * + * @generated + */ + public List getA() + { + return getList(getGroup(), getType(), INTERNAL_A); + } + /** + * + * + * @generated + */ + public List getB() + { + return getList(getGroup(), getType(), INTERNAL_B); + } + /** + * + * + * @generated + */ + public String getSplit() + { + return split; + } + /** + * + * + * @generated + */ + public void setSplit(String newSplit) + { + String oldSplit = split; + split = newSplit; + boolean oldSplit_set_ = split_set_; + split_set_ = true; + if (isNotifying()) + notify(ChangeKind.SET, INTERNAL_SPLIT, oldSplit, split, !oldSplit_set_); + } + + /** + * + * + * @generated + */ + public void unsetSplit() + { + String oldSplit = split; + boolean oldSplit_set_ = split_set_; + split = SPLIT_DEFAULT_; + split_set_ = false; + if (isNotifying()) + notify(ChangeKind.UNSET, INTERNAL_SPLIT, oldSplit, SPLIT_DEFAULT_, oldSplit_set_); + } + + /** + * + * + * @generated + */ + public boolean isSetSplit() + { + return split_set_; + } + + /** + * + * + * @generated + */ + public Sequence getGroup1() + { + if (group1 == null) + { + group1 = createSequence(INTERNAL_GROUP1); + } + return group1; + } + /** + * + * + * @generated + */ + public List getY() + { + return getList(getGroup1(), getType(), INTERNAL_Y); + } + /** + * + * + * @generated + */ + public List getZ() + { + return getList(getGroup1(), getType(), INTERNAL_Z); + } + /** + * + * + * @generated + */ + public ChangeContext inverseRemove(Object otherEnd, int propertyIndex, ChangeContext changeContext) + { + switch (propertyIndex) + { + case GROUP: + return removeFromSequence(getGroup(), otherEnd, changeContext); + case GROUP1: + return removeFromSequence(getGroup1(), otherEnd, changeContext); + } + return super.inverseRemove(otherEnd, propertyIndex, changeContext); + } + + /** + * + * + * @generated + */ + public Object get(int propertyIndex, boolean resolve) + { + switch (propertyIndex) + { + case GROUP: + // XXX query introduce coreType as an argument? -- semantic = if true -- coreType - return the core EMF object if value is a non-EMF wrapper/view + //if (coreType) + return getGroup(); + case A: + return getA(); + case B: + return getB(); + case SPLIT: + return getSplit(); + case GROUP1: + // XXX query introduce coreType as an argument? -- semantic = if true -- coreType - return the core EMF object if value is a non-EMF wrapper/view + //if (coreType) + return getGroup1(); + case Y: + return getY(); + case Z: + return getZ(); + } + return super.get(propertyIndex, resolve); + } + + /** + * + * + * @generated + */ + public void set(int propertyIndex, Object newValue) + { + switch (propertyIndex) + { + case GROUP: + setSequence(getGroup(), newValue); + return; + case A: + getA().clear(); + getA().addAll((Collection)newValue); + return; + case B: + getB().clear(); + getB().addAll((Collection)newValue); + return; + case SPLIT: + setSplit((String)newValue); + return; + case GROUP1: + setSequence(getGroup1(), newValue); + return; + case Y: + getY().clear(); + getY().addAll((Collection)newValue); + return; + case Z: + getZ().clear(); + getZ().addAll((Collection)newValue); + return; + } + super.set(propertyIndex, newValue); + } + + /** + * + * + * @generated + */ + public void unset(int propertyIndex) + { + switch (propertyIndex) + { + case GROUP: + unsetSequence(getGroup()); + return; + case A: + getA().clear(); + return; + case B: + getB().clear(); + return; + case SPLIT: + unsetSplit(); + return; + case GROUP1: + unsetSequence(getGroup1()); + return; + case Y: + getY().clear(); + return; + case Z: + getZ().clear(); + return; + } + super.unset(propertyIndex); + } + + /** + * + * + * @generated + */ + public boolean isSet(int propertyIndex) + { + switch (propertyIndex) + { + case GROUP: + return group != null && !isSequenceEmpty(getGroup()); + case A: + return !getA().isEmpty(); + case B: + return !getB().isEmpty(); + case SPLIT: + return isSetSplit(); + case GROUP1: + return group1 != null && !isSequenceEmpty(getGroup1()); + case Y: + return !getY().isEmpty(); + case Z: + return !getZ().isEmpty(); + } + return super.isSet(propertyIndex); + } + + /** + * + * + * @generated + */ + public String toString() + { + if (isProxy(this)) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (group: "); + result.append(group); + result.append(", split: "); + if (split_set_) result.append(split); else result.append(""); + result.append(", group1: "); + result.append(group1); + result.append(')'); + return result.toString(); + } + +} //TwoRCsImpl diff --git a/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/sequences/impl/TwoRCsMixedImpl.java b/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/sequences/impl/TwoRCsMixedImpl.java new file mode 100644 index 0000000000..0d48a9df69 --- /dev/null +++ b/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/com/example/sequences/impl/TwoRCsMixedImpl.java @@ -0,0 +1,499 @@ +/** + * + * 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 com.example.sequences.impl; + +import com.example.sequences.SequencesFactory; +import com.example.sequences.TwoRCsMixed; + +import commonj.sdo.Sequence; +import commonj.sdo.Type; + +import java.util.Collection; +import java.util.List; + +import org.apache.tuscany.sdo.impl.DataObjectBase; + +/** + * + * An implementation of the model object 'Two RCs Mixed'. + * + *

+ * The following features are implemented: + *

+ *

+ * + * @generated + */ +public class TwoRCsMixedImpl extends DataObjectBase implements TwoRCsMixed +{ + + public final static int MIXED = -1; + + public final static int GROUP = -2; + + public final static int A = 0; + + public final static int B = 1; + + public final static int SPLIT = 2; + + public final static int GROUP1 = -3; + + public final static int Y = 3; + + public final static int Z = 4; + + public final static int SDO_PROPERTY_COUNT = 5; + + public final static int EXTENDED_PROPERTY_COUNT = -3; + + + /** + * The internal feature id for the 'Mixed' attribute list. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_MIXED = 0; + + /** + * The internal feature id for the 'Group' attribute list. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_GROUP = 1; + + /** + * The internal feature id for the 'A' attribute list. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_A = 2; + + /** + * The internal feature id for the 'B' attribute list. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_B = 3; + + /** + * The internal feature id for the 'Split' attribute. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_SPLIT = 4; + + /** + * The internal feature id for the 'Group1' attribute list. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_GROUP1 = 5; + + /** + * The internal feature id for the 'Y' attribute list. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_Y = 6; + + /** + * The internal feature id for the 'Z' attribute list. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_Z = 7; + + /** + * The number of properties for this type. + * + * + * @generated + * @ordered + */ + public final static int INTERNAL_PROPERTY_COUNT = 8; + + protected int internalConvertIndex(int internalIndex) + { + switch (internalIndex) + { + case INTERNAL_MIXED: return MIXED; + case INTERNAL_GROUP: return GROUP; + case INTERNAL_A: return A; + case INTERNAL_B: return B; + case INTERNAL_SPLIT: return SPLIT; + case INTERNAL_GROUP1: return GROUP1; + case INTERNAL_Y: return Y; + case INTERNAL_Z: return Z; + } + return super.internalConvertIndex(internalIndex); + } + + + /** + * The cached value of the '{@link #getMixed() Mixed}' attribute list. + * + * + * @see #getMixed() + * @generated + * @ordered + */ + + protected Sequence mixed = null; + + /** + * + * + * @generated + */ + public TwoRCsMixedImpl() + { + super(); + } + + /** + * + * + * @generated + */ + public Type getStaticType() + { + return ((SequencesFactoryImpl)SequencesFactory.INSTANCE).getTwoRCsMixed(); + } + + /** + * + * + * @generated + */ + public int getStaticPropertyCount() + { + return INTERNAL_PROPERTY_COUNT; + } + + /** + * + * + * @generated + */ + public Sequence getMixed() + { + if (mixed == null) + { + mixed = createSequence(INTERNAL_MIXED); + } + return mixed; + } + /** + * + * + * @generated + */ + public Sequence getGroup() + { + return createSequence(getMixed(), getType(), INTERNAL_GROUP); + } + /** + * + * + * @generated + */ + public List getA() + { + return getList(getGroup(), getType(), INTERNAL_A); + } + /** + * + * + * @generated + */ + public List getB() + { + return getList(getGroup(), getType(), INTERNAL_B); + } + /** + * + * + * @generated + */ + public String getSplit() + { + return (String)get(getMixed(), getType(), INTERNAL_SPLIT); + } + /** + * + * + * @generated + */ + public void setSplit(String newSplit) + { + set(getMixed(), getType(), INTERNAL_SPLIT, newSplit); + } + + /** + * + * + * @generated + */ + public void unsetSplit() + { + unset(getMixed(), getType(), INTERNAL_SPLIT); + } + + /** + * + * + * @generated + */ + public boolean isSetSplit() + { + return isSet(getMixed(), getType(), INTERNAL_SPLIT); + } + + /** + * + * + * @generated + */ + public Sequence getGroup1() + { + return createSequence(getMixed(), getType(), INTERNAL_GROUP1); + } + /** + * + * + * @generated + */ + public List getY() + { + return getList(getGroup1(), getType(), INTERNAL_Y); + } + /** + * + * + * @generated + */ + public List getZ() + { + return getList(getGroup1(), getType(), INTERNAL_Z); + } + /** + * + * + * @generated + */ + public ChangeContext inverseRemove(Object otherEnd, int propertyIndex, ChangeContext changeContext) + { + switch (propertyIndex) + { + case MIXED: + return removeFromSequence(getMixed(), otherEnd, changeContext); + case GROUP: + return removeFromSequence(getGroup(), otherEnd, changeContext); + case GROUP1: + return removeFromSequence(getGroup1(), otherEnd, changeContext); + } + return super.inverseRemove(otherEnd, propertyIndex, changeContext); + } + + /** + * + * + * @generated + */ + public Object get(int propertyIndex, boolean resolve) + { + switch (propertyIndex) + { + case MIXED: + // XXX query introduce coreType as an argument? -- semantic = if true -- coreType - return the core EMF object if value is a non-EMF wrapper/view + //if (coreType) + return getMixed(); + case GROUP: + // XXX query introduce coreType as an argument? -- semantic = if true -- coreType - return the core EMF object if value is a non-EMF wrapper/view + //if (coreType) + return getGroup(); + case A: + return getA(); + case B: + return getB(); + case SPLIT: + return getSplit(); + case GROUP1: + // XXX query introduce coreType as an argument? -- semantic = if true -- coreType - return the core EMF object if value is a non-EMF wrapper/view + //if (coreType) + return getGroup1(); + case Y: + return getY(); + case Z: + return getZ(); + } + return super.get(propertyIndex, resolve); + } + + /** + * + * + * @generated + */ + public void set(int propertyIndex, Object newValue) + { + switch (propertyIndex) + { + case MIXED: + setSequence(getMixed(), newValue); + return; + case GROUP: + setSequence(getGroup(), newValue); + return; + case A: + getA().clear(); + getA().addAll((Collection)newValue); + return; + case B: + getB().clear(); + getB().addAll((Collection)newValue); + return; + case SPLIT: + setSplit((String)newValue); + return; + case GROUP1: + setSequence(getGroup1(), newValue); + return; + case Y: + getY().clear(); + getY().addAll((Collection)newValue); + return; + case Z: + getZ().clear(); + getZ().addAll((Collection)newValue); + return; + } + super.set(propertyIndex, newValue); + } + + /** + * + * + * @generated + */ + public void unset(int propertyIndex) + { + switch (propertyIndex) + { + case MIXED: + unsetSequence(getMixed()); + return; + case GROUP: + unsetSequence(getGroup()); + return; + case A: + getA().clear(); + return; + case B: + getB().clear(); + return; + case SPLIT: + unsetSplit(); + return; + case GROUP1: + unsetSequence(getGroup1()); + return; + case Y: + getY().clear(); + return; + case Z: + getZ().clear(); + return; + } + super.unset(propertyIndex); + } + + /** + * + * + * @generated + */ + public boolean isSet(int propertyIndex) + { + switch (propertyIndex) + { + case MIXED: + return mixed != null && !isSequenceEmpty(getMixed()); + case GROUP: + return !isSequenceEmpty(getGroup()); + case A: + return !getA().isEmpty(); + case B: + return !getB().isEmpty(); + case SPLIT: + return isSetSplit(); + case GROUP1: + return !isSequenceEmpty(getGroup1()); + case Y: + return !getY().isEmpty(); + case Z: + return !getZ().isEmpty(); + } + return super.isSet(propertyIndex); + } + + /** + * + * + * @generated + */ + public String toString() + { + if (isProxy(this)) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (mixed: "); + result.append(mixed); + result.append(')'); + return result.toString(); + } + +} //TwoRCsMixedImpl diff --git a/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/org/apache/tuscany/sdo/test/AllTests.java b/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/org/apache/tuscany/sdo/test/AllTests.java new file mode 100644 index 0000000000..67b0e1a3fd --- /dev/null +++ b/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/org/apache/tuscany/sdo/test/AllTests.java @@ -0,0 +1,48 @@ +/** + * + * 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.tuscany.sdo.test; +import junit.framework.TestCase; +import junit.framework.TestSuite; + +public class AllTests extends TestCase { + + + public static TestSuite suite() { + + TestSuite suite = new TestSuite(); + + suite.addTestSuite(GeneratedPackagesTestCase.class); + + return suite; + } + + + + /** + * Runs the test suite using the textual runner. + */ + public static void main(String[] args) { + junit.textui.TestRunner.run(suite()); + } +} + + + diff --git a/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/org/apache/tuscany/sdo/test/GeneratedPackagesTestCase.java b/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/org/apache/tuscany/sdo/test/GeneratedPackagesTestCase.java new file mode 100644 index 0000000000..290f27338a --- /dev/null +++ b/sdo-java/tags/1.1.1-RC2a/tools/src/test/java/org/apache/tuscany/sdo/test/GeneratedPackagesTestCase.java @@ -0,0 +1,70 @@ +/* + * 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.tuscany.sdo.test; + +import java.util.Iterator; +import java.util.List; + +import org.apache.tuscany.sdo.generate.XSD2JavaGenerator; + +import junit.framework.TestCase; + + +public class GeneratedPackagesTestCase extends TestCase +{ + static String expectedNamespace = "http://www.example.com/sequences"; + + public void testPackageValidity() + { + XSD2JavaGenerator codeGen = new XSD2JavaGenerator(); + String [] genArgs = { "-schemaNamespace", "all", "-noGenerate", "src/test/resources/sequences.xsd" }; + codeGen.generateFromXMLSchema( genArgs ); + List packages = codeGen.getGeneratedPackageInfo(); + + for (Iterator iter = packages.iterator(); iter.hasNext();) + { + XSD2JavaGenerator.GeneratedPackage packageInfo = (XSD2JavaGenerator.GeneratedPackage)iter.next(); + assertTrue(expectedNamespace.equals(packageInfo.getNamespace())); + + String name; + boolean validatedMixedQuote = false; + boolean validatedRC = false; + for (Iterator iterClass = packageInfo.getClasses().iterator(); iterClass.hasNext();) + { + XSD2JavaGenerator.GeneratedPackage.PackageClassInfo classInfo = (XSD2JavaGenerator.GeneratedPackage.PackageClassInfo)iterClass.next(); + name = classInfo.getName(); + + if( "mixedStockQuote".equals(name)) + { + assertTrue("com.example.sequences.MixedQuote".equals(classInfo.getClassName())); + validatedMixedQuote = true; + } + + if( "rc".equals(name)) + { + assertTrue("com.example.sequences.RepeatingChoice".equals(classInfo.getClassName())); + validatedRC = true; + } + } + assertTrue(validatedMixedQuote); + assertTrue(validatedRC); + } + } +} diff --git a/sdo-java/tags/1.1.1-RC2a/tools/src/test/resources/TUSCANY1050.xsd b/sdo-java/tags/1.1.1-RC2a/tools/src/test/resources/TUSCANY1050.xsd new file mode 100644 index 0000000000..a218eb574c --- /dev/null +++ b/sdo-java/tags/1.1.1-RC2a/tools/src/test/resources/TUSCANY1050.xsd @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sdo-java/tags/1.1.1-RC2a/tools/src/test/resources/enum.xsd b/sdo-java/tags/1.1.1-RC2a/tools/src/test/resources/enum.xsd new file mode 100644 index 0000000000..6c906539a9 --- /dev/null +++ b/sdo-java/tags/1.1.1-RC2a/tools/src/test/resources/enum.xsd @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sdo-java/tags/1.1.1-RC2a/tools/src/test/resources/mixedRepeatingChoiceTestResult.xml b/sdo-java/tags/1.1.1-RC2a/tools/src/test/resources/mixedRepeatingChoiceTestResult.xml new file mode 100644 index 0000000000..0aa17bb50a --- /dev/null +++ b/sdo-java/tags/1.1.1-RC2a/tools/src/test/resources/mixedRepeatingChoiceTestResult.xml @@ -0,0 +1,20 @@ + + +1foosome mixed textbar2 diff --git a/sdo-java/tags/1.1.1-RC2a/tools/src/test/resources/mixedStaticTestResult.xml b/sdo-java/tags/1.1.1-RC2a/tools/src/test/resources/mixedStaticTestResult.xml new file mode 100644 index 0000000000..9136f0780d --- /dev/null +++ b/sdo-java/tags/1.1.1-RC2a/tools/src/test/resources/mixedStaticTestResult.xml @@ -0,0 +1,27 @@ + + + + fbnt + FlyByNightTechnology + some text + 2000.0 + more text + 1000.0 + diff --git a/sdo-java/tags/1.1.1-RC2a/tools/src/test/resources/repeatingChoice.xsd b/sdo-java/tags/1.1.1-RC2a/tools/src/test/resources/repeatingChoice.xsd new file mode 100644 index 0000000000..1d566da671 --- /dev/null +++ b/sdo-java/tags/1.1.1-RC2a/tools/src/test/resources/repeatingChoice.xsd @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + diff --git a/sdo-java/tags/1.1.1-RC2a/tools/src/test/resources/repeatingChoiceTestResult.xml b/sdo-java/tags/1.1.1-RC2a/tools/src/test/resources/repeatingChoiceTestResult.xml new file mode 100644 index 0000000000..2719457b6d --- /dev/null +++ b/sdo-java/tags/1.1.1-RC2a/tools/src/test/resources/repeatingChoiceTestResult.xml @@ -0,0 +1,25 @@ + + + + 1 + foo + bar + 2 + diff --git a/sdo-java/tags/1.1.1-RC2a/tools/src/test/resources/sdoModel.xsd b/sdo-java/tags/1.1.1-RC2a/tools/src/test/resources/sdoModel.xsd new file mode 100644 index 0000000000..6b596c5b36 --- /dev/null +++ b/sdo-java/tags/1.1.1-RC2a/tools/src/test/resources/sdoModel.xsd @@ -0,0 +1,28 @@ + + + + + + + + + + + diff --git a/sdo-java/tags/1.1.1-RC2a/tools/src/test/resources/sequences.xsd b/sdo-java/tags/1.1.1-RC2a/tools/src/test/resources/sequences.xsd new file mode 100644 index 0000000000..b74a56eab7 --- /dev/null +++ b/sdo-java/tags/1.1.1-RC2a/tools/src/test/resources/sequences.xsd @@ -0,0 +1,100 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sdo-java/tags/1.1.1-RC2a/tools/src/test/resources/twoRepeatingChoicesMixedTestResult.xml b/sdo-java/tags/1.1.1-RC2a/tools/src/test/resources/twoRepeatingChoicesMixedTestResult.xml new file mode 100644 index 0000000000..a62cd66b58 --- /dev/null +++ b/sdo-java/tags/1.1.1-RC2a/tools/src/test/resources/twoRepeatingChoicesMixedTestResult.xml @@ -0,0 +1,20 @@ + + +1where will this appear?foobar2pea99fred diff --git a/sdo-java/tags/1.1.1-RC2a/tools/src/test/resources/twoRepeatingChoicesTestResult.xml b/sdo-java/tags/1.1.1-RC2a/tools/src/test/resources/twoRepeatingChoicesTestResult.xml new file mode 100644 index 0000000000..3585ad00d3 --- /dev/null +++ b/sdo-java/tags/1.1.1-RC2a/tools/src/test/resources/twoRepeatingChoicesTestResult.xml @@ -0,0 +1,28 @@ + + + + 1 + foo + bar + 2 + banana + 99 + fred + -- cgit v1.2.3