You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by fr...@apache.org on 2006/03/22 23:45:15 UTC

svn commit: r387960 [4/4] - in /incubator/tuscany/java: sca/binding.jsonrpc/src/main/resources/model/ sca/container.js/src/main/resources/model/ sca/core/src/main/resources/model/ sca/model/src/main/resources/model/ sdo/impl/src/main/java/org/apache/tu...

Added: incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/ModelsTypeImpl.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/ModelsTypeImpl.java?rev=387960&view=auto
==============================================================================
--- incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/ModelsTypeImpl.java (added)
+++ incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/ModelsTypeImpl.java Wed Mar 22 14:45:11 2006
@@ -0,0 +1,179 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.apache.tuscany.sdo.model.impl;
+
+import commonj.sdo.Sequence;
+
+
+import org.apache.tuscany.sdo.impl.DataObjectImpl;
+import org.apache.tuscany.sdo.model.ModelsType;
+
+import org.apache.tuscany.sdo.util.BasicSequence;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.util.BasicFeatureMap;
+import org.eclipse.emf.ecore.util.FeatureMap;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Models Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.apache.tuscany.sdo.model.impl.ModelsTypeImpl#getAny <em>Any</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ModelsTypeImpl extends DataObjectImpl implements ModelsType
+{
+  /**
+   * The cached value of the '{@link #getAny() <em>Any</em>}' attribute list.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see #getAny()
+   * @generated
+   * @ordered
+   */
+  protected BasicSequence any = null;
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  protected ModelsTypeImpl()
+  {
+    super();
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  protected EClass eStaticClass()
+  {
+    return ModelPackageImpl.Literals.MODELS_TYPE;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public Sequence getAny()
+  {
+    if (any == null)
+    {
+      any = new BasicSequence(new BasicFeatureMap(this, ModelPackageImpl.MODELS_TYPE__ANY));
+    }
+    return any;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+  {
+    switch (featureID)
+    {
+      case ModelPackageImpl.MODELS_TYPE__ANY:
+        return ((InternalEList)((FeatureMap.Internal.Wrapper)getAny()).featureMap()).basicRemove(otherEnd, msgs);
+    }
+    return super.eInverseRemove(otherEnd, featureID, msgs);
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public Object eGet(int featureID, boolean resolve, boolean coreType)
+  {
+    switch (featureID)
+    {
+      case ModelPackageImpl.MODELS_TYPE__ANY:
+        if (coreType) return ((FeatureMap.Internal.Wrapper)getAny()).featureMap();
+        return getAny();
+    }
+    return super.eGet(featureID, resolve, coreType);
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public void eSet(int featureID, Object newValue)
+  {
+    switch (featureID)
+    {
+      case ModelPackageImpl.MODELS_TYPE__ANY:
+        ((FeatureMap.Internal)((FeatureMap.Internal.Wrapper)getAny()).featureMap()).set(newValue);
+        return;
+    }
+    super.eSet(featureID, newValue);
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public void eUnset(int featureID)
+  {
+    switch (featureID)
+    {
+      case ModelPackageImpl.MODELS_TYPE__ANY:
+        ((FeatureMap.Internal.Wrapper)getAny()).featureMap().clear();
+        return;
+    }
+    super.eUnset(featureID);
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public boolean eIsSet(int featureID)
+  {
+    switch (featureID)
+    {
+      case ModelPackageImpl.MODELS_TYPE__ANY:
+        return any != null && !any.featureMap().isEmpty();
+    }
+    return super.eIsSet(featureID);
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public String toString()
+  {
+    if (eIsProxy()) return super.toString();
+
+    StringBuffer result = new StringBuffer(super.toString());
+    result.append(" (any: ");
+    result.append(any);
+    result.append(')');
+    return result.toString();
+  }
+
+} //ModelsTypeImpl

Added: incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/PropertyImpl.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/PropertyImpl.java?rev=387960&view=auto
==============================================================================
--- incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/PropertyImpl.java (added)
+++ incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/PropertyImpl.java Wed Mar 22 14:45:11 2006
@@ -0,0 +1,786 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.apache.tuscany.sdo.model.impl;
+
+import commonj.sdo.Sequence;
+
+import java.util.Collection;
+import java.util.List;
+
+
+import org.apache.tuscany.sdo.impl.DataObjectImpl;
+import org.apache.tuscany.sdo.model.Property;
+import org.apache.tuscany.sdo.model.Type;
+
+import org.apache.tuscany.sdo.util.BasicSequence;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.BasicFeatureMap;
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+import org.eclipse.emf.ecore.util.FeatureMap;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Property</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.apache.tuscany.sdo.model.impl.PropertyImpl#getAliasName <em>Alias Name</em>}</li>
+ *   <li>{@link org.apache.tuscany.sdo.model.impl.PropertyImpl#getAny <em>Any</em>}</li>
+ *   <li>{@link org.apache.tuscany.sdo.model.impl.PropertyImpl#isContainment <em>Containment</em>}</li>
+ *   <li>{@link org.apache.tuscany.sdo.model.impl.PropertyImpl#getDefault <em>Default</em>}</li>
+ *   <li>{@link org.apache.tuscany.sdo.model.impl.PropertyImpl#isMany <em>Many</em>}</li>
+ *   <li>{@link org.apache.tuscany.sdo.model.impl.PropertyImpl#getName <em>Name</em>}</li>
+ *   <li>{@link org.apache.tuscany.sdo.model.impl.PropertyImpl#getOpposite <em>Opposite</em>}</li>
+ *   <li>{@link org.apache.tuscany.sdo.model.impl.PropertyImpl#isReadOnly <em>Read Only</em>}</li>
+ *   <li>{@link org.apache.tuscany.sdo.model.impl.PropertyImpl#getType <em>Type</em>}</li>
+ *   <li>{@link org.apache.tuscany.sdo.model.impl.PropertyImpl#getAnyAttribute <em>Any Attribute</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PropertyImpl extends DataObjectImpl implements Property
+{
+  /**
+   * The cached value of the '{@link #getAliasName() <em>Alias Name</em>}' attribute list.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see #getAliasName()
+   * @generated
+   * @ordered
+   */
+  protected EList aliasName = null;
+
+  /**
+   * The cached value of the '{@link #getAny() <em>Any</em>}' attribute list.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see #getAny()
+   * @generated
+   * @ordered
+   */
+  protected BasicSequence any = null;
+
+  /**
+   * The default value of the '{@link #isContainment() <em>Containment</em>}' attribute.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see #isContainment()
+   * @generated
+   * @ordered
+   */
+  protected static final boolean CONTAINMENT_EDEFAULT = false;
+
+  /**
+   * The cached value of the '{@link #isContainment() <em>Containment</em>}' attribute.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see #isContainment()
+   * @generated
+   * @ordered
+   */
+  protected boolean containment = CONTAINMENT_EDEFAULT;
+
+  /**
+   * This is true if the Containment attribute has been set.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   * @ordered
+   */
+  protected boolean containmentESet = false;
+
+  /**
+   * The default value of the '{@link #getDefault() <em>Default</em>}' attribute.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see #getDefault()
+   * @generated
+   * @ordered
+   */
+  protected static final String DEFAULT_EDEFAULT = null;
+
+  /**
+   * The cached value of the '{@link #getDefault() <em>Default</em>}' attribute.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see #getDefault()
+   * @generated
+   * @ordered
+   */
+  protected String default_ = DEFAULT_EDEFAULT;
+
+  /**
+   * The default value of the '{@link #isMany() <em>Many</em>}' attribute.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see #isMany()
+   * @generated
+   * @ordered
+   */
+  protected static final boolean MANY_EDEFAULT = false;
+
+  /**
+   * The cached value of the '{@link #isMany() <em>Many</em>}' attribute.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see #isMany()
+   * @generated
+   * @ordered
+   */
+  protected boolean many = MANY_EDEFAULT;
+
+  /**
+   * This is true if the Many attribute has been set.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   * @ordered
+   */
+  protected boolean manyESet = false;
+
+  /**
+   * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see #getName()
+   * @generated
+   * @ordered
+   */
+  protected static final String NAME_EDEFAULT = null;
+
+  /**
+   * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see #getName()
+   * @generated
+   * @ordered
+   */
+  protected String name = NAME_EDEFAULT;
+
+  /**
+   * The cached value of the '{@link #getOpposite() <em>Opposite</em>}' reference.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see #getOpposite()
+   * @generated
+   * @ordered
+   */
+  protected Property opposite = null;
+
+  /**
+   * The default value of the '{@link #isReadOnly() <em>Read Only</em>}' attribute.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see #isReadOnly()
+   * @generated
+   * @ordered
+   */
+  protected static final boolean READ_ONLY_EDEFAULT = false;
+
+  /**
+   * The cached value of the '{@link #isReadOnly() <em>Read Only</em>}' attribute.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see #isReadOnly()
+   * @generated
+   * @ordered
+   */
+  protected boolean readOnly = READ_ONLY_EDEFAULT;
+
+  /**
+   * This is true if the Read Only attribute has been set.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   * @ordered
+   */
+  protected boolean readOnlyESet = false;
+
+  /**
+   * The cached value of the '{@link #getType() <em>Type</em>}' reference.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see #getType()
+   * @generated
+   * @ordered
+   */
+  protected Type type = null;
+
+  /**
+   * The cached value of the '{@link #getAnyAttribute() <em>Any Attribute</em>}' attribute list.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see #getAnyAttribute()
+   * @generated
+   * @ordered
+   */
+  protected BasicSequence anyAttribute = null;
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  protected PropertyImpl()
+  {
+    super();
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  protected EClass eStaticClass()
+  {
+    return ModelPackageImpl.Literals.PROPERTY;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public List getAliasName()
+  {
+    if (aliasName == null)
+    {
+      aliasName = new EDataTypeEList(String.class, this, ModelPackageImpl.PROPERTY__ALIAS_NAME);
+    }
+    return aliasName;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public Sequence getAny()
+  {
+    if (any == null)
+    {
+      any = new BasicSequence(new BasicFeatureMap(this, ModelPackageImpl.PROPERTY__ANY));
+    }
+    return any;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public boolean isContainment()
+  {
+    return containment;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public void setContainment(boolean newContainment)
+  {
+    boolean oldContainment = containment;
+    containment = newContainment;
+    boolean oldContainmentESet = containmentESet;
+    containmentESet = true;
+    if (eNotificationRequired())
+      eNotify(new ENotificationImpl(this, Notification.SET, ModelPackageImpl.PROPERTY__CONTAINMENT, oldContainment, containment, !oldContainmentESet));
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public void unsetContainment()
+  {
+    boolean oldContainment = containment;
+    boolean oldContainmentESet = containmentESet;
+    containment = CONTAINMENT_EDEFAULT;
+    containmentESet = false;
+    if (eNotificationRequired())
+      eNotify(new ENotificationImpl(this, Notification.UNSET, ModelPackageImpl.PROPERTY__CONTAINMENT, oldContainment, CONTAINMENT_EDEFAULT, oldContainmentESet));
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public boolean isSetContainment()
+  {
+    return containmentESet;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public String getDefault()
+  {
+    return default_;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public void setDefault(String newDefault)
+  {
+    String oldDefault = default_;
+    default_ = newDefault;
+    if (eNotificationRequired())
+      eNotify(new ENotificationImpl(this, Notification.SET, ModelPackageImpl.PROPERTY__DEFAULT, oldDefault, default_));
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public boolean isMany()
+  {
+    return many;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public void setMany(boolean newMany)
+  {
+    boolean oldMany = many;
+    many = newMany;
+    boolean oldManyESet = manyESet;
+    manyESet = true;
+    if (eNotificationRequired())
+      eNotify(new ENotificationImpl(this, Notification.SET, ModelPackageImpl.PROPERTY__MANY, oldMany, many, !oldManyESet));
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public void unsetMany()
+  {
+    boolean oldMany = many;
+    boolean oldManyESet = manyESet;
+    many = MANY_EDEFAULT;
+    manyESet = false;
+    if (eNotificationRequired())
+      eNotify(new ENotificationImpl(this, Notification.UNSET, ModelPackageImpl.PROPERTY__MANY, oldMany, MANY_EDEFAULT, oldManyESet));
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public boolean isSetMany()
+  {
+    return manyESet;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public String getName()
+  {
+    return name;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public void setName(String newName)
+  {
+    String oldName = name;
+    name = newName;
+    if (eNotificationRequired())
+      eNotify(new ENotificationImpl(this, Notification.SET, ModelPackageImpl.PROPERTY__NAME, oldName, name));
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public Property getOpposite()
+  {
+    if (opposite != null && ((EObject)opposite).eIsProxy())
+    {
+      InternalEObject oldOpposite = (InternalEObject)opposite;
+      opposite = (Property)eResolveProxy(oldOpposite);
+      if (opposite != oldOpposite)
+      {
+        if (eNotificationRequired())
+          eNotify(new ENotificationImpl(this, Notification.RESOLVE, ModelPackageImpl.PROPERTY__OPPOSITE, oldOpposite, opposite));
+      }
+    }
+    return opposite;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public Property basicGetOpposite()
+  {
+    return opposite;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public void setOpposite(Property newOpposite)
+  {
+    Property oldOpposite = opposite;
+    opposite = newOpposite;
+    if (eNotificationRequired())
+      eNotify(new ENotificationImpl(this, Notification.SET, ModelPackageImpl.PROPERTY__OPPOSITE, oldOpposite, opposite));
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public boolean isReadOnly()
+  {
+    return readOnly;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public void setReadOnly(boolean newReadOnly)
+  {
+    boolean oldReadOnly = readOnly;
+    readOnly = newReadOnly;
+    boolean oldReadOnlyESet = readOnlyESet;
+    readOnlyESet = true;
+    if (eNotificationRequired())
+      eNotify(new ENotificationImpl(this, Notification.SET, ModelPackageImpl.PROPERTY__READ_ONLY, oldReadOnly, readOnly, !oldReadOnlyESet));
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public void unsetReadOnly()
+  {
+    boolean oldReadOnly = readOnly;
+    boolean oldReadOnlyESet = readOnlyESet;
+    readOnly = READ_ONLY_EDEFAULT;
+    readOnlyESet = false;
+    if (eNotificationRequired())
+      eNotify(new ENotificationImpl(this, Notification.UNSET, ModelPackageImpl.PROPERTY__READ_ONLY, oldReadOnly, READ_ONLY_EDEFAULT, oldReadOnlyESet));
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public boolean isSetReadOnly()
+  {
+    return readOnlyESet;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public Type getType_()
+  {
+    if (type != null && ((EObject)type).eIsProxy())
+    {
+      InternalEObject oldType = (InternalEObject)type;
+      type = (Type)eResolveProxy(oldType);
+      if (type != oldType)
+      {
+        if (eNotificationRequired())
+          eNotify(new ENotificationImpl(this, Notification.RESOLVE, ModelPackageImpl.PROPERTY__TYPE, oldType, type));
+      }
+    }
+    return type;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public Type basicGetType()
+  {
+    return type;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public void setType(Type newType)
+  {
+    Type oldType = type;
+    type = newType;
+    if (eNotificationRequired())
+      eNotify(new ENotificationImpl(this, Notification.SET, ModelPackageImpl.PROPERTY__TYPE, oldType, type));
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public Sequence getAnyAttribute()
+  {
+    if (anyAttribute == null)
+    {
+      anyAttribute = new BasicSequence(new BasicFeatureMap(this, ModelPackageImpl.PROPERTY__ANY_ATTRIBUTE));
+    }
+    return anyAttribute;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+  {
+    switch (featureID)
+    {
+      case ModelPackageImpl.PROPERTY__ANY:
+        return ((InternalEList)((FeatureMap.Internal.Wrapper)getAny()).featureMap()).basicRemove(otherEnd, msgs);
+      case ModelPackageImpl.PROPERTY__ANY_ATTRIBUTE:
+        return ((InternalEList)((FeatureMap.Internal.Wrapper)getAnyAttribute()).featureMap()).basicRemove(otherEnd, msgs);
+    }
+    return super.eInverseRemove(otherEnd, featureID, msgs);
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public Object eGet(int featureID, boolean resolve, boolean coreType)
+  {
+    switch (featureID)
+    {
+      case ModelPackageImpl.PROPERTY__ALIAS_NAME:
+        return getAliasName();
+      case ModelPackageImpl.PROPERTY__ANY:
+        if (coreType) return ((FeatureMap.Internal.Wrapper)getAny()).featureMap();
+        return getAny();
+      case ModelPackageImpl.PROPERTY__CONTAINMENT:
+        return isContainment() ? Boolean.TRUE : Boolean.FALSE;
+      case ModelPackageImpl.PROPERTY__DEFAULT:
+        return getDefault();
+      case ModelPackageImpl.PROPERTY__MANY:
+        return isMany() ? Boolean.TRUE : Boolean.FALSE;
+      case ModelPackageImpl.PROPERTY__NAME:
+        return getName();
+      case ModelPackageImpl.PROPERTY__OPPOSITE:
+        if (resolve) return getOpposite();
+        return basicGetOpposite();
+      case ModelPackageImpl.PROPERTY__READ_ONLY:
+        return isReadOnly() ? Boolean.TRUE : Boolean.FALSE;
+      case ModelPackageImpl.PROPERTY__TYPE:
+        if (resolve) return getType();
+        return basicGetType();
+      case ModelPackageImpl.PROPERTY__ANY_ATTRIBUTE:
+        if (coreType) return ((FeatureMap.Internal.Wrapper)getAnyAttribute()).featureMap();
+        return getAnyAttribute();
+    }
+    return super.eGet(featureID, resolve, coreType);
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public void eSet(int featureID, Object newValue)
+  {
+    switch (featureID)
+    {
+      case ModelPackageImpl.PROPERTY__ALIAS_NAME:
+        getAliasName().clear();
+        getAliasName().addAll((Collection)newValue);
+        return;
+      case ModelPackageImpl.PROPERTY__ANY:
+        ((FeatureMap.Internal)((FeatureMap.Internal.Wrapper)getAny()).featureMap()).set(newValue);
+        return;
+      case ModelPackageImpl.PROPERTY__CONTAINMENT:
+        setContainment(((Boolean)newValue).booleanValue());
+        return;
+      case ModelPackageImpl.PROPERTY__DEFAULT:
+        setDefault((String)newValue);
+        return;
+      case ModelPackageImpl.PROPERTY__MANY:
+        setMany(((Boolean)newValue).booleanValue());
+        return;
+      case ModelPackageImpl.PROPERTY__NAME:
+        setName((String)newValue);
+        return;
+      case ModelPackageImpl.PROPERTY__OPPOSITE:
+        setOpposite((Property)newValue);
+        return;
+      case ModelPackageImpl.PROPERTY__READ_ONLY:
+        setReadOnly(((Boolean)newValue).booleanValue());
+        return;
+      case ModelPackageImpl.PROPERTY__TYPE:
+        setType((Type)newValue);
+        return;
+      case ModelPackageImpl.PROPERTY__ANY_ATTRIBUTE:
+        ((FeatureMap.Internal)((FeatureMap.Internal.Wrapper)getAnyAttribute()).featureMap()).set(newValue);
+        return;
+    }
+    super.eSet(featureID, newValue);
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public void eUnset(int featureID)
+  {
+    switch (featureID)
+    {
+      case ModelPackageImpl.PROPERTY__ALIAS_NAME:
+        getAliasName().clear();
+        return;
+      case ModelPackageImpl.PROPERTY__ANY:
+        ((FeatureMap.Internal.Wrapper)getAny()).featureMap().clear();
+        return;
+      case ModelPackageImpl.PROPERTY__CONTAINMENT:
+        unsetContainment();
+        return;
+      case ModelPackageImpl.PROPERTY__DEFAULT:
+        setDefault(DEFAULT_EDEFAULT);
+        return;
+      case ModelPackageImpl.PROPERTY__MANY:
+        unsetMany();
+        return;
+      case ModelPackageImpl.PROPERTY__NAME:
+        setName(NAME_EDEFAULT);
+        return;
+      case ModelPackageImpl.PROPERTY__OPPOSITE:
+        setOpposite((Property)null);
+        return;
+      case ModelPackageImpl.PROPERTY__READ_ONLY:
+        unsetReadOnly();
+        return;
+      case ModelPackageImpl.PROPERTY__TYPE:
+        setType((Type)null);
+        return;
+      case ModelPackageImpl.PROPERTY__ANY_ATTRIBUTE:
+        ((FeatureMap.Internal.Wrapper)getAnyAttribute()).featureMap().clear();
+        return;
+    }
+    super.eUnset(featureID);
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public boolean eIsSet(int featureID)
+  {
+    switch (featureID)
+    {
+      case ModelPackageImpl.PROPERTY__ALIAS_NAME:
+        return aliasName != null && !aliasName.isEmpty();
+      case ModelPackageImpl.PROPERTY__ANY:
+        return any != null && !any.featureMap().isEmpty();
+      case ModelPackageImpl.PROPERTY__CONTAINMENT:
+        return isSetContainment();
+      case ModelPackageImpl.PROPERTY__DEFAULT:
+        return DEFAULT_EDEFAULT == null ? default_ != null : !DEFAULT_EDEFAULT.equals(default_);
+      case ModelPackageImpl.PROPERTY__MANY:
+        return isSetMany();
+      case ModelPackageImpl.PROPERTY__NAME:
+        return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+      case ModelPackageImpl.PROPERTY__OPPOSITE:
+        return opposite != null;
+      case ModelPackageImpl.PROPERTY__READ_ONLY:
+        return isSetReadOnly();
+      case ModelPackageImpl.PROPERTY__TYPE:
+        return type != null;
+      case ModelPackageImpl.PROPERTY__ANY_ATTRIBUTE:
+        return anyAttribute != null && !anyAttribute.featureMap().isEmpty();
+    }
+    return super.eIsSet(featureID);
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public String toString()
+  {
+    if (eIsProxy()) return super.toString();
+
+    StringBuffer result = new StringBuffer(super.toString());
+    result.append(" (aliasName: ");
+    result.append(aliasName);
+    result.append(", any: ");
+    result.append(any);
+    result.append(", containment: ");
+    if (containmentESet) result.append(containment); else result.append("<unset>");
+    result.append(", default: ");
+    result.append(default_);
+    result.append(", many: ");
+    if (manyESet) result.append(many); else result.append("<unset>");
+    result.append(", name: ");
+    result.append(name);
+    result.append(", readOnly: ");
+    if (readOnlyESet) result.append(readOnly); else result.append("<unset>");
+    result.append(", anyAttribute: ");
+    result.append(anyAttribute);
+    result.append(')');
+    return result.toString();
+  }
+
+} //PropertyImpl

Added: incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/TextTypeImpl.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/TextTypeImpl.java?rev=387960&view=auto
==============================================================================
--- incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/TextTypeImpl.java (added)
+++ incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/TextTypeImpl.java Wed Mar 22 14:45:11 2006
@@ -0,0 +1,160 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.apache.tuscany.sdo.model.impl;
+
+import java.util.Collection;
+import java.util.List;
+
+
+import org.apache.tuscany.sdo.impl.DataObjectImpl;
+import org.apache.tuscany.sdo.model.TextType;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Text Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.apache.tuscany.sdo.model.impl.TextTypeImpl#getText <em>Text</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class TextTypeImpl extends DataObjectImpl implements TextType
+{
+  /**
+   * The cached value of the '{@link #getText() <em>Text</em>}' attribute list.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see #getText()
+   * @generated
+   * @ordered
+   */
+  protected EList text = null;
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  protected TextTypeImpl()
+  {
+    super();
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  protected EClass eStaticClass()
+  {
+    return ModelPackageImpl.Literals.TEXT_TYPE;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public List getText()
+  {
+    if (text == null)
+    {
+      text = new EDataTypeEList(String.class, this, ModelPackageImpl.TEXT_TYPE__TEXT);
+    }
+    return text;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public Object eGet(int featureID, boolean resolve, boolean coreType)
+  {
+    switch (featureID)
+    {
+      case ModelPackageImpl.TEXT_TYPE__TEXT:
+        return getText();
+    }
+    return super.eGet(featureID, resolve, coreType);
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public void eSet(int featureID, Object newValue)
+  {
+    switch (featureID)
+    {
+      case ModelPackageImpl.TEXT_TYPE__TEXT:
+        getText().clear();
+        getText().addAll((Collection)newValue);
+        return;
+    }
+    super.eSet(featureID, newValue);
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public void eUnset(int featureID)
+  {
+    switch (featureID)
+    {
+      case ModelPackageImpl.TEXT_TYPE__TEXT:
+        getText().clear();
+        return;
+    }
+    super.eUnset(featureID);
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public boolean eIsSet(int featureID)
+  {
+    switch (featureID)
+    {
+      case ModelPackageImpl.TEXT_TYPE__TEXT:
+        return text != null && !text.isEmpty();
+    }
+    return super.eIsSet(featureID);
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public String toString()
+  {
+    if (eIsProxy()) return super.toString();
+
+    StringBuffer result = new StringBuffer(super.toString());
+    result.append(" (text: ");
+    result.append(text);
+    result.append(')');
+    return result.toString();
+  }
+
+} //TextTypeImpl

Added: incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/TypeImpl.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/TypeImpl.java?rev=387960&view=auto
==============================================================================
--- incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/TypeImpl.java (added)
+++ incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/TypeImpl.java Wed Mar 22 14:45:11 2006
@@ -0,0 +1,823 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.apache.tuscany.sdo.model.impl;
+
+import commonj.sdo.Sequence;
+
+import java.util.Collection;
+import java.util.List;
+
+
+import org.apache.tuscany.sdo.impl.DataObjectImpl;
+import org.apache.tuscany.sdo.model.Property;
+import org.apache.tuscany.sdo.model.Type;
+
+import org.apache.tuscany.sdo.util.BasicSequence;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.BasicFeatureMap;
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.FeatureMap;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.apache.tuscany.sdo.model.impl.TypeImpl#getBaseType <em>Base Type</em>}</li>
+ *   <li>{@link org.apache.tuscany.sdo.model.impl.TypeImpl#getProperty <em>Property</em>}</li>
+ *   <li>{@link org.apache.tuscany.sdo.model.impl.TypeImpl#getAliasName <em>Alias Name</em>}</li>
+ *   <li>{@link org.apache.tuscany.sdo.model.impl.TypeImpl#getAny <em>Any</em>}</li>
+ *   <li>{@link org.apache.tuscany.sdo.model.impl.TypeImpl#isAbstract <em>Abstract</em>}</li>
+ *   <li>{@link org.apache.tuscany.sdo.model.impl.TypeImpl#isDataType <em>Data Type</em>}</li>
+ *   <li>{@link org.apache.tuscany.sdo.model.impl.TypeImpl#getName <em>Name</em>}</li>
+ *   <li>{@link org.apache.tuscany.sdo.model.impl.TypeImpl#isOpen <em>Open</em>}</li>
+ *   <li>{@link org.apache.tuscany.sdo.model.impl.TypeImpl#isSequenced <em>Sequenced</em>}</li>
+ *   <li>{@link org.apache.tuscany.sdo.model.impl.TypeImpl#getUri <em>Uri</em>}</li>
+ *   <li>{@link org.apache.tuscany.sdo.model.impl.TypeImpl#getAnyAttribute <em>Any Attribute</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class TypeImpl extends DataObjectImpl implements Type
+{
+  /**
+   * The cached value of the '{@link #getBaseType() <em>Base Type</em>}' reference list.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see #getBaseType()
+   * @generated
+   * @ordered
+   */
+  protected EList baseType = null;
+
+  /**
+   * The cached value of the '{@link #getProperty() <em>Property</em>}' containment reference list.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see #getProperty()
+   * @generated
+   * @ordered
+   */
+  protected EList property = null;
+
+  /**
+   * The cached value of the '{@link #getAliasName() <em>Alias Name</em>}' attribute list.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see #getAliasName()
+   * @generated
+   * @ordered
+   */
+  protected EList aliasName = null;
+
+  /**
+   * The cached value of the '{@link #getAny() <em>Any</em>}' attribute list.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see #getAny()
+   * @generated
+   * @ordered
+   */
+  protected BasicSequence any = null;
+
+  /**
+   * The default value of the '{@link #isAbstract() <em>Abstract</em>}' attribute.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see #isAbstract()
+   * @generated
+   * @ordered
+   */
+  protected static final boolean ABSTRACT_EDEFAULT = false;
+
+  /**
+   * The cached value of the '{@link #isAbstract() <em>Abstract</em>}' attribute.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see #isAbstract()
+   * @generated
+   * @ordered
+   */
+  protected boolean abstract_ = ABSTRACT_EDEFAULT;
+
+  /**
+   * This is true if the Abstract attribute has been set.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   * @ordered
+   */
+  protected boolean abstractESet = false;
+
+  /**
+   * The default value of the '{@link #isDataType() <em>Data Type</em>}' attribute.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see #isDataType()
+   * @generated
+   * @ordered
+   */
+  protected static final boolean DATA_TYPE_EDEFAULT = false;
+
+  /**
+   * The cached value of the '{@link #isDataType() <em>Data Type</em>}' attribute.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see #isDataType()
+   * @generated
+   * @ordered
+   */
+  protected boolean dataType = DATA_TYPE_EDEFAULT;
+
+  /**
+   * This is true if the Data Type attribute has been set.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   * @ordered
+   */
+  protected boolean dataTypeESet = false;
+
+  /**
+   * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see #getName()
+   * @generated
+   * @ordered
+   */
+  protected static final String NAME_EDEFAULT = null;
+
+  /**
+   * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see #getName()
+   * @generated
+   * @ordered
+   */
+  protected String name = NAME_EDEFAULT;
+
+  /**
+   * The default value of the '{@link #isOpen() <em>Open</em>}' attribute.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see #isOpen()
+   * @generated
+   * @ordered
+   */
+  protected static final boolean OPEN_EDEFAULT = false;
+
+  /**
+   * The cached value of the '{@link #isOpen() <em>Open</em>}' attribute.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see #isOpen()
+   * @generated
+   * @ordered
+   */
+  protected boolean open = OPEN_EDEFAULT;
+
+  /**
+   * This is true if the Open attribute has been set.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   * @ordered
+   */
+  protected boolean openESet = false;
+
+  /**
+   * The default value of the '{@link #isSequenced() <em>Sequenced</em>}' attribute.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see #isSequenced()
+   * @generated
+   * @ordered
+   */
+  protected static final boolean SEQUENCED_EDEFAULT = false;
+
+  /**
+   * The cached value of the '{@link #isSequenced() <em>Sequenced</em>}' attribute.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see #isSequenced()
+   * @generated
+   * @ordered
+   */
+  protected boolean sequenced = SEQUENCED_EDEFAULT;
+
+  /**
+   * This is true if the Sequenced attribute has been set.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   * @ordered
+   */
+  protected boolean sequencedESet = false;
+
+  /**
+   * The default value of the '{@link #getUri() <em>Uri</em>}' attribute.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see #getUri()
+   * @generated
+   * @ordered
+   */
+  protected static final String URI_EDEFAULT = null;
+
+  /**
+   * The cached value of the '{@link #getUri() <em>Uri</em>}' attribute.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see #getUri()
+   * @generated
+   * @ordered
+   */
+  protected String uri = URI_EDEFAULT;
+
+  /**
+   * The cached value of the '{@link #getAnyAttribute() <em>Any Attribute</em>}' attribute list.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see #getAnyAttribute()
+   * @generated
+   * @ordered
+   */
+  protected BasicSequence anyAttribute = null;
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  protected TypeImpl()
+  {
+    super();
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  protected EClass eStaticClass()
+  {
+    return ModelPackageImpl.Literals.TYPE;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public List getBaseType()
+  {
+    if (baseType == null)
+    {
+      baseType = new EObjectResolvingEList(Type.class, this, ModelPackageImpl.TYPE__BASE_TYPE);
+    }
+    return baseType;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public List getProperty()
+  {
+    if (property == null)
+    {
+      property = new EObjectContainmentEList(Property.class, this, ModelPackageImpl.TYPE__PROPERTY);
+    }
+    return property;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public List getAliasName()
+  {
+    if (aliasName == null)
+    {
+      aliasName = new EDataTypeEList(String.class, this, ModelPackageImpl.TYPE__ALIAS_NAME);
+    }
+    return aliasName;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public Sequence getAny()
+  {
+    if (any == null)
+    {
+      any = new BasicSequence(new BasicFeatureMap(this, ModelPackageImpl.TYPE__ANY));
+    }
+    return any;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public boolean isAbstract()
+  {
+    return abstract_;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public void setAbstract(boolean newAbstract)
+  {
+    boolean oldAbstract = abstract_;
+    abstract_ = newAbstract;
+    boolean oldAbstractESet = abstractESet;
+    abstractESet = true;
+    if (eNotificationRequired())
+      eNotify(new ENotificationImpl(this, Notification.SET, ModelPackageImpl.TYPE__ABSTRACT, oldAbstract, abstract_, !oldAbstractESet));
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public void unsetAbstract()
+  {
+    boolean oldAbstract = abstract_;
+    boolean oldAbstractESet = abstractESet;
+    abstract_ = ABSTRACT_EDEFAULT;
+    abstractESet = false;
+    if (eNotificationRequired())
+      eNotify(new ENotificationImpl(this, Notification.UNSET, ModelPackageImpl.TYPE__ABSTRACT, oldAbstract, ABSTRACT_EDEFAULT, oldAbstractESet));
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public boolean isSetAbstract()
+  {
+    return abstractESet;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public boolean isDataType()
+  {
+    return dataType;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public void setDataType(boolean newDataType)
+  {
+    boolean oldDataType = dataType;
+    dataType = newDataType;
+    boolean oldDataTypeESet = dataTypeESet;
+    dataTypeESet = true;
+    if (eNotificationRequired())
+      eNotify(new ENotificationImpl(this, Notification.SET, ModelPackageImpl.TYPE__DATA_TYPE, oldDataType, dataType, !oldDataTypeESet));
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public void unsetDataType()
+  {
+    boolean oldDataType = dataType;
+    boolean oldDataTypeESet = dataTypeESet;
+    dataType = DATA_TYPE_EDEFAULT;
+    dataTypeESet = false;
+    if (eNotificationRequired())
+      eNotify(new ENotificationImpl(this, Notification.UNSET, ModelPackageImpl.TYPE__DATA_TYPE, oldDataType, DATA_TYPE_EDEFAULT, oldDataTypeESet));
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public boolean isSetDataType()
+  {
+    return dataTypeESet;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public String getName()
+  {
+    return name;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public void setName(String newName)
+  {
+    String oldName = name;
+    name = newName;
+    if (eNotificationRequired())
+      eNotify(new ENotificationImpl(this, Notification.SET, ModelPackageImpl.TYPE__NAME, oldName, name));
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public boolean isOpen()
+  {
+    return open;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public void setOpen(boolean newOpen)
+  {
+    boolean oldOpen = open;
+    open = newOpen;
+    boolean oldOpenESet = openESet;
+    openESet = true;
+    if (eNotificationRequired())
+      eNotify(new ENotificationImpl(this, Notification.SET, ModelPackageImpl.TYPE__OPEN, oldOpen, open, !oldOpenESet));
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public void unsetOpen()
+  {
+    boolean oldOpen = open;
+    boolean oldOpenESet = openESet;
+    open = OPEN_EDEFAULT;
+    openESet = false;
+    if (eNotificationRequired())
+      eNotify(new ENotificationImpl(this, Notification.UNSET, ModelPackageImpl.TYPE__OPEN, oldOpen, OPEN_EDEFAULT, oldOpenESet));
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public boolean isSetOpen()
+  {
+    return openESet;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public boolean isSequenced()
+  {
+    return sequenced;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public void setSequenced(boolean newSequenced)
+  {
+    boolean oldSequenced = sequenced;
+    sequenced = newSequenced;
+    boolean oldSequencedESet = sequencedESet;
+    sequencedESet = true;
+    if (eNotificationRequired())
+      eNotify(new ENotificationImpl(this, Notification.SET, ModelPackageImpl.TYPE__SEQUENCED, oldSequenced, sequenced, !oldSequencedESet));
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public void unsetSequenced()
+  {
+    boolean oldSequenced = sequenced;
+    boolean oldSequencedESet = sequencedESet;
+    sequenced = SEQUENCED_EDEFAULT;
+    sequencedESet = false;
+    if (eNotificationRequired())
+      eNotify(new ENotificationImpl(this, Notification.UNSET, ModelPackageImpl.TYPE__SEQUENCED, oldSequenced, SEQUENCED_EDEFAULT, oldSequencedESet));
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public boolean isSetSequenced()
+  {
+    return sequencedESet;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public String getUri()
+  {
+    return uri;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public void setUri(String newUri)
+  {
+    String oldUri = uri;
+    uri = newUri;
+    if (eNotificationRequired())
+      eNotify(new ENotificationImpl(this, Notification.SET, ModelPackageImpl.TYPE__URI, oldUri, uri));
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public Sequence getAnyAttribute()
+  {
+    if (anyAttribute == null)
+    {
+      anyAttribute = new BasicSequence(new BasicFeatureMap(this, ModelPackageImpl.TYPE__ANY_ATTRIBUTE));
+    }
+    return anyAttribute;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+  {
+    switch (featureID)
+    {
+      case ModelPackageImpl.TYPE__PROPERTY:
+        return ((InternalEList)getProperty()).basicRemove(otherEnd, msgs);
+      case ModelPackageImpl.TYPE__ANY:
+        return ((InternalEList)((FeatureMap.Internal.Wrapper)getAny()).featureMap()).basicRemove(otherEnd, msgs);
+      case ModelPackageImpl.TYPE__ANY_ATTRIBUTE:
+        return ((InternalEList)((FeatureMap.Internal.Wrapper)getAnyAttribute()).featureMap()).basicRemove(otherEnd, msgs);
+    }
+    return super.eInverseRemove(otherEnd, featureID, msgs);
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public Object eGet(int featureID, boolean resolve, boolean coreType)
+  {
+    switch (featureID)
+    {
+      case ModelPackageImpl.TYPE__BASE_TYPE:
+        return getBaseType();
+      case ModelPackageImpl.TYPE__PROPERTY:
+        return getProperty();
+      case ModelPackageImpl.TYPE__ALIAS_NAME:
+        return getAliasName();
+      case ModelPackageImpl.TYPE__ANY:
+        if (coreType) return ((FeatureMap.Internal.Wrapper)getAny()).featureMap();
+        return getAny();
+      case ModelPackageImpl.TYPE__ABSTRACT:
+        return isAbstract() ? Boolean.TRUE : Boolean.FALSE;
+      case ModelPackageImpl.TYPE__DATA_TYPE:
+        return isDataType() ? Boolean.TRUE : Boolean.FALSE;
+      case ModelPackageImpl.TYPE__NAME:
+        return getName();
+      case ModelPackageImpl.TYPE__OPEN:
+        return isOpen() ? Boolean.TRUE : Boolean.FALSE;
+      case ModelPackageImpl.TYPE__SEQUENCED:
+        return isSequenced() ? Boolean.TRUE : Boolean.FALSE;
+      case ModelPackageImpl.TYPE__URI:
+        return getUri();
+      case ModelPackageImpl.TYPE__ANY_ATTRIBUTE:
+        if (coreType) return ((FeatureMap.Internal.Wrapper)getAnyAttribute()).featureMap();
+        return getAnyAttribute();
+    }
+    return super.eGet(featureID, resolve, coreType);
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public void eSet(int featureID, Object newValue)
+  {
+    switch (featureID)
+    {
+      case ModelPackageImpl.TYPE__BASE_TYPE:
+        getBaseType().clear();
+        getBaseType().addAll((Collection)newValue);
+        return;
+      case ModelPackageImpl.TYPE__PROPERTY:
+        getProperty().clear();
+        getProperty().addAll((Collection)newValue);
+        return;
+      case ModelPackageImpl.TYPE__ALIAS_NAME:
+        getAliasName().clear();
+        getAliasName().addAll((Collection)newValue);
+        return;
+      case ModelPackageImpl.TYPE__ANY:
+        ((FeatureMap.Internal)((FeatureMap.Internal.Wrapper)getAny()).featureMap()).set(newValue);
+        return;
+      case ModelPackageImpl.TYPE__ABSTRACT:
+        setAbstract(((Boolean)newValue).booleanValue());
+        return;
+      case ModelPackageImpl.TYPE__DATA_TYPE:
+        setDataType(((Boolean)newValue).booleanValue());
+        return;
+      case ModelPackageImpl.TYPE__NAME:
+        setName((String)newValue);
+        return;
+      case ModelPackageImpl.TYPE__OPEN:
+        setOpen(((Boolean)newValue).booleanValue());
+        return;
+      case ModelPackageImpl.TYPE__SEQUENCED:
+        setSequenced(((Boolean)newValue).booleanValue());
+        return;
+      case ModelPackageImpl.TYPE__URI:
+        setUri((String)newValue);
+        return;
+      case ModelPackageImpl.TYPE__ANY_ATTRIBUTE:
+        ((FeatureMap.Internal)((FeatureMap.Internal.Wrapper)getAnyAttribute()).featureMap()).set(newValue);
+        return;
+    }
+    super.eSet(featureID, newValue);
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public void eUnset(int featureID)
+  {
+    switch (featureID)
+    {
+      case ModelPackageImpl.TYPE__BASE_TYPE:
+        getBaseType().clear();
+        return;
+      case ModelPackageImpl.TYPE__PROPERTY:
+        getProperty().clear();
+        return;
+      case ModelPackageImpl.TYPE__ALIAS_NAME:
+        getAliasName().clear();
+        return;
+      case ModelPackageImpl.TYPE__ANY:
+        ((FeatureMap.Internal.Wrapper)getAny()).featureMap().clear();
+        return;
+      case ModelPackageImpl.TYPE__ABSTRACT:
+        unsetAbstract();
+        return;
+      case ModelPackageImpl.TYPE__DATA_TYPE:
+        unsetDataType();
+        return;
+      case ModelPackageImpl.TYPE__NAME:
+        setName(NAME_EDEFAULT);
+        return;
+      case ModelPackageImpl.TYPE__OPEN:
+        unsetOpen();
+        return;
+      case ModelPackageImpl.TYPE__SEQUENCED:
+        unsetSequenced();
+        return;
+      case ModelPackageImpl.TYPE__URI:
+        setUri(URI_EDEFAULT);
+        return;
+      case ModelPackageImpl.TYPE__ANY_ATTRIBUTE:
+        ((FeatureMap.Internal.Wrapper)getAnyAttribute()).featureMap().clear();
+        return;
+    }
+    super.eUnset(featureID);
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public boolean eIsSet(int featureID)
+  {
+    switch (featureID)
+    {
+      case ModelPackageImpl.TYPE__BASE_TYPE:
+        return baseType != null && !baseType.isEmpty();
+      case ModelPackageImpl.TYPE__PROPERTY:
+        return property != null && !property.isEmpty();
+      case ModelPackageImpl.TYPE__ALIAS_NAME:
+        return aliasName != null && !aliasName.isEmpty();
+      case ModelPackageImpl.TYPE__ANY:
+        return any != null && !any.featureMap().isEmpty();
+      case ModelPackageImpl.TYPE__ABSTRACT:
+        return isSetAbstract();
+      case ModelPackageImpl.TYPE__DATA_TYPE:
+        return isSetDataType();
+      case ModelPackageImpl.TYPE__NAME:
+        return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+      case ModelPackageImpl.TYPE__OPEN:
+        return isSetOpen();
+      case ModelPackageImpl.TYPE__SEQUENCED:
+        return isSetSequenced();
+      case ModelPackageImpl.TYPE__URI:
+        return URI_EDEFAULT == null ? uri != null : !URI_EDEFAULT.equals(uri);
+      case ModelPackageImpl.TYPE__ANY_ATTRIBUTE:
+        return anyAttribute != null && !anyAttribute.featureMap().isEmpty();
+    }
+    return super.eIsSet(featureID);
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public String toString()
+  {
+    if (eIsProxy()) return super.toString();
+
+    StringBuffer result = new StringBuffer(super.toString());
+    result.append(" (aliasName: ");
+    result.append(aliasName);
+    result.append(", any: ");
+    result.append(any);
+    result.append(", abstract: ");
+    if (abstractESet) result.append(abstract_); else result.append("<unset>");
+    result.append(", dataType: ");
+    if (dataTypeESet) result.append(dataType); else result.append("<unset>");
+    result.append(", name: ");
+    result.append(name);
+    result.append(", open: ");
+    if (openESet) result.append(open); else result.append("<unset>");
+    result.append(", sequenced: ");
+    if (sequencedESet) result.append(sequenced); else result.append("<unset>");
+    result.append(", uri: ");
+    result.append(uri);
+    result.append(", anyAttribute: ");
+    result.append(anyAttribute);
+    result.append(')');
+    return result.toString();
+  }
+
+} //TypeImpl

Added: incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/TypesImpl.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/TypesImpl.java?rev=387960&view=auto
==============================================================================
--- incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/TypesImpl.java (added)
+++ incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/TypesImpl.java Wed Mar 22 14:45:11 2006
@@ -0,0 +1,164 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.apache.tuscany.sdo.model.impl;
+
+import java.util.Collection;
+import java.util.List;
+
+
+import org.apache.tuscany.sdo.impl.DataObjectImpl;
+import org.apache.tuscany.sdo.model.Type;
+import org.apache.tuscany.sdo.model.Types;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Types</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.apache.tuscany.sdo.model.impl.TypesImpl#getType <em>Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class TypesImpl extends DataObjectImpl implements Types
+{
+  /**
+   * The cached value of the '{@link #getType() <em>Type</em>}' containment reference list.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see #getType()
+   * @generated
+   * @ordered
+   */
+  protected EList type = null;
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  protected TypesImpl()
+  {
+    super();
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  protected EClass eStaticClass()
+  {
+    return ModelPackageImpl.Literals.TYPES;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public List getType_()
+  {
+    if (type == null)
+    {
+      type = new EObjectContainmentEList(Type.class, this, ModelPackageImpl.TYPES__TYPE);
+    }
+    return type;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+  {
+    switch (featureID)
+    {
+      case ModelPackageImpl.TYPES__TYPE:
+        return ((InternalEList)getType()).basicRemove(otherEnd, msgs);
+    }
+    return super.eInverseRemove(otherEnd, featureID, msgs);
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public Object eGet(int featureID, boolean resolve, boolean coreType)
+  {
+    switch (featureID)
+    {
+      case ModelPackageImpl.TYPES__TYPE:
+        return getType();
+    }
+    return super.eGet(featureID, resolve, coreType);
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public void eSet(int featureID, Object newValue)
+  {
+    switch (featureID)
+    {
+      case ModelPackageImpl.TYPES__TYPE:
+        getType_().clear();
+        getType_().addAll((Collection)newValue);
+        return;
+    }
+    super.eSet(featureID, newValue);
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public void eUnset(int featureID)
+  {
+    switch (featureID)
+    {
+      case ModelPackageImpl.TYPES__TYPE:
+        getType_().clear();
+        return;
+    }
+    super.eUnset(featureID);
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public boolean eIsSet(int featureID)
+  {
+    switch (featureID)
+    {
+      case ModelPackageImpl.TYPES__TYPE:
+        return type != null && !type.isEmpty();
+    }
+    return super.eIsSet(featureID);
+  }
+
+} //TypesImpl

Added: incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/XSDTypeImpl.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/XSDTypeImpl.java?rev=387960&view=auto
==============================================================================
--- incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/XSDTypeImpl.java (added)
+++ incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/XSDTypeImpl.java Wed Mar 22 14:45:11 2006
@@ -0,0 +1,179 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.apache.tuscany.sdo.model.impl;
+
+import commonj.sdo.Sequence;
+
+
+import org.apache.tuscany.sdo.impl.DataObjectImpl;
+import org.apache.tuscany.sdo.model.XSDType;
+
+import org.apache.tuscany.sdo.util.BasicSequence;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.util.BasicFeatureMap;
+import org.eclipse.emf.ecore.util.FeatureMap;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>XSD Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.apache.tuscany.sdo.model.impl.XSDTypeImpl#getAny <em>Any</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class XSDTypeImpl extends DataObjectImpl implements XSDType
+{
+  /**
+   * The cached value of the '{@link #getAny() <em>Any</em>}' attribute list.
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @see #getAny()
+   * @generated
+   * @ordered
+   */
+  protected BasicSequence any = null;
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  protected XSDTypeImpl()
+  {
+    super();
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  protected EClass eStaticClass()
+  {
+    return ModelPackageImpl.Literals.XSD_TYPE;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public Sequence getAny()
+  {
+    if (any == null)
+    {
+      any = new BasicSequence(new BasicFeatureMap(this, ModelPackageImpl.XSD_TYPE__ANY));
+    }
+    return any;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+  {
+    switch (featureID)
+    {
+      case ModelPackageImpl.XSD_TYPE__ANY:
+        return ((InternalEList)((FeatureMap.Internal.Wrapper)getAny()).featureMap()).basicRemove(otherEnd, msgs);
+    }
+    return super.eInverseRemove(otherEnd, featureID, msgs);
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public Object eGet(int featureID, boolean resolve, boolean coreType)
+  {
+    switch (featureID)
+    {
+      case ModelPackageImpl.XSD_TYPE__ANY:
+        if (coreType) return ((FeatureMap.Internal.Wrapper)getAny()).featureMap();
+        return getAny();
+    }
+    return super.eGet(featureID, resolve, coreType);
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public void eSet(int featureID, Object newValue)
+  {
+    switch (featureID)
+    {
+      case ModelPackageImpl.XSD_TYPE__ANY:
+        ((FeatureMap.Internal)((FeatureMap.Internal.Wrapper)getAny()).featureMap()).set(newValue);
+        return;
+    }
+    super.eSet(featureID, newValue);
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public void eUnset(int featureID)
+  {
+    switch (featureID)
+    {
+      case ModelPackageImpl.XSD_TYPE__ANY:
+        ((FeatureMap.Internal.Wrapper)getAny()).featureMap().clear();
+        return;
+    }
+    super.eUnset(featureID);
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public boolean eIsSet(int featureID)
+  {
+    switch (featureID)
+    {
+      case ModelPackageImpl.XSD_TYPE__ANY:
+        return any != null && !any.featureMap().isEmpty();
+    }
+    return super.eIsSet(featureID);
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public String toString()
+  {
+    if (eIsProxy()) return super.toString();
+
+    StringBuffer result = new StringBuffer(super.toString());
+    result.append(" (any: ");
+    result.append(any);
+    result.append(')');
+    return result.toString();
+  }
+
+} //XSDTypeImpl

Modified: incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/DataObjectUtil.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/DataObjectUtil.java?rev=387960&r1=387959&r2=387960&view=diff
==============================================================================
--- incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/DataObjectUtil.java (original)
+++ incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/DataObjectUtil.java Wed Mar 22 14:45:11 2006
@@ -27,6 +27,7 @@
 import java.util.Map;
 import java.util.Set;
 
+import org.apache.tuscany.sdo.SDOExtendedMetaData;
 import org.apache.tuscany.sdo.impl.SDOFactoryImpl;
 import org.eclipse.emf.common.util.BasicEList;
 import org.eclipse.emf.common.util.URI;
@@ -1057,24 +1058,20 @@
   
   public static List getAliasNames(EStructuralFeature eStructuralFeature)
   {
-    List aliasNames = new ArrayList();
-    String xmlName = ExtendedMetaData.INSTANCE.getName(eStructuralFeature);
-    if (!xmlName.equals(eStructuralFeature.getName()))
-    {
-      aliasNames.add(xmlName);
+    List list = SDOExtendedMetaData.INSTANCE.getAliasNames(eStructuralFeature);
+    if (list == null) {
+      list = new ArrayList();
     }
-    return aliasNames;
+    return list;
   }
 
   public static List getAliasNames(EClassifier eClassifier)
   {
-    List aliasNames = new ArrayList();
-    String xmlName = ExtendedMetaData.INSTANCE.getName(eClassifier);
-    if (!xmlName.equals(eClassifier.getName()))
-    {
-      aliasNames.add(xmlName);
+    List list = SDOExtendedMetaData.INSTANCE.getAliasNames(eClassifier);
+    if (list == null) {
+      list = new ArrayList();
     }
-    return aliasNames;
+    return list;
   }
 
   /**

Modified: incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/SDOUtil.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/SDOUtil.java?rev=387960&r1=387959&r2=387960&view=diff
==============================================================================
--- incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/SDOUtil.java (original)
+++ incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/SDOUtil.java Wed Mar 22 14:45:11 2006
@@ -20,24 +20,27 @@
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.lang.reflect.Field;
+import java.net.URL;
+import java.util.HashMap;
 import java.util.Map;
 
+import org.apache.tuscany.sdo.SDOExtendedMetaData;
 import org.apache.tuscany.sdo.SDOFactory;
 import org.apache.tuscany.sdo.SDOPackage;
 import org.apache.tuscany.sdo.helper.DataFactoryImpl;
+import org.apache.tuscany.sdo.helper.SDOExtendedMetaDataImpl;
 import org.apache.tuscany.sdo.helper.TypeHelperImpl;
 import org.apache.tuscany.sdo.helper.XMLHelperImpl;
 import org.apache.tuscany.sdo.helper.XSDHelperImpl;
 import org.apache.tuscany.sdo.impl.DataGraphImpl;
+import org.apache.tuscany.sdo.model.ModelFactory;
+import org.apache.tuscany.sdo.model.impl.ModelPackageImpl;
 import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EClassifier;
 import org.eclipse.emf.ecore.EDataType;
 import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EcorePackage;
 import org.eclipse.emf.ecore.impl.EPackageRegistryImpl;
 import org.eclipse.emf.ecore.resource.Resource;
 import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.util.BasicExtendedMetaData;
 import org.eclipse.emf.ecore.util.EcoreUtil;
 import org.eclipse.emf.ecore.util.ExtendedMetaData;
 import org.eclipse.emf.ecore.xml.type.XMLTypePackage;
@@ -56,6 +59,57 @@
  */
 public final class SDOUtil
 {
+  //XSD to SDO Mappings mappings (p.95 of the SDO spec)
+  private static Map<String,String> xsdToSdoMappings = new HashMap<String,String>();
+  static {
+    xsdToSdoMappings.put("anySimpleType", "Object");
+    xsdToSdoMappings.put("anyType", "DataObject");
+    xsdToSdoMappings.put("anyURI", "URI");
+    xsdToSdoMappings.put("base64Binary", "Bytes");
+    xsdToSdoMappings.put("boolean", "Boolean");
+    xsdToSdoMappings.put("byte", "Byte");
+    xsdToSdoMappings.put("date", "YearMonthDay");
+    xsdToSdoMappings.put("dateTime", "DateTime");
+    xsdToSdoMappings.put("decimal", "Decimal");
+    xsdToSdoMappings.put("double", "Double");
+    xsdToSdoMappings.put("duration", "Duration");
+    xsdToSdoMappings.put("ENTITIES", "Strings");
+    xsdToSdoMappings.put("ENTITY", "String");
+    xsdToSdoMappings.put("float", "Float");
+    xsdToSdoMappings.put("gDay", "Day");
+    xsdToSdoMappings.put("gMonth", "Month");
+    xsdToSdoMappings.put("gMonthDay", "MonthDay");
+    xsdToSdoMappings.put("gYear", "Year");
+    xsdToSdoMappings.put("gYearMonth", "YearMonth");
+    xsdToSdoMappings.put("hexBinary", "Bytes");
+    xsdToSdoMappings.put("ID","String");
+    xsdToSdoMappings.put("IDREF","String");
+    xsdToSdoMappings.put("IDREFS","Strings");
+    xsdToSdoMappings.put("int","Int");
+    xsdToSdoMappings.put("integer","Integer");
+    xsdToSdoMappings.put("language","String");
+    xsdToSdoMappings.put("long","Long");
+    xsdToSdoMappings.put("Name","String");
+    xsdToSdoMappings.put("NCName","String");
+    xsdToSdoMappings.put("negativeInteger","Integer");
+    xsdToSdoMappings.put("NMTOKEN","String");
+    xsdToSdoMappings.put("NMTOKENS","Strings");
+    xsdToSdoMappings.put("nonNegativeInteger","Integer");
+    xsdToSdoMappings.put("nonPositiveInteger","Integer");
+    xsdToSdoMappings.put("normalizedString","String");
+    xsdToSdoMappings.put("NOTATION","String");
+    xsdToSdoMappings.put("positiveInteger","Integer");
+    xsdToSdoMappings.put("QName","URI");
+    xsdToSdoMappings.put("short","Short");
+    xsdToSdoMappings.put("string","String");
+    xsdToSdoMappings.put("time","Time");
+    xsdToSdoMappings.put("token","String");
+    xsdToSdoMappings.put("unsignedByte","Short");
+    xsdToSdoMappings.put("unsignedInt","Long");
+    xsdToSdoMappings.put("unsignedLong","Integer");
+    xsdToSdoMappings.put("unsignedShort","Int");
+  }
+  
   /**
    * Creates an instance of a data type from the specified string.
    * @param dataType a Type, for which isDataType() returns true, to instantiate.
@@ -87,12 +141,19 @@
    * @return the SDO built-in Type corresponding to the specified XSD type.
    */
   public static Type getXSDSDOType(String xsdType)
-  {
-    //FIXME Temporary impl to be replaced with proper XSD to SDO mapping (see SDO spec - pg 95)
-    return (Type)
-      ("anyType".equals(xsdType) ?
-        SDOPackage.eINSTANCE.getDataObject() :
-        ExtendedMetaData.INSTANCE.getType(XMLTypePackage.eINSTANCE, xsdType));
+  {    
+    Type type = null;
+    if ("anyType".equals(xsdType)) {
+      type = (Type)SDOPackage.eINSTANCE.getDataObject();
+    } else {
+      String name = xsdToSdoMappings.get(xsdType);
+      if (name != null) {
+        type = (Type)ModelPackageImpl.eINSTANCE.getEClassifier(name);
+      } else {
+        type = (Type)SDOExtendedMetaData.INSTANCE.getType(XMLTypePackage.eINSTANCE, xsdType);
+      }
+    }
+    return type;
   }
   
   /**
@@ -141,7 +202,7 @@
   public static TypeHelper createTypeHelper()
   {
     EPackage.Registry registry = new EPackageRegistryImpl(EPackage.Registry.INSTANCE);
-    ExtendedMetaData extendedMetaData = new BasicExtendedMetaData(registry); //TODO create subclass that makes demand() methods synchronous
+    ExtendedMetaData extendedMetaData = new SDOExtendedMetaDataImpl(registry); //TODO create subclass that makes demand() methods synchronous
     return new TypeHelperImpl(extendedMetaData);
   }
 

Added: incubator/tuscany/java/sdo/impl/src/test/resources/names.xsd
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sdo/impl/src/test/resources/names.xsd?rev=387960&view=auto
==============================================================================
--- incubator/tuscany/java/sdo/impl/src/test/resources/names.xsd (added)
+++ incubator/tuscany/java/sdo/impl/src/test/resources/names.xsd Wed Mar 22 14:45:11 2006
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsd:schema 
+  targetNamespace="http://www.example.com/names"
+  xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
+  xmlns:names="http://www.example.com/names"> 
+  
+   <xsd:element name="class" type="names:class"/>
+   <xsd:element name="test.element" type="names:test.element" />
+   <xsd:element name="void" type="names:void" />
+
+   <xsd:complexType name="class" />
+   <xsd:complexType name="test.element" />
+   <xsd:complexType name="void" />
+
+</xsd:schema>

Added: incubator/tuscany/java/sdo/impl/src/test/resources/sdoannotations.xsd
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sdo/impl/src/test/resources/sdoannotations.xsd?rev=387960&view=auto
==============================================================================
--- incubator/tuscany/java/sdo/impl/src/test/resources/sdoannotations.xsd (added)
+++ incubator/tuscany/java/sdo/impl/src/test/resources/sdoannotations.xsd Wed Mar 22 14:45:11 2006
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsd:schema 
+  targetNamespace="http://www.example.com/sdoannotations"
+  xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
+  xmlns:sdoa="http://www.example.com/sdoannotations"
+  xmlns:sdo="commonj.sdo/xml"
+  xmlns:sdoj="commonj.sdo/java"> 
+  
+  <!--  simple element with no annotations -->
+  <xsd:element name="foo0" type="xsd:string" />
+  
+  <!--  simple element with sdo:name -->
+  <xsd:element name="foo1" type="xsd:string" sdo:name="foo2" />
+  
+  <!--  simple element with sdo:type -->
+  <xsd:element 
+    name="foo3" type="xsd:int" 
+    sdo:dataType="xsd:string"
+    sdo:aliasName="foo4"
+    sdo:readOnly="true" />
+  
+  <xsd:element
+    name="foo5" type="sdoa:foo6" />
+  
+  <!--  complex type with no annotations -->
+  <xsd:complexType name="foo6">
+    <xsd:sequence>
+      <xsd:element name="bar1" type="xsd:int" />
+    </xsd:sequence>
+    <xsd:attribute name="bar2" type="xsd:int" />
+  </xsd:complexType>
+
+  <xsd:element 
+    name="foo7" type="sdoa:foo8" />
+
+  <xsd:complexType name="foo8" sdo:name="foo9" sdoj:instanceClass="org.apache.tuscany.sdo.test.XSDHelperTestCase">
+    <xsd:sequence>
+      <xsd:element name="bar3" type="xsd:int" sdo:string="true" />
+    </xsd:sequence>
+  </xsd:complexType>
+
+</xsd:schema>

Added: incubator/tuscany/java/sdo/impl/src/test/resources/sdotypes.xsd
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sdo/impl/src/test/resources/sdotypes.xsd?rev=387960&view=auto
==============================================================================
--- incubator/tuscany/java/sdo/impl/src/test/resources/sdotypes.xsd (added)
+++ incubator/tuscany/java/sdo/impl/src/test/resources/sdotypes.xsd Wed Mar 22 14:45:11 2006
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsd:schema 
+  targetNamespace="http://www.example.com/sdotypes"
+  xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
+  xmlns:sdot="http://www.example.com/sdotypes"> 
+  
+  <xsd:element name="foo0" type="xsd:anySimpleType"/>
+  <xsd:element name="foo2" type="xsd:anyURI"/>
+  <xsd:element name="foo3" type="xsd:base64Binary"/>
+  <xsd:element name="foo4" type="xsd:boolean"/>
+  <xsd:element name="foo5" type="xsd:byte"/>
+  <xsd:element name="foo6" type="xsd:date"/>
+  <xsd:element name="foo7" type="xsd:dateTime"/>
+  <xsd:element name="foo8" type="xsd:decimal"/>
+  <xsd:element name="foo9" type="xsd:double"/>
+  <xsd:element name="foo10" type="xsd:duration"/>
+  <xsd:element name="foo11" type="xsd:ENTITIES"/>
+  <xsd:element name="foo12" type="xsd:ENTITY"/>
+  <xsd:element name="foo13" type="xsd:float"/>
+  <xsd:element name="foo14" type="xsd:gDay"/>
+  <xsd:element name="foo15" type="xsd:gMonth"/>
+  <xsd:element name="foo16" type="xsd:gMonthDay"/>
+  <xsd:element name="foo17" type="xsd:gYear"/>
+  <xsd:element name="foo18" type="xsd:gYearMonth"/>
+  <xsd:element name="foo19" type="xsd:hexBinary"/>
+  <xsd:element name="foo20" type="xsd:ID"/>
+  <xsd:element name="foo21" type="xsd:IDREF"/>
+  <xsd:element name="foo22" type="xsd:IDREFS"/>
+  <xsd:element name="foo23" type="xsd:int"/>
+  <xsd:element name="foo24" type="xsd:integer"/>
+  <xsd:element name="foo25" type="xsd:language"/>
+  <xsd:element name="foo26" type="xsd:long"/>
+  <xsd:element name="foo27" type="xsd:Name"/>
+  <xsd:element name="foo28" type="xsd:NCName"/>
+  <xsd:element name="foo29" type="xsd:negativeInteger"/>
+  <xsd:element name="foo30" type="xsd:NMTOKEN"/>
+  <xsd:element name="foo31" type="xsd:NMTOKENS"/>
+  <xsd:element name="foo32" type="xsd:nonNegativeInteger"/>
+  <xsd:element name="foo33" type="xsd:nonPositiveInteger"/>
+  <xsd:element name="foo34" type="xsd:normalizedString"/>
+  <xsd:element name="foo35" type="xsd:NOTATION"/>
+  <xsd:element name="foo36" type="xsd:positiveInteger"/>
+  <xsd:element name="foo37" type="xsd:QName"/>
+  <xsd:element name="foo38" type="xsd:short"/>
+  <xsd:element name="foo39" type="xsd:string"/>
+  <xsd:element name="foo40" type="xsd:time"/>
+  <xsd:element name="foo41" type="xsd:token"/>
+  <xsd:element name="foo42" type="xsd:unsignedByte"/>
+  <xsd:element name="foo43" type="xsd:unsignedInt"/>
+  <xsd:element name="foo44" type="xsd:unsignedLong"/>
+  <xsd:element name="foo45" type="xsd:unsignedShort"/>
+
+</xsd:schema>

Modified: incubator/tuscany/java/sdo/tools/src/main/java/org/apache/tuscany/sdo/generate/JavaGenerator.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sdo/tools/src/main/java/org/apache/tuscany/sdo/generate/JavaGenerator.java?rev=387960&r1=387959&r2=387960&view=diff
==============================================================================
--- incubator/tuscany/java/sdo/tools/src/main/java/org/apache/tuscany/sdo/generate/JavaGenerator.java (original)
+++ incubator/tuscany/java/sdo/tools/src/main/java/org/apache/tuscany/sdo/generate/JavaGenerator.java Wed Mar 22 14:45:11 2006
@@ -28,6 +28,8 @@
 import java.util.StringTokenizer;
 
 import org.apache.tuscany.sdo.helper.XSDHelperImpl;
+import org.apache.tuscany.sdo.impl.SDOPackageImpl;
+import org.apache.tuscany.sdo.model.impl.ModelPackageImpl;
 import org.apache.tuscany.sdo.util.DataObjectUtil;
 import org.eclipse.emf.codegen.ecore.genmodel.GenClass;
 import org.eclipse.emf.codegen.ecore.genmodel.GenDelegationKind;
@@ -48,7 +50,6 @@
 import org.eclipse.emf.ecore.util.Diagnostician;
 import org.eclipse.emf.ecore.util.ExtendedMetaData;
 import org.eclipse.xsd.XSDSchema;
-import org.eclipse.xsd.util.XSDResourceImpl;
 
 import commonj.sdo.helper.XSDHelper;
 
@@ -279,6 +280,9 @@
           }
         }
         
+        usedGenPackages.add(createGenPackage(SDOPackageImpl.eINSTANCE, "org.apache.tuscany", "SDO", 0, resourceSet));
+        usedGenPackages.add(createGenPackage(ModelPackageImpl.eINSTANCE, "org.apache.tuscany.sdo", "Model", 0, resourceSet));
+        
         genModel.getUsedGenPackages().addAll(usedGenPackages);
         generateFromGenModel(genModel, targetDirectory);
       }
@@ -304,17 +308,11 @@
   
   public static String getSchemaNamespace(String xsdFileName)
   {
-    File inputFile = new File(xsdFileName).getAbsoluteFile();
     ResourceSet resourceSet = DataObjectUtil.createResourceSet();
-    Resource model = resourceSet.createResource(URI.createURI(inputFile.toURI().toString()));
-    try {
-      InputStream inputStream = new FileInputStream(inputFile);
-      ((XSDResourceImpl)model).load(inputStream, null);
-    }
-    catch (Exception e) {}
+    File inputFile = new File(xsdFileName).getAbsoluteFile();
+    Resource model = resourceSet.getResource(URI.createURI(inputFile.toURI().toString()), true);
     XSDSchema schema = (XSDSchema)model.getContents().get(0);
     return schema.getTargetNamespace();
-
   }
 
   public static GenPackage createGenPackage(EPackage ePackage, String basePackage, String prefix, int genOptions, ResourceSet resourceSet)
@@ -430,7 +428,7 @@
     }
     
     GenPackage genPackage = (GenPackage)genModel.getGenPackages().get(0);
-
+    
     if (basePackage != null)
     {
       genPackage.setBasePackage(basePackage);