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]