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/12 01:50:23 UTC
svn commit: r527726 [1/2] - in /incubator/tuscany/java/sca/modules: ./
core-databinding/src/main/java/org/apache/tuscany/core/databinding/processor/
core-databinding/src/main/java/org/apache/tuscany/core/databinding/transformers/
core-databinding/src/m...
Author: rfeng
Date: Wed Apr 11 16:50:20 2007
New Revision: 527726
URL: http://svn.apache.org/viewvc?view=rev&rev=527726
Log:
Add the interface mapping to IDL
Added:
incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/interfacedef/IncompatibleInterfaceContractException.java (with props)
incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/interfacedef/InterfaceContractMapper.java (with props)
incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/interfacedef/impl/DefaultInterfaceContractMapper.java (with props)
incubator/tuscany/java/sca/modules/interface/src/test/java/org/
incubator/tuscany/java/sca/modules/interface/src/test/java/org/apache/
incubator/tuscany/java/sca/modules/interface/src/test/java/org/apache/tuscany/
incubator/tuscany/java/sca/modules/interface/src/test/java/org/apache/tuscany/interfacedef/
incubator/tuscany/java/sca/modules/interface/src/test/java/org/apache/tuscany/interfacedef/impl/
incubator/tuscany/java/sca/modules/interface/src/test/java/org/apache/tuscany/interfacedef/impl/ContractCompatibilityTestCase.java (with props)
Removed:
incubator/tuscany/java/sca/modules/core-databinding/src/main/java/org/apache/tuscany/core/databinding/processor/DataBindingJavaInterfaceIntrospector.java
incubator/tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/spi/wire/IncompatibleServiceContractException.java
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/util/JavaIDLUtils.java
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/IDLMappingService.java
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/IncompatibleContractExceptionFormatter.java
incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/wire/ContractCompatibilityTestCase.java
incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/wire/IncompatibleServiceContractExceptionFormatterTestCase.java
Modified:
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/transformers/Input2InputTransformer.java
incubator/tuscany/java/sca/modules/core-databinding/src/main/java/org/apache/tuscany/core/databinding/transformers/Output2OutputTransformer.java
incubator/tuscany/java/sca/modules/core-databinding/src/main/java/org/apache/tuscany/core/databinding/wire/DataBindingInteceptor.java
incubator/tuscany/java/sca/modules/core-databinding/src/main/java/org/apache/tuscany/core/databinding/wire/DataBindingWirePostProcessor.java
incubator/tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/spi/wire/ProxyService.java
incubator/tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/spi/wire/Wire.java
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/ProxyServiceExtension.java
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/WireImpl.java
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/WireObjectFactory.java
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/WireUtils.java
incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/binding/local/LocalTargetInvokerTestCase.java
incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/wire/WireObjectFactoryTestCase.java
incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDO.java
incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDOLoader.java
incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOContextHelper.java
incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDODataBinding.java
incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOExceptionHandler.java
incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOHelperContext.java
incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOWrapperHandler.java
incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/databinding/impl/MediatorImpl.java
incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/databinding/impl/TransformationContextImpl.java
incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/spi/databinding/Mediator.java
incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/spi/databinding/TransformationContext.java
incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/spi/databinding/extension/SimpleTypeMapperExtension.java
incubator/tuscany/java/sca/modules/databinding/src/test/java/org/apache/tuscany/spi/databinding/extension/SimpleTypeMapperExtensionTestCase.java
incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/core/implementation/PojoAtomicComponent.java
incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/core/implementation/java/JavaAtomicComponent.java
incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/core/wire/jdk/JDKInvocationHandler.java
incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/core/wire/jdk/JDKCallbackInvocationHandlerTestCase.java
incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/core/wire/jdk/JDKInvocationHandlerProxyTestCase.java
incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/core/wire/jdk/JDKInvocationHandlerSerializationTestCase.java
incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/core/wire/jdk/JDKInvocationHandlerTestCase.java
incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/core/wire/jdk/JDKProxyTestCaseFIXME.java
incubator/tuscany/java/sca/modules/interface-java/src/main/java/org/apache/tuscany/interfacedef/java/impl/JavaInterfaceUtil.java
incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/interfacedef/Operation.java
incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/interfacedef/impl/OperationImpl.java
incubator/tuscany/java/sca/modules/pom.xml
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=527726&r1=527725&r2=527726
==============================================================================
--- 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 Wed Apr 11 16:50:20 2007
@@ -21,13 +21,13 @@
import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
-import java.lang.reflect.Type;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
+import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
@@ -36,11 +36,11 @@
import javax.xml.datatype.Duration;
import javax.xml.datatype.XMLGregorianCalendar;
-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.interfacedef.java.JavaInterface;
+import org.apache.tuscany.interfacedef.java.introspect.JavaInterfaceIntrospectorExtension;
import org.apache.tuscany.spi.databinding.DataBindingRegistry;
import org.osoa.sca.annotations.Reference;
@@ -49,53 +49,36 @@
*
* @version $Rev$ $Date$
*/
-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));
-
+public class DataBindingJavaInterfaceProcessor implements JavaInterfaceIntrospectorExtension {
private DataBindingRegistry dataBindingRegistry;
- public DataBindingJavaInterfaceProcessor(@Reference
- DataBindingRegistry dataBindingRegistry) {
+ public DataBindingJavaInterfaceProcessor(@Reference DataBindingRegistry dataBindingRegistry) {
super();
this.dataBindingRegistry = dataBindingRegistry;
}
- public void visitInterface(Class<?> clazz, Class<?> callbackClass, Contract contract)
+ public void visitInterface(JavaInterface javaInterface)
throws InvalidInterfaceException {
- if (!contract.getInterface().isRemotable()) {
+ if (!javaInterface.isRemotable()) {
return;
}
- List<Operation> operations = contract.getInterface().getOperations();
- processInterface(clazz, contract, operations);
- if (callbackClass != null) {
- List<Operation> callbackOperations = contract.getCallbackInterface().getOperations();
- processInterface(callbackClass, contract, callbackOperations);
- }
+ List<Operation> operations = javaInterface.getOperations();
+ processInterface(javaInterface, operations);
}
-
- private void processInterface(Class<?> clazz, Contract contract, List<Operation> operations) {
+
+ private void processInterface(JavaInterface javaInterface, List<Operation> operations) {
+ Class<?> clazz = javaInterface.getJavaClass();
// IDLMapping interfaceMapping = clazz.getAnnotation(IDLMapping.class);
DataType interfaceDataType = clazz.getAnnotation(DataType.class);
if (interfaceDataType != null) {
- contract.setDataBinding(interfaceDataType.name());
+ javaInterface.setDataBinding(interfaceDataType.name());
+ }
+ Map<String, Operation> opMap = new HashMap<String, Operation>();
+ for(Operation op: javaInterface.getOperations()) {
+ opMap.put(op.getName(), op);
}
for (Method method : clazz.getMethods()) {
- Operation operation = operations.get(method.getName());
+ Operation operation = opMap.get(method.getName());
DataType operationDataType = method.getAnnotation(DataType.class);
if (operationDataType == null) {
operationDataType = interfaceDataType;
@@ -105,17 +88,6 @@
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());
- // }
- // String dataBinding = operation.getDataBinding();
Annotation[] annotations = null;
if (operationDataType != null) {
Modified: incubator/tuscany/java/sca/modules/core-databinding/src/main/java/org/apache/tuscany/core/databinding/transformers/Input2InputTransformer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core-databinding/src/main/java/org/apache/tuscany/core/databinding/transformers/Input2InputTransformer.java?view=diff&rev=527726&r1=527725&r2=527726
==============================================================================
--- incubator/tuscany/java/sca/modules/core-databinding/src/main/java/org/apache/tuscany/core/databinding/transformers/Input2InputTransformer.java (original)
+++ incubator/tuscany/java/sca/modules/core-databinding/src/main/java/org/apache/tuscany/core/databinding/transformers/Input2InputTransformer.java Wed Apr 11 16:50:20 2007
@@ -94,21 +94,21 @@
@SuppressWarnings("unchecked")
public Object[] transform(Object[] source, TransformationContext context) {
- DataType<List<DataType<?>>> sourceType = context.getSourceDataType();
- Operation sourceOp = (Operation)sourceType.getOperation();
+ DataType<List<DataType>> sourceType = context.getSourceDataType();
+ Operation sourceOp = context.getSourceOperation();
boolean sourceWrapped = sourceOp != null && sourceOp.isWrapperStyle();
WrapperHandler sourceWrapperHandler = null;
if (sourceWrapped) {
- sourceWrapperHandler = getWrapperHandler(sourceType.getOperation().getDataBinding(), true);
+ sourceWrapperHandler = getWrapperHandler(sourceOp.getDataBinding(), true);
}
- DataType<List<DataType<XMLType>>> targetType = context.getTargetDataType();
- Operation targetOp = (Operation)targetType.getOperation();
+ DataType<List<DataType>> targetType = context.getTargetDataType();
+ Operation targetOp = (Operation)context.getTargetOperation();
boolean targetWrapped = targetOp != null && targetOp.isWrapperStyle();
WrapperHandler targetWrapperHandler = null;
if (targetWrapped) {
- targetWrapperHandler = getWrapperHandler(targetType.getOperation().getDataBinding(), true);
+ targetWrapperHandler = getWrapperHandler(targetOp.getDataBinding(), true);
}
if ((!sourceWrapped) && targetWrapped) {
@@ -128,7 +128,7 @@
if (source == null) {
return new Object[] {targetWrapper};
}
- List<DataType<XMLType>> argTypes = wrapper.getUnwrappedInputType().getLogical();
+ List<DataType> argTypes = wrapper.getUnwrappedInputType().getLogical();
for (int i = 0; i < source.length; i++) {
ElementInfo argElement = wrapper.getInputChildElements().get(i);
@@ -146,13 +146,13 @@
// List<ElementInfo> childElements = sourceOp.getWrapper().getInputChildElements();
Object[] target = null;
- targetWrapperHandler = getWrapperHandler(targetType.getOperation().getDataBinding(), false);
+ targetWrapperHandler = getWrapperHandler(targetOp.getDataBinding(), false);
if (targetWrapperHandler != null) {
ElementInfo wrapperElement = sourceOp.getWrapper().getInputWrapperElement();
// Object targetWrapper =
// targetWrapperHandler.create(wrapperElement, context);
DataType<XMLType> targetWrapperType =
- new DataType<XMLType>(targetType.getOperation().getDataBinding(), Object.class,
+ new DataType<XMLType>(targetOp.getDataBinding(), Object.class,
new XMLType(wrapperElement));
Object targetWrapper =
mediator.mediate(sourceWrapper,
Modified: incubator/tuscany/java/sca/modules/core-databinding/src/main/java/org/apache/tuscany/core/databinding/transformers/Output2OutputTransformer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core-databinding/src/main/java/org/apache/tuscany/core/databinding/transformers/Output2OutputTransformer.java?view=diff&rev=527726&r1=527725&r2=527726
==============================================================================
--- incubator/tuscany/java/sca/modules/core-databinding/src/main/java/org/apache/tuscany/core/databinding/transformers/Output2OutputTransformer.java (original)
+++ incubator/tuscany/java/sca/modules/core-databinding/src/main/java/org/apache/tuscany/core/databinding/transformers/Output2OutputTransformer.java Wed Apr 11 16:50:20 2007
@@ -23,6 +23,7 @@
import org.apache.tuscany.interfacedef.DataType;
import org.apache.tuscany.interfacedef.Operation;
+import org.apache.tuscany.interfacedef.impl.DataTypeImpl;
import org.apache.tuscany.interfacedef.util.ElementInfo;
import org.apache.tuscany.interfacedef.util.WrapperInfo;
import org.apache.tuscany.interfacedef.util.XMLType;
@@ -116,7 +117,7 @@
public Object transform(Object response, TransformationContext context) {
try {
DataType<DataType> sourceType = context.getSourceDataType();
- Operation sourceOp = (Operation)sourceType.getOperation();
+ Operation sourceOp = context.getSourceOperation();
boolean sourceWrapped = sourceOp != null && sourceOp.isWrapperStyle();
WrapperHandler sourceWrapperHandler = null;
if (sourceWrapped) {
@@ -124,7 +125,7 @@
}
DataType<DataType> targetType = context.getTargetDataType();
- Operation targetOp = (Operation)targetType.getOperation();
+ Operation targetOp = context.getTargetOperation();
boolean targetWrapped = targetOp != null && targetOp.isWrapperStyle();
WrapperHandler targetWrapperHandler = null;
if (targetWrapped) {
@@ -162,7 +163,7 @@
// Object targetWrapper =
// targetWrapperHandler.create(wrapperElement, context);
DataType<XMLType> targetWrapperType =
- new DataType<XMLType>(targetType.getLogical().getDataBinding(), Object.class,
+ new DataTypeImpl<XMLType>(targetType.getLogical().getDataBinding(), Object.class,
new XMLType(wrapperElement));
Object targetWrapper =
mediator.mediate(sourceWrapper, sourceType.getLogical(), targetWrapperType, context
Modified: incubator/tuscany/java/sca/modules/core-databinding/src/main/java/org/apache/tuscany/core/databinding/wire/DataBindingInteceptor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core-databinding/src/main/java/org/apache/tuscany/core/databinding/wire/DataBindingInteceptor.java?view=diff&rev=527726&r1=527725&r2=527726
==============================================================================
--- incubator/tuscany/java/sca/modules/core-databinding/src/main/java/org/apache/tuscany/core/databinding/wire/DataBindingInteceptor.java (original)
+++ incubator/tuscany/java/sca/modules/core-databinding/src/main/java/org/apache/tuscany/core/databinding/wire/DataBindingInteceptor.java Wed Apr 11 16:50:20 2007
@@ -24,15 +24,16 @@
import java.util.HashMap;
import java.util.Map;
+import org.apache.tuscany.interfacedef.DataType;
+import org.apache.tuscany.interfacedef.Operation;
+import org.apache.tuscany.interfacedef.impl.DataTypeImpl;
+import org.apache.tuscany.interfacedef.util.FaultException;
import org.apache.tuscany.spi.component.Component;
import org.apache.tuscany.spi.component.ComponentManager;
import org.apache.tuscany.spi.databinding.DataBinding;
import org.apache.tuscany.spi.databinding.ExceptionHandler;
import org.apache.tuscany.spi.databinding.Mediator;
import org.apache.tuscany.spi.databinding.TransformationException;
-import org.apache.tuscany.spi.idl.ServiceFaultException;
-import org.apache.tuscany.spi.model.DataType;
-import org.apache.tuscany.spi.model.Operation;
import org.apache.tuscany.spi.util.UriHelper;
import org.apache.tuscany.spi.wire.Interceptor;
import org.apache.tuscany.spi.wire.Message;
@@ -48,16 +49,16 @@
private Component composite;
- private Operation<?> sourceOperation;
+ private Operation sourceOperation;
- private Operation<?> targetOperation;
+ private Operation targetOperation;
private Mediator mediator;
public DataBindingInteceptor(ComponentManager componentManager,
Wire wire,
- Operation<?> sourceOperation,
- Operation<?> targetOperation) {
+ Operation sourceOperation,
+ Operation targetOperation) {
super();
this.sourceOperation = sourceOperation;
this.targetOperation = targetOperation;
@@ -95,12 +96,10 @@
// FIXME: Should we fix the Operation model so that getOutputType
// returns DataType<DataType<T>>?
DataType<DataType> targetType =
- new DataType<DataType>(DataBinding.IDL_OUTPUT, Object.class, targetOperation.getOutputType());
+ new DataTypeImpl<DataType>(DataBinding.IDL_OUTPUT, Object.class, targetOperation.getOutputType());
- targetType.setOperation(targetOperation.getOutputType().getOperation());
DataType<DataType> sourceType =
- new DataType<DataType>(DataBinding.IDL_OUTPUT, Object.class, sourceOperation.getOutputType());
- sourceType.setOperation(sourceOperation.getOutputType().getOperation());
+ new DataTypeImpl<DataType>(DataBinding.IDL_OUTPUT, Object.class, sourceOperation.getOutputType());
if (resultMsg.isFault()) {
@@ -121,8 +120,8 @@
DataType targetDataType = null;
for (DataType exType : targetOperation.getFaultTypes()) {
if (((Class)exType.getPhysical()).isInstance(result)) {
- if (result instanceof ServiceFaultException) {
- if (((ServiceFaultException)result).isMatchingType(exType.getLogical())) {
+ if (result instanceof FaultException) {
+ if (((FaultException)result).isMatchingType(exType.getLogical())) {
targetDataType = exType;
break;
}
@@ -184,8 +183,10 @@
if (sourceType == targetType || (sourceType != null && sourceType.equals(targetType))) {
return source;
}
- Map<Class<?>, Object> metadata = new HashMap<Class<?>, Object>();
- metadata.put(Component.class, composite);
+ Map<String, Object> metadata = new HashMap<String, Object>();
+ metadata.put(Component.class.getName(), composite);
+ metadata.put("source.operation", sourceOperation);
+ metadata.put("target.operation", targetOperation);
return mediator.mediate(source, sourceType, targetType, metadata);
}
@@ -219,13 +220,13 @@
if (sourceType == targetType || (sourceType != null && sourceType.equals(targetType))) {
return source;
}
- Map<Class<?>, Object> metadata = new HashMap<Class<?>, Object>();
- metadata.put(Component.class, composite);
+ Map<String, Object> metadata = new HashMap<String, Object>();
+ metadata.put(Component.class.getName(), composite);
- DataType<DataType<?>> eSourceDataType =
- new DataType<DataType<?>>("idl:fault", sourceExType.getPhysical(), sourceType);
- DataType<DataType<?>> eTargetDataType =
- new DataType<DataType<?>>("idl:fault", targetExType.getPhysical(), targetType);
+ DataType<DataType> eSourceDataType =
+ new DataTypeImpl<DataType>("idl:fault", sourceExType.getPhysical(), sourceType);
+ DataType<DataType> eTargetDataType =
+ new DataTypeImpl<DataType>("idl:fault", targetExType.getPhysical(), targetType);
return mediator.mediate(source, eSourceDataType, eTargetDataType, metadata);
}
Modified: incubator/tuscany/java/sca/modules/core-databinding/src/main/java/org/apache/tuscany/core/databinding/wire/DataBindingWirePostProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core-databinding/src/main/java/org/apache/tuscany/core/databinding/wire/DataBindingWirePostProcessor.java?view=diff&rev=527726&r1=527725&r2=527726
==============================================================================
--- incubator/tuscany/java/sca/modules/core-databinding/src/main/java/org/apache/tuscany/core/databinding/wire/DataBindingWirePostProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/core-databinding/src/main/java/org/apache/tuscany/core/databinding/wire/DataBindingWirePostProcessor.java Wed Apr 11 16:50:20 2007
@@ -21,10 +21,10 @@
import java.util.Map;
+import org.apache.tuscany.interfacedef.InterfaceContract;
+import org.apache.tuscany.interfacedef.Operation;
import org.apache.tuscany.spi.component.ComponentManager;
import org.apache.tuscany.spi.databinding.Mediator;
-import org.apache.tuscany.spi.model.Operation;
-import org.apache.tuscany.spi.model.ServiceContract;
import org.apache.tuscany.spi.wire.InvocationChain;
import org.apache.tuscany.spi.wire.Wire;
import org.apache.tuscany.spi.wire.WirePostProcessorExtension;
@@ -50,19 +50,19 @@
}
public void process(Wire wire) {
- ServiceContract<?> sourceContract = wire.getSourceContract();
- ServiceContract<?> targetContract = wire.getTargetContract();
+ InterfaceContract sourceContract = wire.getSourceContract();
+ InterfaceContract targetContract = wire.getTargetContract();
if (targetContract == null) {
targetContract = sourceContract;
}
if (sourceContract == targetContract) {
return;
}
- Map<Operation<?>, InvocationChain> chains = wire.getInvocationChains();
- for (Map.Entry<Operation<?>, InvocationChain> entry : chains.entrySet()) {
+ Map<Operation, InvocationChain> chains = wire.getInvocationChains();
+ for (Map.Entry<Operation, InvocationChain> entry : chains.entrySet()) {
String opName = entry.getKey().getName();
- Operation<?> sourceOperation = sourceContract.getOperation(opName);
- Operation<?> targetOperation = targetContract.getOperation(opName);
+ Operation sourceOperation = sourceContract.getOperation(opName);
+ Operation targetOperation = targetContract.getOperation(opName);
String sourceDataBinding = sourceOperation.getDataBinding();
String targetDataBinding = targetOperation.getDataBinding();
if (sourceDataBinding == null && targetDataBinding == null) {
@@ -81,16 +81,16 @@
}
// Object targetAddress = UriHelper.getBaseName(source.getUri());
- Map<Operation<?>, InvocationChain> callbackChains = wire.getCallbackInvocationChains();
+ Map<Operation, InvocationChain> callbackChains = wire.getCallbackInvocationChains();
if (callbackChains == null) {
// callback chains could be null
return;
}
- for (Map.Entry<Operation<?>, InvocationChain> entry : callbackChains.entrySet()) {
+ for (Map.Entry<Operation, InvocationChain> entry : callbackChains.entrySet()) {
String opName = entry.getKey().getName();
- Operation<?> sourceOperation = sourceContract.getCallbackOperations().get(opName);
- Operation<?> targetOperation = targetContract.getCallbackOperations().get(opName);
+ Operation sourceOperation = sourceContract.getCallbackOperations().get(opName);
+ Operation targetOperation = targetContract.getCallbackOperations().get(opName);
String sourceDataBinding = sourceOperation.getDataBinding();
String targetDataBinding = targetOperation.getDataBinding();
if (sourceDataBinding == null && targetDataBinding == null) {
Modified: incubator/tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/spi/wire/ProxyService.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/spi/wire/ProxyService.java?view=diff&rev=527726&r1=527725&r2=527726
==============================================================================
--- incubator/tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/spi/wire/ProxyService.java (original)
+++ incubator/tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/spi/wire/ProxyService.java Wed Apr 11 16:50:20 2007
@@ -23,6 +23,7 @@
import java.util.Map;
import org.apache.tuscany.assembly.Contract;
+import org.apache.tuscany.interfacedef.IncompatibleInterfaceContractException;
import org.osoa.sca.CallableReference;
/**
@@ -74,36 +75,5 @@
* @throws IllegalArgumentException if the object supplied is not a proxy
*/
<B, R extends CallableReference<B>> R cast(B target) throws IllegalArgumentException;
-
- /**
- * Check the compatiblity of the source and the target service contracts.<p> A wire may only connect a source to a
- * target if the target implements an interface that is compatible with the interface required by the source. The
- * source and the target are compatible if:
- * <p/>
- * <ol> <li>the source interface and the target interface MUST either both be remotable or they are both local
- * <li>the methods on the target interface MUST be the same as or be a superset of the methods in the interface
- * specified on the source <li>compatibility for the individual method is defined as compatibility of the signature,
- * that is method name, input types, and output types MUST BE the same. <li>the order of the input and output types
- * also MUST BE the same. <li>the set of Faults and Exceptions expected by the source MUST BE the same or be a
- * superset of those specified by the service. <li>other specified attributes of the two interfaces MUST match,
- * including Scope and Callback interface </ol>
- * <p/>
- * <p>Please note this test is not symetric: the success of checkCompatibility(A, B) does NOT imply
- * checkCompatibility(B, A)
- *
- * @param source The source service contract
- * @param target The target service contract
- * @param ignoreCallback Indicate the callback should be checked
- * @param silent if true, errors will be thrown if the service contracts are not compatible
- * @return true if the service contracts are compatible
- * @throws IncompatibleServiceContractException
- * If the source service contract is not compatible with the target one
- * <p/>
- * TODO JFM this method should be moved from this interface to the allocator phase
- */
- boolean checkCompatibility(Contract source,
- Contract target,
- boolean ignoreCallback,
- boolean silent) throws IncompatibleServiceContractException;
}
Modified: incubator/tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/spi/wire/Wire.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/spi/wire/Wire.java?view=diff&rev=527726&r1=527725&r2=527726
==============================================================================
--- incubator/tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/spi/wire/Wire.java (original)
+++ incubator/tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/spi/wire/Wire.java Wed Apr 11 16:50:20 2007
@@ -23,7 +23,7 @@
import javax.xml.namespace.QName;
-import org.apache.tuscany.assembly.Contract;
+import org.apache.tuscany.interfacedef.InterfaceContract;
import org.apache.tuscany.interfacedef.Operation;
import org.apache.tuscany.spi.component.AtomicComponent;
import org.apache.tuscany.spi.component.TargetResolutionException;
@@ -77,7 +77,7 @@
* @return the service contract associated with the wire
* @Deprecated
*/
- Contract getSourceContract();
+ InterfaceContract getSourceContract();
/**
* Sets the contract associated with the source side of the wire
@@ -85,7 +85,7 @@
* @param contract the contract associated with the wire
* @Deprecated
*/
- void setSourceContract(Contract contract);
+ void setSourceContract(InterfaceContract contract);
/**
* Returns the service contract associated with the the target side of the wire
@@ -93,7 +93,7 @@
* @return the service contract associated with the wire
* @Deprecated
*/
- Contract getTargetContract();
+ InterfaceContract getTargetContract();
/**
* Sets the contract associated with the the target side of the wire
@@ -101,7 +101,7 @@
* @param contract the contract associated with the wire
* @Deprecated
*/
- void setTargetContract(Contract contract);
+ void setTargetContract(InterfaceContract contract);
/**
* Returns true if the wire is optimizable and its invocation chains may be bypassed
Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java?view=diff&rev=527726&r1=527725&r2=527726
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java Wed Apr 11 16:50:20 2007
@@ -30,7 +30,6 @@
import org.apache.tuscany.assembly.ComponentReference;
import org.apache.tuscany.assembly.ComponentService;
import org.apache.tuscany.assembly.Composite;
-import org.apache.tuscany.assembly.Contract;
import org.apache.tuscany.assembly.Implementation;
import org.apache.tuscany.assembly.Multiplicity;
import org.apache.tuscany.assembly.SCABinding;
@@ -42,6 +41,7 @@
import org.apache.tuscany.core.wire.InvokerInterceptor;
import org.apache.tuscany.core.wire.WireImpl;
import org.apache.tuscany.core.wire.WireUtils;
+import org.apache.tuscany.interfacedef.InterfaceContract;
import org.apache.tuscany.interfacedef.Operation;
import org.apache.tuscany.spi.Scope;
import org.apache.tuscany.spi.builder.Builder;
@@ -65,8 +65,6 @@
import org.apache.tuscany.spi.wire.Wire;
import org.osoa.sca.annotations.Reference;
-import com.sun.jndi.toolkit.ctx.ComponentDirContext;
-
/**
* Default implementation of Deployer.
*
@@ -183,7 +181,7 @@
throw new ComponentNotFoundException("Target not found", targetUri);
}
URI sourceURI = URI.create(source.getUri() + "#" + refName);
- Wire wire = createWire(sourceURI, targetUri, refDefinition, Wire.LOCAL_BINDING);
+ Wire wire = createWire(sourceURI, targetUri, refDefinition.getInterfaceContract(), Wire.LOCAL_BINDING);
try {
attachInvokers(refName, wire, source, target);
} catch (TargetInvokerCreationException e) {
@@ -220,13 +218,13 @@
return source;
}
- protected Wire createWire(URI sourceURI, URI targetUri, Contract contract, QName bindingType) {
+ protected Wire createWire(URI sourceURI, URI targetUri, InterfaceContract contract, QName bindingType) {
Wire wire = new WireImpl(bindingType);
wire.setSourceContract(contract);
wire.setTargetContract(contract);
wire.setSourceUri(sourceURI);
wire.setTargetUri(targetUri);
- for (Operation operation : contract.getInterfaceContract().getInterface().getOperations()) {
+ for (Operation operation : contract.getInterface().getOperations()) {
InvocationChain chain = new InvocationChainImpl(operation);
/*
* if (operation.isNonBlocking()) { chain.addInterceptor(new
@@ -236,8 +234,8 @@
wire.addInvocationChain(operation, chain);
}
- if (contract.getInterfaceContract().getCallbackInterface() != null) {
- for (Operation operation : contract.getInterfaceContract().getCallbackInterface().getOperations()) {
+ if (contract.getCallbackInterface() != null) {
+ for (Operation operation : contract.getCallbackInterface().getOperations()) {
InvocationChain chain = new InvocationChainImpl(operation);
/*
* if (operation.isNonBlocking()) { chain.addInterceptor(new
Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/ProxyServiceExtension.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/ProxyServiceExtension.java?view=diff&rev=527726&r1=527725&r2=527726
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/ProxyServiceExtension.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/ProxyServiceExtension.java Wed Apr 11 16:50:20 2007
@@ -20,10 +20,11 @@
import java.util.List;
-import org.apache.tuscany.assembly.Contract;
+import org.apache.tuscany.interfacedef.IncompatibleInterfaceContractException;
+import org.apache.tuscany.interfacedef.InterfaceContract;
+import org.apache.tuscany.interfacedef.InterfaceContractMapper;
import org.apache.tuscany.interfacedef.Operation;
import org.apache.tuscany.spi.component.WorkContext;
-import org.apache.tuscany.spi.wire.IncompatibleServiceContractException;
import org.apache.tuscany.spi.wire.ProxyService;
/**
@@ -33,6 +34,7 @@
*/
public abstract class ProxyServiceExtension implements ProxyService {
protected WorkContext context;
+ protected InterfaceContractMapper contractMapper;
protected ProxyServiceExtension(WorkContext context) {
this.context = context;
@@ -48,73 +50,9 @@
return null;
}
- public boolean checkCompatibility(Contract source, Contract target, boolean ignoreCallback, boolean silent)
- throws IncompatibleServiceContractException {
- if (source == target) {
- // Shortcut for performance
- return true;
- }
- if (source.getInterfaceContract().getInterface().isRemotable() != target.getInterfaceContract().getInterface().isRemotable()) {
- if (!silent) {
- throw new IncompatibleServiceContractException("Remotable settings do not match", source, target);
- } else {
- return false;
- }
- }
- if (source.getInterfaceContract().getInterface().isConversational() != target.getInterfaceContract().getInterface().isConversational()) {
- if (!silent) {
- throw new IncompatibleServiceContractException("Interaction scopes do not match", source, target);
- } else {
- return false;
- }
- }
-
- for (Operation operation : source.getInterfaceContract().getInterface().getOperations()) {
- Operation targetOperation = getOperation(target.getInterfaceContract().getInterface().getOperations(), operation.getName());
- if (targetOperation == null) {
- if (!silent) {
- throw new IncompatibleServiceContractException("Operation not found on target", source, target);
- } else {
- return false;
- }
- }
- if (!operation.equals(targetOperation)) {
- if (!silent) {
- throw new IncompatibleServiceContractException("Target operations are not compatible", source,
- target);
- } else {
- return false;
- }
- }
- }
-
- if (ignoreCallback) {
- return true;
- }
-
- if (source.getInterfaceContract().getCallbackInterface() != null) {
- for (Operation operation : source.getInterfaceContract().getCallbackInterface().getOperations()) {
- Operation targetOperation = getOperation(target.getInterfaceContract().getCallbackInterface().getOperations(), operation
- .getName());
- if (targetOperation == null) {
- if (!silent) {
- throw new IncompatibleServiceContractException("Callback operation not found on target",
- source, target, null, targetOperation);
- } else {
- return false;
- }
- }
- if (!operation.equals(targetOperation)) {
- if (!silent) {
- throw new IncompatibleServiceContractException("Target callback operation is not compatible",
- source, target, operation, targetOperation);
- } else {
- return false;
- }
- }
- }
- }
- return true;
+ public boolean checkCompatibility(InterfaceContract source, InterfaceContract target, boolean ignoreCallback, boolean silent)
+ throws IncompatibleInterfaceContractException {
+ return contractMapper.checkCompatibility(source, target, ignoreCallback, silent);
}
}
Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/WireImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/WireImpl.java?view=diff&rev=527726&r1=527725&r2=527726
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/WireImpl.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/WireImpl.java Wed Apr 11 16:50:20 2007
@@ -25,7 +25,7 @@
import javax.xml.namespace.QName;
-import org.apache.tuscany.assembly.Contract;
+import org.apache.tuscany.interfacedef.InterfaceContract;
import org.apache.tuscany.interfacedef.Operation;
import org.apache.tuscany.spi.component.AtomicComponent;
import org.apache.tuscany.spi.component.TargetResolutionException;
@@ -41,8 +41,8 @@
private URI sourceUri;
private URI targetUri;
private QName bindingType;
- private Contract sourceContract;
- private Contract targetContract;
+ private InterfaceContract sourceContract;
+ private InterfaceContract targetContract;
private boolean optimizable;
private Map<Operation, InvocationChain> chains = new HashMap<Operation, InvocationChain>();
private Map<Operation, InvocationChain> callbackChains = new HashMap<Operation, InvocationChain>();
@@ -84,20 +84,20 @@
}
- public Contract getSourceContract() {
+ public InterfaceContract getSourceContract() {
return sourceContract;
}
- public void setSourceContract(Contract contract) {
+ public void setSourceContract(InterfaceContract contract) {
this.sourceContract = contract;
}
- public Contract getTargetContract() {
+ public InterfaceContract getTargetContract() {
return targetContract;
}
- public void setTargetContract(Contract contract) {
+ public void setTargetContract(InterfaceContract contract) {
this.targetContract = contract;
}
Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/WireObjectFactory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/WireObjectFactory.java?view=diff&rev=527726&r1=527725&r2=527726
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/WireObjectFactory.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/WireObjectFactory.java Wed Apr 11 16:50:20 2007
@@ -60,7 +60,7 @@
this.proxyService = proxyService;
this.mappings = WireUtils.createInterfaceToWireMapping(interfaze, wire);
if (wire.isOptimizable()) {
- Interface iface = wire.getSourceContract().getInterfaceContract().getInterface();
+ Interface iface = wire.getSourceContract().getInterface();
if (iface instanceof JavaInterface) {
Class type = ((JavaInterface)iface).getJavaClass();
if (interfaze.isAssignableFrom(type)) {
Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/WireUtils.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/WireUtils.java?view=diff&rev=527726&r1=527725&r2=527726
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/WireUtils.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/WireUtils.java Wed Apr 11 16:50:20 2007
@@ -22,8 +22,8 @@
import java.util.HashMap;
import java.util.Map;
-import org.apache.tuscany.core.util.JavaIDLUtils;
import org.apache.tuscany.interfacedef.Operation;
+import org.apache.tuscany.interfacedef.java.impl.JavaInterfaceUtil;
import org.apache.tuscany.spi.wire.ChainHolder;
import org.apache.tuscany.spi.wire.Interceptor;
import org.apache.tuscany.spi.wire.InvocationChain;
@@ -57,7 +57,7 @@
for (Map.Entry<Operation, InvocationChain> entry : invocationChains.entrySet()) {
Operation operation = entry.getKey();
try {
- Method method = JavaIDLUtils.findMethod(interfaze, operation);
+ Method method = JavaInterfaceUtil.findMethod(interfaze, operation);
chains.put(method, new ChainHolder(entry.getValue()));
} catch (NoSuchMethodException e) {
throw new NoMethodForOperationException(operation.getName());
Modified: incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/binding/local/LocalTargetInvokerTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/binding/local/LocalTargetInvokerTestCase.java?view=diff&rev=527726&r1=527725&r2=527726
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/binding/local/LocalTargetInvokerTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/binding/local/LocalTargetInvokerTestCase.java Wed Apr 11 16:50:20 2007
@@ -26,11 +26,13 @@
import org.apache.tuscany.assembly.impl.ComponentServiceImpl;
import org.apache.tuscany.core.wire.InvocationChainImpl;
import org.apache.tuscany.core.wire.WireImpl;
+import org.apache.tuscany.interfacedef.InterfaceContract;
import org.apache.tuscany.interfacedef.Operation;
import org.apache.tuscany.interfacedef.impl.OperationImpl;
import org.apache.tuscany.interfacedef.java.JavaInterface;
import org.apache.tuscany.interfacedef.java.JavaInterfaceContract;
import org.apache.tuscany.interfacedef.java.impl.DefaultJavaFactory;
+import org.apache.tuscany.interfacedef.java.impl.JavaInterfaceContractImpl;
import org.apache.tuscany.spi.wire.InvocationChain;
import org.apache.tuscany.spi.wire.Message;
import org.apache.tuscany.spi.wire.MessageImpl;
@@ -42,7 +44,7 @@
* @version $Rev$ $Date$
*/
public class LocalTargetInvokerTestCase extends TestCase {
- private Contract serviceContract;
+ private InterfaceContract serviceContract;
private Operation operation;
public void testInvoke() {
@@ -109,7 +111,7 @@
protected void setUp() throws Exception {
super.setUp();
- serviceContract = new ComponentServiceImpl();
+ serviceContract = new JavaInterfaceContractImpl();
operation = new OperationImpl();
operation.setName("foo");
}
Modified: incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/wire/WireObjectFactoryTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/wire/WireObjectFactoryTestCase.java?view=diff&rev=527726&r1=527725&r2=527726
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/wire/WireObjectFactoryTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/wire/WireObjectFactoryTestCase.java Wed Apr 11 16:50:20 2007
@@ -24,12 +24,10 @@
import junit.framework.TestCase;
-import org.apache.tuscany.assembly.ComponentService;
-import org.apache.tuscany.assembly.impl.ComponentServiceImpl;
+import org.apache.tuscany.interfacedef.InterfaceContract;
import org.apache.tuscany.interfacedef.Operation;
import org.apache.tuscany.interfacedef.impl.OperationImpl;
import org.apache.tuscany.interfacedef.java.JavaInterface;
-import org.apache.tuscany.interfacedef.java.JavaInterfaceContract;
import org.apache.tuscany.interfacedef.java.impl.JavaInterfaceContractImpl;
import org.apache.tuscany.interfacedef.java.impl.JavaInterfaceImpl;
import org.apache.tuscany.spi.wire.InvocationChain;
@@ -69,7 +67,7 @@
@SuppressWarnings("unchecked")
public void testOptimizedCreateInstance() throws Exception {
- ComponentService service = createContract(Foo.class);
+ InterfaceContract service = createContract(Foo.class);
Wire wire = EasyMock.createMock(Wire.class);
EasyMock.expect(wire.isOptimizable()).andReturn(true);
@@ -86,14 +84,11 @@
}
- private ComponentService createContract(Class cls) {
+ private InterfaceContract createContract(Class cls) {
JavaInterface jInterface = new JavaInterfaceImpl();
jInterface.setJavaClass(cls);
- ComponentService service = new ComponentServiceImpl();
- JavaInterfaceContract javaInterfaceContract = new JavaInterfaceContractImpl();
- service.setInterfaceContract(javaInterfaceContract);
- javaInterfaceContract.setInterface(jInterface);
- service.setName(cls.getSimpleName());
+ InterfaceContract service = new JavaInterfaceContractImpl();
+ service.setInterface(jInterface);
return service;
}
@@ -102,7 +97,7 @@
*/
@SuppressWarnings("unchecked")
public void testCannotOptimizeDifferentContractsCreateInstance() throws Exception {
- ComponentService contract = createContract(Object.class);
+ InterfaceContract contract = createContract(Object.class);
Wire wire = EasyMock.createMock(Wire.class);
EasyMock.expect(wire.isOptimizable()).andReturn(true);
EasyMock.expect(wire.getSourceContract()).andReturn(contract).atLeastOnce();
@@ -125,7 +120,7 @@
@SuppressWarnings("unchecked")
public void testNoJavaInterfaceCreateInstance() throws Exception {
- ComponentService contract = createContract(Object.class);
+ InterfaceContract contract = createContract(Object.class);
Wire wire = EasyMock.createMock(Wire.class);
EasyMock.expect(wire.isOptimizable()).andReturn(true);
EasyMock.expect(wire.getSourceContract()).andReturn(contract).atLeastOnce();
Modified: incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDO.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDO.java?view=diff&rev=527726&r1=527725&r2=527726
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDO.java (original)
+++ incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDO.java Wed Apr 11 16:50:20 2007
@@ -21,6 +21,8 @@
import javax.xml.namespace.QName;
+import org.apache.tuscany.assembly.impl.BaseImpl;
+
import commonj.sdo.helper.HelperContext;
/**
@@ -28,18 +30,49 @@
*
* @version $Rev$ $Date$
*/
-public class ImportSDO extends ModelObject {
+public class ImportSDO extends BaseImpl {
public static final QName IMPORT_SDO =
new QName("http://tuscany.apache.org/xmlns/sca/databinding/sdo/1.0", "import.sdo");
private HelperContext helperContext;
+ private String factoryClassName;
+ private String schemaLocation;
public ImportSDO(HelperContext helperContext) {
super();
this.helperContext = helperContext;
+ setUnresolved(true);
}
public HelperContext getHelperContext() {
return helperContext;
+ }
+
+ /**
+ * @return the factoryClassName
+ */
+ public String getFactoryClassName() {
+ return factoryClassName;
+ }
+
+ /**
+ * @param factoryClassName the factoryClassName to set
+ */
+ public void setFactoryClassName(String factoryClassName) {
+ this.factoryClassName = factoryClassName;
+ }
+
+ /**
+ * @return the schemaLocation
+ */
+ public String getSchemaLocation() {
+ return schemaLocation;
+ }
+
+ /**
+ * @param schemaLocation the schemaLocation to set
+ */
+ public void setSchemaLocation(String schemaLocation) {
+ this.schemaLocation = schemaLocation;
}
}
Modified: incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDOLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDOLoader.java?view=diff&rev=527726&r1=527725&r2=527726
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDOLoader.java (original)
+++ incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDOLoader.java Wed Apr 11 16:50:20 2007
@@ -32,6 +32,9 @@
import javax.xml.stream.XMLStreamReader;
import org.apache.tuscany.sdo.util.SDOUtil;
+import org.apache.tuscany.services.spi.contribution.ContributionReadException;
+import org.apache.tuscany.services.spi.contribution.StAXArtifactProcessor;
+import org.apache.tuscany.services.spi.contribution.StAXArtifactProcessorRegistry;
import commonj.sdo.helper.HelperContext;
import commonj.sdo.helper.XSDHelper;
@@ -42,11 +45,12 @@
*
* @version $Rev$ $Date$
*/
-public class ImportSDOLoader extends LoaderExtension {
+public class ImportSDOLoader implements StAXArtifactProcessor<ImportSDO> {
+ private StAXArtifactProcessorRegistry processorRegistry;
private HelperContextRegistry helperContextRegistry;
-
- public ImportSDOLoader(LoaderRegistry registry, HelperContextRegistry helperContextRegistry) {
- super(registry);
+
+ public ImportSDOLoader(HelperContextRegistry helperContextRegistry) {
+ super();
this.helperContextRegistry = helperContextRegistry;
}
@@ -54,9 +58,7 @@
return IMPORT_SDO;
}
- public ModelObject load(ModelObject object,
- XMLStreamReader reader,
- DeploymentContext deploymentContext) throws XMLStreamException, LoaderException {
+ public ImportSDO read(XMLStreamReader reader) throws ContributionReadException {
assert IMPORT_SDO.equals(reader.getName());
HelperContext helperContext = null;
@@ -94,7 +96,7 @@
}
}
}
-
+
private static void register(Class factoryClass, HelperContext helperContext) throws Exception {
Field field = factoryClass.getField("INSTANCE");
Object factory = field.get(null);
@@ -107,12 +109,12 @@
method.invoke(factory, new Object[] {defaultContext});
}
- private void importWSDL(XMLStreamReader reader, DeploymentContext deploymentContext, HelperContext helperContext)
+ private void importWSDL(XMLStreamReader reader, HelperContext helperContext)
throws LoaderException {
String location = reader.getAttributeValue(null, "location");
if (location == null) {
location = reader.getAttributeValue(null, "wsdlLocation");
- }
+ }
if (location != null) {
try {
URL wsdlURL = null;
@@ -133,7 +135,8 @@
} finally {
xsdInputStream.close();
}
- // FIXME: How do we associate the application HelperContext with the one
+ // FIXME: How do we associate the application HelperContext with
+ // the one
// imported by the composite
HelperContext defaultContext = HelperProvider.getDefaultContext();
xsdInputStream = wsdlURL.openStream();
@@ -150,7 +153,7 @@
}
} finally {
xsdInputStream.close();
- }
+ }
} catch (IOException e) {
LoaderException sfe = new LoaderException(e.getMessage());
sfe.setResourceURI(location);
Modified: incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOContextHelper.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOContextHelper.java?view=diff&rev=527726&r1=527725&r2=527726
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOContextHelper.java (original)
+++ incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOContextHelper.java Wed Apr 11 16:50:20 2007
@@ -23,8 +23,8 @@
import javax.xml.namespace.QName;
-import org.apache.tuscany.idl.DataType;
-import org.apache.tuscany.idl.util.XMLType;
+import org.apache.tuscany.interfacedef.DataType;
+import org.apache.tuscany.interfacedef.util.XMLType;
import org.apache.tuscany.sdo.util.SDOUtil;
import org.apache.tuscany.spi.databinding.TransformationContext;
@@ -66,7 +66,7 @@
public static HelperContext getHelperContext(ModelObject model) {
HelperContext helperContext = null;
- if (model instanceof CompositeComponentType) {
+ if (model instanceof Composite) {
// HACK: Retrieve the SDO HelperContext from the
// CompositeComponentType
// extensions
Modified: incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDODataBinding.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDODataBinding.java?view=diff&rev=527726&r1=527725&r2=527726
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDODataBinding.java (original)
+++ incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDODataBinding.java Wed Apr 11 16:50:20 2007
@@ -23,8 +23,8 @@
import javax.xml.namespace.QName;
-import org.apache.tuscany.idl.DataType;
-import org.apache.tuscany.idl.util.XMLType;
+import org.apache.tuscany.interfacedef.DataType;
+import org.apache.tuscany.interfacedef.util.XMLType;
import org.apache.tuscany.spi.databinding.ExceptionHandler;
import org.apache.tuscany.spi.databinding.SimpleTypeMapper;
import org.apache.tuscany.spi.databinding.WrapperHandler;
Modified: incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOExceptionHandler.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOExceptionHandler.java?view=diff&rev=527726&r1=527725&r2=527726
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOExceptionHandler.java (original)
+++ incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOExceptionHandler.java Wed Apr 11 16:50:20 2007
@@ -25,9 +25,9 @@
import javax.xml.namespace.QName;
-import org.apache.tuscany.idl.DataType;
-import org.apache.tuscany.idl.impl.DataTypeImpl;
-import org.apache.tuscany.idl.util.XMLType;
+import org.apache.tuscany.interfacedef.DataType;
+import org.apache.tuscany.interfacedef.impl.DataTypeImpl;
+import org.apache.tuscany.interfacedef.util.XMLType;
import org.apache.tuscany.spi.databinding.ExceptionHandler;
import commonj.sdo.Type;
Modified: incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOHelperContext.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOHelperContext.java?view=diff&rev=527726&r1=527725&r2=527726
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOHelperContext.java (original)
+++ incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOHelperContext.java Wed Apr 11 16:50:20 2007
@@ -21,6 +21,8 @@
import java.awt.Component;
+import org.apache.tuscany.spi.component.AbstractSCAObject;
+
import sun.reflect.generics.scope.Scope;
import commonj.sdo.helper.HelperContext;
Modified: incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOWrapperHandler.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOWrapperHandler.java?view=diff&rev=527726&r1=527725&r2=527726
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOWrapperHandler.java (original)
+++ incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOWrapperHandler.java Wed Apr 11 16:50:20 2007
@@ -25,7 +25,7 @@
import javax.xml.namespace.QName;
-import org.apache.tuscany.idl.util.ElementInfo;
+import org.apache.tuscany.interfacedef.util.ElementInfo;
import org.apache.tuscany.spi.databinding.TransformationContext;
import org.apache.tuscany.spi.databinding.WrapperHandler;
Modified: incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/databinding/impl/MediatorImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/databinding/impl/MediatorImpl.java?view=diff&rev=527726&r1=527725&r2=527726
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/databinding/impl/MediatorImpl.java (original)
+++ incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/databinding/impl/MediatorImpl.java Wed Apr 11 16:50:20 2007
@@ -62,7 +62,7 @@
public Object mediate(Object source,
DataType sourceDataType,
DataType targetDataType,
- Map<Class<?>, Object> metadata) {
+ Map<String, Object> metadata) {
if (sourceDataType == null) {
sourceDataType = dataBindingRegistry.introspectType(source);
}
@@ -101,7 +101,7 @@
int size,
int index,
Transformer transformer,
- Map<Class<?>, Object> metadata) {
+ Map<String, Object> metadata) {
DataType sourceType =
(index == 0) ? sourceDataType : new DataTypeImpl<Object>(transformer.getSourceDataBinding(),
Object.class, null);
@@ -119,7 +119,7 @@
Object target,
DataType sourceDataType,
DataType targetDataType,
- Map<Class<?>, Object> metadata) {
+ Map<String, Object> metadata) {
if (source == null) {
// Shortcut for null value
return;
Modified: incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/databinding/impl/TransformationContextImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/databinding/impl/TransformationContextImpl.java?view=diff&rev=527726&r1=527725&r2=527726
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/databinding/impl/TransformationContextImpl.java (original)
+++ incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/databinding/impl/TransformationContextImpl.java Wed Apr 11 16:50:20 2007
@@ -23,6 +23,7 @@
import java.util.Map;
import org.apache.tuscany.interfacedef.DataType;
+import org.apache.tuscany.interfacedef.Operation;
import org.apache.tuscany.spi.databinding.TransformationContext;
public class TransformationContextImpl implements TransformationContext {
@@ -30,7 +31,7 @@
private DataType targetDataType;
- private final Map<Class<?>, Object> metadata = new HashMap<Class<?>, Object>();
+ private final Map<String, Object> metadata = new HashMap<String, Object>();
private WeakReference<ClassLoader> classLoaderRef;
@@ -42,7 +43,7 @@
public TransformationContextImpl(DataType sourceDataType,
DataType targetDataType,
ClassLoader classLoader,
- Map<Class<?>, Object> metadata) {
+ Map<String, Object> metadata) {
super();
this.sourceDataType = sourceDataType;
this.targetDataType = targetDataType;
@@ -76,8 +77,36 @@
return classLoaderRef.get();
}
- public Map<Class<?>, Object> getMetadata() {
+ public Map<String, Object> getMetadata() {
return metadata;
+ }
+
+ /**
+ * @return the sourceOperation
+ */
+ public Operation getSourceOperation() {
+ return (Operation) metadata.get("source.operation");
+ }
+
+ /**
+ * @param sourceOperation the sourceOperation to set
+ */
+ public void setSourceOperation(Operation sourceOperation) {
+ this.metadata.put("source.operation", sourceOperation);
+ }
+
+ /**
+ * @return the targetOperation
+ */
+ public Operation getTargetOperation() {
+ return (Operation) metadata.get("target.operation");
+ }
+
+ /**
+ * @param targetOperation the targetOperation to set
+ */
+ public void setTargetOperation(Operation targetOperation) {
+ this.metadata.put("target.operation", targetOperation);
}
}
Modified: incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/spi/databinding/Mediator.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/spi/databinding/Mediator.java?view=diff&rev=527726&r1=527725&r2=527726
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/spi/databinding/Mediator.java (original)
+++ incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/spi/databinding/Mediator.java Wed Apr 11 16:50:20 2007
@@ -38,7 +38,7 @@
* @param context
* @return
*/
- Object mediate(Object source, DataType sourceDataType, DataType targetDataType, Map<Class<?>, Object> context);
+ Object mediate(Object source, DataType sourceDataType, DataType targetDataType, Map<String, Object> context);
/**
* Mediate the source data into the target which is a sink to receive the data
* @param source The data to be mediated
@@ -51,7 +51,7 @@
Object target,
DataType sourceDataType,
DataType targetDataType,
- Map<Class<?>, Object> context);
+ Map<String, Object> context);
/**
* Get the DataBinding registry
Modified: incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/spi/databinding/TransformationContext.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/spi/databinding/TransformationContext.java?view=diff&rev=527726&r1=527725&r2=527726
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/spi/databinding/TransformationContext.java (original)
+++ incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/spi/databinding/TransformationContext.java Wed Apr 11 16:50:20 2007
@@ -21,12 +21,19 @@
import java.util.Map;
import org.apache.tuscany.interfacedef.DataType;
+import org.apache.tuscany.interfacedef.Operation;
/**
* Context for data transformation
*
*/
public interface TransformationContext {
+
+ Operation getSourceOperation();
+ void setSourceOperation(Operation sourceOperation);
+ Operation getTargetOperation();
+ void setTargetOperation(Operation targetOperation);
+
/**
* Get the source data type
*
@@ -67,6 +74,6 @@
*
* @return
*/
- Map<Class<?>, Object> getMetadata();
+ Map<String, Object> getMetadata();
}
Modified: incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/spi/databinding/extension/SimpleTypeMapperExtension.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/spi/databinding/extension/SimpleTypeMapperExtension.java?view=diff&rev=527726&r1=527725&r2=527726
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/spi/databinding/extension/SimpleTypeMapperExtension.java (original)
+++ incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/spi/databinding/extension/SimpleTypeMapperExtension.java Wed Apr 11 16:50:20 2007
@@ -318,11 +318,11 @@
return parseBase64Binary(value);
} else if (type.equals(XSD_QNAME)) {
NamespaceContext namespaceContext =
- (NamespaceContext)((context != null) ? context.getMetadata().get(NamespaceContext.class) : null);
+ (NamespaceContext)((context != null) ? context.getMetadata().get(NamespaceContext.class.getName()) : null);
return parseQName(value, namespaceContext);
} else if (type.equals(XSD_NOTATION)) {
NamespaceContext namespaceContext =
- (NamespaceContext)((context != null) ? context.getMetadata().get(NamespaceContext.class) : null);
+ (NamespaceContext)((context != null) ? context.getMetadata().get(NamespaceContext.class.getName()) : null);
return parseQName(value, namespaceContext);
} else if (type.equals(XSD_YEAR)) {
return factory.newXMLGregorianCalendar(value);
@@ -375,7 +375,7 @@
}
} else if (obj instanceof QName) {
NamespaceContext namespaceContext =
- (NamespaceContext)((context != null) ? context.getMetadata().get(NamespaceContext.class) : null);
+ (NamespaceContext)((context != null) ? context.getMetadata().get(NamespaceContext.class.getName()) : null);
return printQName((QName)obj, namespaceContext);
}
return obj.toString();
Modified: incubator/tuscany/java/sca/modules/databinding/src/test/java/org/apache/tuscany/spi/databinding/extension/SimpleTypeMapperExtensionTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding/src/test/java/org/apache/tuscany/spi/databinding/extension/SimpleTypeMapperExtensionTestCase.java?view=diff&rev=527726&r1=527725&r2=527726
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding/src/test/java/org/apache/tuscany/spi/databinding/extension/SimpleTypeMapperExtensionTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/databinding/src/test/java/org/apache/tuscany/spi/databinding/extension/SimpleTypeMapperExtensionTestCase.java Wed Apr 11 16:50:20 2007
@@ -81,7 +81,7 @@
public void testMap() throws Exception {
SimpleTypeMapperExtension extension = new SimpleTypeMapperExtension();
TransformationContext context = EasyMock.createMock(TransformationContext.class);
- Map<Class<?>, Object> metaData = new HashMap<Class<?>, Object>();
+ Map<String, Object> metaData = new HashMap<String, Object>();
EasyMock.expect(context.getMetadata()).andReturn(metaData).anyTimes();
EasyMock.replay(context);
@@ -90,7 +90,7 @@
.anyTimes();
EasyMock.expect(namespaceContext.getPrefix(EasyMock.eq("http://foo"))).andReturn("f").anyTimes();
EasyMock.replay(namespaceContext);
- context.getMetadata().put(NamespaceContext.class, namespaceContext);
+ context.getMetadata().put(NamespaceContext.class.getName(), namespaceContext);
for (TypeInfo simpleType : SimpleTypeMapperExtension.XSD_SIMPLE_TYPES.values()) {
String name = simpleType.getQName().getLocalPart();
Object value = SAMPLE_VALUES.get(name);
Modified: incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/core/implementation/PojoAtomicComponent.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/core/implementation/PojoAtomicComponent.java?view=diff&rev=527726&r1=527725&r2=527726
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/core/implementation/PojoAtomicComponent.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/core/implementation/PojoAtomicComponent.java Wed Apr 11 16:50:20 2007
@@ -159,7 +159,7 @@
wireList.addAll(attachWires);
JavaElement element = configuration.getDefinition().getReferenceMembers().get(referenceName);
- Class<?> type = ((JavaInterface)attachWires.get(0).getSourceContract().getInterfaceContract().getInterface()).getJavaClass();
+ Class<?> type = ((JavaInterface)attachWires.get(0).getSourceContract().getInterface()).getJavaClass();
if (type == null) {
throw new NoMultiplicityTypeException("Java interface must be specified for multiplicity", referenceName);
}
@@ -176,7 +176,7 @@
public void attachCallbackWire(Wire wire) {
assert wire.getSourceUri().getFragment() != null;
// FIXME: [rfeng] This is a hack to get it compiled
- String callbackName = wire.getSourceContract().getInterfaceContract().getCallbackInterface().toString();
+ String callbackName = wire.getSourceContract().getCallbackInterface().toString();
assert configuration.getDefinition().getCallbackMembers().get(callbackName) != null;
List<Wire> wireList = callBackwires.get(callbackName);
if (wireList == null) {
Modified: incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/core/implementation/java/JavaAtomicComponent.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/core/implementation/java/JavaAtomicComponent.java?view=diff&rev=527726&r1=527725&r2=527726
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/core/implementation/java/JavaAtomicComponent.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/core/implementation/java/JavaAtomicComponent.java Wed Apr 11 16:50:20 2007
@@ -22,10 +22,10 @@
import org.apache.tuscany.core.implementation.PojoAtomicComponent;
import org.apache.tuscany.core.implementation.PojoConfiguration;
-import org.apache.tuscany.core.util.JavaIDLUtils;
import org.apache.tuscany.core.wire.WireObjectFactory;
import org.apache.tuscany.interfacedef.Operation;
import org.apache.tuscany.interfacedef.java.JavaInterface;
+import org.apache.tuscany.interfacedef.java.impl.JavaInterfaceUtil;
import org.apache.tuscany.spi.ObjectFactory;
import org.apache.tuscany.spi.component.TargetInvokerCreationException;
import org.apache.tuscany.spi.wire.TargetInvoker;
@@ -52,7 +52,7 @@
implClass = configuration.getImplementationClass();
}
try {
- Method method = JavaIDLUtils.findMethod(implClass, operation);
+ Method method = JavaInterfaceUtil.findMethod(implClass, operation);
return new JavaTargetInvoker(method, this, scopeContainer);
} catch (NoSuchMethodException e) {
throw new TargetMethodNotFoundException(operation);
Modified: incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/core/wire/jdk/JDKInvocationHandler.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/core/wire/jdk/JDKInvocationHandler.java?view=diff&rev=527726&r1=527725&r2=527726
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/core/wire/jdk/JDKInvocationHandler.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/core/wire/jdk/JDKInvocationHandler.java Wed Apr 11 16:50:20 2007
@@ -30,10 +30,10 @@
import java.util.Map;
import java.util.UUID;
-import org.apache.tuscany.assembly.Contract;
import org.apache.tuscany.core.util.PojoWorkContextTunnel;
import org.apache.tuscany.core.wire.NoMethodForOperationException;
import org.apache.tuscany.core.wire.WireUtils;
+import org.apache.tuscany.interfacedef.InterfaceContract;
import org.apache.tuscany.spi.Scope;
import org.apache.tuscany.spi.component.AtomicComponent;
import org.apache.tuscany.spi.component.ReactivationException;
@@ -204,10 +204,10 @@
*/
private void init(Class<?> interfaze, Wire wire, Map<Method, ChainHolder> mapping)
throws NoMethodForOperationException {
- Contract contract = wire.getSourceContract();
+ InterfaceContract contract = wire.getSourceContract();
this.referenceName = wire.getSourceUri().getFragment();
- this.conversational = contract.getInterfaceContract().getInterface().isConversational();
- this.callback = contract.getInterfaceContract().getCallbackInterface() != null;
+ this.conversational = contract.getInterface().isConversational();
+ this.callback = contract.getCallbackInterface() != null;
// FIXME JFM this should not be dependent on PojoAtomicComponent
// JFM commenting out as this should not be specific to pojo types
// this.wireContainerIsAtomicComponent = scaObject instanceof PojoAtomicComponent;
Modified: incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/core/wire/jdk/JDKCallbackInvocationHandlerTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/core/wire/jdk/JDKCallbackInvocationHandlerTestCase.java?view=diff&rev=527726&r1=527725&r2=527726
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/core/wire/jdk/JDKCallbackInvocationHandlerTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/core/wire/jdk/JDKCallbackInvocationHandlerTestCase.java Wed Apr 11 16:50:20 2007
@@ -41,7 +41,7 @@
wire.setSourceUri(uri);
List<Wire> wires = new ArrayList<Wire>();
wires.add(wire);
- wire.setSourceContract(ModelHelper.createReference("foo", Foo.class));
+ wire.setSourceContract(ModelHelper.createReference("foo", Foo.class).getInterfaceContract());
JDKCallbackInvocationHandler handler = new JDKCallbackInvocationHandler(wires, new WorkContextImpl());
Foo foo = (Foo)Proxy.newProxyInstance(getClass().getClassLoader(), new Class[] {Foo.class}, handler);
assertNotNull(foo.toString());
@@ -49,7 +49,7 @@
public void testHashCode() {
Wire wire = new WireImpl();
- wire.setSourceContract(ModelHelper.createReference("foo", Foo.class));
+ wire.setSourceContract(ModelHelper.createReference("foo", Foo.class).getInterfaceContract());
URI uri = URI.create("#wire");
wire.setSourceUri(uri);
List<Wire> wires = new ArrayList<Wire>();
Modified: incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/core/wire/jdk/JDKInvocationHandlerProxyTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/core/wire/jdk/JDKInvocationHandlerProxyTestCase.java?view=diff&rev=527726&r1=527725&r2=527726
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/core/wire/jdk/JDKInvocationHandlerProxyTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/core/wire/jdk/JDKInvocationHandlerProxyTestCase.java Wed Apr 11 16:50:20 2007
@@ -60,7 +60,7 @@
InvocationChain chain = new InvocationChainImpl(operation);
wire.addInvocationChain(operation, chain);
}
- wire.setSourceContract(contract);
+ wire.setSourceContract(contract.getInterfaceContract());
wire.setSourceUri(URI.create("foo#bar"));
TargetInvoker targetInvoker = EasyMock.createMock(TargetInvoker.class);
MessageImpl response = new MessageImpl();
Modified: incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/core/wire/jdk/JDKInvocationHandlerSerializationTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/core/wire/jdk/JDKInvocationHandlerSerializationTestCase.java?view=diff&rev=527726&r1=527725&r2=527726
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/core/wire/jdk/JDKInvocationHandlerSerializationTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/core/wire/jdk/JDKInvocationHandlerSerializationTestCase.java Wed Apr 11 16:50:20 2007
@@ -91,7 +91,7 @@
Contract opContract = ModelHelper.createReference("foo", Foo.class);
operation.setInterface(opContract.getInterfaceContract().getInterface());
map.put(operation, createChain(operation));
- EasyMock.expect(wire.getSourceContract()).andReturn(contract).atLeastOnce();
+ EasyMock.expect(wire.getSourceContract()).andReturn(contract.getInterfaceContract()).atLeastOnce();
URI uri = URI.create("#foo");
EasyMock.expect(wire.getSourceUri()).andReturn(uri).atLeastOnce();
EasyMock.expect(wire.getInvocationChains()).andReturn(map).times(2);
Modified: incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/core/wire/jdk/JDKInvocationHandlerTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/core/wire/jdk/JDKInvocationHandlerTestCase.java?view=diff&rev=527726&r1=527725&r2=527726
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/core/wire/jdk/JDKInvocationHandlerTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/core/wire/jdk/JDKInvocationHandlerTestCase.java Wed Apr 11 16:50:20 2007
@@ -54,7 +54,7 @@
public void testToString() {
Wire wire = new WireImpl();
Contract contract = ModelHelper.createReference("foo", Foo.class);
- wire.setSourceContract(contract);
+ wire.setSourceContract(contract.getInterfaceContract());
wire.setSourceUri(URI.create("foo#bar"));
JDKInvocationHandler handler = new JDKInvocationHandler(Foo.class, wire, null);
Foo foo = (Foo) Proxy.newProxyInstance(getClass().getClassLoader(), new Class[]{Foo.class}, handler);
@@ -64,7 +64,7 @@
public void testHashCode() {
Wire wire = new WireImpl();
Contract contract = ModelHelper.createReference("foo", Foo.class);
- wire.setSourceContract(contract);
+ wire.setSourceContract(contract.getInterfaceContract());
wire.setSourceUri(URI.create("foo#bar"));
JDKInvocationHandler handler = new JDKInvocationHandler(Foo.class, wire, null);
Foo foo = (Foo) Proxy.newProxyInstance(getClass().getClassLoader(), new Class[]{Foo.class}, handler);
@@ -94,7 +94,7 @@
wire.addInvocationChain(op1, chain);
URI uri = URI.create("fooRef");
wire.setSourceUri(uri);
- wire.setSourceContract(contract);
+ wire.setSourceContract(contract.getInterfaceContract());
String convID = UUID.randomUUID().toString();
wc.setIdentifier(Scope.CONVERSATION, convID);
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org