Author: kelvingoodson
Date: Fri Nov  3 02:41:29 2006
New Revision: 470751

URL: http://svn.apache.org/viewvc?view=rev&rev=470751
Log:
TUSCANY-887 add global property per dynamic type definition

Modified:
    
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/TypeHelperImpl.java
    
incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DefineTypeTestCase.java

Modified: 
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/TypeHelperImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/TypeHelperImpl.java?view=diff&rev=470751&r1=470750&r2=470751
==============================================================================
--- 
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/TypeHelperImpl.java
 (original)
+++ 
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/TypeHelperImpl.java
 Fri Nov  3 02:41:29 2006
@@ -35,6 +35,7 @@
 import commonj.sdo.DataObject;
 import commonj.sdo.Property;
 import commonj.sdo.Type;
+import commonj.sdo.helper.DataFactory;
 import commonj.sdo.helper.TypeHelper;
 
 
@@ -168,6 +169,23 @@
         }
       }
     } // if (!isDataType)
+    
+    
+    // define a global property to accompany the type definition
+    if(definedType.getName() != null) { // null type name => type is global 
property holder,
+                                       // so we don't need a global property 
for null named type
+        DataObject globalProperty = DataFactory.INSTANCE.create("commonj.sdo", 
"Property");
+        String propertyName = definedType.getName();
+           if(!Character.isLowerCase(propertyName.charAt(0))) {
+               char[] pca = propertyName.toCharArray();
+               pca[0] = Character.toLowerCase(pca[0]);
+               propertyName = new String(pca);
+           }    
+           globalProperty.set("name", propertyName);
+           globalProperty.set("type", definedType);
+           globalProperty.set("containment", Boolean.TRUE);
+           defineOpenContentProperty(definedType.getURI(), globalProperty);
+    }
 
     return definedType;
   }

Modified: 
incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DefineTypeTestCase.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DefineTypeTestCase.java?view=diff&rev=470751&r1=470750&r2=470751
==============================================================================
--- 
incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DefineTypeTestCase.java
 (original)
+++ 
incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DefineTypeTestCase.java
 Fri Nov  3 02:41:29 2006
@@ -192,6 +192,8 @@
     assertEquals(type.getProperty("lastName").getType(), stringType);
     
     assertNotNull(customer2);
+    assertNotNull(types.getOpenContentProperty("http://example.com/customer";, 
"customer"));
+
     type = customer2.getType();
     assertNotNull(type.getProperty("custNum"));
     assertNotNull(type.getProperty("firstName"));
@@ -295,6 +297,8 @@
     assertTrue(type.isDataType());
     
     assertNotNull(customer2);
+    assertNotNull(types.getOpenContentProperty("http://example.com/customer";, 
"customer"));
+    
     type = customer2.getType();
     assertNotNull(type.getProperty("custNum"));
     assertNotNull(type.getProperty("firstName"));



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to