You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by jm...@apache.org on 2007/02/03 04:16:22 UTC
svn commit: r502853 [2/7] - in /incubator/tuscany/java/sca/kernel:
core/src/main/java/org/apache/tuscany/core/binding/local/
core/src/main/java/org/apache/tuscany/core/bootstrap/
core/src/main/java/org/apache/tuscany/core/builder/ core/src/main/java/or...
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/scope/CompositeScopeContainer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/scope/CompositeScopeContainer.java?view=diff&rev=502853&r1=502852&r2=502853
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/scope/CompositeScopeContainer.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/scope/CompositeScopeContainer.java Fri Feb 2 19:16:15 2007
@@ -35,8 +35,8 @@
import org.apache.tuscany.spi.event.Event;
import org.apache.tuscany.spi.model.Scope;
-import org.apache.tuscany.core.component.event.CompositeStart;
-import org.apache.tuscany.core.component.event.CompositeStop;
+import org.apache.tuscany.core.component.event.ComponentStart;
+import org.apache.tuscany.core.component.event.ComponentStop;
/**
* A scope context which manages atomic component instances keyed by composite
@@ -63,7 +63,7 @@
public void onEvent(Event event) {
checkInit();
- if (event instanceof CompositeStart) {
+ if (event instanceof ComponentStart) {
try {
eagerInitComponents();
} catch (ObjectCreationException e) {
@@ -72,7 +72,7 @@
monitor.eagerInitializationError(e);
}
lifecycleState = RUNNING;
- } else if (event instanceof CompositeStop) {
+ } else if (event instanceof ComponentStop) {
shutdownContexts();
}
}
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java?view=diff&rev=502853&r1=502852&r2=502853
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java Fri Feb 2 19:16:15 2007
@@ -43,7 +43,7 @@
import org.apache.tuscany.spi.model.Implementation;
import org.apache.tuscany.api.annotation.Monitor;
-import org.apache.tuscany.core.component.event.CompositeStop;
+import org.apache.tuscany.core.component.event.ComponentStop;
import org.apache.tuscany.core.component.scope.CompositeScopeContainer;
/**
@@ -53,9 +53,9 @@
*/
public class DeployerImpl implements Deployer {
protected XMLInputFactory xmlFactory;
- private Loader loader;
protected Builder builder;
protected ScopeContainerMonitor monitor;
+ private Loader loader;
public DeployerImpl(XMLInputFactory xmlFactory, Loader loader, Builder builder) {
this.xmlFactory = xmlFactory;
@@ -91,7 +91,7 @@
try {
load(parent, componentDefinition, deploymentContext);
} catch (LoaderException e) {
- e.addContextName(componentDefinition.getName());
+ e.addContextName(componentDefinition.getName().toString());
throw e;
}
Component component = (Component) build(parent, componentDefinition, deploymentContext);
@@ -99,7 +99,7 @@
RuntimeEventListener listener = new RuntimeEventListener() {
public void onEvent(Event event) {
scopeContainer.onEvent(event);
- if (event instanceof CompositeStop) {
+ if (event instanceof ComponentStop) {
scopeContainer.stop();
}
}
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoAtomicComponent.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoAtomicComponent.java?view=diff&rev=502853&r1=502852&r2=502853
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoAtomicComponent.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoAtomicComponent.java Fri Feb 2 19:16:15 2007
@@ -190,7 +190,7 @@
}
protected void onReferenceWire(OutboundWire wire) {
- String name = wire.getReferenceName();
+ String name = wire.getUri().getFragment();
Member member = referenceSites.get(name);
if (member != null) {
injectors.add(createInjector(member, wire));
@@ -208,7 +208,7 @@
public void onReferenceWires(List<OutboundWire> wires) {
assert wires.size() > 0 : "Wires were empty";
- String referenceName = wires.get(0).getReferenceName();
+ String referenceName = wires.get(0).getUri().getFragment();
Member member = referenceSites.get(referenceName);
if (member == null) {
if (constructorParamNames.contains(referenceName)) {
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoConfiguration.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoConfiguration.java?view=diff&rev=502853&r1=502852&r2=502853
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoConfiguration.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/PojoConfiguration.java Fri Feb 2 19:16:15 2007
@@ -19,6 +19,7 @@
package org.apache.tuscany.core.implementation;
import java.lang.reflect.Member;
+import java.net.URI;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -40,7 +41,7 @@
* @version $Rev$ $Date$
*/
public class PojoConfiguration {
- private String name;
+ private URI name;
private CompositeComponent parent;
//private ScopeContainer scopeContainer;
private PojoObjectFactory<?> instanceFactory;
@@ -62,11 +63,11 @@
private long maxAge = -1;
private Class implementationClass;
- public String getName() {
+ public URI getName() {
return name;
}
- public void setName(String name) {
+ public void setName(URI name) {
this.name = name;
}
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeComponent.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeComponent.java?view=diff&rev=502853&r1=502852&r2=502853
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeComponent.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeComponent.java Fri Feb 2 19:16:15 2007
@@ -18,6 +18,8 @@
*/
package org.apache.tuscany.core.implementation.composite;
+import java.net.URI;
+import java.net.URISyntaxException;
import java.util.List;
import java.util.Map;
import java.util.concurrent.CountDownLatch;
@@ -28,6 +30,7 @@
import org.apache.tuscany.spi.builder.Connector;
import org.apache.tuscany.spi.component.ComponentRegistrationException;
import org.apache.tuscany.spi.component.CompositeComponent;
+import org.apache.tuscany.spi.component.MalformedNameException;
import org.apache.tuscany.spi.component.SCAObject;
import org.apache.tuscany.spi.component.TargetInvokerCreationException;
import org.apache.tuscany.spi.event.Event;
@@ -36,8 +39,8 @@
import org.apache.tuscany.spi.wire.InboundWire;
import org.apache.tuscany.spi.wire.TargetInvoker;
-import org.apache.tuscany.core.component.event.CompositeStart;
-import org.apache.tuscany.core.component.event.CompositeStop;
+import org.apache.tuscany.core.component.event.ComponentStart;
+import org.apache.tuscany.core.component.event.ComponentStop;
/**
* The base implementation of a composite context
@@ -59,7 +62,7 @@
* @param connector the connector for fusing wires
* @param propertyValues the values of this composite's Properties
*/
- public AbstractCompositeComponent(String name,
+ public AbstractCompositeComponent(URI name,
CompositeComponent parent,
Connector connector,
Map<String, Document> propertyValues) {
@@ -68,12 +71,24 @@
public <S, I extends S> void registerJavaObject(String name, Class<S> service, I instance)
throws ComponentRegistrationException {
- register(new SystemSingletonAtomicComponent<S, I>(name, this, service, instance));
+ URI uri;
+ try {
+ uri = new URI(name);
+ } catch (URISyntaxException e) {
+ throw new MalformedNameException(e);
+ }
+ register(new SystemSingletonAtomicComponent<S, I>(uri, this, service, instance));
}
public <S, I extends S> void registerJavaObject(String name, List<Class<?>> services, I instance)
throws ComponentRegistrationException {
- register(new SystemSingletonAtomicComponent<S, I>(name, this, services, instance));
+ URI uri;
+ try {
+ uri = new URI(name);
+ } catch (URISyntaxException e) {
+ throw new MalformedNameException(e);
+ }
+ register(new SystemSingletonAtomicComponent<S, I>(uri, this, services, instance));
}
public void start() {
@@ -92,7 +107,7 @@
initialized = true;
lifecycleState = INITIALIZED;
}
- publish(new CompositeStart(this, this));
+ publish(new ComponentStart(this, getUri()));
}
public void stop() {
@@ -106,7 +121,7 @@
for (SCAObject child : systemChildren.values()) {
child.stop();
}
- publish(new CompositeStop(this, this));
+ publish(new ComponentStop(this, getUri()));
// need to block a start until reset is complete
initializeLatch = new CountDownLatch(2);
lifecycleState = STOPPING;
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeBuilder.java?view=diff&rev=502853&r1=502852&r2=502853
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeBuilder.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeBuilder.java Fri Feb 2 19:16:15 2007
@@ -18,6 +18,8 @@
*/
package org.apache.tuscany.core.implementation.composite;
+import java.net.URI;
+
import org.apache.tuscany.spi.builder.BuilderException;
import org.apache.tuscany.spi.component.Component;
import org.apache.tuscany.spi.component.CompositeComponent;
@@ -38,7 +40,7 @@
DeploymentContext deploymentContext) throws BuilderException {
CompositeImplementation implementation = componentDefinition.getImplementation();
CompositeComponentType<?, ?, ?> componentType = implementation.getComponentType();
- String name = componentDefinition.getName();
+ URI name = componentDefinition.getName();
CompositeComponentImpl component = new CompositeComponentImpl(name, parent, connector, null);
return build(parent, component, componentType, deploymentContext);
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImpl.java?view=diff&rev=502853&r1=502852&r2=502853
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImpl.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeComponentImpl.java Fri Feb 2 19:16:15 2007
@@ -19,6 +19,7 @@
package org.apache.tuscany.core.implementation.composite;
import java.util.Map;
+import java.net.URI;
import org.w3c.dom.Document;
@@ -31,7 +32,6 @@
* @version $Rev$ $Date$
*/
public class CompositeComponentImpl extends AbstractCompositeComponent {
- private String uri;
private boolean systemComposite;
/**
@@ -42,69 +42,27 @@
* @param connector the connector to use for wires
* @param propertyValues this composite's Property values
*/
- public CompositeComponentImpl(String name,
- CompositeComponent parent,
- Connector connector,
- Map<String, Document> propertyValues) {
- this(name, null, parent, connector, propertyValues);
- }
-
- /**
- * Constructor specifying if the composite is a system composite
- *
- * @param name the name of this Component
- * @param parent this component's parent
- * @param connector the connector to use for wires
- * @param systemComposite true if the composite is a system composite
- */
- public CompositeComponentImpl(String name,
- CompositeComponent parent,
- Connector connector,
- boolean systemComposite) {
- this(name, null, parent, connector, null, systemComposite);
- }
-
- /**
- * Constructor specifying name and URI.
- *
- * @param name the name of this Component
- * @param uri the unique identifier for this component
- * @param parent this component's parent
- * @param connector the connector to use for wires
- * @param propertyValues this composite's Property values
- */
- public CompositeComponentImpl(String name,
- String uri,
+ public CompositeComponentImpl(URI name,
CompositeComponent parent,
Connector connector,
Map<String, Document> propertyValues) {
super(name, parent, connector, propertyValues);
- this.uri = uri;
}
/**
- * Constructor specifying name and URI.
+ * Constructor specifying if the composite is a system composite
*
* @param name the name of this Component
- * @param uri the unique identifier for this component
* @param parent this component's parent
* @param connector the connector to use for wires
- * @param propertyValues this composite's Property values
* @param systemComposite true if the composite is a system composite
*/
- public CompositeComponentImpl(String name,
- String uri,
+ public CompositeComponentImpl(URI name,
CompositeComponent parent,
Connector connector,
- Map<String, Document> propertyValues,
boolean systemComposite) {
- super(name, parent, connector, propertyValues);
- this.uri = uri;
+ super(name, parent, connector, null);
this.systemComposite = systemComposite;
- }
-
- public String getURI() {
- return uri;
}
public boolean isSystem() {
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeLoader.java?view=diff&rev=502853&r1=502852&r2=502853
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeLoader.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeLoader.java Fri Feb 2 19:16:15 2007
@@ -30,7 +30,6 @@
import static org.osoa.sca.Version.XML_NAMESPACE_1_0;
-import org.apache.tuscany.spi.QualifiedName;
import org.apache.tuscany.spi.annotation.Autowire;
import org.apache.tuscany.spi.component.CompositeComponent;
import org.apache.tuscany.spi.deployer.CompositeClassLoader;
@@ -144,7 +143,6 @@
protected void resolveWires(CompositeComponentType<ServiceDefinition, ReferenceDefinition, Property<?>> composite)
throws InvalidWireException {
- QualifiedName sourceName;
ComponentDefinition componentDefinition;
ServiceDefinition serviceDefinition;
List<WireDefinition> wireDefns = composite.getDeclaredWires();
@@ -153,25 +151,29 @@
// validate the target before finding the source
validateTarget(targetUri, composite);
- sourceName = new QualifiedName(wire.getSource().getPath());
- serviceDefinition = composite.getDeclaredServices().get(sourceName.getPartName());
+ String sourceName = wire.getSource().getPath(); //new QualifiedName(wire.getSource().getPath());
+ serviceDefinition = composite.getDeclaredServices().get(sourceName);
if (serviceDefinition != null) {
serviceDefinition.setTarget(wire.getTarget());
} else {
- componentDefinition = composite.getDeclaredComponents().get(sourceName.getPartName());
+ componentDefinition = composite.getDeclaredComponents().get(sourceName);
if (componentDefinition != null) {
- ReferenceTarget referenceTarget = createReferenceTarget(sourceName.getPortName(),
+ if (wire.getSource().getFragment() == null) {
+ throw new InvalidWireException("Source reference not specified", sourceName);
+ }
+ URI referenceName = URI.create(wire.getSource().getFragment());
+ ReferenceTarget referenceTarget = createReferenceTarget(referenceName,
targetUri,
componentDefinition);
componentDefinition.add(referenceTarget);
} else {
- throw new InvalidWireException("Source not found", sourceName.toString());
+ throw new InvalidWireException("Source not found", sourceName);
}
}
}
}
- private ReferenceTarget createReferenceTarget(String componentReferenceName,
+ private ReferenceTarget createReferenceTarget(URI componentReferenceName,
URI target,
ComponentDefinition componentDefn) throws InvalidWireException {
ComponentType componentType = componentDefn.getImplementation().getComponentType();
@@ -182,7 +184,7 @@
} else {
Map references = componentType.getReferences();
ReferenceDefinition definition = (ReferenceDefinition) references.values().iterator().next();
- componentReferenceName = definition.getName();
+ componentReferenceName = definition.getUri();
}
}
@@ -198,7 +200,8 @@
// check if all of the composite services have been wired
for (ServiceDefinition svcDefn : composite.getDeclaredServices().values()) {
if (svcDefn.getTarget() == null) {
- throw new InvalidServiceException("Composite service not wired to a target", svcDefn.getName());
+ String identifier = svcDefn.getUri().toString();
+ throw new InvalidServiceException("Composite service not wired to a target", identifier);
}
}
}
@@ -206,26 +209,26 @@
private void validateTarget(URI target,
CompositeComponentType<ServiceDefinition, ReferenceDefinition, Property<?>> composite)
throws InvalidWireException {
- QualifiedName targetName = new QualifiedName(target.getPath());
// if target is not a reference of the composite
- if (composite.getReferences().get(targetName.getPartName()) == null) {
- ComponentDefinition<?> targetDefinition = composite.getDeclaredComponents().get(targetName.getPartName());
+ String targetName = target.getPath();
+ if (composite.getReferences().get(targetName) == null) {
+ ComponentDefinition<?> targetDefinition = composite.getDeclaredComponents().get(targetName);
// if a target component exists in this composite
if (targetDefinition != null) {
Implementation<?> implementation = targetDefinition.getImplementation();
ComponentType<?, ?, ?> componentType = implementation.getComponentType();
Map<String, ? extends ServiceDefinition> services = componentType.getServices();
- if (targetName.getPortName() == null) {
+ if (target.getFragment() == null) {
if (services.size() > 1 || services.isEmpty()) {
- throw new InvalidWireException("Ambiguous target", targetName.toString());
+ throw new InvalidWireException("Ambiguous target", target.toString());
}
} else {
- if (services.get(targetName.getPortName()) == null) {
- throw new InvalidWireException("Invalid target service", targetName.toString());
+ if (services.get(target.getFragment()) == null) {
+ throw new InvalidWireException("Invalid target service", target.toString());
}
}
} else {
- throw new InvalidWireException("Target not found", targetName.toString());
+ throw new InvalidWireException("Target not found", target.toString());
}
}
}
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/ReferenceImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/ReferenceImpl.java?view=diff&rev=502853&r1=502852&r2=502853
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/ReferenceImpl.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/ReferenceImpl.java Fri Feb 2 19:16:15 2007
@@ -21,6 +21,7 @@
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
+import java.net.URI;
import org.apache.tuscany.spi.component.AbstractSCAObject;
import org.apache.tuscany.spi.component.CompositeComponent;
@@ -39,11 +40,11 @@
private List<ReferenceBinding> bindings = new ArrayList<ReferenceBinding>();
private boolean system;
- public ReferenceImpl(String name, CompositeComponent parent, ServiceContract<?> contract) {
+ public ReferenceImpl(URI name, CompositeComponent parent, ServiceContract<?> contract) {
this(name, parent, contract, false);
}
- public ReferenceImpl(String name,
+ public ReferenceImpl(URI name,
CompositeComponent parent,
ServiceContract<?> contract,
boolean system) {
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/ServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/ServiceImpl.java?view=diff&rev=502853&r1=502852&r2=502853
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/ServiceImpl.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/ServiceImpl.java Fri Feb 2 19:16:15 2007
@@ -41,11 +41,11 @@
private boolean system;
private URI targetUri;
- public ServiceImpl(String name, CompositeComponent parent, ServiceContract<?> contract) {
+ public ServiceImpl(URI name, CompositeComponent parent, ServiceContract<?> contract) {
this(name, parent, contract, null, false);
}
- public ServiceImpl(String name,
+ public ServiceImpl(URI name,
CompositeComponent parent,
ServiceContract<?> contract,
URI targetUri,
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/SystemCompositeBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/SystemCompositeBuilder.java?view=diff&rev=502853&r1=502852&r2=502853
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/SystemCompositeBuilder.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/SystemCompositeBuilder.java Fri Feb 2 19:16:15 2007
@@ -18,6 +18,8 @@
*/
package org.apache.tuscany.core.implementation.composite;
+import java.net.URI;
+
import org.apache.tuscany.spi.builder.BuilderException;
import org.apache.tuscany.spi.builder.BuilderRegistry;
import org.apache.tuscany.spi.builder.Connector;
@@ -53,7 +55,7 @@
DeploymentContext deploymentContext) throws BuilderException {
SystemCompositeImplementation impl = componentDefinition.getImplementation();
CompositeComponentType<?, ?, ?> componentType = impl.getComponentType();
- String name = componentDefinition.getName();
+ URI name = componentDefinition.getName();
CompositeComponent component = new CompositeComponentImpl(name, parent, connector, true);
component.setManagementService(managementService);
build(parent, component, componentType, deploymentContext);
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/SystemSingletonAtomicComponent.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/SystemSingletonAtomicComponent.java?view=diff&rev=502853&r1=502852&r2=502853
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/SystemSingletonAtomicComponent.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/SystemSingletonAtomicComponent.java Fri Feb 2 19:16:15 2007
@@ -18,6 +18,7 @@
*/
package org.apache.tuscany.core.implementation.composite;
+import java.net.URI;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
@@ -53,7 +54,7 @@
private Map<String, InboundWire> inboundWires;
private WireService wireService = new JDKWireService();
- public SystemSingletonAtomicComponent(String name, CompositeComponent parent, Class<S> interfaze, T instance) {
+ public SystemSingletonAtomicComponent(URI name, CompositeComponent parent, Class<S> interfaze, T instance) {
super(name, parent);
this.instance = instance;
inboundWires = new HashMap<String, InboundWire>();
@@ -61,7 +62,7 @@
}
- public SystemSingletonAtomicComponent(String name,
+ public SystemSingletonAtomicComponent(URI name,
CompositeComponent parent,
List<Class<?>> services,
T instance) {
@@ -118,7 +119,7 @@
}
public void addInboundWire(InboundWire wire) {
- inboundWires.put(wire.getServiceName(), wire);
+ inboundWires.put(wire.getUri().getFragment(), wire);
}
public Collection<InboundWire> getInboundWires() {
@@ -152,10 +153,12 @@
private void initWire(Class<?> interfaze) {
JavaServiceContract serviceContract = new JavaServiceContract(interfaze);
- ServiceDefinition def = new ServiceDefinition(interfaze.getName(), serviceContract, false);
+ // create a relative URI
+ URI uri = URI.create("#" + interfaze.getName());
+ ServiceDefinition def = new ServiceDefinition(uri, serviceContract, false);
InboundWire wire = wireService.createWire(def);
wire.setContainer(this);
- inboundWires.put(wire.getServiceName(), wire);
+ inboundWires.put(wire.getUri().getFragment(), wire);
}
}
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilder.java?view=diff&rev=502853&r1=502852&r2=502853
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilder.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilder.java Fri Feb 2 19:16:15 2007
@@ -101,7 +101,7 @@
Member member = reference.getMember();
if (member != null) {
// could be null if the reference is mapped to a constructor
- configuration.addReferenceSite(reference.getName(), member);
+ configuration.addReferenceSite(reference.getUri().getFragment(), member);
}
}
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/ContextProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/ContextProcessor.java?view=diff&rev=502853&r1=502852&r2=502853
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/ContextProcessor.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/ContextProcessor.java Fri Feb 2 19:16:15 2007
@@ -21,8 +21,8 @@
import java.lang.reflect.Field;
import java.lang.reflect.Method;
-import org.osoa.sca.RequestContext;
import org.osoa.sca.ComponentContext;
+import org.osoa.sca.RequestContext;
import org.osoa.sca.annotations.Context;
import org.apache.tuscany.spi.annotation.Autowire;
@@ -48,12 +48,12 @@
* @version $Rev$ $Date$
*/
public class ContextProcessor extends ImplementationProcessorExtension {
- private WireService wireService;
+ //private WireService wireService;
private WorkContext workContext;
@Autowire
public void setWireService(WireService wireService) {
- this.wireService = wireService;
+ //this.wireService = wireService;
}
@Autowire
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/HeuristicPojoProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/HeuristicPojoProcessor.java?view=diff&rev=502853&r1=502852&r2=502853
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/HeuristicPojoProcessor.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/HeuristicPojoProcessor.java Fri Feb 2 19:16:15 2007
@@ -94,7 +94,7 @@
} catch (InvalidServiceContractException e) {
throw new ProcessingException(e);
}
- type.getServices().put(service.getName(), service);
+ type.getServices().put(service.getUri().getFragment(), service);
} else if (interfaces.size() == 1) {
JavaMappedService service;
try {
@@ -102,7 +102,7 @@
} catch (InvalidServiceContractException e) {
throw new ProcessingException(e);
}
- type.getServices().put(service.getName(), service);
+ type.getServices().put(service.getUri().getFragment(), service);
}
}
Set<Method> methods = getAllUniquePublicProtectedMethods(clazz);
@@ -250,12 +250,12 @@
for (int i = 0; i < params.length; i++) {
Class param = params[i];
implService.processParam(param,
- constructor.getGenericParameterTypes()[i],
- annotations[i],
- new String[0],
- i,
- type,
- paramNames);
+ constructor.getGenericParameterTypes()[i],
+ annotations[i],
+ new String[0],
+ i,
+ type,
+ paramNames);
}
} else {
if (!implService.areUnique(params)) {
@@ -354,7 +354,7 @@
throw new AmbiguousConstructorException("Ambiguous property or reference for constructor type",
type.getName());
}
- name = reference.getName();
+ name = reference.getUri().getFragment();
// do not break since ambiguities must be checked, i.e. more than one prop or ref of the same type
}
}
@@ -489,7 +489,7 @@
} catch (InvalidServiceContractException e) {
throw new ProcessingException(e);
}
- type.getServices().put(service.getName(), service);
+ type.getServices().put(service.getUri().getFragment(), service);
}
}
}
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/ImplementationProcessorServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/ImplementationProcessorServiceImpl.java?view=diff&rev=502853&r1=502852&r2=502853
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/ImplementationProcessorServiceImpl.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/ImplementationProcessorServiceImpl.java Fri Feb 2 19:16:15 2007
@@ -22,6 +22,7 @@
import java.lang.reflect.Member;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
+import java.net.URI;
import java.util.Collection;
import java.util.List;
import javax.xml.namespace.QName;
@@ -66,7 +67,8 @@
public JavaMappedService createService(Class<?> interfaze) throws InvalidServiceContractException {
JavaMappedService service = new JavaMappedService();
- service.setName(interfaze.getName());
+ // create a relative URI
+ service.setUri(URI.create("#" + interfaze.getName()));
service.setRemotable(interfaze.getAnnotation(Remotable.class) != null);
ServiceContract<?> contract = registry.introspect(interfaze);
service.setServiceContract(contract);
@@ -149,7 +151,7 @@
public JavaMappedReference createReference(String name, Member member, Class<?> paramType)
throws ProcessingException {
JavaMappedReference reference = new JavaMappedReference();
- reference.setName(name);
+ reference.setUri(URI.create("#" + name));
reference.setMember(member);
reference.setRequired(false);
ServiceContract contract;
@@ -238,7 +240,7 @@
throw new InvalidConstructorException("Name specified by @Constructor does not match autowire name",
paramNum);
}
- reference.setName(name);
+ reference.setUri(URI.create("#" + name));
boolean required = autowireAnnot.required();
reference.setRequired(required);
try {
@@ -368,7 +370,7 @@
if (type.getReferences().get(name) != null) {
throw new DuplicateReferenceException(name);
}
- reference.setName(name);
+ reference.setUri(URI.create("#" + name));
boolean required = refAnnotation.required();
reference.setRequired(required);
try {
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/ReferenceProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/ReferenceProcessor.java?view=diff&rev=502853&r1=502852&r2=502853
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/ReferenceProcessor.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/ReferenceProcessor.java Fri Feb 2 19:16:15 2007
@@ -21,6 +21,7 @@
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
+import java.net.URI;
import java.util.Collection;
import org.osoa.sca.annotations.Reference;
@@ -95,7 +96,7 @@
reference.setMember(method);
reference.setAutowire(isAutowire);
reference.setRequired(required);
- reference.setName(name);
+ reference.setUri(URI.create("#" + name));
ServiceContract contract;
try {
Class<?> rawType = method.getParameterTypes()[0];
@@ -148,7 +149,7 @@
reference.setMember(field);
reference.setRequired(required);
reference.setAutowire(autowire);
- reference.setName(name);
+ reference.setUri(URI.create("#" + name));
ServiceContract contract;
try {
Class<?> rawType = field.getType();
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/ServiceProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/ServiceProcessor.java?view=diff&rev=502853&r1=502852&r2=502853
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/ServiceProcessor.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/ServiceProcessor.java Fri Feb 2 19:16:15 2007
@@ -30,12 +30,12 @@
import org.apache.tuscany.spi.deployer.DeploymentContext;
import org.apache.tuscany.spi.idl.InvalidServiceContractException;
import org.apache.tuscany.spi.implementation.java.ImplementationProcessorExtension;
+import org.apache.tuscany.spi.implementation.java.ImplementationProcessorService;
import org.apache.tuscany.spi.implementation.java.JavaMappedProperty;
import org.apache.tuscany.spi.implementation.java.JavaMappedReference;
import org.apache.tuscany.spi.implementation.java.JavaMappedService;
import org.apache.tuscany.spi.implementation.java.PojoComponentType;
import org.apache.tuscany.spi.implementation.java.ProcessingException;
-import org.apache.tuscany.spi.implementation.java.ImplementationProcessorService;
import org.apache.tuscany.spi.model.ServiceContract;
import static org.apache.tuscany.core.util.JavaIntrospectionHelper.getAllInterfaces;
@@ -70,7 +70,7 @@
} catch (InvalidServiceContractException e) {
throw new ProcessingException(e);
}
- type.getServices().put(service.getName(), service);
+ type.getServices().put(service.getUri().getFragment(), service);
}
}
return;
@@ -95,7 +95,7 @@
} catch (InvalidServiceContractException e) {
throw new ProcessingException(e);
}
- type.getServices().put(service.getName(), service);
+ type.getServices().put(service.getUri().getFragment(), service);
}
}
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemComponentBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemComponentBuilder.java?view=diff&rev=502853&r1=502852&r2=502853
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemComponentBuilder.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemComponentBuilder.java Fri Feb 2 19:16:15 2007
@@ -96,7 +96,7 @@
Member member = reference.getMember();
if (member != null) {
// could be null if the reference is mapped to a constructor
- configuration.addReferenceSite(reference.getName(), member);
+ configuration.addReferenceSite(reference.getUri().getFragment(), member);
}
}
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/ComponentLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/ComponentLoader.java?view=diff&rev=502853&r1=502852&r2=502853
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/ComponentLoader.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/ComponentLoader.java Fri Feb 2 19:16:15 2007
@@ -18,30 +18,30 @@
*/
package org.apache.tuscany.core.loader;
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
-import static org.osoa.sca.Version.XML_NAMESPACE_1_0;
-
import java.lang.reflect.Type;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.Map;
-
import javax.xml.namespace.QName;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.ParserConfigurationException;
+import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
+import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamReader;
-import org.apache.tuscany.core.binding.local.LocalBindingDefinition;
-import org.apache.tuscany.core.implementation.system.model.SystemImplementation;
-import org.apache.tuscany.core.property.SimplePropertyObjectFactory;
+import org.w3c.dom.Document;
+import static org.osoa.sca.Version.XML_NAMESPACE_1_0;
+import org.osoa.sca.annotations.Constructor;
+
import org.apache.tuscany.spi.ObjectFactory;
+import org.apache.tuscany.spi.QualifiedName;
import org.apache.tuscany.spi.annotation.Autowire;
import org.apache.tuscany.spi.component.CompositeComponent;
import org.apache.tuscany.spi.databinding.extension.DOMHelper;
import org.apache.tuscany.spi.deployer.DeploymentContext;
import org.apache.tuscany.spi.extension.LoaderExtension;
+import org.apache.tuscany.spi.loader.IllegalSCDLNameException;
import org.apache.tuscany.spi.loader.InvalidReferenceException;
import org.apache.tuscany.spi.loader.InvalidValueException;
import org.apache.tuscany.spi.loader.LoaderException;
@@ -70,8 +70,10 @@
import org.apache.tuscany.spi.model.ReferenceTarget;
import org.apache.tuscany.spi.model.ServiceDefinition;
import org.apache.tuscany.spi.util.stax.StaxUtil;
-import org.osoa.sca.annotations.Constructor;
-import org.w3c.dom.Document;
+
+import org.apache.tuscany.core.binding.local.LocalBindingDefinition;
+import org.apache.tuscany.core.implementation.system.model.SystemImplementation;
+import org.apache.tuscany.core.property.SimplePropertyObjectFactory;
/**
* Loads a component definition from an XML-based assembly file
@@ -112,8 +114,14 @@
Implementation<?> impl = loadImplementation(parent, reader, deploymentContext);
registry.loadComponentType(parent, impl, deploymentContext);
+ URI uri;
+ try {
+ uri = new URI(parent.getUri().toString() + "/" + name);
+ } catch (URISyntaxException e) {
+ throw new IllegalSCDLNameException(e);
+ }
ComponentDefinition<Implementation<?>> componentDefinition =
- new ComponentDefinition<Implementation<?>>(name, impl);
+ new ComponentDefinition<Implementation<?>>(uri, impl);
if (initLevel != null) {
if (initLevel.length() == 0) {
@@ -153,7 +161,9 @@
for (ReferenceDefinition ref : type.getReferences().values()) {
if (ref.isAutowire()) {
ReferenceTarget referenceTarget = new ReferenceTarget();
- referenceTarget.setReferenceName(ref.getName());
+ String compName = componentDefinition.getName().toString();
+ URI refName = URI.create(compName + ref.getUri().toString());
+ referenceTarget.setReferenceName(refName);
componentDefinition.add(referenceTarget);
}
}
@@ -224,13 +234,22 @@
String name = reader.getAttributeValue(null, "name");
String text = reader.getElementText();
String target = text != null ? text.trim() : null;
-
-
if (name == null) {
throw new InvalidReferenceException("No name specified");
} else if (target == null) {
throw new InvalidReferenceException("No target specified", name);
}
+ URI targetURI;
+ QualifiedName qName = new QualifiedName(target);
+ try {
+ if (qName.getPortName() == null) {
+ targetURI = new URI(qName.getPartName());
+ } else {
+ targetURI = new URI(qName.getPartName() + "#" + qName.getPartName());
+ }
+ } catch (URISyntaxException e) {
+ throw new InvalidReferenceException("Illegal URI", name, e);
+ }
Implementation<?> impl = componentDefinition.getImplementation();
ComponentType<?, ?, ?> componentType = impl.getComponentType();
if (!componentType.getReferences().containsKey(name)) {
@@ -240,34 +259,26 @@
ReferenceDefinition definition = componentType.getReferences().get(name);
if (definition.getBindings().isEmpty()) {
// TODO JFM allow selection of a default binding
- try {
- LocalBindingDefinition binding = new LocalBindingDefinition(new URI(target));
- definition.addBinding(binding);
- } catch (URISyntaxException e) {
- throw new InvalidReferenceException(e);
- }
+ LocalBindingDefinition binding = new LocalBindingDefinition(targetURI);
+ definition.addBinding(binding);
} else {
for (BindingDefinition binding : definition.getBindings()) {
- try {
- // FIXME this is bad - clarify in the spec how URIs are overriden
- binding.setTargetUri(new URI(target));
- } catch (URISyntaxException e) {
- throw new LoaderException(e);
- }
+ // FIXME this is bad - clarify in the spec how URIs are overriden
+ binding.setTargetUri(targetURI);
}
}
} else {
ReferenceTarget referenceTarget = componentDefinition.getReferenceTargets().get(name);
if (referenceTarget == null) {
referenceTarget = new ReferenceTarget();
- referenceTarget.setReferenceName(name);
+ try {
+ referenceTarget.setReferenceName(new URI(componentDefinition.getName() + "#" + name));
+ } catch (URISyntaxException e) {
+ throw new IllegalSCDLNameException(e);
+ }
componentDefinition.add(referenceTarget);
}
- try {
- referenceTarget.addTarget(new URI(target));
- } catch (URISyntaxException e) {
- throw new InvalidReferenceException(e);
- }
+ referenceTarget.addTarget(targetURI);
}
}
@@ -310,7 +321,7 @@
if (referenceDef.isAutowire() || !referenceDef.isRequired()) {
continue;
}
- String name = referenceDef.getName();
+ String name = referenceDef.getUri().getFragment();
ReferenceTarget target = definition.getReferenceTargets().get(name);
if (target == null) {
throw new MissingReferenceException(name);
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/ReferenceLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/ReferenceLoader.java?view=diff&rev=502853&r1=502852&r2=502853
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/ReferenceLoader.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/ReferenceLoader.java Fri Feb 2 19:16:15 2007
@@ -18,6 +18,8 @@
*/
package org.apache.tuscany.core.loader;
+import java.net.URI;
+import java.net.URISyntaxException;
import javax.xml.namespace.QName;
import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
@@ -31,6 +33,7 @@
import org.apache.tuscany.spi.component.CompositeComponent;
import org.apache.tuscany.spi.deployer.DeploymentContext;
import org.apache.tuscany.spi.extension.LoaderExtension;
+import org.apache.tuscany.spi.loader.IllegalSCDLNameException;
import org.apache.tuscany.spi.loader.LoaderException;
import org.apache.tuscany.spi.loader.LoaderRegistry;
import org.apache.tuscany.spi.loader.UnrecognizedElementException;
@@ -68,7 +71,11 @@
Multiplicity multiplicity = StaxUtil.multiplicity(multiplicityVal, Multiplicity.ONE_ONE);
ReferenceDefinition referenceDefinition = new ReferenceDefinition();
referenceDefinition.setMultiplicity(multiplicity);
- referenceDefinition.setName(name);
+ try {
+ referenceDefinition.setUri(new URI(parent.getUri().toString() + "#" + name));
+ } catch (URISyntaxException e) {
+ throw new IllegalSCDLNameException(e);
+ }
while (true) {
switch (reader.next()) {
case START_ELEMENT:
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/ServiceLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/ServiceLoader.java?view=diff&rev=502853&r1=502852&r2=502853
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/ServiceLoader.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/ServiceLoader.java Fri Feb 2 19:16:15 2007
@@ -29,11 +29,12 @@
import static org.osoa.sca.Version.XML_NAMESPACE_1_0;
import org.osoa.sca.annotations.Constructor;
+import org.apache.tuscany.spi.QualifiedName;
import org.apache.tuscany.spi.annotation.Autowire;
import org.apache.tuscany.spi.component.CompositeComponent;
import org.apache.tuscany.spi.deployer.DeploymentContext;
import org.apache.tuscany.spi.extension.LoaderExtension;
-import org.apache.tuscany.spi.loader.InvalidReferenceException;
+import org.apache.tuscany.spi.loader.IllegalSCDLNameException;
import org.apache.tuscany.spi.loader.LoaderException;
import org.apache.tuscany.spi.loader.LoaderRegistry;
import org.apache.tuscany.spi.loader.UnrecognizedElementException;
@@ -66,9 +67,13 @@
DeploymentContext deploymentContext) throws XMLStreamException, LoaderException {
assert SERVICE.equals(reader.getName());
String name = reader.getAttributeValue(null, "name");
- String target = null;
+ URI targetUri = null;
ServiceDefinition def = new ServiceDefinition();
- def.setName(name);
+ try {
+ def.setUri(new URI(parent.getUri().toString() + "#" + name));
+ } catch (URISyntaxException e) {
+ throw new IllegalSCDLNameException(e);
+ }
while (true) {
int i = reader.next();
switch (i) {
@@ -76,7 +81,17 @@
// there is a reference already using this qname which doesn't seem appropriate.
if (REFERENCE.equals(reader.getName())) {
String text = reader.getElementText();
- target = text != null ? text.trim() : null;
+ String target = text != null ? text.trim() : null;
+ QualifiedName qName = new QualifiedName(target);
+ try {
+ if (qName.getPortName() == null) {
+ targetUri = new URI(target);
+ } else {
+ targetUri = new URI(qName.getPartName() + "#" + qName.getPortName());
+ }
+ } catch (URISyntaxException e) {
+ throw new IllegalSCDLNameException(e);
+ }
} else {
ModelObject o = registry.load(parent, null, reader, deploymentContext);
if (o instanceof ServiceContract) {
@@ -90,12 +105,8 @@
break;
case END_ELEMENT:
if (SERVICE.equals(reader.getName())) {
- if (target != null) {
- try {
- def.setTarget(new URI(target));
- } catch (URISyntaxException e) {
- throw new InvalidReferenceException(target, name);
- }
+ if (targetUri != null) {
+ def.setTarget(targetUri);
}
return def;
}
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/WireLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/WireLoader.java?view=diff&rev=502853&r1=502852&r2=502853
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/WireLoader.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/WireLoader.java Fri Feb 2 19:16:15 2007
@@ -29,6 +29,7 @@
import static org.osoa.sca.Version.XML_NAMESPACE_1_0;
import org.osoa.sca.annotations.Constructor;
+import org.apache.tuscany.spi.QualifiedName;
import org.apache.tuscany.spi.annotation.Autowire;
import org.apache.tuscany.spi.component.CompositeComponent;
import org.apache.tuscany.spi.deployer.DeploymentContext;
@@ -49,7 +50,7 @@
private static final QName SOURCE_URI = new QName(XML_NAMESPACE_1_0, "source.uri");
private static final QName TARGET_URI = new QName(XML_NAMESPACE_1_0, "target.uri");
- @Constructor({"registry"})
+ @Constructor
public WireLoader(@Autowire LoaderRegistry registry) {
super(registry);
}
@@ -74,14 +75,24 @@
if (reader.getName().equals(SOURCE_URI)) {
uriString = reader.getElementText();
if (uriString != null && uriString.trim().length() > 0) {
- sourceURI = new URI(uriString);
+ QualifiedName name = new QualifiedName(uriString);
+ if (name.getPortName() == null) {
+ sourceURI = new URI(uriString);
+ } else {
+ sourceURI = new URI(name.getPartName() + "#" + name.getPortName());
+ }
} else {
throw new InvalidWireException("Wire source not defined");
}
} else if (reader.getName().equals(TARGET_URI)) {
uriString = reader.getElementText();
if (uriString != null && uriString.trim().length() > 0) {
- targetURI = new URI(uriString);
+ QualifiedName name = new QualifiedName(uriString);
+ if (name.getPortName() == null) {
+ targetURI = new URI(uriString);
+ } else {
+ targetURI = new URI(name.getPartName() + "#" + name.getPortName());
+ }
} else {
throw new InvalidWireException("Wire target not defined");
}
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/runtime/AbstractRuntime.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/runtime/AbstractRuntime.java?view=diff&rev=502853&r1=502852&r2=502853
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/runtime/AbstractRuntime.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/runtime/AbstractRuntime.java Fri Feb 2 19:16:15 2007
@@ -19,12 +19,15 @@
package org.apache.tuscany.core.runtime;
import java.net.URL;
+import java.net.URI;
import javax.xml.stream.XMLInputFactory;
import org.apache.tuscany.core.bootstrap.Bootstrapper;
import org.apache.tuscany.core.bootstrap.DefaultBootstrapper;
import org.apache.tuscany.core.implementation.system.model.SystemCompositeImplementation;
import org.apache.tuscany.core.monitor.NullMonitorFactory;
+import org.apache.tuscany.core.component.ComponentManager;
+import org.apache.tuscany.core.component.ComponentManagerImpl;
import org.apache.tuscany.host.MonitorFactory;
import org.apache.tuscany.host.RuntimeInfo;
import org.apache.tuscany.host.management.ManagementService;
@@ -58,6 +61,7 @@
private RuntimeInfo runtimeInfo;
private MonitorFactory monitorFactory;
private ManagementService<?> managementService;
+ private ComponentManager componentManager;
private RuntimeComponent runtime;
private CompositeComponent systemComponent;
@@ -169,6 +173,12 @@
systemComponent = runtime.getSystemComponent();
registerSystemComponents();
+ try {
+ componentManager.register(systemComponent);
+ componentManager.register(runtime.getRootComponent());
+ } catch (ComponentRegistrationException e) {
+ throw new InitializationException(e);
+ }
systemComponent.start();
// deploy the system scdl
@@ -211,13 +221,15 @@
protected Bootstrapper createBootstrapper() {
TuscanyManagementService tms = (TuscanyManagementService) getManagementService();
- return new DefaultBootstrapper(getMonitorFactory(), xmlFactory, tms);
+ componentManager = new ComponentManagerImpl(tms);
+ return new DefaultBootstrapper(getMonitorFactory(), xmlFactory, componentManager, tms);
}
protected void registerSystemComponents() throws InitializationException {
try {
systemComponent.registerJavaObject(RuntimeInfo.COMPONENT_NAME, RuntimeInfo.class, runtimeInfo);
systemComponent.registerJavaObject("MonitorFactory", MonitorFactory.class, getMonitorFactory());
+ systemComponent.registerJavaObject("ComponentManager", ComponentManager.class, componentManager);
} catch (ComponentRegistrationException e) {
throw new InitializationException(e);
}
@@ -249,7 +261,7 @@
protected CompositeComponent deploySystemScdl(Deployer deployer,
CompositeComponent parent,
- String name,
+ URI name,
URL systemScdl,
ClassLoader systemClassLoader)
throws LoaderException, BuilderException, ComponentException {
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/extension/AbstractExtensionDeployer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/extension/AbstractExtensionDeployer.java?view=diff&rev=502853&r1=502852&r2=502853
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/extension/AbstractExtensionDeployer.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/extension/AbstractExtensionDeployer.java Fri Feb 2 19:16:15 2007
@@ -21,18 +21,22 @@
import java.io.File;
import java.io.IOException;
import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URISyntaxException;
import java.net.URL;
-import org.apache.tuscany.core.implementation.system.model.SystemCompositeImplementation;
import org.apache.tuscany.spi.annotation.Autowire;
+import org.apache.tuscany.spi.builder.BuilderException;
import org.apache.tuscany.spi.component.Component;
-import org.apache.tuscany.spi.component.CompositeComponent;
import org.apache.tuscany.spi.component.ComponentException;
+import org.apache.tuscany.spi.component.CompositeComponent;
import org.apache.tuscany.spi.deployer.CompositeClassLoader;
import org.apache.tuscany.spi.deployer.Deployer;
+import org.apache.tuscany.spi.loader.IllegalSCDLNameException;
import org.apache.tuscany.spi.loader.LoaderException;
import org.apache.tuscany.spi.model.ComponentDefinition;
-import org.apache.tuscany.spi.builder.BuilderException;
+
+import org.apache.tuscany.core.implementation.system.model.SystemCompositeImplementation;
/**
* @version $Rev$ $Date$
@@ -51,7 +55,7 @@
this.parent = parent;
}
- protected void deployExtension(File file) {
+ protected void deployExtension(File file) throws IllegalSCDLNameException {
// extension name is file name less any extension
String name = file.getName();
int dot = name.lastIndexOf('.');
@@ -69,7 +73,7 @@
deployExtension(name, url);
}
- protected void deployExtension(String name, URL url) {
+ protected void deployExtension(String name, URL url) throws IllegalSCDLNameException {
// FIXME for now, assume this class's ClassLoader is the Tuscany system classloader
// FIXME we should really use the one associated with the parent composite
CompositeClassLoader extensionCL = new CompositeClassLoader(getClass().getClassLoader());
@@ -95,15 +99,21 @@
SystemCompositeImplementation implementation = new SystemCompositeImplementation();
implementation.setScdlLocation(scdlLocation);
implementation.setClassLoader(extensionCL);
+ URI uri;
+ try {
+ uri = new URI(parent.getUri().toString() + "/" + name);
+ } catch (URISyntaxException e) {
+ throw new IllegalSCDLNameException(e);
+ }
ComponentDefinition<SystemCompositeImplementation> definition =
- new ComponentDefinition<SystemCompositeImplementation>(name, implementation);
+ new ComponentDefinition<SystemCompositeImplementation>(uri, implementation);
// FIXME: [rfeng] Should we reset the thread context class loader here?
// From the debugger with tomcat, the current TCCL is the RealmClassLoader
// ClassLoader contextCL = Thread.currentThread().getContextClassLoader();
try {
// Thread.currentThread().setContextClassLoader(extensionCL);
- Component component = null;
+ Component component;
try {
component = deployer.deploy(parent, definition);
component.start();
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/store/memory/MemoryStore.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/store/memory/MemoryStore.java?view=diff&rev=502853&r1=502852&r2=502853
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/store/memory/MemoryStore.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/store/memory/MemoryStore.java Fri Feb 2 19:16:15 2007
@@ -110,7 +110,7 @@
store.put(owner, map);
}
if (map.containsKey(id)) {
- throw new DuplicateRecordException(owner.getCanonicalName(), id);
+ throw new DuplicateRecordException(owner.getUri().toString(), id);
}
map.put(id, new Record(object, expiration));
}
@@ -118,11 +118,11 @@
public void updateRecord(SCAObject owner, String id, Object object, long expiration) throws StoreWriteException {
Map<String, Record> map = store.get(owner);
if (map == null) {
- throw new StoreWriteException("Record not found", owner.getCanonicalName(), id);
+ throw new StoreWriteException("Record not found", owner.getUri().toString(), id);
}
Record record = map.get(id);
if (record == null) {
- throw new StoreWriteException("Record not found", owner.getCanonicalName(), id);
+ throw new StoreWriteException("Record not found", owner.getUri().toString(), id);
}
record.data = object;
}
@@ -146,10 +146,10 @@
public void removeRecord(SCAObject owner, String id) throws StoreWriteException {
Map<String, Record> map = store.get(owner);
if (map == null) {
- throw new StoreWriteException("Owner not found", owner.getCanonicalName(), id);
+ throw new StoreWriteException("Owner not found", owner.getUri().toString(), id);
}
if (map.remove(id) == null) {
- throw new StoreWriteException("Owner not found", owner.getCanonicalName(), id);
+ throw new StoreWriteException("Owner not found", owner.getUri().toString(), id);
}
}
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/InboundWireImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/InboundWireImpl.java?view=diff&rev=502853&r1=502852&r2=502853
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/InboundWireImpl.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/InboundWireImpl.java Fri Feb 2 19:16:15 2007
@@ -20,6 +20,7 @@
import java.util.HashMap;
import java.util.Map;
+import java.net.URI;
import javax.xml.namespace.QName;
import org.apache.tuscany.spi.component.AtomicComponent;
@@ -39,7 +40,7 @@
*/
public class InboundWireImpl implements InboundWire {
private QName bindingType = LOCAL_BINDING;
- private String serviceName;
+ private URI uri;
private ServiceContract serviceContract;
private OutboundWire targetWire;
private String callbackReferenceName;
@@ -89,16 +90,12 @@
this.serviceContract = serviceContract;
}
- public void addInterface(Class claz) {
- throw new UnsupportedOperationException("Additional proxy interfaces not yet supported");
+ public URI getUri() {
+ return uri;
}
- public String getServiceName() {
- return serviceName;
- }
-
- public void setServiceName(String serviceName) {
- this.serviceName = serviceName;
+ public void setUri(URI serviceName) {
+ this.uri = serviceName;
}
public Map<Operation<?>, InboundInvocationChain> getInvocationChains() {
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/OutboundWireImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/OutboundWireImpl.java?view=diff&rev=502853&r1=502852&r2=502853
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/OutboundWireImpl.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/OutboundWireImpl.java Fri Feb 2 19:16:15 2007
@@ -20,6 +20,7 @@
import java.util.HashMap;
import java.util.Map;
+import java.net.URI;
import javax.xml.namespace.QName;
import org.apache.tuscany.spi.QualifiedName;
@@ -44,8 +45,9 @@
private Map<Operation<?>, OutboundInvocationChain> chains = new HashMap<Operation<?>, OutboundInvocationChain>();
private Map<Operation<?>, InboundInvocationChain> callbackTargetChains =
new HashMap<Operation<?>, InboundInvocationChain>();
- private String referenceName;
+ private URI uri;
private QualifiedName targetName;
+ private URI target;
private InboundWire targetWire;
private SCAObject container;
private boolean autowire;
@@ -74,14 +76,6 @@
return bindingType;
}
- public Object getTargetService() throws TargetResolutionException {
- if (targetWire == null) {
- return null;
- }
- // optimized, no interceptors or handlers on either end
- return targetWire.getTargetService();
- }
-
public ServiceContract getServiceContract() {
return serviceContract;
}
@@ -90,10 +84,6 @@
this.serviceContract = serviceContract;
}
- public void addInterface(Class<?> claz) {
- throw new UnsupportedOperationException("Additional proxy interfaces not yet supported");
- }
-
public void setCallbackInterface(Class<?> interfaze) {
callbackInterfaces = new Class[]{interfaze};
}
@@ -110,40 +100,12 @@
return callbackInterfaces;
}
- public void setTargetWire(InboundWire wire) {
- this.targetWire = wire;
- }
-
- public Map<Operation<?>, OutboundInvocationChain> getInvocationChains() {
- return chains;
- }
-
- public void addInvocationChains(Map<Operation<?>, OutboundInvocationChain> chains) {
- this.chains.putAll(chains);
- }
-
- public void addInvocationChain(Operation<?> operation, OutboundInvocationChain chain) {
- chains.put(operation, chain);
- }
-
- public Map<Operation<?>, InboundInvocationChain> getTargetCallbackInvocationChains() {
- return callbackTargetChains;
- }
-
- public void addTargetCallbackInvocationChains(Map<Operation<?>, InboundInvocationChain> chains) {
- callbackTargetChains.putAll(chains);
- }
-
- public void addTargetCallbackInvocationChain(Operation operation, InboundInvocationChain chain) {
- callbackTargetChains.put(operation, chain);
- }
-
- public String getReferenceName() {
- return referenceName;
+ public URI getUri() {
+ return uri;
}
- public void setReferenceName(String referenceName) {
- this.referenceName = referenceName;
+ public void setUri(URI referenceUri) {
+ this.uri = referenceUri;
}
public QualifiedName getTargetName() {
@@ -154,6 +116,14 @@
this.targetName = targetName;
}
+ public URI getTargetUri() {
+ return target;
+ }
+
+ public void setTargetUri(URI target) {
+ this.target = target;
+ }
+
public boolean isAutowire() {
return autowire;
}
@@ -173,4 +143,41 @@
public void setContainer(SCAObject container) {
this.container = container;
}
+
+ public Object getTargetService() throws TargetResolutionException {
+ if (targetWire == null) {
+ return null;
+ }
+ // optimized, no interceptors or handlers on either end
+ return targetWire.getTargetService();
+ }
+
+ public void setTargetWire(InboundWire wire) {
+ this.targetWire = wire;
+ }
+
+ public Map<Operation<?>, OutboundInvocationChain> getInvocationChains() {
+ return chains;
+ }
+
+ public void addInvocationChains(Map<Operation<?>, OutboundInvocationChain> chains) {
+ this.chains.putAll(chains);
+ }
+
+ public void addInvocationChain(Operation<?> operation, OutboundInvocationChain chain) {
+ chains.put(operation, chain);
+ }
+
+ public Map<Operation<?>, InboundInvocationChain> getTargetCallbackInvocationChains() {
+ return callbackTargetChains;
+ }
+
+ public void addTargetCallbackInvocationChains(Map<Operation<?>, InboundInvocationChain> chains) {
+ callbackTargetChains.putAll(chains);
+ }
+
+ public void addTargetCallbackInvocationChain(Operation operation, InboundInvocationChain chain) {
+ callbackTargetChains.put(operation, chain);
+ }
+
}
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/WireServiceExtension.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/WireServiceExtension.java?view=diff&rev=502853&r1=502852&r2=502853
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/WireServiceExtension.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/WireServiceExtension.java Fri Feb 2 19:16:15 2007
@@ -72,7 +72,7 @@
InboundWire wire = new InboundWireImpl();
ServiceContract<?> contract = service.getServiceContract();
wire.setServiceContract(contract);
- wire.setServiceName(service.getName());
+ wire.setUri(service.getUri());
for (Operation<?> operation : contract.getOperations().values()) {
InboundInvocationChain chain = createInboundChain(operation);
// TODO handle policy
@@ -97,7 +97,7 @@
// create outgoing reference wires
for (ReferenceTarget referenceTarget : definition.getReferenceTargets().values()) {
Map<String, ? extends ReferenceDefinition> references = componentType.getReferences();
- ReferenceDefinition mappedReference = references.get(referenceTarget.getReferenceName());
+ ReferenceDefinition mappedReference = references.get(referenceTarget.getReferenceName().getFragment());
assert mappedReference != null;
List<OutboundWire> wires = createWire(referenceTarget, mappedReference);
Multiplicity multiplicity = mappedReference.getMultiplicity();
@@ -121,13 +121,14 @@
InboundWire inboundWire = new InboundWireImpl(referenceBinding.getBindingType());
inboundWire.setServiceContract(contract);
inboundWire.setContainer(referenceBinding);
+ inboundWire.setUri(referenceBinding.getUri());
for (Operation<?> operation : contract.getOperations().values()) {
InboundInvocationChain chain = createInboundChain(operation);
inboundWire.addInvocationChain(operation, chain);
}
OutboundWire outboundWire = new OutboundWireImpl(referenceBinding.getBindingType());
outboundWire.setTargetName(targetName);
-
+ outboundWire.setUri(referenceBinding.getUri());
// [rfeng] Check if the Reference has the binding contract
ServiceContract<?> bindingContract = referenceBinding.getBindingServiceContract();
if (bindingContract == null) {
@@ -171,6 +172,7 @@
}
inboundWire.setServiceContract(bindingContract);
inboundWire.setContainer(serviceBinding);
+ inboundWire.setUri(serviceBinding.getUri());
for (Operation<?> operation : bindingContract.getOperations().values()) {
InboundInvocationChain inboundChain = createInboundChain(operation);
inboundChain.addInterceptor(new SynchronousBridgingInterceptor());
@@ -179,6 +181,7 @@
OutboundWire outboundWire = new OutboundWireImpl(serviceBinding.getBindingType());
outboundWire.setServiceContract(contract);
+ outboundWire.setUri(serviceBinding.getUri());
outboundWire.setTargetName(new QualifiedName(targetName));
outboundWire.setContainer(serviceBinding);
@@ -273,7 +276,7 @@
OutboundWire wire = new OutboundWireImpl();
wire.setAutowire(true);
wire.setServiceContract(contract);
- wire.setReferenceName(target.getReferenceName());
+ wire.setUri(target.getReferenceName());
for (Operation<?> operation : contract.getOperations().values()) {
// TODO handle policy
OutboundInvocationChain chain = createOutboundChain(operation);
@@ -295,7 +298,7 @@
QualifiedName qName = new QualifiedName(uri.toString());
wire.setTargetName(qName);
wire.setServiceContract(contract);
- wire.setReferenceName(target.getReferenceName());
+ wire.setUri(target.getReferenceName());
for (Operation<?> operation : contract.getOperations().values()) {
// TODO handle policy
OutboundInvocationChain chain = createOutboundChain(operation);
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKCallbackInvocationHandler.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKCallbackInvocationHandler.java?view=diff&rev=502853&r1=502852&r2=502853
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKCallbackInvocationHandler.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKCallbackInvocationHandler.java Fri Feb 2 19:16:15 2007
@@ -66,7 +66,7 @@
public JDKCallbackInvocationHandler(InboundWire wire, WorkContext context) {
this.context = context;
this.wire = wire;
- this.serviceName = wire.getServiceName();
+ this.serviceName = wire.getUri().getFragment();
}
@SuppressWarnings({"unchecked"})
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKInboundInvocationHandler.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKInboundInvocationHandler.java?view=diff&rev=502853&r1=502852&r2=502853
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKInboundInvocationHandler.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKInboundInvocationHandler.java Fri Feb 2 19:16:15 2007
@@ -70,8 +70,9 @@
}
public JDKInboundInvocationHandler(Class<?> interfaze, InboundWire wire, WorkContext context) {
+ assert wire.getUri() != null;
this.context = context;
- this.serviceName = wire.getServiceName();
+ this.serviceName = wire.getUri().getFragment();
this.interfaze = interfaze;
init(interfaze, wire);
}
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKOutboundInvocationHandler.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKOutboundInvocationHandler.java?view=diff&rev=502853&r1=502852&r2=502853
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKOutboundInvocationHandler.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKOutboundInvocationHandler.java Fri Feb 2 19:16:15 2007
@@ -214,7 +214,7 @@
private void init(Class<?> interfaze, OutboundWire wire, Map<Method, OutboundChainHolder> mapping)
throws NoMethodForOperationException {
ServiceContract contract = wire.getServiceContract();
- this.referenceName = wire.getReferenceName();
+ this.referenceName = wire.getUri().getFragment();
SCAObject wireContainer = wire.getContainer();
this.fromAddress = (wireContainer == null) ? null : wireContainer.getName();
this.contractIsConversational = contract.getInteractionScope().equals(CONVERSATIONAL);
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/LocalBindingBuilderTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/LocalBindingBuilderTestCase.java?view=diff&rev=502853&r1=502852&r2=502853
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/LocalBindingBuilderTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/LocalBindingBuilderTestCase.java Fri Feb 2 19:16:15 2007
@@ -18,6 +18,8 @@
*/
package org.apache.tuscany.core.binding.local;
+import java.net.URI;
+
import org.apache.tuscany.spi.component.ServiceBinding;
import org.apache.tuscany.spi.model.ServiceDefinition;
@@ -31,7 +33,7 @@
public void testBuild() throws Exception {
LocalBindingBuilder builder = new LocalBindingBuilder();
ServiceDefinition def = new ServiceDefinition();
- def.setName("foo");
+ def.setUri(new URI("#foo"));
ServiceBinding binding = builder.build(null, def, null, null);
assertEquals(LocalServiceBinding.class, binding.getClass());
}
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/LocalTargetInvokerTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/LocalTargetInvokerTestCase.java?view=diff&rev=502853&r1=502852&r2=502853
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/LocalTargetInvokerTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/binding/local/LocalTargetInvokerTestCase.java Fri Feb 2 19:16:15 2007
@@ -18,10 +18,10 @@
*/
package org.apache.tuscany.core.binding.local;
+import java.net.URI;
import java.util.HashMap;
import java.util.Map;
-import org.apache.tuscany.spi.component.SCAObject;
import org.apache.tuscany.spi.model.Operation;
import org.apache.tuscany.spi.model.ServiceContract;
import org.apache.tuscany.spi.wire.Message;
@@ -73,11 +73,8 @@
EasyMock.replay(chain);
Map<Operation<?>, OutboundInvocationChain> chains = new HashMap<Operation<?>, OutboundInvocationChain>();
chains.put(operation, chain);
- SCAObject container = EasyMock.createMock(SCAObject.class);
- EasyMock.expect(container.getName()).andReturn("foo").atLeastOnce();
- EasyMock.replay(container);
- OutboundWire wire = EasyMock.createNiceMock(OutboundWire.class);
- EasyMock.expect(wire.getContainer()).andReturn(container).atLeastOnce();
+ OutboundWire wire = EasyMock.createMock(OutboundWire.class);
+ EasyMock.expect(wire.getUri()).andReturn(URI.create("foo")).atLeastOnce();
wire.getInvocationChains();
EasyMock.expectLastCall().andReturn(chains);
EasyMock.expect(wire.getServiceContract()).andReturn(contract);
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/bootstrap/BootstrapperTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/bootstrap/BootstrapperTestCase.java?view=diff&rev=502853&r1=502852&r2=502853
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/bootstrap/BootstrapperTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/bootstrap/BootstrapperTestCase.java Fri Feb 2 19:16:15 2007
@@ -37,6 +37,6 @@
protected void setUp() throws Exception {
super.setUp();
- bootstrapper = new DefaultBootstrapper(new NullMonitorFactory(), null, null);
+ bootstrapper = new DefaultBootstrapper(new NullMonitorFactory(), null, null, null);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org