Author: frankb
Date: Thu Mar 30 08:52:05 2006
New Revision: 390175
URL: http://svn.apache.org/viewcvs?rev=390175&view=rev
Log:
Fix for TUSCANY-137
Modified:
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/codegen/BytecodeInterfaceGenerator.java
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/codegen/JavaInterfaceGenerator.java
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOExtendedMetaDataImpl.java
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOXSDEcoreBuilder.java
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/XSDHelperImpl.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/SDOUtil.java
incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/codegen/BytecodeInterfaceGeneratorTestCase.java
incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/codegen/JavaInterfaceGeneratorTestCase.java
incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/codegen/MockType.java
incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/TestUtil.java
incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/TypeRoundTripTest.java
incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XSDHelperTestCase.java
incubator/tuscany/java/sdo/pom.xml
incubator/tuscany/java/spec/sdo/pom.xml
incubator/tuscany/java/spec/sdo/src/main/java/commonj/sdo/impl/HelperProvider.java
incubator/tuscany/java/spec/sdo/src/test/java/commonj/sdo/impl/HelperProviderTestCase.java
Modified:
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/codegen/BytecodeInterfaceGenerator.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/codegen/BytecodeInterfaceGenerator.java?rev=390175&r1=390174&r2=390175&view=diff
==============================================================================
---
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/codegen/BytecodeInterfaceGenerator.java
(original)
+++
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/codegen/BytecodeInterfaceGenerator.java
Thu Mar 30 08:52:05 2006
@@ -21,10 +21,7 @@
import commonj.sdo.Property;
import commonj.sdo.Type;
import org.objectweb.asm.ClassWriter;
-import static org.objectweb.asm.Opcodes.ACC_ABSTRACT;
-import static org.objectweb.asm.Opcodes.ACC_INTERFACE;
-import static org.objectweb.asm.Opcodes.ACC_PUBLIC;
-import static org.objectweb.asm.Opcodes.V1_5;
+import org.objectweb.asm.Opcodes;
import org.apache.tuscany.sdo.SDOTypeVisitor;
@@ -57,25 +54,27 @@
interfaces[i] = baseType.getInstanceClass().getName().replace('.',
'/');
}
- cw.visit(V1_5, ACC_PUBLIC + ACC_ABSTRACT + ACC_INTERFACE, name, null,
"java/lang/Object", interfaces);
+ cw.visit(Opcodes.V1_4,
+ Opcodes.ACC_PUBLIC + Opcodes.ACC_ABSTRACT +
Opcodes.ACC_INTERFACE,
+ name, null, "java/lang/Object", interfaces);
}
public void visitProperty(Property property) {
String name = property.getName();
String propertyName = Character.toUpperCase(name.charAt(0)) +
name.substring(1);
- Class<?> javaType = property.getType().getInstanceClass();
+ Class javaType = property.getType().getInstanceClass();
String desc = org.objectweb.asm.Type.getDescriptor(javaType);
if (property.isMany()) {
- cw.visitMethod(ACC_PUBLIC + ACC_ABSTRACT, "get" + propertyName,
"()Ljava/util/List;", null, null).visitEnd();
+ cw.visitMethod(Opcodes.ACC_PUBLIC + Opcodes.ACC_ABSTRACT, "get" +
propertyName, "()Ljava/util/List;", null, null).visitEnd();
} else {
if (boolean.class.equals(javaType)) {
- cw.visitMethod(ACC_PUBLIC + ACC_ABSTRACT, "is" + propertyName,
"()Z", null, null).visitEnd();
+ cw.visitMethod(Opcodes.ACC_PUBLIC + Opcodes.ACC_ABSTRACT, "is"
+ propertyName, "()Z", null, null).visitEnd();
} else {
- cw.visitMethod(ACC_PUBLIC + ACC_ABSTRACT, "get" +
propertyName, "()" + desc, null, null).visitEnd();
+ cw.visitMethod(Opcodes.ACC_PUBLIC + Opcodes.ACC_ABSTRACT,
"get" + propertyName, "()" + desc, null, null).visitEnd();
}
if (!property.isReadOnly()) {
- cw.visitMethod(ACC_PUBLIC + ACC_ABSTRACT, "set" +
propertyName, '(' + desc + ")V", null, null).visitEnd();
+ cw.visitMethod(Opcodes.ACC_PUBLIC + Opcodes.ACC_ABSTRACT,
"set" + propertyName, '(' + desc + ")V", null, null).visitEnd();
}
}
}
Modified:
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/codegen/JavaInterfaceGenerator.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/codegen/JavaInterfaceGenerator.java?rev=390175&r1=390174&r2=390175&view=diff
==============================================================================
---
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/codegen/JavaInterfaceGenerator.java
(original)
+++
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/codegen/JavaInterfaceGenerator.java
Thu Mar 30 08:52:05 2006
@@ -31,6 +31,78 @@
* @version $Rev$ $Date$
*/
public class JavaInterfaceGenerator implements SDOTypeVisitor {
+
+ private static String canonicalize(String className) {
+ if (className == null) {
+ return "";
+ }
+ if (className.charAt(0) != '[') { // if not array
+ return className;
+ }
+ // process array
+ boolean invalidClassName = false;
+ int nestLevel = 1;
+ StringBuffer sb = new StringBuffer();
+ try {
+ while (className.charAt(nestLevel) == '[') {
+ nestLevel++;
+ }
+ char typeChar = className.charAt(nestLevel);
+ int end = nestLevel;
+ switch (typeChar) {
+ case 'L':
+ end = className.length() - 1;
+ if (className.charAt(end) != ';') {
+ invalidClassName = true;
+ } else {
+ sb.append(className.substring(nestLevel+1, end));
+ }
+ break;
+ case 'Z':
+ sb.append("boolean");
+ break;
+ case 'B':
+ sb.append("byte");
+ break;
+ case 'C':
+ sb.append("char");
+ break;
+ case 'D':
+ sb.append("double");
+ break;
+ case 'F':
+ sb.append("float");
+ break;
+ case 'I':
+ sb.append("int");
+ break;
+ case 'J':
+ sb.append("long");
+ break;
+ case 'S':
+ sb.append("short");
+ break;
+ default:
+ invalidClassName = true;
+ break;
+ }
+ if (end != (className.length() - 1)) {
+ invalidClassName = true; // we have not used all the characters
+ } else {
+ for (int i=0; i<nestLevel; i++) {
+ sb.append("[]");
+ }
+ }
+ } catch(Exception e) {
+ invalidClassName = true;
+ }
+ if (invalidClassName) {
+ System.err.println("unable to canonicalize class name:
"+className);
+ return className;
+ }
+ return sb.toString();
+ }
+
private final PrintWriter writer;
/**
@@ -75,7 +147,7 @@
public void visitProperty(Property property) {
String name = property.getName();
String propertyName = Character.toUpperCase(name.charAt(0)) +
name.substring(1);
- String javaType =
property.getType().getInstanceClass().getCanonicalName();
+ String javaType =
canonicalize(property.getType().getInstanceClass().getName());
if (!property.isMany()) {
writer.print(" ");
Modified:
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOExtendedMetaDataImpl.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOExtendedMetaDataImpl.java?rev=390175&r1=390174&r2=390175&view=diff
==============================================================================
---
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOExtendedMetaDataImpl.java
(original)
+++
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOExtendedMetaDataImpl.java
Thu Mar 30 08:52:05 2006
@@ -39,11 +39,11 @@
*/
public List getAliasNames(EModelElement modelElement) {
EAnnotation eAnnotation = getAnnotation(modelElement, false);
- List<String> list = null;
+ List list = null;
if (eAnnotation != null) {
String aliasNames = (String)eAnnotation.getDetails().get("aliasNames");
if (aliasNames != null) {
- list = new ArrayList<String>();
+ list = new ArrayList();
StringTokenizer st = new StringTokenizer(aliasNames, " ");
while (st.hasMoreTokens()) {
String t = st.nextToken();
Modified:
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOXSDEcoreBuilder.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOXSDEcoreBuilder.java?rev=390175&r1=390174&r2=390175&view=diff
==============================================================================
---
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOXSDEcoreBuilder.java
(original)
+++
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOXSDEcoreBuilder.java
Thu Mar 30 08:52:05 2006
@@ -35,7 +35,6 @@
super(extendedMetaData);
}
- @Override
public EClassifier getEClassifier(XSDTypeDefinition xsdTypeDefinition) {
EClassifier eClassifier = null;
if
(rootSchema.getSchemaForSchemaNamespace().equals(xsdTypeDefinition.getTargetNamespace()))
{
@@ -49,7 +48,6 @@
return eClassifier;
}
- @Override
public EDataType getEDataType(XSDSimpleTypeDefinition
xsdSimpleTypeDefinition) {
EDataType eClassifier = null;
if
(rootSchema.getSchemaForSchemaNamespace().equals(xsdSimpleTypeDefinition.getTargetNamespace()))
{
@@ -63,7 +61,6 @@
return (EDataType)eClassifier;
}
- @Override
protected EClassifier getBuiltInEClassifier(String namespace, String name)
{
EClassifier eClassifier = (EClassifier)SDOUtil.getXSDSDOType(name);
@@ -73,7 +70,6 @@
return eClassifier;
}
- @Override
public EClass computeEClass(XSDComplexTypeDefinition
xsdComplexTypeDefinition) {
EClass eclass = super.computeEClass(xsdComplexTypeDefinition);
String aliasNames =
getEcoreAttribute(xsdComplexTypeDefinition.getElement(), "aliasName");
@@ -83,7 +79,6 @@
return eclass;
}
- @Override
protected EClassifier computeEClassifier(XSDTypeDefinition
xsdTypeDefinition) {
EClassifier eclassifier = super.computeEClassifier(xsdTypeDefinition);
EClassifier etype = (EClassifier) typeToTypeObjectMap.get(eclassifier);
@@ -97,7 +92,6 @@
return eclassifier;
}
- @Override
protected EDataType computeEDataType(XSDSimpleTypeDefinition
xsdSimpleTypeDefinition) {
EDataType edatatype = super.computeEDataType(xsdSimpleTypeDefinition);
String aliasNames =
getEcoreAttribute(xsdSimpleTypeDefinition.getElement(), "aliasName");
@@ -107,14 +101,12 @@
return edatatype;
}
- @Override
protected EEnum computeEEnum(XSDSimpleTypeDefinition
xsdSimpleTypeDefinition) {
EEnum eenum = super.computeEEnum(xsdSimpleTypeDefinition);
return eenum;
}
- @Override
protected EStructuralFeature createFeature(EClass eClass, String name,
EClassifier type, XSDComponent xsdComponent, int minOccurs, int maxOccurs) {
EStructuralFeature feature =
super.createFeature(eClass, name, type, xsdComponent, minOccurs,
maxOccurs);
@@ -202,7 +194,6 @@
/**
* Override default EMF behavior so that the name is not mangled.
*/
- @Override
protected String validName(String name, int casing, String prefix) {
return name;
}
@@ -210,7 +201,6 @@
/**
* Override default EMF name mangling for anonymous types (simple and complex)
*/
- @Override
protected String validAliasName(XSDTypeDefinition xsdTypeDefinition, boolean
isUpperCase) {
return getAliasName(xsdTypeDefinition);
}
@@ -228,7 +218,6 @@
return result;
}
- @Override
protected XSDTypeDefinition getEffectiveTypeDefinition(XSDComponent
xsdComponent, XSDFeature xsdFeature) {
XSDTypeDefinition typeDef = getEcoreTypeQNameAttribute(xsdComponent,
"dataType");
Modified:
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/XSDHelperImpl.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/XSDHelperImpl.java?rev=390175&r1=390174&r2=390175&view=diff
==============================================================================
---
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/XSDHelperImpl.java
(original)
+++
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/XSDHelperImpl.java
Thu Mar 30 08:52:05 2006
@@ -27,7 +27,6 @@
import org.apache.tuscany.sdo.impl.DynamicDataObjectImpl;
import org.apache.tuscany.sdo.util.DataObjectUtil;
-import org.apache.tuscany.sdo.util.SDOUtil;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EClassifier;
@@ -194,7 +193,7 @@
catch (Exception e)
{
e.printStackTrace();
- throw new IllegalArgumentException(e);
+ throw new IllegalArgumentException(e.getMessage());
}
}
Modified:
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/ModelFactoryImpl.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/ModelFactoryImpl.java?rev=390175&r1=390174&r2=390175&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 Mar 30 08:52:05 2006
@@ -590,7 +590,7 @@
*/
public String convertDoubleToString(EDataType eDataType, Object
instanceValue)
{
- return XMLTypeFactory.eINSTANCE.convertDouble((Double)instanceValue);
+ return XMLTypeFactory.eINSTANCE.convertDoubleObject((Double)instanceValue);
}
/**
@@ -651,7 +651,7 @@
*/
public String convertFloatToString(EDataType eDataType, Object instanceValue)
{
- return XMLTypeFactory.eINSTANCE.convertFloat((Float)instanceValue);
+ return XMLTypeFactory.eINSTANCE.convertFloatObject((Float)instanceValue);
}
/**
@@ -691,7 +691,7 @@
*/
public String convertIntToString(EDataType eDataType, Object instanceValue)
{
- return XMLTypeFactory.eINSTANCE.convertInt((Integer)instanceValue);
+ return XMLTypeFactory.eINSTANCE.convertIntObject((Integer)instanceValue);
}
/**
@@ -751,7 +751,7 @@
*/
public String convertLongToString(EDataType eDataType, Object instanceValue)
{
- return XMLTypeFactory.eINSTANCE.convertLong((Long)instanceValue);
+ return XMLTypeFactory.eINSTANCE.convertLongObject((Long)instanceValue);
}
/**
@@ -853,7 +853,7 @@
*/
public String convertShortToString(EDataType eDataType, Object instanceValue)
{
- return XMLTypeFactory.eINSTANCE.convertShort((Short)instanceValue);
+ return XMLTypeFactory.eINSTANCE.convertShortObject((Short)instanceValue);
}
/**
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=390175&r1=390174&r2=390175&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 Mar 30 08:52:05 2006
@@ -60,7 +60,7 @@
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>();
+ private static Map xsdToSdoMappings = new HashMap();
static {
xsdToSdoMappings.put("anySimpleType", "Object");
xsdToSdoMappings.put("anyType", "DataObject");
@@ -146,7 +146,7 @@
if ("anyType".equals(xsdType)) {
type = (Type)SDOPackage.eINSTANCE.getDataObject();
} else {
- String name = xsdToSdoMappings.get(xsdType);
+ String name = (String)xsdToSdoMappings.get(xsdType);
if (name != null) {
type = (Type)ModelPackageImpl.eINSTANCE.getEClassifier(name);
} else {
Modified:
incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/codegen/BytecodeInterfaceGeneratorTestCase.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/codegen/BytecodeInterfaceGeneratorTestCase.java?rev=390175&r1=390174&r2=390175&view=diff
==============================================================================
---
incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/codegen/BytecodeInterfaceGeneratorTestCase.java
(original)
+++
incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/codegen/BytecodeInterfaceGeneratorTestCase.java
Thu Mar 30 08:52:05 2006
@@ -32,7 +32,7 @@
public void testHeaderNoBaseClass() {
gen.visitType(foo);
gen.visitEnd();
- Class<?> c = cl.addClass(gen.getClassData());
+ Class c = cl.addClass(gen.getClassData());
assertEquals("Foo", c.getName());
assertTrue(c.isInterface());
assertEquals(0, c.getInterfaces().length);
@@ -42,7 +42,7 @@
public void testHeaderWithPackage() {
gen.visitType(new MockType("org.apache.Foo", null));
gen.visitEnd();
- Class<?> c = cl.addClass(gen.getClassData());
+ Class c = cl.addClass(gen.getClassData());
assertEquals("org.apache.Foo", c.getName());
assertEquals(0, c.getInterfaces().length);
assertEquals(0, c.getMethods().length);
@@ -52,7 +52,7 @@
foo.addBaseType(new MockType("bar1", Bar1.class));
gen.visitType(foo);
gen.visitEnd();
- Class<?> c = cl.addClass(gen.getClassData());
+ Class c = cl.addClass(gen.getClassData());
assertEquals("Foo", c.getName());
assertEquals(1, c.getInterfaces().length);
assertEquals(Bar1.class, c.getInterfaces()[0]);
@@ -64,7 +64,7 @@
foo.addBaseType(new MockType("bar2", Bar2.class));
gen.visitType(foo);
gen.visitEnd();
- Class<?> c = cl.addClass(gen.getClassData());
+ Class c = cl.addClass(gen.getClassData());
assertEquals("Foo", c.getName());
assertEquals(2, c.getInterfaces().length);
assertEquals(Bar1.class, c.getInterfaces()[0]);
@@ -76,11 +76,11 @@
gen.visitType(foo);
gen.visitProperty(new MockProperty("true", Boolean.TYPE, false,
false));
gen.visitEnd();
- Class<?> c = cl.addClass(gen.getClassData());
+ Class c = cl.addClass(gen.getClassData());
assertEquals(2, c.getMethods().length);
- Method getter = c.getMethod("isTrue");
+ Method getter = c.getMethod("isTrue", new Class[0]);
assertEquals(boolean.class, getter.getReturnType());
- Method setter = c.getMethod("setTrue", boolean.class);
+ Method setter = c.getMethod("setTrue", new Class[] {boolean.class});
assertEquals(void.class, setter.getReturnType());
}
@@ -88,11 +88,11 @@
gen.visitType(foo);
gen.visitProperty(new MockProperty("bytes", byte[].class, false,
false));
gen.visitEnd();
- Class<?> c = cl.addClass(gen.getClassData());
+ Class c = cl.addClass(gen.getClassData());
assertEquals(2, c.getMethods().length);
- Method getter = c.getMethod("getBytes");
+ Method getter = c.getMethod("getBytes", new Class[0]);
assertEquals(byte[].class, getter.getReturnType());
- Method setter = c.getMethod("setBytes", byte[].class);
+ Method setter = c.getMethod("setBytes", new Class[] {byte[].class});
assertEquals(void.class, setter.getReturnType());
}
@@ -100,11 +100,11 @@
gen.visitType(foo);
gen.visitProperty(new MockProperty("bar", Bar1.class, false, false));
gen.visitEnd();
- Class<?> c = cl.addClass(gen.getClassData());
+ Class c = cl.addClass(gen.getClassData());
assertEquals(2, c.getMethods().length);
- Method getter = c.getMethod("getBar");
+ Method getter = c.getMethod("getBar", new Class[0]);
assertEquals(Bar1.class, getter.getReturnType());
- Method setter = c.getMethod("setBar", Bar1.class);
+ Method setter = c.getMethod("setBar", new Class[] {Bar1.class});
assertEquals(void.class, setter.getReturnType());
}
@@ -112,9 +112,9 @@
gen.visitType(foo);
gen.visitProperty(new MockProperty("int", Integer.TYPE, false, true));
gen.visitEnd();
- Class<?> c = cl.addClass(gen.getClassData());
+ Class c = cl.addClass(gen.getClassData());
assertEquals(1, c.getMethods().length);
- Method getter = c.getMethod("getInt");
+ Method getter = c.getMethod("getInt", new Class[0]);
assertEquals(int.class, getter.getReturnType());
}
@@ -122,9 +122,9 @@
gen.visitType(foo);
gen.visitProperty(new MockProperty("list", Integer.TYPE, true, false));
gen.visitEnd();
- Class<?> c = cl.addClass(gen.getClassData());
+ Class c = cl.addClass(gen.getClassData());
assertEquals(1, c.getMethods().length);
- Method getter = c.getMethod("getList");
+ Method getter = c.getMethod("getList", new Class[0]);
assertEquals(List.class, getter.getReturnType());
}
@@ -133,15 +133,15 @@
gen.visitProperty(new MockProperty("true", Boolean.TYPE, false,
false));
gen.visitProperty(new MockProperty("int", Integer.TYPE, false, false));
gen.visitEnd();
- Class<?> c = cl.addClass(gen.getClassData());
+ Class c = cl.addClass(gen.getClassData());
assertEquals(4, c.getMethods().length);
- Method getter = c.getMethod("isTrue");
+ Method getter = c.getMethod("isTrue", new Class[0]);
assertEquals(boolean.class, getter.getReturnType());
- Method setter = c.getMethod("setTrue", boolean.class);
+ Method setter = c.getMethod("setTrue", new Class[] {boolean.class});
assertEquals(void.class, setter.getReturnType());
- getter = c.getMethod("getInt");
+ getter = c.getMethod("getInt", new Class[0]);
assertEquals(int.class, getter.getReturnType());
- setter = c.getMethod("setInt", int.class);
+ setter = c.getMethod("setInt", new Class[] {int.class});
assertEquals(void.class, setter.getReturnType());
}
@@ -157,7 +157,7 @@
super(TestClassLoader.class.getClassLoader());
}
- Class<?> addClass(byte[] bytes) {
+ Class addClass(byte[] bytes) {
return defineClass(null, bytes, 0, bytes.length);
}
}
Modified:
incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/codegen/JavaInterfaceGeneratorTestCase.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/codegen/JavaInterfaceGeneratorTestCase.java?rev=390175&r1=390174&r2=390175&view=diff
==============================================================================
---
incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/codegen/JavaInterfaceGeneratorTestCase.java
(original)
+++
incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/codegen/JavaInterfaceGeneratorTestCase.java
Thu Mar 30 08:52:05 2006
@@ -109,7 +109,7 @@
}
private String localize(String s) {
- StringBuilder b = new StringBuilder(s.length() + s.length()/10);
+ StringBuffer b = new StringBuffer(s.length() + s.length()/10);
for (int i = 0; i < s.length(); i++) {
char ch = s.charAt(i);
if (ch == '\t') {
Modified:
incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/codegen/MockType.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/codegen/MockType.java?rev=390175&r1=390174&r2=390175&view=diff
==============================================================================
---
incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/codegen/MockType.java
(original)
+++
incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/codegen/MockType.java
Thu Mar 30 08:52:05 2006
@@ -28,7 +28,7 @@
class MockType implements Type {
private final String name;
private final Class javaClass;
- private final List<Type> baseTypes = new ArrayList<Type>();
+ private final List baseTypes = new ArrayList();
public MockType(String name, Class javaClass) {
this.javaClass = javaClass;
Modified:
incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/TestUtil.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/TestUtil.java?rev=390175&r1=390174&r2=390175&view=diff
==============================================================================
---
incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/TestUtil.java
(original)
+++
incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/TestUtil.java
Thu Mar 30 08:52:05 2006
@@ -28,13 +28,15 @@
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
+import org.w3c.dom.DocumentType;
+import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
public class TestUtil
{
- private static void getAllNodes(NodeList nodeList, List<Node> nodes)
+ private static void getAllNodes(NodeList nodeList, List nodes)
{
int length = nodeList.getLength();
if (length == 0)
@@ -50,10 +52,113 @@
} // for
}
+ private static boolean equalNamedNodeMap(NamedNodeMap mapA, NamedNodeMap
mapB) {
+ if (mapA == null) {
+ if (mapB == null) {
+ return true;
+ }
+ return false;
+ }
+ if (mapA.getLength() != mapB.getLength()) {
+ return false;
+ }
+ for (int i = 0; i < mapA.getLength(); i++) {
+ Node trialNode = mapA.item(i);
+ if (trialNode == null) {
+ return false;
+ }
+ Node checkNode = mapB.getNamedItem(trialNode.getNodeName());
+ if (checkNode == null) {
+ return false;
+ }
+ if (!equalNode(trialNode, checkNode)) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ private static boolean equalNode(Node nodeA, Node nodeB) {
+ if (nodeA == null) {
+ if (nodeB == null) {
+ return true;
+ }
+ return false;
+ }
+ // following is intended to provide same function as 1.5 isEqualNode()
+ if (nodeA.getNodeType() != nodeB.getNodeType()) {
+ return false;
+ }
+ if (!equalString(nodeA.getNodeName(), nodeB.getNodeName())) {
+ return false;
+ }
+ if (!equalString(nodeA.getLocalName(), nodeB.getLocalName())) {
+ return false;
+ }
+ if (!equalString(nodeA.getNamespaceURI(), nodeB.getNamespaceURI())) {
+ return false;
+ }
+ if (!equalString(nodeA.getNamespaceURI(), nodeB.getNamespaceURI())) {
+ return false;
+ }
+ if (!equalString(nodeA.getPrefix(), nodeB.getPrefix())) {
+ return false;
+ }
+ if (!equalString(nodeA.getNodeValue(), nodeB.getNodeValue())) {
+ return false;
+ }
+ if (!equalNamedNodeMap(nodeA.getAttributes(), nodeB.getAttributes())) {
+ return false;
+ }
+ if (!equalNodeList(nodeA.getChildNodes(), nodeB.getChildNodes())) {
+ return false;
+ }
+ if (nodeA.getNodeType() == Node.DOCUMENT_TYPE_NODE) {
+ DocumentType documentTypeA = (DocumentType) nodeA;
+ DocumentType documentTypeB = (DocumentType) nodeB;
+ if (!equalString(documentTypeA.getPublicId(),
documentTypeB.getPublicId())) {
+ return false;
+ }
+ if (!equalString(documentTypeA.getSystemId(),
documentTypeB.getSystemId())) {
+ return false;
+ }
+ if (!equalString(documentTypeA.getInternalSubset(),
documentTypeB.getInternalSubset())) {
+ return false;
+ }
+ if (!equalNamedNodeMap(documentTypeA.getEntities(),
documentTypeB.getEntities())) {
+ return false;
+ }
+ if (!equalNamedNodeMap(documentTypeA.getNotations(),
documentTypeB.getNotations())) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ private static boolean equalNodeList(NodeList nodeListA, NodeList
nodeListB) {
+ if (nodeListA == null) {
+ if (nodeListB == null) {
+ return true;
+ }
+ return false;
+ }
+ return equalNodes(nodeListA, nodeListB);
+ }
+
+ private static boolean equalString(String stringA, String stringB) {
+ if (stringA == null) {
+ if (stringB == null) {
+ return true;
+ }
+ return false;
+ }
+ return stringA.equals(stringB);
+ }
+
private static boolean equalNodes(NodeList sourceNodeList, NodeList
targetNodeList)
{
- ArrayList<Node> sourceNodes = new ArrayList<Node>();
- ArrayList<Node> targetNodes = new ArrayList<Node>();
+ ArrayList sourceNodes = new ArrayList();
+ ArrayList targetNodes = new ArrayList();
getAllNodes(sourceNodeList, sourceNodes);
getAllNodes(targetNodeList, targetNodes);
@@ -68,13 +173,20 @@
for (int i=0; i<sourceLength; i++)
{
- Node sourceNode = sourceNodes.get(i);
- Node targetNode = targetNodes.get(i);
+ Node sourceNode = (Node)sourceNodes.get(i);
+ Node targetNode = (Node)targetNodes.get(i);
+ /* remove comment when migrated to Java 1.5
if (!sourceNode.isEqualNode(targetNode))
{
return false;
}
+ */
+ // following is intended as 1.4 equivalent of isEqualNode()
+ if (!equalNode(sourceNode, targetNode))
+ {
+ return false;
+ }
} // for
return true;
@@ -139,9 +251,10 @@
return false;
}
- sourceDocument.normalizeDocument();
- targetDocument.normalizeDocument();
+ sourceDocument.normalize();
+ targetDocument.normalize();
+ /* remove comment when migrated to Java 1.5
if (!sourceDocument.getXmlVersion().equals(targetDocument.getXmlVersion()))
{
return false;
@@ -159,6 +272,7 @@
{
return false;
}
+ */
NodeList sourceNodes = sourceDocument.getChildNodes();
NodeList targetNodes = targetDocument.getChildNodes();
Modified:
incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/TypeRoundTripTest.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/TypeRoundTripTest.java?rev=390175&r1=390174&r2=390175&view=diff
==============================================================================
---
incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/TypeRoundTripTest.java
(original)
+++
incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/TypeRoundTripTest.java
Thu Mar 30 08:52:05 2006
@@ -126,7 +126,7 @@
tests[n].value
);
- System.out.print(".");
+ //System.out.print(".");
if (tests[n].comp == null) {
assertEquals(
Modified:
incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XSDHelperTestCase.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XSDHelperTestCase.java?rev=390175&r1=390174&r2=390175&view=diff
==============================================================================
---
incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XSDHelperTestCase.java
(original)
+++
incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XSDHelperTestCase.java
Thu Mar 30 08:52:05 2006
@@ -33,20 +33,20 @@
private URL modelURL;
public void testDefineWithLocation() throws IOException {
- List<Type> types = XSDHelper.INSTANCE.define(modelURL.openStream(),
modelURL.toString());
+ List types = XSDHelper.INSTANCE.define(modelURL.openStream(),
modelURL.toString());
assertEquals(2, types.size());
}
public void testDefineWithNoLocation() {
- List<Type> types =
XSDHelper.INSTANCE.define(getClass().getResourceAsStream(TEST_MODEL), null);
+ List types =
XSDHelper.INSTANCE.define(getClass().getResourceAsStream(TEST_MODEL), null);
assertEquals(2, types.size());
}
public void testDuplicateDefineWithLocation() throws IOException {
- List<Type> types = XSDHelper.INSTANCE.define(modelURL.openStream(),
modelURL.toString());
+ List types = XSDHelper.INSTANCE.define(modelURL.openStream(),
modelURL.toString());
assertEquals(2, types.size());
- List<Type> types2 = XSDHelper.INSTANCE.define(modelURL.openStream(),
modelURL.toString());
+ List types2 = XSDHelper.INSTANCE.define(modelURL.openStream(),
modelURL.toString());
assertEquals(types, types2);
}
Modified: incubator/tuscany/java/sdo/pom.xml
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/sdo/pom.xml?rev=390175&r1=390174&r2=390175&view=diff
==============================================================================
--- incubator/tuscany/java/sdo/pom.xml (original)
+++ incubator/tuscany/java/sdo/pom.xml Thu Mar 30 08:52:05 2006
@@ -36,6 +36,14 @@
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.4</source>
+ <target>1.4</target>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<includes>
Modified: incubator/tuscany/java/spec/sdo/pom.xml
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/spec/sdo/pom.xml?rev=390175&r1=390174&r2=390175&view=diff
==============================================================================
--- incubator/tuscany/java/spec/sdo/pom.xml (original)
+++ incubator/tuscany/java/spec/sdo/pom.xml Thu Mar 30 08:52:05 2006
@@ -34,4 +34,18 @@
<scope>test</scope>
</dependency>
</dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.4</source>
+ <target>1.4</target>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
</project>
Modified:
incubator/tuscany/java/spec/sdo/src/main/java/commonj/sdo/impl/HelperProvider.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/spec/sdo/src/main/java/commonj/sdo/impl/HelperProvider.java?rev=390175&r1=390174&r2=390175&view=diff
==============================================================================
---
incubator/tuscany/java/spec/sdo/src/main/java/commonj/sdo/impl/HelperProvider.java
(original)
+++
incubator/tuscany/java/spec/sdo/src/main/java/commonj/sdo/impl/HelperProvider.java
Thu Mar 30 08:52:05 2006
@@ -128,8 +128,8 @@
private static ClassLoader getContextClassLoader() {
try {
- return AccessController.doPrivileged(new
PrivilegedAction<ClassLoader>() {
- public ClassLoader run() {
+ return (ClassLoader)AccessController.doPrivileged(new
PrivilegedAction() {
+ public Object run() {
return Thread.currentThread().getContextClassLoader();
}
});
@@ -162,9 +162,8 @@
private static String getImplementationName() {
try {
- return AccessController.doPrivileged(new
PrivilegedAction<String>() {
- @SuppressWarnings({"AccessOfSystemProperties"})
- public String run() {
+ return (String)AccessController.doPrivileged(new
PrivilegedAction() {
+ public Object run() {
return System.getProperty(PROPERTY_NAME);
}
});
Modified:
incubator/tuscany/java/spec/sdo/src/test/java/commonj/sdo/impl/HelperProviderTestCase.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/spec/sdo/src/test/java/commonj/sdo/impl/HelperProviderTestCase.java?rev=390175&r1=390174&r2=390175&view=diff
==============================================================================
---
incubator/tuscany/java/spec/sdo/src/test/java/commonj/sdo/impl/HelperProviderTestCase.java
(original)
+++
incubator/tuscany/java/spec/sdo/src/test/java/commonj/sdo/impl/HelperProviderTestCase.java
Thu Mar 30 08:52:05 2006
@@ -26,7 +26,6 @@
/**
* @version $Revision$ $Date$
*/
[EMAIL PROTECTED]({"ClassLoader2Instantiation"})
public class HelperProviderTestCase extends TestCase {
private URL classes;
private URL testClasses;
@@ -39,8 +38,8 @@
public void testDefaultInstance() throws Exception {
ClassLoader cl = new URLClassLoader(new URL[]{classes, def,
testClasses}, null);
- Class<?> providerClass = cl.loadClass(HelperProvider.class.getName());
- Class<?> implClass =
cl.loadClass(DefaultHelperProvider.class.getName());
+ Class providerClass = cl.loadClass(HelperProvider.class.getName());
+ Class implClass = cl.loadClass(DefaultHelperProvider.class.getName());
Object instance = providerClass.getField("INSTANCE").get(null);
assertNotNull(instance);
assertEquals(implClass, instance.getClass());
@@ -48,8 +47,9 @@
public void testLocateFromClassLoader() throws Exception {
ClassLoader cl = new URLClassLoader(new URL[]{classes, tccl1,
testClasses}, null);
- Class<?> providerClass = cl.loadClass(HelperProvider.class.getName());
- Object provider = providerClass.getMethod("getInstance",
ClassLoader.class).invoke(null, cl);
+ Class providerClass = cl.loadClass(HelperProvider.class.getName());
+ Object provider = providerClass.getMethod("getInstance", new Class[]
{ClassLoader.class})
+ .invoke(null, new Object[] {cl});
assertNotNull(provider);
assertEquals(TCCL1HelperProvider.class.getName(),
provider.getClass().getName());
}
@@ -59,8 +59,8 @@
ClassLoader tccl = Thread.currentThread().getContextClassLoader();
try {
Thread.currentThread().setContextClassLoader(cl);
- Class<?> providerClass =
cl.loadClass(HelperProvider.class.getName());
- Object provider =
providerClass.getMethod("getInstance").invoke(null);
+ Class providerClass = cl.loadClass(HelperProvider.class.getName());
+ Object provider = providerClass.getMethod("getInstance", new
Class[0]).invoke(null, new Object[0]);
assertNotNull(provider);
assertEquals(TCCL1HelperProvider.class.getName(),
provider.getClass().getName());
} finally {
@@ -69,7 +69,6 @@
}
- @SuppressWarnings({"AccessOfSystemProperties"})
public void testSystemProperty() {
System.setProperty("commonj.sdo.impl.HelperProvider",
"test.TCCL1HelperProvider");
try {