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/06/22 23:01:54 UTC
svn commit: r416472 - in
/incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo:
helper/DataHelperImpl.java model/impl/ModelFactoryImpl.java
util/DataObjectUtil.java util/SDOUtil.java
Author: frankb
Date: Thu Jun 22 14:01:53 2006
New Revision: 416472
URL: http://svn.apache.org/viewvc?rev=416472&view=rev
Log:
Fix broken get/set of various date-type properties
Modified:
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/DataHelperImpl.java
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/ModelFactoryImpl.java
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/DataObjectUtil.java
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/SDOUtil.java
Modified: incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/DataHelperImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/DataHelperImpl.java?rev=416472&r1=416471&r2=416472&view=diff
==============================================================================
--- incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/DataHelperImpl.java (original)
+++ incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/DataHelperImpl.java Thu Jun 22 14:01:53 2006
@@ -49,7 +49,14 @@
new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'.'SSS"),
new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"),
new SimpleDateFormat("yyyy-MM-dd'T'HH:mm"),
- new SimpleDateFormat("yyyy-MM-dd")
+ new SimpleDateFormat("'P'yyyy'Y' MM'M' dd'D' 'T' HH'H' mm'M' ss'S.'SSS"),
+ new SimpleDateFormat("--MM zz"),
+ new SimpleDateFormat("--MM-dd zz"),
+ new SimpleDateFormat("---dd zz"),
+ new SimpleDateFormat("HH:mm:ss'.'SSS"),
+ new SimpleDateFormat("yyyy-MM-dd"),
+ new SimpleDateFormat("yyyy-MM"),
+ new SimpleDateFormat("yyyy")
};
for (int i = 0; i < DATE_PATTERNS.length; ++i)
Modified: incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/ModelFactoryImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/ModelFactoryImpl.java?rev=416472&r1=416471&r2=416472&view=diff
==============================================================================
--- incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/ModelFactoryImpl.java (original)
+++ incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/ModelFactoryImpl.java Thu Jun 22 14:01:53 2006
@@ -537,8 +537,7 @@
*/
public String createDateTimeFromString(EDataType eDataType, String initialValue)
{
- Object obj = XMLTypeFactory.eINSTANCE.createDateTime(initialValue);
- return (obj != null) ? obj.toString() : null;
+ return initialValue;
}
/**
@@ -548,7 +547,7 @@
*/
public String convertDateTimeToString(EDataType eDataType, Object instanceValue)
{
- return XMLTypeFactory.eINSTANCE.convertDateTime(instanceValue);
+ return (String)instanceValue;
}
/**
@@ -558,8 +557,7 @@
*/
public String createDayFromString(EDataType eDataType, String initialValue)
{
- Object obj = XMLTypeFactory.eINSTANCE.createGDay(initialValue);
- return (obj != null) ? obj.toString() : null;
+ return initialValue;
}
/**
@@ -569,7 +567,7 @@
*/
public String convertDayToString(EDataType eDataType, Object instanceValue)
{
- return XMLTypeFactory.eINSTANCE.convertGDay(instanceValue);
+ return (String)instanceValue;
}
/**
@@ -639,8 +637,7 @@
*/
public String createDurationFromString(EDataType eDataType, String initialValue)
{
- Object obj = XMLTypeFactory.eINSTANCE.createDuration(initialValue);
- return (obj != null) ? obj.toString() : null;
+ return initialValue;
}
/**
@@ -650,7 +647,7 @@
*/
public String convertDurationToString(EDataType eDataType, Object instanceValue)
{
- return XMLTypeFactory.eINSTANCE.convertDuration(instanceValue);
+ return (String)instanceValue;
}
/**
@@ -800,8 +797,7 @@
*/
public String createMonthFromString(EDataType eDataType, String initialValue)
{
- Object obj = XMLTypeFactory.eINSTANCE.createGMonth(initialValue);
- return (obj != null) ? obj.toString() : null;
+ return initialValue;
}
/**
@@ -811,7 +807,7 @@
*/
public String convertMonthToString(EDataType eDataType, Object instanceValue)
{
- return XMLTypeFactory.eINSTANCE.convertGMonth(instanceValue);
+ return (String)instanceValue;
}
/**
@@ -821,8 +817,7 @@
*/
public String createMonthDayFromString(EDataType eDataType, String initialValue)
{
- Object obj = XMLTypeFactory.eINSTANCE.createGMonthDay(initialValue);
- return (obj != null) ? obj.toString() : null;
+ return initialValue;
}
/**
@@ -832,7 +827,7 @@
*/
public String convertMonthDayToString(EDataType eDataType, Object instanceValue)
{
- return XMLTypeFactory.eINSTANCE.convertGMonthDay(instanceValue);
+ return (String)instanceValue;
}
/**
@@ -942,8 +937,7 @@
*/
public String createTimeFromString(EDataType eDataType, String initialValue)
{
- Object obj = XMLTypeFactory.eINSTANCE.createTime(initialValue);
- return (obj != null) ? obj.toString() : null;
+ return initialValue;
}
/**
@@ -953,7 +947,7 @@
*/
public String convertTimeToString(EDataType eDataType, Object instanceValue)
{
- return XMLTypeFactory.eINSTANCE.convertTime(instanceValue);
+ return (String)instanceValue;
}
/**
@@ -983,8 +977,7 @@
*/
public String createYearFromString(EDataType eDataType, String initialValue)
{
- Object obj = XMLTypeFactory.eINSTANCE.createGYear(initialValue);
- return (obj != null) ? obj.toString() : null;
+ return initialValue;
}
/**
@@ -994,7 +987,7 @@
*/
public String convertYearToString(EDataType eDataType, Object instanceValue)
{
- return XMLTypeFactory.eINSTANCE.convertGYear(instanceValue);
+ return (String)instanceValue;
}
/**
@@ -1004,8 +997,7 @@
*/
public String createYearMonthFromString(EDataType eDataType, String initialValue)
{
- Object obj = XMLTypeFactory.eINSTANCE.createGYearMonth(initialValue);
- return (obj != null) ? obj.toString() : null;
+ return initialValue;
}
/**
@@ -1015,7 +1007,7 @@
*/
public String convertYearMonthToString(EDataType eDataType, Object instanceValue)
{
- return XMLTypeFactory.eINSTANCE.convertGYearMonth(instanceValue);
+ return (String)instanceValue;
}
/**
@@ -1025,8 +1017,7 @@
*/
public String createYearMonthDayFromString(EDataType eDataType, String initialValue)
{
- Object obj = XMLTypeFactory.eINSTANCE.createDate(initialValue);
- return (obj != null) ? obj.toString() : null;
+ return initialValue;
}
/**
@@ -1036,7 +1027,7 @@
*/
public String convertYearMonthDayToString(EDataType eDataType, Object instanceValue)
{
- return XMLTypeFactory.eINSTANCE.convertDate(instanceValue);
+ return (String)instanceValue;
}
/**
Modified: incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/DataObjectUtil.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/DataObjectUtil.java?rev=416472&r1=416471&r2=416472&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 Thu Jun 22 14:01:53 2006
@@ -70,6 +70,7 @@
import commonj.sdo.Property;
import commonj.sdo.Sequence;
import commonj.sdo.Type;
+import commonj.sdo.helper.DataHelper;
import commonj.sdo.helper.TypeHelper;
@@ -1123,6 +1124,10 @@
public static Date getDate(Object value)
{
+ if (value instanceof String) {
+ return DataHelper.INSTANCE.toDate((String)value);
+ }
+
if (value instanceof XMLCalendar)
{
return ((XMLCalendar)value).getDate();
@@ -1156,28 +1161,54 @@
}
String name = eType.getInstanceClassName();
- if (name == "java.lang.Object")
+
+ if (name == "java.lang.String")
{
String typeName = getDateTypeName((EDataType)eType);
- if ("Date".equals(typeName))
- {
- return new XMLCalendar(value, XMLCalendar.DATE);
+ if ("DateTime".equals(typeName)) {
+ return DataHelper.INSTANCE.toDateTime(value);
+ }
+ else if ("Day".equals(typeName)) {
+ return DataHelper.INSTANCE.toDay(value);
+ }
+ else if ("Duration".equals(typeName)) {
+ return DataHelper.INSTANCE.toDuration(value);
+ }
+ else if ("Month".equals(typeName)) {
+ return DataHelper.INSTANCE.toMonth(value);
+ }
+ else if ("MonthDay".equals(typeName)) {
+ return DataHelper.INSTANCE.toMonthDay(value);
+ }
+ else if ("Time".equals(typeName)) {
+ return DataHelper.INSTANCE.toTime(value);
+ }
+ else if ("Year".equals(typeName)) {
+ return DataHelper.INSTANCE.toYear(value);
}
- if ("DateTime".equals(typeName))
+ else if ("YearMonth".equals(typeName)) {
+ return DataHelper.INSTANCE.toYearMonth(value);
+ }
+ else if ("YearMonthDay".equals(typeName)) {
+ return DataHelper.INSTANCE.toYearMonthDay(value);
+ }
+ else if ("String".equals(typeName))
{
- return new XMLCalendar(value, XMLCalendar.DATETIME);
+ return DataHelper.INSTANCE.toDateTime(value);
}
+
// Instead of throwing an IllegalArgumentException we will pass the value to the property
return value;
}
- if (name == "java.lang.Long" || name == "long")
+ if (name == "java.util.Date")
{
- return new Long(value.getTime());
+ return new XMLCalendar(value, XMLCalendar.DATE);
}
- if (name == "java.lang.String")
+
+ if (name == "java.lang.Long" || name == "long")
{
- return value.toString();
+ return new Long(value.getTime());
}
// Instead of throwing an IllegalArgumentException we will pass the value to the property
@@ -1187,7 +1218,16 @@
protected static String getDateTypeName(EDataType eDataType)
{
String name = eDataType.getName();
- if (("DateTime".equals(name)) || ("Date".equals(name)))
+ if (("DateTime".equals(name)) ||
+ ("Day".equals(name)) ||
+ ("Duration".equals(name)) ||
+ ("Month".equals(name)) ||
+ ("MonthDay".equals(name)) ||
+ ("Time".equals(name)) ||
+ ("Year".equals(name)) ||
+ ("YearMonth".equals(name)) ||
+ ("YearMonthDay".equals(name)) ||
+ ("String".equals(name)))
{
return name;
}
@@ -1205,7 +1245,16 @@
{
EDataType memberType = (EDataType)memberTypes.get(i);
String memberTypeName = getDateTypeName(memberType);
- if (("DateTime".equals(memberTypeName)) || ("Date".equals(memberTypeName)))
+ if (("DateTime".equals(memberTypeName)) ||
+ ("Day".equals(memberTypeName)) ||
+ ("Duration".equals(memberTypeName)) ||
+ ("Month".equals(memberTypeName)) ||
+ ("MonthDay".equals(memberTypeName)) ||
+ ("Time".equals(memberTypeName)) ||
+ ("Year".equals(memberTypeName)) ||
+ ("YearMonth".equals(memberTypeName)) ||
+ ("YearMonthDay".equals(memberTypeName)) ||
+ ("String".equals(memberTypeName)))
{
return memberTypeName;
}
@@ -2100,6 +2149,10 @@
{
EObject eObject = (EObject)eObjects.get(i);
EStructuralFeature feature = (EStructuralFeature)((Type)eObject.eClass()).getProperty(attributeName);
+ // If feature is null, that means it could be an open feature.
+ if(feature == null){
+ feature = (EStructuralFeature)DataObjectUtil.getOpenFeature(eObject, attributeName);
+ }
if (feature != null)
{
Object test = eObject.eGet(feature, true);
@@ -2353,19 +2406,17 @@
result.put("emof", new EMOFResourceFactoryImpl());
}
- if (Resource.Factory.Registry.INSTANCE.getFactory(URI.createURI("*.xsd")) == null)
+ if (!(Resource.Factory.Registry.INSTANCE.getFactory(URI.createURI("*.xsd")) instanceof XSDResourceFactoryImpl))
{
result.put("xsd", new XSDResourceFactoryImpl());
}
- //FIXME ClassCastException in XSDHelper.define() if you give it a WSDL file
- // Patch for JIRA TUSCANY-42
- if (Resource.Factory.Registry.INSTANCE.getFactory(URI.createURI("*.wsdl")) == null)
+ if (!(Resource.Factory.Registry.INSTANCE.getFactory(URI.createURI("*.wsdl")) instanceof XSDResourceFactoryImpl))
{
result.put("wsdl", new XSDResourceFactoryImpl());
}
- if (Resource.Factory.Registry.INSTANCE.getFactory(URI.createURI("*.*")) == null)
+ if (!(Resource.Factory.Registry.INSTANCE.getFactory(URI.createURI("*.*")) instanceof SDOXMLResourceFactoryImpl))
{
result.put("*", new SDOXMLResourceFactoryImpl());
}
Modified: incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/SDOUtil.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/SDOUtil.java?rev=416472&r1=416471&r2=416472&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 Thu Jun 22 14:01:53 2006
@@ -224,16 +224,6 @@
}
/**
- * Create a new XMLStreamHelper, with visibility to types in the specified TypeHelper scope.
- * @param scope the TypeHelper to use for locating types.
- * @return the new XMLStreamHelper.
- */
- public static XMLStreamHelper createXMLStreamHelper(TypeHelper scope)
- {
- return new XMLStreamHelperImpl(scope);
- }
-
- /**
* Create a new XSDHelper, with visibility to types in the specified TypeHelper scope.
* @param scope the TypeHelper to use for locating and populating types.
* @return the new XSDHelper.
@@ -243,6 +233,16 @@
return new XSDHelperImpl(scope);
}
+ /**
+ * Create a new XMLStreamHelper, with visibility to types in the specified TypeHelper scope.
+ * @param scope the TypeHelper to use for locating types.
+ * @return the new XMLStreamHelper.
+ */
+ public static XMLStreamHelper createXMLStreamHelper(TypeHelper scope)
+ {
+ return new XMLStreamHelperImpl(scope);
+ }
+
public static Type createType(TypeHelper scope, String uri, String name, boolean isDataType)
{
ExtendedMetaData extendedMetaData = ((TypeHelperImpl)scope).getExtendedMetaData();
@@ -365,7 +365,8 @@
EStructuralFeature eStructuralFeature = propertyType.isDataType() ? (EStructuralFeature)SDOFactory.eINSTANCE.createAttribute() : (EStructuralFeature)SDOFactory.eINSTANCE.createReference();
eStructuralFeature.setName(name);
eStructuralFeature.setEType((EClassifier)propertyType);
- if (containingType.getName() == null)
+ //if (containingType.getName() == null)
+ if ("".equals(ExtendedMetaData.INSTANCE.getName((EClass)containingType)))
{
ExtendedMetaData.INSTANCE.setFeatureKind(eStructuralFeature, ExtendedMetaData.ELEMENT_FEATURE);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org