From 396008440c7bcdb1cbb7a3c5d6270814dfb0e341 Mon Sep 17 00:00:00 2001 From: antelder Date: Tue, 30 Nov 2010 19:00:47 +0000 Subject: delete the beta2 branch as i'd not seen raymonds mail when i made it and we might as well wait till he's got his changes in before creating the beta2 branch git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1040700 13f79535-47bb-0310-9956-ffa450edef68 --- .../jsonp/runtime/JSONPBindingProviderFactory.java | 52 ----- .../sca/binding/jsonp/runtime/JSONPInvoker.java | 174 ---------------- .../runtime/JSONPReferenceBindingProvider.java | 61 ------ .../jsonp/runtime/JSONPServiceBindingProvider.java | 76 ------- .../sca/binding/jsonp/runtime/JSONPServlet.java | 223 --------------------- 5 files changed, 586 deletions(-) delete mode 100644 sca-java-2.x/branches/2.0-Beta2/modules/binding-jsonp-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonp/runtime/JSONPBindingProviderFactory.java delete mode 100644 sca-java-2.x/branches/2.0-Beta2/modules/binding-jsonp-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonp/runtime/JSONPInvoker.java delete mode 100644 sca-java-2.x/branches/2.0-Beta2/modules/binding-jsonp-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonp/runtime/JSONPReferenceBindingProvider.java delete mode 100644 sca-java-2.x/branches/2.0-Beta2/modules/binding-jsonp-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonp/runtime/JSONPServiceBindingProvider.java delete mode 100644 sca-java-2.x/branches/2.0-Beta2/modules/binding-jsonp-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonp/runtime/JSONPServlet.java (limited to 'sca-java-2.x/branches/2.0-Beta2/modules/binding-jsonp-runtime/src/main/java/org') diff --git a/sca-java-2.x/branches/2.0-Beta2/modules/binding-jsonp-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonp/runtime/JSONPBindingProviderFactory.java b/sca-java-2.x/branches/2.0-Beta2/modules/binding-jsonp-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonp/runtime/JSONPBindingProviderFactory.java deleted file mode 100644 index 1f2ed09c07..0000000000 --- a/sca-java-2.x/branches/2.0-Beta2/modules/binding-jsonp-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonp/runtime/JSONPBindingProviderFactory.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.binding.jsonp.runtime; - -import org.apache.tuscany.sca.binding.jsonp.JSONPBinding; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.host.http.ServletHost; -import org.apache.tuscany.sca.host.http.ServletHostHelper; -import org.apache.tuscany.sca.provider.BindingProviderFactory; -import org.apache.tuscany.sca.provider.ReferenceBindingProvider; -import org.apache.tuscany.sca.provider.ServiceBindingProvider; -import org.apache.tuscany.sca.runtime.RuntimeEndpoint; -import org.apache.tuscany.sca.runtime.RuntimeEndpointReference; - -public class JSONPBindingProviderFactory implements BindingProviderFactory { - - private ServletHost servletHost; - - public JSONPBindingProviderFactory(ExtensionPointRegistry extensionPoints) { - this.servletHost = ServletHostHelper.getServletHost(extensionPoints); - } - - public Class getModelType() { - return JSONPBinding.class; - } - - public ReferenceBindingProvider createReferenceBindingProvider(RuntimeEndpointReference endpoint) { - return new JSONPReferenceBindingProvider(endpoint); - } - - public ServiceBindingProvider createServiceBindingProvider(RuntimeEndpoint endpoint) { - return new JSONPServiceBindingProvider(endpoint, servletHost); - } - -} diff --git a/sca-java-2.x/branches/2.0-Beta2/modules/binding-jsonp-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonp/runtime/JSONPInvoker.java b/sca-java-2.x/branches/2.0-Beta2/modules/binding-jsonp-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonp/runtime/JSONPInvoker.java deleted file mode 100644 index 6b0bfec213..0000000000 --- a/sca-java-2.x/branches/2.0-Beta2/modules/binding-jsonp-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonp/runtime/JSONPInvoker.java +++ /dev/null @@ -1,174 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.binding.jsonp.runtime; - -import java.io.BufferedReader; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; - -import org.apache.commons.codec.EncoderException; -import org.apache.commons.codec.net.URLCodec; -import org.apache.http.HttpEntity; -import org.apache.http.HttpResponse; -import org.apache.http.client.HttpClient; -import org.apache.http.client.methods.HttpGet; -import org.apache.http.impl.client.DefaultHttpClient; -import org.apache.tuscany.sca.assembly.EndpointReference; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.invocation.Message; -import org.codehaus.jackson.JsonGenerationException; -import org.codehaus.jackson.JsonParseException; -import org.codehaus.jackson.map.JsonMappingException; -import org.codehaus.jackson.map.ObjectMapper; - -public class JSONPInvoker implements Invoker { - - protected Operation operation; - protected EndpointReference endpoint; - - protected ObjectMapper mapper; // TODO: share mapper btw invoker and servlet or move to databinding - - public JSONPInvoker(Operation operation, EndpointReference endpoint) { - this.operation = operation; - this.endpoint = endpoint; - this.mapper = new ObjectMapper(); - } - - public Message invoke(Message msg) { - try { - - return doInvoke(msg); - - } catch (Exception e) { - throw new RuntimeException(e); - } - } - - public Message doInvoke(Message msg) throws JsonGenerationException, JsonMappingException, IOException, EncoderException { - String uri = endpoint.getBinding().getURI() + "/" + operation.getName(); - //String[] jsonArgs = objectsToJSON((Object[])msg.getBody()); - String[] jsonArgs = objectsToJSONStrings((Object[])msg.getBody()); - - String responseJSON = invokeHTTPRequest(uri, jsonArgs); - - //Object response = jsonToObjects(responseJSON)[0]; - msg.setBody(responseJSON); - - return msg; - } - - protected String invokeHTTPRequest(String url, String[] jsonArgs) throws IOException, EncoderException { - - HttpClient httpclient = new DefaultHttpClient(); - - - URLCodec uc = new URLCodec(); - for (int i=0 ; i types = operation.getInputType().getLogical(); - int typesIndex = 0; - - String jsonRequest = ""; - for (String name : getOrderedParameterNames(servletRequest)) { - if (!name.startsWith("_") && !"callback".equals(name)) { - if (jsonRequest.length() > 1) { - jsonRequest += ", "; - } - - // automatically quote string parammeters so clients work in the usual javascript way - if (typesIndex < types.size() && String.class.equals(types.get(typesIndex).getGenericType())) { - String x = servletRequest.getParameter(name); - // TODO: do this more properly - if (!x.startsWith("\"")) { - jsonRequest += "\"" + x + "\""; - } else { - jsonRequest += x; - } - } else { - jsonRequest += servletRequest.getParameter(name); - } - - } - } - - return "[" + jsonRequest + "]"; - } -*/ - - /** - * Turn the request into a string array of JSON structures. The Databinding - * layer will then convert each of the individual parameters into the appropriate - * types for the implementation interface - * - */ - protected Object[] getJSONRequestStringArray(ServletRequest servletRequest) throws IOException, JsonParseException, JsonMappingException { - - List types = operation.getInputType().getLogical(); - int typesIndex = 0; - - List jsonRequestArray = new ArrayList(); - - for (String name : getOrderedParameterNames(servletRequest)) { - String jsonRequest = ""; - if (!name.startsWith("_") && !"callback".equals(name)) { - - // automatically quote string parameters so clients work in the usual javascript way - if (typesIndex < types.size() && String.class.equals(types.get(typesIndex++).getGenericType())) { - String x = servletRequest.getParameter(name); - // TODO: do this more properly - if (!x.startsWith("\"")) { - jsonRequest += "\"" + x + "\""; - } else { - jsonRequest += x; - } - } else { - jsonRequest += servletRequest.getParameter(name); - } - jsonRequestArray.add(jsonRequest); - } - } - - return jsonRequestArray.toArray(); - } - - /** - * Get the request parameter names in the correct order. - * The request args need to be in the correct order to invoke the service so work out the - * order from the order in the query string. Eg, the url: - * http://localhost:8085/HelloWorldService/sayHello2?first=petra&last=arnold&callback=foo" - * should invoke: - * sayHello2("petra", "arnold") - * so the parameter names should be ordered: "first", "last" - */ - protected SortedSet getOrderedParameterNames(ServletRequest servletRequest) { - final String queryString = ((HttpServletRequest)servletRequest).getQueryString(); - - SortedSet sortedNames = new TreeSet(new Comparator(){ - public int compare(String o1, String o2) { - int i = queryString.indexOf(o1); - int j = queryString.indexOf(o2); - return i - j; - }}); - - Set parameterNames = servletRequest.getParameterMap().keySet(); - for (String name : parameterNames) { - sortedNames.add(name); - } - - return sortedNames; - } - - /** - * Turn the response object into JSON - */ -/* Not required now JSON conversion is delegated to databinding - protected String getJSONResponse(ServletRequest servletRequest, Object response) throws IOException, JsonParseException { - ByteArrayOutputStream os = new ByteArrayOutputStream(); - mapper.writeValue(os , response); - String jsonResponse = os.toString(); - - String callback = servletRequest.getParameter("callback"); - if (callback != null && callback.length() > 1) { - jsonResponse = callback + "(" + jsonResponse + ");"; - } - - return jsonResponse; - } -*/ - - /** - * The databinding layer will have converterted the return type into a JSON string so simply - * add wrap it for return. - */ - protected String getJSONResponseAsString(ServletRequest servletRequest, Object response) throws IOException, JsonParseException { - String jsonResponse = response.toString(); - - String callback = servletRequest.getParameter("callback"); - if (callback != null && callback.length() > 1) { - jsonResponse = callback + "(" + jsonResponse + ");"; - } - - return jsonResponse; - } - - /** - * Turn the request JSON into objects - */ -/* Not required now JSON conversion is delegated to databinding - protected Object[] jsonToObjects(String jsonRequest) throws IOException, JsonParseException, JsonMappingException { - Class c = new Object[0].getClass(); - Object[] args = (Object[])mapper.readValue(jsonRequest, c); - return args; - } -*/ - - - /** - * Send the request down the wire to invoke the service - */ - protected Object invokeService(Object[] args) { - try { - return wire.invoke(operation, args); - } catch (InvocationTargetException e) { - throw new RuntimeException(e); - } - } -} \ No newline at end of file -- cgit v1.2.3