You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2007/04/09 20:56:39 UTC

svn commit: r526873 - in /incubator/tuscany/java/sca/modules/core-databinding: ./ src/main/java/org/apache/tuscany/core/databinding/processor/

Author: rfeng
Date: Mon Apr  9 11:56:38 2007
New Revision: 526873

URL: http://svn.apache.org/viewvc?view=rev&rev=526873
Log:
Copy core-databinding, not compiled yet

Added:
    incubator/tuscany/java/sca/modules/core-databinding/
      - copied from r526848, incubator/tuscany/java/sca/kernel/databinding/
Modified:
    incubator/tuscany/java/sca/modules/core-databinding/pom.xml
    incubator/tuscany/java/sca/modules/core-databinding/src/main/java/org/apache/tuscany/core/databinding/processor/DataBindingJavaInterfaceProcessor.java
    incubator/tuscany/java/sca/modules/core-databinding/src/main/java/org/apache/tuscany/core/databinding/processor/JavaInterfaceIntrospector.java

Modified: incubator/tuscany/java/sca/modules/core-databinding/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core-databinding/pom.xml?view=diff&rev=526873&r1=526848&r2=526873
==============================================================================
--- incubator/tuscany/java/sca/modules/core-databinding/pom.xml (original)
+++ incubator/tuscany/java/sca/modules/core-databinding/pom.xml Mon Apr  9 11:56:38 2007
@@ -20,26 +20,36 @@
 <project>
     <parent>
         <groupId>org.apache.tuscany.sca</groupId>
-        <artifactId>kernel</artifactId>
-        <version>2.0-alpha2-incubating-SNAPSHOT</version>
+        <artifactId>tuscany-modules</artifactId>
+        <version>1.0-incubating-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
-    <groupId>org.apache.tuscany.sca.kernel</groupId>
+    <groupId>org.apache.tuscany.sca</groupId>
     <artifactId>tuscany-core-databinding</artifactId>
     <packaging>jar</packaging>
     <name>Apache Tuscany Core/DataBinding Integration</name>
     <description>Apache Tuscany Core/DataBinding Integration</description>
     <dependencies>
         <dependency>
-            <groupId>org.apache.tuscany.sca.services.databinding</groupId>
-            <artifactId>databinding-framework</artifactId>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-databinding</artifactId>
             <version>${project.version}</version>
             <scope>compile</scope>
         </dependency>
 
         <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-interface-java-xml</artifactId>
+            <version>${project.version}</version>
+            <scope>compile</scope>
+        </dependency>
+        
+        <dependency>
             <groupId>org.codehaus.woodstox</groupId>
             <artifactId>wstx-asl</artifactId>
+            <scope>runtime</scope>
+            <version>3.2.0</version>
         </dependency>
 
         <dependency>
@@ -48,6 +58,7 @@
             <version>1.0.1</version>
         </dependency>
 
+        <!-- 
         <dependency>
             <groupId>org.easymock</groupId>
             <artifactId>easymock</artifactId>
@@ -59,5 +70,6 @@
             <version>4.2</version>
             <scope>test</scope>
         </dependency>
+         -->
     </dependencies>
 </project>

Modified: incubator/tuscany/java/sca/modules/core-databinding/src/main/java/org/apache/tuscany/core/databinding/processor/DataBindingJavaInterfaceProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core-databinding/src/main/java/org/apache/tuscany/core/databinding/processor/DataBindingJavaInterfaceProcessor.java?view=diff&rev=526873&r1=526848&r2=526873
==============================================================================
--- incubator/tuscany/java/sca/modules/core-databinding/src/main/java/org/apache/tuscany/core/databinding/processor/DataBindingJavaInterfaceProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/core-databinding/src/main/java/org/apache/tuscany/core/databinding/processor/DataBindingJavaInterfaceProcessor.java Mon Apr  9 11:56:38 2007
@@ -29,18 +29,19 @@
 import java.util.Date;
 import java.util.GregorianCalendar;
 import java.util.HashSet;
+import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
 import javax.xml.datatype.Duration;
 import javax.xml.datatype.XMLGregorianCalendar;
 
