You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by ke...@apache.org on 2007/08/08 17:43:11 UTC

svn commit: r563920 - in /incubator/tuscany/java/sdo: impl/src/main/java/org/apache/tuscany/sdo/impl/ impl/src/main/java/org/apache/tuscany/sdo/util/ tools/src/main/java/org/apache/tuscany/sdo/generate/templates/model/ tools/src/test/java/com/example/c...

Author: kelvingoodson
Date: Wed Aug  8 08:43:09 2007
New Revision: 563920

URL: http://svn.apache.org/viewvc?view=rev&rev=563920
Log:
Fix for TUSCANY-1484

Added:
    incubator/tuscany/java/sdo/tools/src/test/java/com/example/extensible/info/
Modified:
    incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/DataObjectBase.java
    incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/ExtensibleDataObjectImpl.java
    incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/StAX2SAXAdapter.java
    incubator/tuscany/java/sdo/tools/src/main/java/org/apache/tuscany/sdo/generate/templates/model/SDOClass.java
    incubator/tuscany/java/sdo/tools/src/main/java/org/apache/tuscany/sdo/generate/templates/model/SDOFactoryClass.java
    incubator/tuscany/java/sdo/tools/src/test/java/com/example/customer/impl/AccountImpl.java
    incubator/tuscany/java/sdo/tools/src/test/java/com/example/customer/impl/CustomerImpl.java
    incubator/tuscany/java/sdo/tools/src/test/java/com/example/extensible/customer/impl/CustomerTypeImpl.java
    incubator/tuscany/java/sdo/tools/src/test/java/com/example/extensible/customer/impl/CustomersTypeImpl.java
    incubator/tuscany/java/sdo/tools/src/test/java/com/example/extensible/customer/impl/InfoTypeImpl.java
    incubator/tuscany/java/sdo/tools/src/test/java/com/example/noInterfaces/simple/Quote.java
    incubator/tuscany/java/sdo/tools/src/test/java/com/example/open/impl/OneElementAndAnyAttrImpl.java
    incubator/tuscany/java/sdo/tools/src/test/java/com/example/repchoice/impl/RCTypeImpl.java
    incubator/tuscany/java/sdo/tools/src/test/java/com/example/sequences/impl/MixedQuoteImpl.java
    incubator/tuscany/java/sdo/tools/src/test/java/com/example/sequences/impl/MixedRepeatingChoiceImpl.java
    incubator/tuscany/java/sdo/tools/src/test/java/com/example/sequences/impl/RepeatingChoiceImpl.java
    incubator/tuscany/java/sdo/tools/src/test/java/com/example/sequences/impl/TwoRCsImpl.java
    incubator/tuscany/java/sdo/tools/src/test/java/com/example/sequences/impl/TwoRCsMixedImpl.java
    incubator/tuscany/java/sdo/tools/src/test/java/com/example/simple/cs/impl/QuoteBaseImpl.java
    incubator/tuscany/java/sdo/tools/src/test/java/com/example/simple/cs/impl/QuoteImpl.java
    incubator/tuscany/java/sdo/tools/src/test/java/com/example/simple/impl/QuoteImpl.java
    incubator/tuscany/java/sdo/tools/src/test/java/com/example/subgroup/impl/AImpl.java
    incubator/tuscany/java/sdo/tools/src/test/java/com/example/subgroup/impl/BImpl.java
    incubator/tuscany/java/sdo/tools/src/test/java/com/example/subgroup/impl/BprimeImpl.java
    incubator/tuscany/java/sdo/tools/src/test/java/org/apache/tuscany/sdo/test/ExtensibleTestCase.java
    incubator/tuscany/java/sdo/tools/src/test/resources/extensible/infozipcode.xsd
    incubator/tuscany/java/sdo/tools/templates/models/SDOClass.javajet

Modified: incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/DataObjectBase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/DataObjectBase.java?view=diff&rev=563920&r1=563919&r2=563920
==============================================================================
--- incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/DataObjectBase.java (original)
+++ incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/DataObjectBase.java Wed Aug  8 08:43:09 2007
@@ -270,21 +270,6 @@
     return changeContextImpl;
   }
   
-  protected Object get(int featureID, boolean resolve)
-  {
-    return null;
-  }
-  
-  public void set(int featureID, Object newValue)
-  {
-    throw new UnsupportedOperationException();
-  }
- 
-  public void unset(int propertyIndex)
-  {
-    throw new UnsupportedOperationException();
-  }
-  
   private ChangeContextImpl initializeChangeContext(ChangeContext changeContext)
   {
     ChangeContextImpl changeContextImpl;
@@ -410,7 +395,17 @@
     return (EClass)getStaticType();
   }
   
