Author: rfeng
Date: Wed Apr 20 22:34:51 2011
New Revision: 1095537
URL: http://svn.apache.org/viewvc?rev=1095537&view=rev
Log:
Allow the look up of endpoint address by component/service/binding name from
the Node API
Modified:
tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Endpoint.java
tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/EndpointImpl.java
tuscany/sca-java-2.x/trunk/modules/binding-atom-runtime/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomServiceBindingProvider.java
tuscany/sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/CometServiceBindingProvider.java
tuscany/sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/ServletFactory.java
tuscany/sca-java-2.x/trunk/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/provider/CorbaServiceBindingProvider.java
tuscany/sca-java-2.x/trunk/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/service/mocks/TestRuntimeWire.java
tuscany/sca-java-2.x/trunk/modules/binding-http-runtime/src/main/java/org/apache/tuscany/sca/binding/http/provider/HTTPServiceBindingProvider.java
tuscany/sca-java-2.x/trunk/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCServiceBindingProvider.java
tuscany/sca-java-2.x/trunk/modules/binding-rest-runtime/src/main/java/org/apache/tuscany/sca/binding/rest/provider/RESTServiceBindingProvider.java
tuscany/sca-java-2.x/trunk/modules/binding-rmi-runtime/src/main/java/org/apache/tuscany/sca/binding/rmi/provider/RMIServiceBindingProvider.java
tuscany/sca-java-2.x/trunk/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/DelegatingSCAServiceBindingProvider.java
tuscany/sca-java-2.x/trunk/modules/binding-ws-runtime-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/provider/Axis2ServiceBindingProvider.java
tuscany/sca-java-2.x/trunk/modules/binding-ws-runtime-jaxws-ri/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/ri/JAXWSServiceBindingProvider.java
tuscany/sca-java-2.x/trunk/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/extensibility/HttpPortAllocator.java
tuscany/sca-java-2.x/trunk/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/extensibility/impl/DefaultHttpPortAllocatorImpl.java
tuscany/sca-java-2.x/trunk/modules/node-api/src/main/java/org/apache/tuscany/sca/node/Node.java
tuscany/sca-java-2.x/trunk/modules/node-api/src/main/java/org/apache/tuscany/sca/node/NodeFactory.java
tuscany/sca-java-2.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java
tuscany/sca-java-2.x/trunk/modules/node-impl/src/test/java/org/apache/tuscany/sca/node/impl/NodeImplTestCase.java
Modified:
tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Endpoint.java
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Endpoint.java?rev=1095537&r1=1095536&r2=1095537&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Endpoint.java
(original)
+++
tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Endpoint.java
Wed Apr 20 22:34:51 2011
@@ -46,6 +46,17 @@ public interface Endpoint extends Base,
* or <componentURI>#service(serviceName)
*/
void setURI(String uri);
+
+ /**
+ * Get the deployed URI
+ * @return The deployed URI
+ */
+ String getDeployedURI();
+ /**
+ * Set the deployed URI
+ * @param deployedURI
+ */
+ void setDeployedURI(String deployedURI);
/**
* Get the component model object
Modified:
tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/EndpointImpl.java
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/EndpointImpl.java?rev=1095537&r1=1095536&r2=1095537&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/EndpointImpl.java
(original)
+++
tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/EndpointImpl.java
Wed Apr 20 22:34:51 2011
@@ -45,9 +45,10 @@ public class EndpointImpl implements End
protected transient ExtensionPointRegistry registry;
protected transient BuilderExtensionPoint builders;
- protected transient ContractBuilder contractBuilder;
+ protected transient ContractBuilder contractBuilder;
protected boolean unresolved;
protected String uri;
+ protected String deployedURI;
protected Component component;
protected ComponentService service;
protected Binding binding;
@@ -149,10 +150,10 @@ public class EndpointImpl implements End
public void setExtensionType(ExtensionType type) {
throw new UnsupportedOperationException();
}
-
+
public String toStringWithoutHash() {
String output = "Endpoint: ";
-
+
if (getURI() != null) {
output += " URI = " + getURI();
}
@@ -279,20 +280,30 @@ public class EndpointImpl implements End
}
return names;
}
-
+
public boolean isAsyncInvocation() {
- if( service != null && service.getName().endsWith("_asyncCallback")){
+ if (service != null && service.getName().endsWith("_asyncCallback")) {
// this is a response service at the reference component so don't
create a
// response reference.
return false;
} // end if
-
- for(Intent intent : getRequiredIntents()){
- if (intent.getName().getLocalPart().equals("asyncInvocation")){
+
+ for (Intent intent : getRequiredIntents()) {
+ if (intent.getName().getLocalPart().equals("asyncInvocation")) {
return true;
}
}
return false;
}
+ @Override
+ public String getDeployedURI() {
+ return deployedURI == null ? (binding == null ? null :
binding.getURI()) : deployedURI;
+ }
+
+ @Override
+ public void setDeployedURI(String deployedURI) {
+ this.deployedURI = deployedURI;
+ }
+
}
Modified:
tuscany/sca-java-2.x/trunk/modules/binding-atom-runtime/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomServiceBindingProvider.java
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-atom-runtime/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomServiceBindingProvider.java?rev=1095537&r1=1095536&r2=1095537&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/binding-atom-runtime/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomServiceBindingProvider.java
(original)
+++
tuscany/sca-java-2.x/trunk/modules/binding-atom-runtime/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomServiceBindingProvider.java
Wed Apr 20 22:34:51 2011
@@ -104,6 +104,7 @@ class AtomServiceBindingProvider impleme
deployedURI = deployedURI.substring(0, deployedURI.length() - 1);
}
binding.setURI(deployedURI);
+ endpoint.setDeployedURI(deployedURI);
}
public void stop() {
Modified:
tuscany/sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/CometServiceBindingProvider.java
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/CometServiceBindingProvider.java?rev=1095537&r1=1095536&r2=1095537&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/CometServiceBindingProvider.java
(original)
+++
tuscany/sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/CometServiceBindingProvider.java
Wed Apr 20 22:34:51 2011
@@ -59,7 +59,8 @@ public class CometServiceBindingProvider
*/
@Override
public void start() {
- ServletFactory.registerServlet(this.servletHost);
+ String deployedURI = ServletFactory.registerServlet(this.servletHost);
+ endpoint.setDeployedURI(deployedURI);
final ComponentService service = this.endpoint.getService();
final Interface serviceInterface =
service.getInterfaceContract().getInterface();
JavascriptGenerator.generateServiceProxy(service);
Modified:
tuscany/sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/ServletFactory.java
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/ServletFactory.java?rev=1095537&r1=1095536&r2=1095537&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/ServletFactory.java
(original)
+++
tuscany/sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/ServletFactory.java
Wed Apr 20 22:34:51 2011
@@ -91,22 +91,26 @@ public final class ServletFactory {
* @param servletHost
* the underlying servlet host
*/
- public static synchronized void registerServlet(
+ public static synchronized String registerServlet(
final ServletHost servletHost) {
- registerCometServlet(servletHost);
+ String uri = registerCometServlet(servletHost);
registerJavascriptServlet(servletHost);
+ return uri;
}
- private static void registerCometServlet(ServletHost servletHost) {
+ private static String registerCometServlet(ServletHost servletHost) {
if (ServletFactory.cometServlet == null) {
ServletFactory.cometServlet = new AtmosphereServlet();
ServletFactory.cometServlet.addInitParameter(
ServletFactory.PACKAGE_KEY,
ServletFactory.PACKAGE_VALUE);
- servletHost.addServletMapping(ServletFactory.PATH,
+ String uri =
servletHost.addServletMapping(ServletFactory.PATH,
ServletFactory.cometServlet);
final CometComponentContext context = new
CometComponentContext();
ServletFactory.cometServlet.getServletContext().setAttribute(
ServletFactory.COMET_COMPONENT_CONTEXT_KEY, context);
+ return uri;
+ } else {
+ return null;
}
}
Modified:
tuscany/sca-java-2.x/trunk/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/provider/CorbaServiceBindingProvider.java
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/provider/CorbaServiceBindingProvider.java?rev=1095537&r1=1095536&r2=1095537&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/provider/CorbaServiceBindingProvider.java
(original)
+++
tuscany/sca-java-2.x/trunk/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/provider/CorbaServiceBindingProvider.java
Wed Apr 20 22:34:51 2011
@@ -66,6 +66,7 @@ public class CorbaServiceBindingProvider
servant = new DynaCorbaServant(proxy, Utils.getTypeId(javaClass));
servant.setIds(new String[] {binding.getId()});
host.registerServant(binding.getCorbaname(), servant);
+ endpoint.setDeployedURI(binding.getCorbaname());
} catch (Exception e) {
throw new ServiceRuntimeException(e);
}
Modified:
tuscany/sca-java-2.x/trunk/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/service/mocks/TestRuntimeWire.java
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/service/mocks/TestRuntimeWire.java?rev=1095537&r1=1095536&r2=1095537&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/service/mocks/TestRuntimeWire.java
(original)
+++
tuscany/sca-java-2.x/trunk/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/service/mocks/TestRuntimeWire.java
Wed Apr 20 22:34:51 2011
@@ -339,4 +339,18 @@ public class TestRuntimeWire implements
// TODO Auto-generated method stub
return null;
}
+
+
+ @Override
+ public String getDeployedURI() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+
+ @Override
+ public void setDeployedURI(String deployedURI) {
+ // TODO Auto-generated method stub
+
+ }
}
Modified:
tuscany/sca-java-2.x/trunk/modules/binding-http-runtime/src/main/java/org/apache/tuscany/sca/binding/http/provider/HTTPServiceBindingProvider.java
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-http-runtime/src/main/java/org/apache/tuscany/sca/binding/http/provider/HTTPServiceBindingProvider.java?rev=1095537&r1=1095536&r2=1095537&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/binding-http-runtime/src/main/java/org/apache/tuscany/sca/binding/http/provider/HTTPServiceBindingProvider.java
(original)
+++
tuscany/sca-java-2.x/trunk/modules/binding-http-runtime/src/main/java/org/apache/tuscany/sca/binding/http/provider/HTTPServiceBindingProvider.java
Wed Apr 20 22:34:51 2011
@@ -126,7 +126,8 @@ public class HTTPServiceBindingProvider
if (widget) {
start1x();
} else {
- servletHost.addServletMapping(servletMapping, new
HTTPBindingServiceServlet(endpoint, messageFactory));
+ String deployedURI = servletHost.addServletMapping(servletMapping,
new HTTPBindingServiceServlet(endpoint, messageFactory));
+ endpoint.setDeployedURI(deployedURI);
}
}
@@ -189,7 +190,8 @@ public class HTTPServiceBindingProvider
servletMapping += "*";
}
- servletHost.addServletMapping(servletMapping, servlet);
+ String deployedURI = servletHost.addServletMapping(servletMapping,
servlet);
+ endpoint.setDeployedURI(deployedURI);
}
public void stop() {
Modified:
tuscany/sca-java-2.x/trunk/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCServiceBindingProvider.java
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCServiceBindingProvider.java?rev=1095537&r1=1095536&r2=1095537&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCServiceBindingProvider.java
(original)
+++
tuscany/sca-java-2.x/trunk/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCServiceBindingProvider.java
Wed Apr 20 22:34:51 2011
@@ -115,6 +115,7 @@ public class JSONRPCServiceBindingProvid
deployedURI = deployedURI.substring(0, deployedURI.length() - 1);
}
binding.setURI(deployedURI);
+ endpoint.setDeployedURI(deployedURI);
return mappedURI;
}
Modified:
tuscany/sca-java-2.x/trunk/modules/binding-rest-runtime/src/main/java/org/apache/tuscany/sca/binding/rest/provider/RESTServiceBindingProvider.java
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-rest-runtime/src/main/java/org/apache/tuscany/sca/binding/rest/provider/RESTServiceBindingProvider.java?rev=1095537&r1=1095536&r2=1095537&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/binding-rest-runtime/src/main/java/org/apache/tuscany/sca/binding/rest/provider/RESTServiceBindingProvider.java
(original)
+++
tuscany/sca-java-2.x/trunk/modules/binding-rest-runtime/src/main/java/org/apache/tuscany/sca/binding/rest/provider/RESTServiceBindingProvider.java
Wed Apr 20 22:34:51 2011
@@ -281,6 +281,7 @@ public class RESTServiceBindingProvider
deployedURI = deployedURI.substring(0, deployedURI.length() - 1);
}
binding.setURI(deployedURI);
+ endpoint.setDeployedURI(deployedURI);
return mappedURI;
}
Modified:
tuscany/sca-java-2.x/trunk/modules/binding-rmi-runtime/src/main/java/org/apache/tuscany/sca/binding/rmi/provider/RMIServiceBindingProvider.java
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-rmi-runtime/src/main/java/org/apache/tuscany/sca/binding/rmi/provider/RMIServiceBindingProvider.java?rev=1095537&r1=1095536&r2=1095537&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/binding-rmi-runtime/src/main/java/org/apache/tuscany/sca/binding/rmi/provider/RMIServiceBindingProvider.java
(original)
+++
tuscany/sca-java-2.x/trunk/modules/binding-rmi-runtime/src/main/java/org/apache/tuscany/sca/binding/rmi/provider/RMIServiceBindingProvider.java
Wed Apr 20 22:34:51 2011
@@ -80,6 +80,7 @@ public class RMIServiceBindingProvider i
String uri = rmiHost.registerService(binding.getURI(), rmiProxy);
// Update the binding with the physical URI
binding.setURI(uri);
+ endpoint.setDeployedURI(uri);
} catch (RMIHostException e) {
throw new ServiceRuntimeException(e);
Modified:
tuscany/sca-java-2.x/trunk/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/DelegatingSCAServiceBindingProvider.java
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/DelegatingSCAServiceBindingProvider.java?rev=1095537&r1=1095536&r2=1095537&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/DelegatingSCAServiceBindingProvider.java
(original)
+++
tuscany/sca-java-2.x/trunk/modules/binding-sca-runtime/src/main/java/org/apache/tuscany/sca/binding/sca/provider/DelegatingSCAServiceBindingProvider.java
Wed Apr 20 22:34:51 2011
@@ -95,6 +95,7 @@ public class DelegatingSCAServiceBinding
provider.start();
// Set the resolved binding URI back to the binding.sca
endpoint.getBinding().setURI(mappedEndpoint.getBinding().getURI());
+ endpoint.setDeployedURI(mappedEndpoint.getDeployedURI());
started = true;
}
}
Modified:
tuscany/sca-java-2.x/trunk/modules/binding-ws-runtime-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/provider/Axis2ServiceBindingProvider.java
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-ws-runtime-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/provider/Axis2ServiceBindingProvider.java?rev=1095537&r1=1095536&r2=1095537&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/binding-ws-runtime-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/provider/Axis2ServiceBindingProvider.java
(original)
+++
tuscany/sca-java-2.x/trunk/modules/binding-ws-runtime-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/provider/Axis2ServiceBindingProvider.java
Wed Apr 20 22:34:51 2011
@@ -20,20 +20,13 @@ package org.apache.tuscany.sca.binding.w
import java.net.URI;
import java.net.URISyntaxException;
-import java.util.logging.Level;
import java.util.logging.Logger;
import javax.wsdl.Port;
-import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMFactory;
import org.apache.axis2.AxisFault;
import org.apache.axis2.description.AxisService;
-import org.apache.axis2.description.Parameter;
-import org.apache.axis2.description.TransportInDescription;
-import org.apache.axis2.description.TransportOutDescription;
-import org.apache.axis2.engine.ListenerManager;
import org.apache.tuscany.sca.assembly.AssemblyFactory;
import org.apache.tuscany.sca.assembly.xml.Constants;
import org.apache.tuscany.sca.binding.ws.WebServiceBinding;
@@ -198,6 +191,7 @@ public class Axis2ServiceBindingProvider
deployedURI = servletHost.addServletMapping(endpointURI,
servlet);
}
}
+ endpoint.setDeployedURI(deployedURI);
} catch (AxisFault e) {
throw new RuntimeException(e);
}
Modified:
tuscany/sca-java-2.x/trunk/modules/binding-ws-runtime-jaxws-ri/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/ri/JAXWSServiceBindingProvider.java
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-ws-runtime-jaxws-ri/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/ri/JAXWSServiceBindingProvider.java?rev=1095537&r1=1095536&r2=1095537&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/binding-ws-runtime-jaxws-ri/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/ri/JAXWSServiceBindingProvider.java
(original)
+++
tuscany/sca-java-2.x/trunk/modules/binding-ws-runtime-jaxws-ri/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/ri/JAXWSServiceBindingProvider.java
Wed Apr 20 22:34:51 2011
@@ -31,9 +31,9 @@ import javax.xml.namespace.QName;
import javax.xml.transform.Source;
import javax.xml.transform.stream.StreamSource;
import javax.xml.ws.Endpoint;
+import javax.xml.ws.Service.Mode;
import javax.xml.ws.ServiceMode;
import javax.xml.ws.WebServiceProvider;
-import javax.xml.ws.Service.Mode;
import javax.xml.ws.soap.SOAPBinding;
import org.apache.tuscany.sca.binding.ws.WebServiceBinding;
@@ -125,7 +125,8 @@ public class JAXWSServiceBindingProvider
wsEndpoint.publish(wsBinding.getURI());
- jaxwsBindingProvider.start();
+ jaxwsBindingProvider.start();
+ endpoint.setDeployedURI(wsBinding.getURI());
}
Modified:
tuscany/sca-java-2.x/trunk/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/extensibility/HttpPortAllocator.java
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/extensibility/HttpPortAllocator.java?rev=1095537&r1=1095536&r2=1095537&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/extensibility/HttpPortAllocator.java
(original)
+++
tuscany/sca-java-2.x/trunk/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/extensibility/HttpPortAllocator.java
Wed Apr 20 22:34:51 2011
@@ -27,6 +27,8 @@ import org.apache.tuscany.sca.host.http.
* @version $Rev$ $Date$
*/
public interface HttpPortAllocator {
+ int DEFAULT_HTTP_PORT = 8085;
+ int DEFAULT_HTTPS_PORT = 8443;
/**
* Get default port for a given http scheme
* @param scheme the http scheme in use (http/https)
Modified:
tuscany/sca-java-2.x/trunk/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/extensibility/impl/DefaultHttpPortAllocatorImpl.java
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/extensibility/impl/DefaultHttpPortAllocatorImpl.java?rev=1095537&r1=1095536&r2=1095537&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/extensibility/impl/DefaultHttpPortAllocatorImpl.java
(original)
+++
tuscany/sca-java-2.x/trunk/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/extensibility/impl/DefaultHttpPortAllocatorImpl.java
Wed Apr 20 22:34:51 2011
@@ -34,21 +34,21 @@ public class DefaultHttpPortAllocatorImp
if (scheme == null || scheme == HttpScheme.HTTP) {
try {
- port = Integer.parseInt(getVariable("HTTP_PORT", "8080"));
+ port = Integer.parseInt(getVariable("HTTP_PORT",
String.valueOf(DEFAULT_HTTP_PORT)));
if (port == 0) {
- port = findFreePort(8080, 9080);
+ port = findFreePort(DEFAULT_HTTP_PORT, DEFAULT_HTTP_PORT +
1000);
}
} catch (NumberFormatException e) {
- port = 8080;
+ port = DEFAULT_HTTP_PORT;
}
} else if (scheme == HttpScheme.HTTPS) {
try {
- port = Integer.parseInt(getVariable("HTTPS_PORT", "8443"));
+ port = Integer.parseInt(getVariable("HTTPS_PORT",
String.valueOf(DEFAULT_HTTPS_PORT)));
if (port == 0) {
- port = findFreePort(8443, 9443);
+ port = findFreePort(DEFAULT_HTTPS_PORT, DEFAULT_HTTPS_PORT
+ 1000);
}
} catch (NumberFormatException e) {
- port = 8443;
+ port = DEFAULT_HTTPS_PORT;
}
}
Modified:
tuscany/sca-java-2.x/trunk/modules/node-api/src/main/java/org/apache/tuscany/sca/node/Node.java
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/node-api/src/main/java/org/apache/tuscany/sca/node/Node.java?rev=1095537&r1=1095536&r2=1095537&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/node-api/src/main/java/org/apache/tuscany/sca/node/Node.java
(original)
+++
tuscany/sca-java-2.x/trunk/modules/node-api/src/main/java/org/apache/tuscany/sca/node/Node.java
Wed Apr 20 22:34:51 2011
@@ -80,4 +80,11 @@ public interface Node {
* @return a ServiceReference for the designated service
*/
<B> ServiceReference<B> getServiceReference(Class<B> businessInterface,
String serviceName);
+
+ /**
+ * Returns the URI for the given service binding endpoint
+ * @param serviceBindingName It can be the
componentName/<serviceName>/<bindingName>
+ * @return
+ */
+ String getEndpointAddress(String serviceBindingName);
}
Modified:
tuscany/sca-java-2.x/trunk/modules/node-api/src/main/java/org/apache/tuscany/sca/node/NodeFactory.java
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/node-api/src/main/java/org/apache/tuscany/sca/node/NodeFactory.java?rev=1095537&r1=1095536&r2=1095537&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/node-api/src/main/java/org/apache/tuscany/sca/node/NodeFactory.java
(original)
+++
tuscany/sca-java-2.x/trunk/modules/node-api/src/main/java/org/apache/tuscany/sca/node/NodeFactory.java
Wed Apr 20 22:34:51 2011
@@ -154,6 +154,17 @@ public abstract class NodeFactory extend
}
}
+ @Override
+ public String getEndpointAddress(String serviceBindingName) {
+ try {
+ return (String)node.getClass().getMethod("getEndpointAddress",
String.class)
+ .invoke(node, serviceBindingName);
+ } catch (Throwable e) {
+ handleException(e);
+ return null;
+ }
+ }
+
}
/**
Modified:
tuscany/sca-java-2.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java?rev=1095537&r1=1095536&r2=1095537&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java
(original)
+++
tuscany/sca-java-2.x/trunk/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java
Wed Apr 20 22:34:51 2011
@@ -365,4 +365,38 @@ public class NodeImpl implements Node, N
return contributions;
}
+ @Override
+ public String getEndpointAddress(String serviceBindingName) {
+ if (serviceBindingName == null) {
+ throw new IllegalArgumentException("Service binding name cannot be
null");
+ }
+
+ // Calculate the names for compoment/service/binding
+ String[] parts = serviceBindingName.split("/");
+ String componentName = parts[0];
+ String serviceName = parts.length >= 2 ? parts[1] : null;
+ String bindingName = parts.length >= 3 ? parts[2] : serviceName;
+
+ if (domainComposite != null) {
+ for (Component component : domainComposite.getComponents()) {
+ if (!component.getName().equals(componentName)) {
+ continue;
+ }
+ for (Service service : component.getServices()) {
+ if (serviceName != null &&
!service.getName().equals(serviceName)) {
+ continue;
+ }
+ if (service instanceof RuntimeComponentService) {
+ for (Endpoint ep :
((RuntimeComponentService)service).getEndpoints()) {
+ if (bindingName == null ||
bindingName.equals(ep.getBinding().getName())) {
+ return ep.getDeployedURI();
+ }
+ }
+ }
+ }
+ }
+ }
+ return null;
+ }
+
}
Modified:
tuscany/sca-java-2.x/trunk/modules/node-impl/src/test/java/org/apache/tuscany/sca/node/impl/NodeImplTestCase.java
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/node-impl/src/test/java/org/apache/tuscany/sca/node/impl/NodeImplTestCase.java?rev=1095537&r1=1095536&r2=1095537&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/node-impl/src/test/java/org/apache/tuscany/sca/node/impl/NodeImplTestCase.java
(original)
+++
tuscany/sca-java-2.x/trunk/modules/node-impl/src/test/java/org/apache/tuscany/sca/node/impl/NodeImplTestCase.java
Wed Apr 20 22:34:51 2011
@@ -116,6 +116,14 @@ public class NodeImplTestCase {
node.start();
HelloWorld hw = node.getService(HelloWorld.class, "HelloWorld");
Assert.assertEquals("Hello, Node", hw.hello("Node"));
+ String address = node.getEndpointAddress("HelloWorld");
+ Assert.assertNotNull(address);
+ address = node.getEndpointAddress("HelloWorld/HelloWorld");
+ Assert.assertNotNull(address);
+ address = node.getEndpointAddress("HelloWorld/HelloWorld/HelloWorld");
+ Assert.assertNotNull(address);
+ address = node.getEndpointAddress("HelloWorld/HelloWorld1");
+ Assert.assertNull(address);
node.stop();
}