diff options
Diffstat (limited to '')
13 files changed, 0 insertions, 992 deletions
diff --git a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/binding-jsonp-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonp/runtime/JSONPBindingProviderFactory.java b/sca-java-2.x/tags/2.0-Beta2-RC2/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/tags/2.0-Beta2-RC2/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<JSONPBinding> { - - private ServletHost servletHost; - - public JSONPBindingProviderFactory(ExtensionPointRegistry extensionPoints) { - this.servletHost = ServletHostHelper.getServletHost(extensionPoints); - } - - public Class<JSONPBinding> 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/tags/2.0-Beta2-RC2/modules/binding-jsonp-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonp/runtime/JSONPInvoker.java b/sca-java-2.x/tags/2.0-Beta2-RC2/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/tags/2.0-Beta2-RC2/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<jsonArgs.length; i++) { - if (i == 0) { - url += '?'; - } else { - url += '&'; - } - url += "arg" + i + "="; - url += uc.encode(jsonArgs[i]); - } - - HttpGet httpget = new HttpGet(url); - - HttpResponse response = httpclient.execute(httpget); - - StringBuffer responseJSON = new StringBuffer(); - - HttpEntity entity = response.getEntity(); - - // If the response does not enclose an entity, there is no need - // to worry about connection release - if (entity != null) { - InputStream instream = entity.getContent(); - try { - - BufferedReader reader = new BufferedReader(new InputStreamReader(instream)); - String s = null; - while ((s = reader.readLine()) != null) { - responseJSON.append(s); - } - - } catch (IOException ex) { - - // In case of an IOException the connection will be released - // back to the connection manager automatically - throw ex; - - } catch (RuntimeException ex) { - - // In case of an unexpected exception you may want to abort - // the HTTP request in order to shut down the underlying - // connection and release it back to the connection manager. - httpget.abort(); - throw ex; - - } finally { - - // Closing the input stream will trigger connection release - instream.close(); - - } - - // When HttpClient instance is no longer needed, - // shut down the connection manager to ensure - // immediate deallocation of all system resources - httpclient.getConnectionManager().shutdown(); - } - - return responseJSON.toString(); - } - -/* Not required now JSON conversion is delegated to databinding - protected String[] objectsToJSON(Object[] msgArgs) throws JsonGenerationException, JsonMappingException, IOException { - String[] jsonArgs = new String[msgArgs.length]; - for (int i=0; i<msgArgs.length; i++) { - ByteArrayOutputStream os = new ByteArrayOutputStream(); - mapper.writeValue(os , msgArgs[i]); - jsonArgs[i] = os.toString(); - } - return jsonArgs; - } -*/ - - protected String[] objectsToJSONStrings(Object[] msgArgs) throws JsonGenerationException, JsonMappingException, IOException { - String[] jsonArgs = new String[msgArgs.length]; - for (int i=0; i<msgArgs.length; i++) { - jsonArgs[i] = msgArgs[i].toString(); - } - return jsonArgs; - } - -/* Not required now JSON conversion is delegated to databinding - protected Object[] jsonToObjects(String jsonRequest) throws JsonParseException, JsonMappingException, IOException { - Class<?> c = new Object[0].getClass(); - Object[] args = (Object[])mapper.readValue("[" + jsonRequest +"]", c); - return args; - } -*/ - -} diff --git a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/binding-jsonp-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonp/runtime/JSONPReferenceBindingProvider.java b/sca-java-2.x/tags/2.0-Beta2-RC2/modules/binding-jsonp-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonp/runtime/JSONPReferenceBindingProvider.java deleted file mode 100644 index eda70e275e..0000000000 --- a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/binding-jsonp-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonp/runtime/JSONPReferenceBindingProvider.java +++ /dev/null @@ -1,61 +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.assembly.EndpointReference; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.provider.ReferenceBindingProvider; - -public class JSONPReferenceBindingProvider implements ReferenceBindingProvider { - - private EndpointReference endpoint; - private InterfaceContract contract; - - public JSONPReferenceBindingProvider(EndpointReference endpoint) { - this.endpoint = endpoint; - - try { - contract = (InterfaceContract)endpoint.getComponentReferenceInterfaceContract().clone(); - } catch (Exception ex){ - // we know this supports clone - } - contract.getInterface().resetDataBinding("JSON"); - } - public Invoker createInvoker(Operation operation) { - return new JSONPInvoker(operation, endpoint); - } - - public void start() { - } - - public void stop() { - } - - public InterfaceContract getBindingInterfaceContract() { - return contract; - } - - public boolean supportsOneWayInvocation() { - return false; - } - -} diff --git a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/binding-jsonp-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonp/runtime/JSONPServiceBindingProvider.java b/sca-java-2.x/tags/2.0-Beta2-RC2/modules/binding-jsonp-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonp/runtime/JSONPServiceBindingProvider.java deleted file mode 100644 index 991aeb3a21..0000000000 --- a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/binding-jsonp-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonp/runtime/JSONPServiceBindingProvider.java +++ /dev/null @@ -1,76 +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.assembly.ComponentService; -import org.apache.tuscany.sca.host.http.ServletHost; -import org.apache.tuscany.sca.interfacedef.Interface; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.provider.ServiceBindingProvider; -import org.apache.tuscany.sca.runtime.RuntimeEndpoint; - -public class JSONPServiceBindingProvider implements ServiceBindingProvider { - - private RuntimeEndpoint endpoint; - private ServletHost servletHost; - private InterfaceContract contract; - - public JSONPServiceBindingProvider(RuntimeEndpoint endpoint, ServletHost servletHost) { - this.endpoint = endpoint; - this.servletHost = servletHost; - - try { - contract = (InterfaceContract)endpoint.getComponentServiceInterfaceContract().clone(); - } catch (Exception ex){ - // we know this supports clone - } - contract.getInterface().resetDataBinding("JSON"); - } - - public void start() { - ComponentService service = endpoint.getService(); - Interface serviceInterface = service.getInterfaceContract().getInterface(); - for (Operation op : serviceInterface.getOperations()) { - JSONPServlet servlet = new JSONPServlet(endpoint, op); - String path = endpoint.getBinding().getURI() + "/" + op.getName(); - servletHost.addServletMapping(path, servlet); - } - } - - public void stop() { - ComponentService service = endpoint.getService(); - Interface serviceInterface = service.getInterfaceContract().getInterface(); - for (Operation op : serviceInterface.getOperations()) { - String path = endpoint.getBinding().getURI() + "/" + op.getName(); - servletHost.removeServletMapping(path); - } - } - - // TODO: Why are these two still on the ServiceBindingProvider interface? - public InterfaceContract getBindingInterfaceContract() { - return contract; - } - - public boolean supportsOneWayInvocation() { - return false; - } - -} diff --git a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/binding-jsonp-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonp/runtime/JSONPServlet.java b/sca-java-2.x/tags/2.0-Beta2-RC2/modules/binding-jsonp-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonp/runtime/JSONPServlet.java deleted file mode 100644 index 320481ab20..0000000000 --- a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/binding-jsonp-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonp/runtime/JSONPServlet.java +++ /dev/null @@ -1,223 +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.ByteArrayOutputStream; -import java.io.IOException; -import java.lang.reflect.InvocationTargetException; -import java.util.ArrayList; -import java.util.Comparator; -import java.util.List; -import java.util.Set; -import java.util.SortedSet; -import java.util.TreeSet; - -import javax.servlet.GenericServlet; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.http.HttpServletRequest; - -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.runtime.RuntimeEndpoint; -import org.codehaus.jackson.JsonParseException; -import org.codehaus.jackson.map.JsonMappingException; -import org.codehaus.jackson.map.ObjectMapper; - -public class JSONPServlet extends GenericServlet { - private static final long serialVersionUID = 1L; - - protected transient RuntimeEndpoint wire; - protected transient Operation operation; - protected transient ObjectMapper mapper; - - public JSONPServlet(RuntimeEndpoint wire, Operation operation) { - this.wire = wire; - this.operation = operation; - this.mapper = new ObjectMapper(); - } - - @Override - public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException { - //String jsonRequest = getJSONRequest(servletRequest); - //Object[] args = jsonToObjects(jsonRequest); - Object[] args = getJSONRequestStringArray(servletRequest); - Object response = invokeService(args); - //String jsonResponse = getJSONResponse(servletRequest, response); - String jsonResponse = getJSONResponseAsString(servletRequest, response); - servletResponse.getOutputStream().println(jsonResponse); - } - - /** - * Turn the request into JSON - */ -/* Not required now JSON conversion is delegated to databinding - protected String getJSONRequest(ServletRequest servletRequest) throws IOException, JsonParseException, JsonMappingException { - - List<DataType> 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<DataType> types = operation.getInputType().getLogical(); - int typesIndex = 0; - - List<String> jsonRequestArray = new ArrayList<String>(); - - 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<String> getOrderedParameterNames(ServletRequest servletRequest) { - final String queryString = ((HttpServletRequest)servletRequest).getQueryString(); - - SortedSet<String> sortedNames = new TreeSet<String>(new Comparator<String>(){ - public int compare(String o1, String o2) { - int i = queryString.indexOf(o1); - int j = queryString.indexOf(o2); - return i - j; - }}); - - Set<String> 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 diff --git a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/binding-jsonp-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory b/sca-java-2.x/tags/2.0-Beta2-RC2/modules/binding-jsonp-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory deleted file mode 100644 index da84f1ac6d..0000000000 --- a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/binding-jsonp-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory +++ /dev/null @@ -1,20 +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.
-
-# Implementation class for the binding extension
-org.apache.tuscany.sca.binding.jsonp.runtime.JSONPBindingProviderFactory;model=org.apache.tuscany.sca.binding.jsonp.JSONPBinding,ranking=200
-
diff --git a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/binding-jsonp-runtime/src/test/java/helloworld/BeanA.java b/sca-java-2.x/tags/2.0-Beta2-RC2/modules/binding-jsonp-runtime/src/test/java/helloworld/BeanA.java deleted file mode 100644 index c8fd365da5..0000000000 --- a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/binding-jsonp-runtime/src/test/java/helloworld/BeanA.java +++ /dev/null @@ -1,60 +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 helloworld;
-
-public class BeanA {
-
- protected Boolean b;
- protected String s;
- protected int x;
- protected Integer y;
-
- public Boolean getB() {
- return b;
- }
-
- public void setB(Boolean b) {
- this.b = b;
- }
-
- public String getS() {
- return s;
- }
-
- public void setS(String s) {
- this.s = s;
- }
-
- public int getX() {
- return x;
- }
-
- public void setX(int x) {
- this.x = x;
- }
-
- public Integer getY() {
- return y;
- }
-
- public void setY(Integer y) {
- this.y = y;
- }
-}
diff --git a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/binding-jsonp-runtime/src/test/java/helloworld/HelloWorldClient.java b/sca-java-2.x/tags/2.0-Beta2-RC2/modules/binding-jsonp-runtime/src/test/java/helloworld/HelloWorldClient.java deleted file mode 100644 index f4a2023b17..0000000000 --- a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/binding-jsonp-runtime/src/test/java/helloworld/HelloWorldClient.java +++ /dev/null @@ -1,44 +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 helloworld; - -import org.oasisopen.sca.annotation.Reference; - -public class HelloWorldClient implements HelloWorldService { - - @Reference - public HelloWorldService ref; - - public String sayHello(String name) { - return ref.sayHello(name); - } - - public String sayHello2(String firstName, String lastName) { - return ref.sayHello2(firstName, lastName); - } - - public BeanA sayHello3(BeanA bean) { - return ref.sayHello3(bean); - } - - public int sayHello4(boolean flag) { - return ref.sayHello4(flag); - } -} diff --git a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/binding-jsonp-runtime/src/test/java/helloworld/HelloWorldImpl.java b/sca-java-2.x/tags/2.0-Beta2-RC2/modules/binding-jsonp-runtime/src/test/java/helloworld/HelloWorldImpl.java deleted file mode 100644 index f73b185ead..0000000000 --- a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/binding-jsonp-runtime/src/test/java/helloworld/HelloWorldImpl.java +++ /dev/null @@ -1,41 +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 helloworld; - - -public class HelloWorldImpl implements HelloWorldService { - - public String sayHello(String name) { - return "Hello " + name; - } - - public String sayHello2(String firstName, String lastName) { - return "Hello " + firstName + " " + lastName; - } - - public BeanA sayHello3(BeanA bean) { - bean.setS("XYZ"); - return bean; - } - - public int sayHello4(boolean flag) { - return 0; - } - -} diff --git a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/binding-jsonp-runtime/src/test/java/helloworld/HelloWorldService.java b/sca-java-2.x/tags/2.0-Beta2-RC2/modules/binding-jsonp-runtime/src/test/java/helloworld/HelloWorldService.java deleted file mode 100644 index 790fdd7467..0000000000 --- a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/binding-jsonp-runtime/src/test/java/helloworld/HelloWorldService.java +++ /dev/null @@ -1,34 +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 helloworld; - -import org.oasisopen.sca.annotation.Remotable; - -@Remotable -public interface HelloWorldService { - - String sayHello(String name); - - String sayHello2(String firstName, String lastName); - - BeanA sayHello3(BeanA bean); - - int sayHello4(boolean flag); - -} diff --git a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/binding-jsonp-runtime/src/test/java/test/BindingTestCase.java b/sca-java-2.x/tags/2.0-Beta2-RC2/modules/binding-jsonp-runtime/src/test/java/test/BindingTestCase.java deleted file mode 100644 index 0259fdf39d..0000000000 --- a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/binding-jsonp-runtime/src/test/java/test/BindingTestCase.java +++ /dev/null @@ -1,115 +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 test; - -import helloworld.BeanA; -import helloworld.HelloWorldService; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStreamReader; -import java.net.MalformedURLException; -import java.net.URL; - -import junit.framework.Assert; - -import org.apache.tuscany.sca.http.jetty.JettyServer; -import org.apache.tuscany.sca.node.Node; -import org.apache.tuscany.sca.node.NodeFactory; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Ignore; -import org.junit.Test; - -public class BindingTestCase { - - private static Node node; - - @Test - public void testService() throws MalformedURLException, IOException { - URL url = new URL("http://localhost:8085/HelloWorldComponent/HelloWorldService/sayHello?name=petra&callback=foo"); - BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream())); - String response = br.readLine(); - Assert.assertEquals("foo(\"Hello petra\");", response); - - } - - @Test - public void testTwoArgs() throws MalformedURLException, IOException { - URL url = new URL("http://localhost:8085/HelloWorldComponent/HelloWorldService/sayHello2?first=petra&last=arnold&callback=foo"); - BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream())); - String response = br.readLine(); - Assert.assertEquals("foo(\"Hello petra arnold\");", response); - - } - - @Test - public void testReference() throws MalformedURLException, IOException { - - HelloWorldService client = node.getService(HelloWorldService.class, "HelloWorldClient/HelloWorldService/sca"); - - Assert.assertEquals("Hello beate", client.sayHello("beate")); - Assert.assertEquals("Hello beate arnold", client.sayHello2("beate", "arnold")); - Assert.assertEquals(0, client.sayHello4(true)); - } - - @Test - public void testComplexParams() throws MalformedURLException, IOException { - - HelloWorldService client = node.getService(HelloWorldService.class, "HelloWorldClient/HelloWorldService/sca"); - - BeanA bean = new BeanA(); - bean.setB(true); - bean.setS("Fred"); - bean.setX(2); - bean.setX(5); - - Assert.assertEquals("XYZ", client.sayHello3(bean).getS()); - } - - /* - * Uncomment to keep the server running so you can ping it manually from a browser - * try: - * http://localhost:8085/HelloWorldComponent/HelloWorldService/sayHello3?bean={%22b%22:%22true%22,%22s%22:%22a%20string%22,%22x%22:%2227%22,%22y%22:%2213%22}&callback=submitSucess - */ - @Test - @Ignore - public void waitForInput(){ - System.out.println("Press a key"); - try { - System.in.read(); - } catch (Exception ex){ - // do nothing - } - } - - @BeforeClass - public static void init() throws Exception { - JettyServer.portDefault = 8085; - node = NodeFactory.newInstance().createNode("jsonp/helloworld.composite").start(); - } - - @AfterClass - public static void destroy() throws Exception { - if (node != null) { - node.stop(); - } - } - -} diff --git a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/binding-jsonp-runtime/src/test/resources/jquery.html b/sca-java-2.x/tags/2.0-Beta2-RC2/modules/binding-jsonp-runtime/src/test/resources/jquery.html deleted file mode 100644 index a61cee3155..0000000000 --- a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/binding-jsonp-runtime/src/test/resources/jquery.html +++ /dev/null @@ -1,51 +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.
- -->
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html>
- <title>Tuscany JQuery Client HelloWorld Sample</TITLE>
-
- <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
- <script language="JavaScript">
-
- function getGreeting() {
- var name = document.getElementById("name").value;
- $.getJSON('http://localhost:8081/HelloWorldService/sayHello?name=' + name + '&callback=?', handleResponse);
- }
- function handleResponse(data) {
- document.getElementById('greeting').innerHTML=data;
- }
-
- </script>
-
- </head>
-
- <body>
- <h2>Tuscany JSONP HelloWorld Sample</h2>
-
- This example uses the JQuery getJSON to make JSONP requests to the SCA service 'HelloWorldService'
-
- <p>Enter Name:
- <input type="text" id="name" size="30"/>
- <input type="button" value="Submit" onclick="getGreeting()" />
-
- </p><div id='greeting'></div>
-
- </body>
-</html>
diff --git a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/binding-jsonp-runtime/src/test/resources/jsonp/helloworld.composite b/sca-java-2.x/tags/2.0-Beta2-RC2/modules/binding-jsonp-runtime/src/test/resources/jsonp/helloworld.composite deleted file mode 100644 index c1061147a8..0000000000 --- a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/binding-jsonp-runtime/src/test/resources/jsonp/helloworld.composite +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * 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. - --> -<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912" - xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1" - targetNamespace="http://itest" - name="HelloWorldComposite"> - - <component name="HelloWorldComponent"> - <implementation.java class="helloworld.HelloWorldImpl"/> - <service name="HelloWorldService" > - <binding.sca name="sca"/> - <tuscany:binding.jsonp name="HelloWorldService"/> - </service> - </component> - - <component name="HelloWorldClient"> - <implementation.java class="helloworld.HelloWorldClient"/> - <reference name="ref" > - <binding.sca name="sca"/> - <tuscany:binding.jsonp name="HelloWorldService" uri="http://localhost:8085/HelloWorldComponent/HelloWorldService"/> - </reference> - </component> - -</composite> |