-  public Type getStaticType() // must be overridem in subclasses
+  public Type getStaticType() // must be overridden in subclasses
+  {
+    throw new UnsupportedOperationException();
+  }
+  
+  public int eStaticFeatureCount()
+  {
+    return getStaticPropertyCount();  
+  }
+  
+  public int getStaticPropertyCount() // must be overridden in subclasses
   {
     throw new UnsupportedOperationException();
   }
@@ -422,52 +417,27 @@
   
   public Object eGet(int featureID, boolean resolve, boolean coreType)
   {
-    Object result = null;
-    if (isDynamic())
-    {
-      result = super.eGet(internalConvertIndex(featureID), resolve, coreType);
-    } else
+    Object result = get(internalConvertIndex(featureID), resolve);
+    if (coreType)
     {
-      result = get(internalConvertIndex(featureID), resolve);
-      if (coreType)
-      {
-        if (result instanceof FeatureMap.Internal.Wrapper) result = ((FeatureMap.Internal.Wrapper)result).featureMap();
-      }
+      if (result instanceof FeatureMap.Internal.Wrapper) result = ((FeatureMap.Internal.Wrapper)result).featureMap();
     }
     return result;
   }
 
   public void eSet(int featureID, Object newValue)
   {
-    if (isDynamic())
-    {
-      super.eSet(internalConvertIndex(featureID), newValue);
-    } else 
-    {
-      set(internalConvertIndex(featureID), newValue);
-    }
+    set(internalConvertIndex(featureID), newValue);
   } 
 
   public void eUnset(int featureID)
   {
-    if (isDynamic())
-    {
-      super.eUnset(internalConvertIndex(featureID));
-    } else 
-    {
-      unset(internalConvertIndex(featureID));
-    }
+    unset(internalConvertIndex(featureID));
   }
   
   public boolean eIsSet(int featureID)
   {
-    if (isDynamic())
-    {
-      return super.eIsSet(internalConvertIndex(featureID));
-    } else
-    {
-      return isSet(internalConvertIndex(featureID));
-    }
+    return isSet(internalConvertIndex(featureID));
   }
   
   private class ChangeContextImpl implements ChangeContext
@@ -499,6 +469,7 @@
   }
   
 } //DataObjectBase
+
 
 
 

Modified: incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/ExtensibleDataObjectImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/ExtensibleDataObjectImpl.java?view=diff&rev=563920&r1=563919&r2=563920
==============================================================================
--- incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/ExtensibleDataObjectImpl.java (original)
+++ incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/impl/ExtensibleDataObjectImpl.java Wed Aug  8 08:43:09 2007
@@ -112,6 +112,61 @@
   {
     return (eClass != null);
   }
