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 {


Reply via email to