List<DataType<Type>> types = new ArrayList<DataType<Type>>();
types.add(type1);
DataType<List<DataType<Type>>> inputType1 = new DataType<List<DataType<Type>>>(Object[].class, types);
DataType<Type> outputType1 = new DataType<Type>(String.class, String.class);
Operation<Type> op1 = new Operation<Type>("test", inputType1, outputType1, null);
ServiceContract<Type> outboundContract = new JavaServiceContract(null);
outboundContract.setDataBinding(String.class.getName());
op1.setServiceContract(outboundContract);
OutboundInvocationChain outboundChain = createMock(OutboundInvocationChain.class);
outboundChains.put(op1, outboundChain);
expect(outboundWire.getInvocationChains()).andReturn(outboundChains).anyTimes();
// outboundChain.addInterceptor(EasyMock.anyInt(), (Interceptor)
// EasyMock.anyObject());
Map<Operation<?>, InboundInvocationChain> inboundChains =
new HashMap<Operation<?>, InboundInvocationChain>();
DataType<Type> type2 = new DataType<Type>(Node.class, Node.class);
List<DataType<Type>> types2 = new ArrayList<DataType<Type>>();
types2.add(type2);
DataType<List<DataType<Type>>> inputType2 =
new DataType<List<DataType<Type>>>(Object[].class, types2);
DataType<Type> outputType2 = new DataType<Type>(String.class, String.class);
Operation<Type> op2 = new Operation<Type>("test", inputType2, outputType2, null);
ServiceContract<Type> inboundContract = new JavaServiceContract(null);
inboundContract.setDataBinding(Node.class.getName());
op2.setServiceContract(inboundContract);
InboundInvocationChain inboundChain = createMock(InboundInvocationChain.class);
inboundChains.put(op2, inboundChain);
expect(inboundWire.getInvocationChains()).andReturn(inboundChains).anyTimes();
inboundChain.addInterceptor(EasyMock.anyInt(), (Interceptor)EasyMock.anyObject());
ServiceContract<Type> contract = new JavaServiceContract();
Map<String, Operation<Type>> operations = Collections.emptyMap();
contract.setCallbackOperations(operations);
expect(inboundWire.getServiceContract()).andReturn(contract);
EasyMock.replay(composite, service, inboundWire, outboundWire, inboundChain, outboundChain);
processor.process(inboundWire, outboundWire);