+
+  public Object get(int featureID, boolean resolve)
+  {
+    return get(featureID, resolve, true);  
+  }
+  
+  public Object get(int featureID, boolean resolve, boolean coreType)
+  {
+    Object result = null;
+    if (isDynamic() || featureID >= eStaticFeatureCount())
+    {
+      result = super.eGet(featureID, resolve, coreType);
+    } 
+    else
+    {
+      result = super.get(featureID);
+    }
+    return result;
+  }
+  
+  public void set(int featureID, Object newValue)
+  {
+    if (isDynamic() || featureID >= eStaticFeatureCount())
+    {
+      super.eSet(featureID, newValue);
+    } 
+    else 
+    {
+      super.set(featureID, newValue);
+    }
+  } 
+
+  public void unset(int featureID)
+  {
+    if (isDynamic() || featureID >= eStaticFeatureCount())
+    {
+      super.eUnset(featureID);
+    } 
+    else 
+    {
+      super.unset(featureID);
+    }
+  }
+  
+  public boolean isSet(int featureID)
+  {
+    if (isDynamic() || featureID >= eStaticFeatureCount())
+    {
+      return super.eIsSet(featureID);
+    } 
+    else
+    {
+      return super.isSet(featureID);
+    }
+  }
   
   public EClass eClass()
   {
@@ -140,53 +195,57 @@
   
   public Object eDynamicGet(int featureID, boolean resolve, boolean coreType)
   {
+    int dynamicFeatureID = featureID - eStaticFeatureCount();
     if (featureID < eClass().getFeatureCount())
     {
       EStructuralFeature eFeature = eClass().getEStructuralFeature(featureID);
-      return eSettingDelegate(eFeature).dynamicGet(this, eSettings(), featureID, resolve, coreType);
+      return eSettingDelegate(eFeature).dynamicGet(this, eSettings(), dynamicFeatureID, resolve, coreType);
     }
     else
     {
-      return super.eDynamicGet(featureID, resolve, coreType);
+      return super.eDynamicGet(dynamicFeatureID, resolve, coreType);
     }
   }
   
   public void eDynamicSet(int featureID, Object newValue)
   {
+    int dynamicFeatureID = featureID - eStaticFeatureCount();
     if (featureID < eClass().getFeatureCount())
     {
       EStructuralFeature eFeature = eClass().getEStructuralFeature(featureID);
-      eDynamicSet(featureID, eFeature, newValue);
+      eDynamicSet(dynamicFeatureID, eFeature, newValue);
     }
     else
     {
-      super.eDynamicSet(featureID, newValue);
+      super.eDynamicSet(dynamicFeatureID, newValue);
     }
   }
 
   public void eDynamicUnset(int featureID)
   {
+    int dynamicFeatureID = featureID - eStaticFeatureCount();
     if (featureID < eClass().getFeatureCount())
     {
       EStructuralFeature eFeature = eClass().getEStructuralFeature(featureID);
-      eDynamicUnset(featureID, eFeature);
+      eDynamicUnset(dynamicFeatureID, eFeature);
     }
     else
     {
-      super.eDynamicUnset(featureID);
+      super.eDynamicUnset(dynamicFeatureID);
     }
   }
 
   public boolean eDynamicIsSet(int featureID)
   {
+    int dynamicFeatureID = featureID - eStaticFeatureCount();
     if (featureID < eClass().getFeatureCount())
     {
       EStructuralFeature eFeature = eClass().getEStructuralFeature(featureID);
-      return eSettingDelegate(eFeature).dynamicIsSet(this, eSettings(), featureID);
+      return eSettingDelegate(eFeature).dynamicIsSet(this, eSettings(), dynamicFeatureID);
     }
     else
     {
-      return super.eDynamicIsSet(featureID);
+      return super.eDynamicIsSet(dynamicFeatureID);
     }
   }
 

Modified: incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/StAX2SAXAdapter.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/StAX2SAXAdapter.java?view=diff&rev=563920&r1=563919&r2=563920
==============================================================================
--- incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/StAX2SAXAdapter.java (original)
+++ incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/StAX2SAXAdapter.java Wed Aug  8 08:43:09 2007
@@ -185,7 +185,7 @@
      * @return the StAX attributes converted to org.xml.sax.Attributes
      */
     private Attributes getAttributes(XMLStreamReader reader) {
-        assert reader.getEventType() == XMLStreamConstants.START_ELEMENT;
+        // assert reader.getEventType() == XMLStreamConstants.START_ELEMENT;
 
         AttributesImpl attrs = new AttributesImpl();
 

Modified: incubator/tuscany/java/sdo/tools/src/main/java/org/apache/tuscany/sdo/generate/templates/model/SDOClass.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/tools/src/main/java/org/apache/tuscany/sdo/generate/templates/model/SDOClass.java?view=diff&rev=563920&r1=563919&r2=563920
==============================================================================
--- incubator/tuscany/java/sdo/tools/src/main/java/org/apache/tuscany/sdo/generate/templates/model/SDOClass.java (original)
+++ incubator/tuscany/java/sdo/tools/src/main/java/org/apache/tuscany/sdo/generate/templates/model/SDOClass.java Wed Aug  8 08:43:09 2007
@@ -164,7 +164,7 @@
   protected final String TEXT_144 = " getStaticType()" + NL + "\t{" + NL + "\t\treturn ((";
   protected final String TEXT_145 = ")";
   protected final String TEXT_146 = ".INSTANCE).get";
-  protected final String TEXT_147 = "();" + NL + "\t}" + NL;
+  protected final String TEXT_147 = "();" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic int getStaticPropertyCount()" + NL + "\t{" + NL + "\t\treturn INTERNAL_PROPERTY_COUNT;" + NL + "\t}" + NL;
   protected final String TEXT_148 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
   protected final String TEXT_149 = NL + "\t";
   protected final String TEXT_150 = "[] ";

Modified: incubator/tuscany/java/sdo/tools/src/main/java/org/apache/tuscany/sdo/generate/templates/model/SDOFactoryClass.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/tools/src/main/java/org/apache/tuscany/sdo/generate/templates/model/SDOFactoryClass.java?view=diff&rev=563920&r1=563919&r2=563920
==============================================================================
--- incubator/tuscany/java/sdo/tools/src/main/java/org/apache/tuscany/sdo/generate/templates/model/SDOFactoryClass.java (original)
+++ incubator/tuscany/java/sdo/tools/src/main/java/org/apache/tuscany/sdo/generate/templates/model/SDOFactoryClass.java Wed Aug  8 08:43:09 2007
@@ -1144,4 +1144,4 @@
     stringBuffer.append(TEXT_318);
     return stringBuffer.toString();
   }
-}
\ No newline at end of file
+}