-import org.apache.tuscany.api.annotation.DataType;
+import org.apache.tuscany.assembly.Contract;
+import org.apache.tuscany.databinding.DataType;
+import org.apache.tuscany.interfacedef.InvalidInterfaceException;
+import org.apache.tuscany.interfacedef.Operation;
+import org.apache.tuscany.interfacedef.java.introspection.JavaInterfaceProcessor;
 import org.apache.tuscany.spi.databinding.DataBindingRegistry;
-import org.apache.tuscany.spi.idl.InvalidServiceContractException;
-import org.apache.tuscany.spi.idl.java.JavaInterfaceProcessorExtension;
-import org.apache.tuscany.spi.idl.java.JavaServiceContract;
-import org.apache.tuscany.spi.model.Operation;
 import org.osoa.sca.annotations.Reference;
 
 /**
@@ -48,11 +49,21 @@
  * 
  * @version $Rev$ $Date$
  */
-public class DataBindingJavaInterfaceProcessor extends JavaInterfaceProcessorExtension {
-    private static final Class[] SIMPLE_JAVA_TYPES =
-        {Byte.class, Character.class, Short.class, Integer.class, Long.class, Float.class, Double.class, Date.class,
-         Calendar.class, GregorianCalendar.class, Duration.class, XMLGregorianCalendar.class, BigInteger.class,
-         BigDecimal.class};
+public class DataBindingJavaInterfaceProcessor implements JavaInterfaceProcessor {
+    private static final Class[] SIMPLE_JAVA_TYPES = {Byte.class,
+                                                      Character.class,
+                                                      Short.class,
+                                                      Integer.class,
+                                                      Long.class,
+                                                      Float.class,
+                                                      Double.class,
+                                                      Date.class,
+                                                      Calendar.class,
+                                                      GregorianCalendar.class,
+                                                      Duration.class,
+                                                      XMLGregorianCalendar.class,
+                                                      BigInteger.class,
+                                                      BigDecimal.class};
 
     private static final Set<Class> SIMPLE_TYPE_SET = new HashSet<Class>(Arrays.asList(SIMPLE_JAVA_TYPES));
 
@@ -64,28 +75,27 @@
         this.dataBindingRegistry = dataBindingRegistry;
     }
 
-    public void visitInterface(Class<?> clazz, Class<?> callbackClass, JavaServiceContract contract)
-        throws InvalidServiceContractException {
-        if (!contract.isRemotable()) {
+    public void visitInterface(Class<?> clazz, Class<?> callbackClass, Contract contract)
+        throws InvalidInterfaceException {
+        if (!contract.getInterface().isRemotable()) {
             return;
         }
-        Map<String, Operation<Type>> operations = contract.getOperations();
+        List<Operation> operations = contract.getInterface().getOperations();
         processInterface(clazz, contract, operations);
         if (callbackClass != null) {
-            Map<String, Operation<Type>> callbackOperations = contract.getCallbackOperations();
+            List<Operation> callbackOperations = contract.getCallbackInterface().getOperations();
             processInterface(callbackClass, contract, callbackOperations);
         }
     }
 
-    private void processInterface(Class<?> clazz, JavaServiceContract contract, 
-                                  Map<String, Operation<Type>> operations) {
+    private void processInterface(Class<?> clazz, Contract contract, List<Operation> operations) {
         // IDLMapping interfaceMapping = clazz.getAnnotation(IDLMapping.class);
         DataType interfaceDataType = clazz.getAnnotation(DataType.class);
         if (interfaceDataType != null) {
             contract.setDataBinding(interfaceDataType.name());
         }
         for (Method method : clazz.getMethods()) {
-            Operation<?> operation = operations.get(method.getName());
+            Operation operation = operations.get(method.getName());
             DataType operationDataType = method.getAnnotation(DataType.class);
             if (operationDataType == null) {
                 operationDataType = interfaceDataType;
@@ -95,15 +105,16 @@
                 operation.setDataBinding(operationDataType.name());
                 // FIXME: [rfeng] Keep data context as metadata?
             }
-//            IDLMapping operationMapping = clazz.getAnnotation(IDLMapping.class);
-//            if (operationMapping == null) {
-//                operationMapping = interfaceMapping;
-//            }
-//            
-//            if (operationMapping != null) {
-//                operation.setDataBinding(operationMapping.dataBinding());
-//                operation.setWrapperStyle(operationMapping.wrapperStyle());
-//            }
+            // IDLMapping operationMapping =
+            // clazz.getAnnotation(IDLMapping.class);
+            // if (operationMapping == null) {
+            // operationMapping = interfaceMapping;
+            // }
+            //            
+            // if (operationMapping != null) {
+            // operation.setDataBinding(operationMapping.dataBinding());
+            // operation.setWrapperStyle(operationMapping.wrapperStyle());
+            // }
             // String dataBinding = operation.getDataBinding();
 
             Annotation[] annotations = null;
@@ -111,13 +122,13 @@
                 annotations = new Annotation[] {operationDataType};
             }
             // FIXME: We need a better way to identify simple java types
-            for (org.apache.tuscany.spi.model.DataType<?> d : operation.getInputType().getLogical()) {
+            for (org.apache.tuscany.interfacedef.DataType<?> d : operation.getInputType().getLogical()) {
                 dataBindingRegistry.introspectType(d, annotations);
             }
             if (operation.getOutputType() != null) {
                 dataBindingRegistry.introspectType(operation.getOutputType(), annotations);
             }
-            for (org.apache.tuscany.spi.model.DataType<?> d : operation.getFaultTypes()) {
+            for (org.apache.tuscany.interfacedef.DataType<?> d : operation.getFaultTypes()) {
                 dataBindingRegistry.introspectType(d, annotations);
             }
         }

Modified: incubator/tuscany/java/sca/modules/core-databinding/src/main/java/org/apache/tuscany/core/databinding/processor/JavaInterfaceIntrospector.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core-databinding/src/main/java/org/apache/tuscany/core/databinding/processor/JavaInterfaceIntrospector.java?view=diff&rev=526873&r1=526848&r2=526873
==============================================================================
--- incubator/tuscany/java/sca/modules/core-databinding/src/main/java/org/apache/tuscany/core/databinding/processor/JavaInterfaceIntrospector.java (original)
+++ incubator/tuscany/java/sca/modules/core-databinding/src/main/java/org/apache/tuscany/core/databinding/processor/JavaInterfaceIntrospector.java Mon Apr  9 11:56:38 2007
@@ -18,9 +18,6 @@
  */
 package org.apache.tuscany.core.databinding.processor;
 
-import static org.apache.tuscany.spi.model.Operation.CONVERSATION_END;
-import static org.apache.tuscany.spi.model.Operation.NO_CONVERSATION;
-
 import java.lang.reflect.Method;
 import java.lang.reflect.Type;
 import java.util.ArrayList;
@@ -28,14 +25,10 @@
 import java.util.List;
 import java.util.Map;
 
+import org.apache.tuscany.interfacedef.DataType;
+import org.apache.tuscany.interfacedef.Operation;
+import org.apache.tuscany.interfacedef.OverloadedOperationException;
 import org.apache.tuscany.spi.databinding.DataBinding;
-import org.apache.tuscany.spi.idl.InvalidConversationalOperationException;
-import org.apache.tuscany.spi.idl.InvalidServiceContractException;
-import org.apache.tuscany.spi.idl.OverloadedOperationException;
-import org.apache.tuscany.spi.idl.java.InterfaceJavaIntrospector;
-import org.apache.tuscany.spi.idl.java.JavaServiceContract;
-import org.apache.tuscany.spi.model.DataType;
-import org.apache.tuscany.spi.model.Operation;
 import org.osoa.sca.annotations.Callback;
 import org.osoa.sca.annotations.Conversational;
 import org.osoa.sca.annotations.EndsConversation;
@@ -47,7 +40,7 @@
  *
  * @version $Rev$ $Date$
  */
-public class JavaInterfaceIntrospector implements InterfaceJavaIntrospector {
+public class JavaInterfaceIntrospector implements org.apache.tuscany.interfacedef.java.introspection.JavaInterfaceIntrospector {
     private static final String UNKNOWN_DATABINDING = null;
 
     public JavaInterfaceIntrospector() {



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org