summaryrefslogtreecommitdiffstats
path: root/branches/sca-java-1.x/modules/binding-http-new-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/http/wireformat/jsonrpc/provider
diff options
context:
space:
mode:
authorlresende <lresende@13f79535-47bb-0310-9956-ffa450edef68>2009-05-04 07:04:07 +0000
committerlresende <lresende@13f79535-47bb-0310-9956-ffa450edef68>2009-05-04 07:04:07 +0000
commit69342b0efcd4e7631e20cab07f624b4907aad6d8 (patch)
tree3a1f60fd9f16bac49bfb2276f771c9915abc7e49 /branches/sca-java-1.x/modules/binding-http-new-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/http/wireformat/jsonrpc/provider
parent4989a995d0a9b221c2f7515c39c6c570db940ae9 (diff)
TUSCANY-2968 - Further changes trying to add the json-rpc wireformat and operation selector interceptors to the invocation chain
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@771209 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to '')
-rw-r--r--branches/sca-java-1.x/modules/binding-http-new-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/http/wireformat/jsonrpc/provider/JSONRPCWireFormatInterceptor.java20
-rw-r--r--branches/sca-java-1.x/modules/binding-http-new-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/http/wireformat/jsonrpc/provider/JSONRPCWireFormatServiceProvider.java20
2 files changed, 34 insertions, 6 deletions
diff --git a/branches/sca-java-1.x/modules/binding-http-new-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/http/wireformat/jsonrpc/provider/JSONRPCWireFormatInterceptor.java b/branches/sca-java-1.x/modules/binding-http-new-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/http/wireformat/jsonrpc/provider/JSONRPCWireFormatInterceptor.java
index 68152b0321..5778a2908c 100644
--- a/branches/sca-java-1.x/modules/binding-http-new-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/http/wireformat/jsonrpc/provider/JSONRPCWireFormatInterceptor.java
+++ b/branches/sca-java-1.x/modules/binding-http-new-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/http/wireformat/jsonrpc/provider/JSONRPCWireFormatInterceptor.java
@@ -19,25 +19,35 @@
package org.apache.tuscany.sca.binding.http.wireformat.jsonrpc.provider;
+import org.apache.tuscany.sca.binding.http.HTTPBinding;
import org.apache.tuscany.sca.invocation.Interceptor;
import org.apache.tuscany.sca.invocation.Invoker;
import org.apache.tuscany.sca.invocation.Message;
+import org.apache.tuscany.sca.runtime.RuntimeWire;
public class JSONRPCWireFormatInterceptor implements Interceptor {
+ private Invoker next;
+
+ private RuntimeWire runtimeWire;
+ private HTTPBinding binding;
+
+ public JSONRPCWireFormatInterceptor(HTTPBinding binding, RuntimeWire runtimeWire) {
+ this.binding = binding;
+ this.runtimeWire = runtimeWire;
+
+ }
public Invoker getNext() {
- // TODO Auto-generated method stub
- return null;
+ return next;
}
public void setNext(Invoker next) {
- // TODO Auto-generated method stub
+ this.next = next;
}
public Message invoke(Message msg) {
- // TODO Auto-generated method stub
- return null;
+ return getNext().invoke(msg);
}
}
diff --git a/branches/sca-java-1.x/modules/binding-http-new-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/http/wireformat/jsonrpc/provider/JSONRPCWireFormatServiceProvider.java b/branches/sca-java-1.x/modules/binding-http-new-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/http/wireformat/jsonrpc/provider/JSONRPCWireFormatServiceProvider.java
index 983e54c1a7..91d35546ae 100644
--- a/branches/sca-java-1.x/modules/binding-http-new-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/http/wireformat/jsonrpc/provider/JSONRPCWireFormatServiceProvider.java
+++ b/branches/sca-java-1.x/modules/binding-http-new-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/http/wireformat/jsonrpc/provider/JSONRPCWireFormatServiceProvider.java
@@ -20,6 +20,10 @@
package org.apache.tuscany.sca.binding.http.wireformat.jsonrpc.provider;
import org.apache.tuscany.sca.assembly.Binding;
+import org.apache.tuscany.sca.assembly.BindingRRB;
+import org.apache.tuscany.sca.assembly.WireFormat;
+import org.apache.tuscany.sca.binding.http.HTTPBinding;
+import org.apache.tuscany.sca.binding.http.wireformat.jsonrpc.JSONRPCWireFormat;
import org.apache.tuscany.sca.core.ExtensionPointRegistry;
import org.apache.tuscany.sca.interfacedef.InterfaceContract;
import org.apache.tuscany.sca.invocation.Interceptor;
@@ -32,12 +36,19 @@ import org.apache.tuscany.sca.runtime.RuntimeComponentService;
* @version $Rev$ $Date$
*/
public class JSONRPCWireFormatServiceProvider implements WireFormatProvider {
+ private RuntimeComponent component;
+ private RuntimeComponentService service;
+ private Binding binding;
public JSONRPCWireFormatServiceProvider(ExtensionPointRegistry extensionPoints,
RuntimeComponent component,
RuntimeComponentService service,
Binding binding) {
+ super();
+ this.component = component;
+ this.service = service;
+ this.binding = binding;
}
public InterfaceContract configureWireFormatInterfaceContract(InterfaceContract interfaceContract) {
@@ -46,7 +57,14 @@ public class JSONRPCWireFormatServiceProvider implements WireFormatProvider {
}
public Interceptor createInterceptor() {
- // TODO Auto-generated method stub
+ if(binding instanceof BindingRRB) {
+ BindingRRB rrbBinding = (BindingRRB) binding;
+ WireFormat wireFormat = rrbBinding.getRequestWireFormat();
+ if(wireFormat != null && wireFormat instanceof JSONRPCWireFormat) {
+ return new JSONRPCWireFormatInterceptor((HTTPBinding) binding, service.getRuntimeWire(binding));
+ }
+ }
+
return null;
}