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