Modified: incubator/tuscany/java/sdo/tools/src/test/java/com/example/customer/impl/AccountImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/tools/src/test/java/com/example/customer/impl/AccountImpl.java?view=diff&rev=563920&r1=563919&r2=563920
==============================================================================
--- incubator/tuscany/java/sdo/tools/src/test/java/com/example/customer/impl/AccountImpl.java (original)
+++ incubator/tuscany/java/sdo/tools/src/test/java/com/example/customer/impl/AccountImpl.java Wed Aug  8 08:43:09 2007
@@ -131,6 +131,16 @@
    * <!-- end-user-doc -->
    * @generated
    */
+  public int getStaticPropertyCount()
+  {
+    return INTERNAL_PROPERTY_COUNT;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
   public int getAccountNum()
   {
     return accountNum;

Modified: incubator/tuscany/java/sdo/tools/src/test/java/com/example/customer/impl/CustomerImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/tools/src/test/java/com/example/customer/impl/CustomerImpl.java?view=diff&rev=563920&r1=563919&r2=563920
==============================================================================
--- incubator/tuscany/java/sdo/tools/src/test/java/com/example/customer/impl/CustomerImpl.java (original)
+++ incubator/tuscany/java/sdo/tools/src/test/java/com/example/customer/impl/CustomerImpl.java Wed Aug  8 08:43:09 2007
@@ -165,6 +165,16 @@
    * <!-- end-user-doc -->
    * @generated
    */
+  public int getStaticPropertyCount()
+  {
+    return INTERNAL_PROPERTY_COUNT;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
   public Account getAccount()
   {
     return account;

Modified: incubator/tuscany/java/sdo/tools/src/test/java/com/example/extensible/customer/impl/CustomerTypeImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/tools/src/test/java/com/example/extensible/customer/impl/CustomerTypeImpl.java?view=diff&rev=563920&r1=563919&r2=563920
==============================================================================
--- incubator/tuscany/java/sdo/tools/src/test/java/com/example/extensible/customer/impl/CustomerTypeImpl.java (original)
+++ incubator/tuscany/java/sdo/tools/src/test/java/com/example/extensible/customer/impl/CustomerTypeImpl.java Wed Aug  8 08:43:09 2007
@@ -209,6 +209,16 @@
    * <!-- end-user-doc -->
    * @generated
    */
+  public int getStaticPropertyCount()
+  {
+    return INTERNAL_PROPERTY_COUNT;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
   public String getName()
   {
     return name;

Modified: incubator/tuscany/java/sdo/tools/src/test/java/com/example/extensible/customer/impl/CustomersTypeImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/tools/src/test/java/com/example/extensible/customer/impl/CustomersTypeImpl.java?view=diff&rev=563920&r1=563919&r2=563920
==============================================================================
--- incubator/tuscany/java/sdo/tools/src/test/java/com/example/extensible/customer/impl/CustomersTypeImpl.java (original)
+++ incubator/tuscany/java/sdo/tools/src/test/java/com/example/extensible/customer/impl/CustomersTypeImpl.java Wed Aug  8 08:43:09 2007
@@ -117,6 +117,16 @@
    * <!-- end-user-doc -->
    * @generated
    */
+  public int getStaticPropertyCount()
+  {
+    return INTERNAL_PROPERTY_COUNT;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
   public List getCustomer()
   {
     if (customer == null)

Modified: incubator/tuscany/java/sdo/tools/src/test/java/com/example/extensible/customer/impl/InfoTypeImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/tools/src/test/java/com/example/extensible/customer/impl/InfoTypeImpl.java?view=diff&rev=563920&r1=563919&r2=563920
==============================================================================
--- incubator/tuscany/java/sdo/tools/src/test/java/com/example/extensible/customer/impl/InfoTypeImpl.java (original)
+++ incubator/tuscany/java/sdo/tools/src/test/java/com/example/extensible/customer/impl/InfoTypeImpl.java Wed Aug  8 08:43:09 2007
@@ -81,4 +81,14 @@
     return ((CustomerFactoryImpl)CustomerFactory.INSTANCE).getInfoType();
   }
 
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public int getStaticPropertyCount()
+  {
+    return INTERNAL_PROPERTY_COUNT;
+  }
+
 } //InfoTypeImpl

Modified: incubator/tuscany/java/sdo/tools/src/test/java/com/example/noInterfaces/simple/Quote.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/tools/src/test/java/com/example/noInterfaces/simple/Quote.java?view=diff&rev=563920&r1=563919&r2=563920
==============================================================================
--- incubator/tuscany/java/sdo/tools/src/test/java/com/example/noInterfaces/simple/Quote.java (original)
+++ incubator/tuscany/java/sdo/tools/src/test/java/com/example/noInterfaces/simple/Quote.java Wed Aug  8 08:43:09 2007
@@ -451,6 +451,16 @@
   }
 
   /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
+  public int getStaticPropertyCount()
+  {
+    return INTERNAL_PROPERTY_COUNT;
+  }
+
+  /**
    * Returns the value of the '<em><b>Symbol</b></em>' attribute.
    * <!-- begin-user-doc -->
    * <p>

Modified: incubator/tuscany/java/sdo/tools/src/test/java/com/example/open/impl/OneElementAndAnyAttrImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/tools/src/test/java/com/example/open/impl/OneElementAndAnyAttrImpl.java?view=diff&rev=563920&r1=563919&r2=563920
==============================================================================
--- incubator/tuscany/java/sdo/tools/src/test/java/com/example/open/impl/OneElementAndAnyAttrImpl.java (original)
+++ incubator/tuscany/java/sdo/tools/src/test/java/com/example/open/impl/OneElementAndAnyAttrImpl.java Wed Aug  8 08:43:09 2007
@@ -156,6 +156,16 @@
    * <!-- end-user-doc -->
    * @generated
    */
+  public int getStaticPropertyCount()
+  {
+    return INTERNAL_PROPERTY_COUNT;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
   public String getName()
   {
     return name;

Modified: incubator/tuscany/java/sdo/tools/src/test/java/com/example/repchoice/impl/RCTypeImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/tools/src/test/java/com/example/repchoice/impl/RCTypeImpl.java?view=diff&rev=563920&r1=563919&r2=563920
==============================================================================
--- incubator/tuscany/java/sdo/tools/src/test/java/com/example/repchoice/impl/RCTypeImpl.java (original)
+++ incubator/tuscany/java/sdo/tools/src/test/java/com/example/repchoice/impl/RCTypeImpl.java Wed Aug  8 08:43:09 2007
@@ -156,6 +156,16 @@
    * <!-- end-user-doc -->
    * @generated
    */
+  public int getStaticPropertyCount()
+  {
+    return INTERNAL_PROPERTY_COUNT;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
   public Sequence getGroup()
   {
     if (group == null)

Modified: incubator/tuscany/java/sdo/tools/src/test/java/com/example/sequences/impl/MixedQuoteImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/tools/src/test/java/com/example/sequences/impl/MixedQuoteImpl.java?view=diff&rev=563920&r1=563919&r2=563920
==============================================================================
--- incubator/tuscany/java/sdo/tools/src/test/java/com/example/sequences/impl/MixedQuoteImpl.java (original)
+++ incubator/tuscany/java/sdo/tools/src/test/java/com/example/sequences/impl/MixedQuoteImpl.java Wed Aug  8 08:43:09 2007
@@ -236,6 +236,16 @@
    * <!-- end-user-doc -->
    * @generated
    */
+  public int getStaticPropertyCount()
+  {
+    return INTERNAL_PROPERTY_COUNT;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
   public Sequence getMixed()
   {
     if (mixed == null)

Modified: incubator/tuscany/java/sdo/tools/src/test/java/com/example/sequences/impl/MixedRepeatingChoiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/tools/src/test/java/com/example/sequences/impl/MixedRepeatingChoiceImpl.java?view=diff&rev=563920&r1=563919&r2=563920
==============================================================================
--- incubator/tuscany/java/sdo/tools/src/test/java/com/example/sequences/impl/MixedRepeatingChoiceImpl.java (original)
+++ incubator/tuscany/java/sdo/tools/src/test/java/com/example/sequences/impl/MixedRepeatingChoiceImpl.java Wed Aug  8 08:43:09 2007
@@ -156,6 +156,16 @@
    * <!-- end-user-doc -->
    * @generated
    */
+  public int getStaticPropertyCount()
+  {
+    return INTERNAL_PROPERTY_COUNT;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
   public Sequence getMixed()
   {
     if (mixed == null)

Modified: incubator/tuscany/java/sdo/tools/src/test/java/com/example/sequences/impl/RepeatingChoiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/tools/src/test/java/com/example/sequences/impl/RepeatingChoiceImpl.java?view=diff&rev=563920&r1=563919&r2=563920
==============================================================================
--- incubator/tuscany/java/sdo/tools/src/test/java/com/example/sequences/impl/RepeatingChoiceImpl.java (original)
+++ incubator/tuscany/java/sdo/tools/src/test/java/com/example/sequences/impl/RepeatingChoiceImpl.java Wed Aug  8 08:43:09 2007
@@ -143,6 +143,16 @@
    * <!-- end-user-doc -->
    * @generated
    */
+  public int getStaticPropertyCount()
+  {
+    return INTERNAL_PROPERTY_COUNT;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
   public Sequence getGroup()
   {
     if (group == null)

Modified: incubator/tuscany/java/sdo/tools/src/test/java/com/example/sequences/impl/TwoRCsImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/tools/src/test/java/com/example/sequences/impl/TwoRCsImpl.java?view=diff&rev=563920&r1=563919&r2=563920
==============================================================================
--- incubator/tuscany/java/sdo/tools/src/test/java/com/example/sequences/impl/TwoRCsImpl.java (original)
+++ incubator/tuscany/java/sdo/tools/src/test/java/com/example/sequences/impl/TwoRCsImpl.java Wed Aug  8 08:43:09 2007
@@ -235,6 +235,16 @@
    * <!-- end-user-doc -->
    * @generated
    */
+  public int getStaticPropertyCount()
+  {
+    return INTERNAL_PROPERTY_COUNT;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
   public Sequence getGroup()
   {
     if (group == null)

Modified: incubator/tuscany/java/sdo/tools/src/test/java/com/example/sequences/impl/TwoRCsMixedImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/tools/src/test/java/com/example/sequences/impl/TwoRCsMixedImpl.java?view=diff&rev=563920&r1=563919&r2=563920
==============================================================================
--- incubator/tuscany/java/sdo/tools/src/test/java/com/example/sequences/impl/TwoRCsMixedImpl.java (original)
+++ incubator/tuscany/java/sdo/tools/src/test/java/com/example/sequences/impl/TwoRCsMixedImpl.java Wed Aug  8 08:43:09 2007
@@ -208,6 +208,16 @@
    * <!-- end-user-doc -->
    * @generated
    */
+  public int getStaticPropertyCount()
+  {
+    return INTERNAL_PROPERTY_COUNT;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
   public Sequence getMixed()
   {
     if (mixed == null)

Modified: incubator/tuscany/java/sdo/tools/src/test/java/com/example/simple/cs/impl/QuoteBaseImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/tools/src/test/java/com/example/simple/cs/impl/QuoteBaseImpl.java?view=diff&rev=563920&r1=563919&r2=563920
==============================================================================
--- incubator/tuscany/java/sdo/tools/src/test/java/com/example/simple/cs/impl/QuoteBaseImpl.java (original)
+++ incubator/tuscany/java/sdo/tools/src/test/java/com/example/simple/cs/impl/QuoteBaseImpl.java Wed Aug  8 08:43:09 2007
@@ -221,6 +221,16 @@
    * <!-- end-user-doc -->
    * @generated
    */
+  public int getStaticPropertyCount()
+  {
+    return INTERNAL_PROPERTY_COUNT;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
   public ChangeSummary getChanges()
   {
     return changes;

Modified: incubator/tuscany/java/sdo/tools/src/test/java/com/example/simple/cs/impl/QuoteImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/tools/src/test/java/com/example/simple/cs/impl/QuoteImpl.java?view=diff&rev=563920&r1=563919&r2=563920
==============================================================================
--- incubator/tuscany/java/sdo/tools/src/test/java/com/example/simple/cs/impl/QuoteImpl.java (original)
+++ incubator/tuscany/java/sdo/tools/src/test/java/com/example/simple/cs/impl/QuoteImpl.java Wed Aug  8 08:43:09 2007
@@ -454,6 +454,16 @@
    * <!-- end-user-doc -->
    * @generated
    */
+  public int getStaticPropertyCount()
+  {
+    return INTERNAL_PROPERTY_COUNT;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
   public String getSymbol()
   {
     return symbol;

Modified: incubator/tuscany/java/sdo/tools/src/test/java/com/example/simple/impl/QuoteImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/tools/src/test/java/com/example/simple/impl/QuoteImpl.java?view=diff&rev=563920&r1=563919&r2=563920
==============================================================================
--- incubator/tuscany/java/sdo/tools/src/test/java/com/example/simple/impl/QuoteImpl.java (original)
+++ incubator/tuscany/java/sdo/tools/src/test/java/com/example/simple/impl/QuoteImpl.java Wed Aug  8 08:43:09 2007
@@ -454,6 +454,16 @@
    * <!-- end-user-doc -->
    * @generated
    */
+  public int getStaticPropertyCount()
+  {
+    return INTERNAL_PROPERTY_COUNT;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
   public String getSymbol()
   {
     return symbol;

Modified: incubator/tuscany/java/sdo/tools/src/test/java/com/example/subgroup/impl/AImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/tools/src/test/java/com/example/subgroup/impl/AImpl.java?view=diff&rev=563920&r1=563919&r2=563920
==============================================================================
--- incubator/tuscany/java/sdo/tools/src/test/java/com/example/subgroup/impl/AImpl.java (original)
+++ incubator/tuscany/java/sdo/tools/src/test/java/com/example/subgroup/impl/AImpl.java Wed Aug  8 08:43:09 2007
@@ -128,6 +128,16 @@
    * <!-- end-user-doc -->
    * @generated
    */
+  public int getStaticPropertyCount()
+  {
+    return INTERNAL_PROPERTY_COUNT;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
   public Sequence getGe1Group()
   {
     if (ge1Group == null)

Modified: incubator/tuscany/java/sdo/tools/src/test/java/com/example/subgroup/impl/BImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/tools/src/test/java/com/example/subgroup/impl/BImpl.java?view=diff&rev=563920&r1=563919&r2=563920
==============================================================================
--- incubator/tuscany/java/sdo/tools/src/test/java/com/example/subgroup/impl/BImpl.java (original)
+++ incubator/tuscany/java/sdo/tools/src/test/java/com/example/subgroup/impl/BImpl.java Wed Aug  8 08:43:09 2007
@@ -131,6 +131,16 @@
    * <!-- end-user-doc -->
    * @generated
    */
+  public int getStaticPropertyCount()
+  {
+    return INTERNAL_PROPERTY_COUNT;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
   public String getImInTypeB()
   {
     return imInTypeB;

Modified: incubator/tuscany/java/sdo/tools/src/test/java/com/example/subgroup/impl/BprimeImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/tools/src/test/java/com/example/subgroup/impl/BprimeImpl.java?view=diff&rev=563920&r1=563919&r2=563920
==============================================================================
--- incubator/tuscany/java/sdo/tools/src/test/java/com/example/subgroup/impl/BprimeImpl.java (original)
+++ incubator/tuscany/java/sdo/tools/src/test/java/com/example/subgroup/impl/BprimeImpl.java Wed Aug  8 08:43:09 2007
@@ -139,6 +139,16 @@
    * <!-- end-user-doc -->
    * @generated
    */
+  public int getStaticPropertyCount()
+  {
+    return INTERNAL_PROPERTY_COUNT;
+  }
+
+  /**
+   * <!-- begin-user-doc -->
+   * <!-- end-user-doc -->
+   * @generated
+   */
   public String getImInTypeBprime()
   {
     return imInTypeBprime;

Modified: incubator/tuscany/java/sdo/tools/src/test/java/org/apache/tuscany/sdo/test/ExtensibleTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/tools/src/test/java/org/apache/tuscany/sdo/test/ExtensibleTestCase.java?view=diff&rev=563920&r1=563919&r2=563920
==============================================================================
--- incubator/tuscany/java/sdo/tools/src/test/java/org/apache/tuscany/sdo/test/ExtensibleTestCase.java (original)
+++ incubator/tuscany/java/sdo/tools/src/test/java/org/apache/tuscany/sdo/test/ExtensibleTestCase.java Wed Aug  8 08:43:09 2007
@@ -22,14 +22,21 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.URL;
+import java.util.Arrays;
+import java.util.List;
 
 import junit.framework.TestCase;
 
 import org.apache.tuscany.sdo.api.SDOUtil;
 
 import com.example.extensible.customer.CustomerFactory;
+import com.example.extensible.customer.CustomerType;
 import com.example.extensible.customer.CustomersType;
 import com.example.extensible.customer.InfoType;
+import commonj.sdo.DataObject;
+import commonj.sdo.Property;
+import commonj.sdo.Type;
+import commonj.sdo.helper.DataFactory;
 import commonj.sdo.helper.HelperContext;
 import commonj.sdo.helper.XMLDocument;
 
@@ -76,6 +83,40 @@
 			assertTrue(strdoc.indexOf(">" + valuePrefix) != -1);
 		}
 	}
+	
+  public void testPropertyManagement() throws IOException {
+    Type customersType = scope.getTypeHelper().getType(CustomersType.class);
+    
+    Property customerProperty = customersType.getProperty("customer");
+    CustomerType customer = CustomerFactory.INSTANCE.createCustomerType();
+    List customerList = Arrays.asList(new CustomerType[] {customer});
+
+    Type zipcodeInfoType = scope.getTypeHelper().getType(
+        "http://www.example.com/extensible/info/zipcode", "InfoType");
+    Property zipcodeInfoProperty = 
+        SDOUtil.createProperty(customersType, "zipcodeInfo", zipcodeInfoType);
+    DataObject zipcodeInfo = DataFactory.INSTANCE.create(zipcodeInfoType);
+    zipcodeInfo.setString("zipcode", "21043");
+    
+    Property zipcodeInfoSuffixProperty = zipcodeInfoType.getProperty("suffix");
+    String zipcodeInfoSuffix = "0539";
+    
+    XMLDocument doc = scope.getXMLHelper().load(getClass().getResourceAsStream(CUSTOMERS_XML));
+
+    DataObject[] dataObjects = new DataObject[] {doc.getRootObject(), doc.getRootObject(), zipcodeInfo}; 
+    Property[] props = new Property[] {customerProperty, zipcodeInfoProperty, zipcodeInfoSuffixProperty};
+    Object[] values = new Object[] {customerList, zipcodeInfo, zipcodeInfoSuffix};
+    for (int i = 0; i < dataObjects.length; i++) {
+      DataObject dataObject = dataObjects[i];
+      Property prop = props[i];
+      Object value = values[i];
+      dataObject.unset(prop);
+      assertFalse(dataObject.isSet(prop));
+      dataObject.set(prop, value);
+      assertTrue(dataObject.isSet(prop));
+      assertNotNull(dataObject.get(prop));
+    }
+  }
 	
 	protected void setUp() throws Exception {
 		super.setUp();

Modified: incubator/tuscany/java/sdo/tools/src/test/resources/extensible/infozipcode.xsd
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/tools/src/test/resources/extensible/infozipcode.xsd?view=diff&rev=563920&r1=563919&r2=563920
==============================================================================
--- incubator/tuscany/java/sdo/tools/src/test/resources/extensible/infozipcode.xsd (original)
+++ incubator/tuscany/java/sdo/tools/src/test/resources/extensible/infozipcode.xsd Wed Aug  8 08:43:09 2007
@@ -29,6 +29,7 @@
 			<xsd:extension base="customer:InfoType">
 				<xsd:sequence>
 					<xsd:element name="zipcode" type="xsd:string" />
+					<xsd:element name="suffix" type="xsd:string" />
 				</xsd:sequence>
 			</xsd:extension>
 		</xsd:complexContent>

Modified: incubator/tuscany/java/sdo/tools/templates/models/SDOClass.javajet
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/tools/templates/models/SDOClass.javajet?view=diff&rev=563920&r1=563919&r2=563920
==============================================================================
--- incubator/tuscany/java/sdo/tools/templates/models/SDOClass.javajet (original)
+++ incubator/tuscany/java/sdo/tools/templates/models/SDOClass.javajet Wed Aug  8 08:43:09 2007
@@ -448,6 +448,16 @@
 		return ((<%=genPackage.getImportedFactoryClassName()%>)<%=genPackage.getImportedFactoryInterfaceName()%>.INSTANCE).get<%=genClass.getClassifierAccessorName()%>();
 	}
 
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getStaticPropertyCount()
+	{
+		return INTERNAL_PROPERTY_COUNT;
+	}
+
 <%}%>
 <%/*%>
 <% * Output getter and setter interfaces / impls%>



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org