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 2006/12/23 13:14:11 UTC
svn commit: r489888 [2/6] - in /incubator/tuscany/java/sca:
kernel/core/src/main/java/org/apache/tuscany/core/bootstrap/
kernel/core/src/main/java/org/apache/tuscany/core/builder/
kernel/core/src/main/java/org/apache/tuscany/core/component/scope/ kerne...
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemSingletonAtomicComponent.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemSingletonAtomicComponent.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemSingletonAtomicComponent.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemSingletonAtomicComponent.java Sat Dec 23 04:14:05 2006
@@ -20,38 +20,47 @@
import java.util.ArrayList;
import java.util.Collections;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.tuscany.spi.ObjectCreationException;
import org.apache.tuscany.spi.component.AbstractSCAObject;
+import org.apache.tuscany.spi.component.AtomicComponent;
import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.SystemAtomicComponent;
import org.apache.tuscany.spi.component.TargetDestructionException;
import org.apache.tuscany.spi.component.TargetInitializationException;
import org.apache.tuscany.spi.component.TargetResolutionException;
+import org.apache.tuscany.spi.idl.java.JavaServiceContract;
import org.apache.tuscany.spi.model.Operation;
import org.apache.tuscany.spi.model.Scope;
+import org.apache.tuscany.spi.model.ServiceDefinition;
import org.apache.tuscany.spi.wire.InboundWire;
import org.apache.tuscany.spi.wire.OutboundWire;
import org.apache.tuscany.spi.wire.TargetInvoker;
+import org.apache.tuscany.spi.wire.WireService;
+
+import org.apache.tuscany.core.wire.jdk.JDKWireService;
/**
* An {@link org.apache.tuscany.spi.component.AtomicComponent} used when registering objects directly into a composite
*
* @version $$Rev$$ $$Date$$
*/
-public class SystemSingletonAtomicComponent<S, T extends S> extends AbstractSCAObject
- implements SystemAtomicComponent {
+public class SystemSingletonAtomicComponent<S, T extends S> extends AbstractSCAObject implements AtomicComponent {
private T instance;
private List<Class<?>> serviceInterfaces;
+ private Map<String, InboundWire> inboundWires;
+ private WireService wireService = new JDKWireService();
public SystemSingletonAtomicComponent(String name, CompositeComponent parent, Class<S> interfaze, T instance) {
super(name, parent);
this.instance = instance;
serviceInterfaces = new ArrayList<Class<?>>(1);
serviceInterfaces.add(interfaze);
+ inboundWires = new HashMap<String, InboundWire>();
+ initWire(interfaze);
}
@@ -62,6 +71,10 @@
super(name, parent);
this.instance = instance;
this.serviceInterfaces = serviceInterfaces;
+ inboundWires = new HashMap<String, InboundWire>();
+ for (Class<?> interfaze : serviceInterfaces) {
+ initWire(interfaze);
+ }
}
public List<Class<?>> getServiceInterfaces() {
@@ -92,14 +105,6 @@
return instance;
}
- public Object getServiceInstance(String name) throws TargetResolutionException {
- return getTargetInstance();
- }
-
- public Object getServiceInstance() throws TargetResolutionException {
- return getTargetInstance();
- }
-
public void init(Object instance) throws TargetInitializationException {
}
@@ -117,15 +122,15 @@
}
public void addInboundWire(InboundWire wire) {
- throw new UnsupportedOperationException();
+ inboundWires.put(wire.getServiceName(), wire);
}
public Map<String, InboundWire> getInboundWires() {
- return Collections.emptyMap();
+ return inboundWires;
}
public InboundWire getInboundWire(String serviceName) {
- return null;
+ return inboundWires.get(serviceName);
}
public void addOutboundWire(OutboundWire wire) {
@@ -148,4 +153,13 @@
public boolean isSystem() {
return true;
}
+
+ private void initWire(Class<?> interfaze) {
+ JavaServiceContract serviceContract = new JavaServiceContract(interfaze);
+ ServiceDefinition def = new ServiceDefinition(interfaze.getName(), serviceContract, false);
+ InboundWire wire = wireService.createWire(def);
+ wire.setContainer(this);
+ inboundWires.put(wire.getServiceName(), wire);
+ }
+
}
Copied: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/component/WireObjectFactory.java (from r489552, incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemWireObjectFactory.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/component/WireObjectFactory.java?view=diff&rev=489888&p1=incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemWireObjectFactory.java&r1=489552&p2=incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/component/WireObjectFactory.java&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemWireObjectFactory.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/component/WireObjectFactory.java Sat Dec 23 04:14:05 2006
@@ -21,19 +21,18 @@
import org.apache.tuscany.spi.ObjectCreationException;
import org.apache.tuscany.spi.ObjectFactory;
import org.apache.tuscany.spi.component.TargetResolutionException;
-
-import org.apache.tuscany.core.implementation.system.wire.SystemOutboundWire;
+import org.apache.tuscany.spi.wire.OutboundWire;
/**
- * Uses a system wire to return an object instance
+ * Returns a target instance from a wire
*
* @version $Rev$ $Date$
*/
-public class SystemWireObjectFactory implements ObjectFactory {
+public class WireObjectFactory implements ObjectFactory {
- private SystemOutboundWire wire;
+ private OutboundWire wire;
- public SystemWireObjectFactory(SystemOutboundWire factory) {
+ public WireObjectFactory(OutboundWire factory) {
this.wire = factory;
}
Propchange: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/component/WireObjectFactory.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/component/WireObjectFactory.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/injection/InvalidResourceTypeException.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/injection/InvalidResourceTypeException.java?view=auto&rev=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/injection/InvalidResourceTypeException.java (added)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/injection/InvalidResourceTypeException.java Sat Dec 23 04:14:05 2006
@@ -0,0 +1,33 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.core.injection;
+
+import org.apache.tuscany.spi.ObjectCreationException;
+
+/**
+ * Denotes an invalid resource type, i.e. that is not a component
+ *
+ * @version $Rev$ $Date$
+ */
+public class InvalidResourceTypeException extends ObjectCreationException {
+
+ public InvalidResourceTypeException(String message, String identifier) {
+ super(message, identifier);
+ }
+}
Propchange: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/injection/InvalidResourceTypeException.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/injection/InvalidResourceTypeException.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/injection/PojoObjectFactory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/injection/PojoObjectFactory.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/injection/PojoObjectFactory.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/injection/PojoObjectFactory.java Sat Dec 23 04:14:05 2006
@@ -94,7 +94,6 @@
for (int i = 0; i < size; i++) {
ObjectFactory<?> objectFactory = initializerFactories[i];
if (objectFactory == null) {
- // FIXME JFM
String name = ctr.getName();
throw new ObjectCallbackException("Null object factory for constructor parameter [" + i + "]", name);
}
@@ -105,7 +104,7 @@
return ctr.newInstance(initargs);
} catch (IllegalArgumentException e) {
String name = ctr.getName();
- throw new ObjectCreationException("Exception thrown by constructor [" + name + "]", e);
+ throw new ObjectCreationException("Exception thrown by constructor", name, e);
} catch (InstantiationException e) {
String name = ctr.getDeclaringClass().getName();
throw new AssertionError("Class is not instantiable [" + name + "]");
@@ -114,7 +113,7 @@
throw new AssertionError("Constructor is not accessible [" + name + "]");
} catch (InvocationTargetException e) {
String name = ctr.getName();
- throw new ObjectCreationException("Exception thrown by constructor [" + name + "]", e);
+ throw new ObjectCreationException("Exception thrown by constructor", name, e);
}
}
}
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/injection/ResourceObjectFactory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/injection/ResourceObjectFactory.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/injection/ResourceObjectFactory.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/injection/ResourceObjectFactory.java Sat Dec 23 04:14:05 2006
@@ -20,11 +20,13 @@
import org.apache.tuscany.spi.ObjectCreationException;
import org.apache.tuscany.spi.ObjectFactory;
+import org.apache.tuscany.spi.component.AtomicComponent;
import org.apache.tuscany.spi.component.CompositeComponent;
import org.apache.tuscany.spi.component.SCAObject;
import org.apache.tuscany.spi.component.TargetResolutionException;
import org.apache.tuscany.spi.host.ResourceHost;
import org.apache.tuscany.spi.host.ResourceResolutionException;
+import org.apache.tuscany.spi.wire.InboundWire;
/**
* Resolves a runtime resource to be injected on a field or method of a Java component type marked with {@link
@@ -86,6 +88,7 @@
this.optional = optional;
}
+ @SuppressWarnings({"unchecked"})
public T getInstance() throws ObjectCreationException {
if (resolveFromHost) {
return resolveInstance();
@@ -93,7 +96,10 @@
T instance = null;
if (mappedName == null) {
try {
- instance = parent.resolveSystemInstance(type);
+ InboundWire wire = parent.resolveSystemAutowire(type);
+ if (wire != null) {
+ instance = (T) wire.getTargetService();
+ }
} catch (TargetResolutionException e) {
throw new ObjectCreationException(e);
}
@@ -108,14 +114,16 @@
return instance;
} else {
SCAObject child = parent.getSystemChild(mappedName);
- if (child != null) {
+ if (child instanceof AtomicComponent) {
try {
- instance = type.cast(child.getServiceInstance());
+ AtomicComponent component = (AtomicComponent) child;
+ instance = type.cast(component.getTargetInstance());
} catch (TargetResolutionException e) {
throw new ObjectCreationException(e);
}
- }
- if (instance == null && !optional) {
+ } else if (child != null) {
+ throw new InvalidResourceTypeException("Invalid resource type", mappedName);
+ } else if (!optional) {
throw new ResourceNotFoundException("No resource found for URI", mappedName);
}
return instance;
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/launcher/CompositeContextImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/launcher/CompositeContextImpl.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/launcher/CompositeContextImpl.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/launcher/CompositeContextImpl.java Sat Dec 23 04:14:05 2006
@@ -24,15 +24,23 @@
import org.osoa.sca.ServiceReference;
import org.osoa.sca.ServiceRuntimeException;
+import org.apache.tuscany.spi.QualifiedName;
+import org.apache.tuscany.spi.component.AtomicComponent;
import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.TargetResolutionException;
+import org.apache.tuscany.spi.component.Reference;
+import org.apache.tuscany.spi.component.SCAObject;
+import org.apache.tuscany.spi.component.Service;
+import org.apache.tuscany.spi.wire.InboundWire;
+import org.apache.tuscany.spi.wire.WireService;
public class CompositeContextImpl extends SCA implements CompositeContext {
protected final CompositeComponent composite;
+ protected final WireService wireService;
- public CompositeContextImpl(final CompositeComponent composite) {
+ public CompositeContextImpl(final CompositeComponent composite, final WireService wireService) {
this.composite = composite;
+ this.wireService = wireService;
}
public void start() {
@@ -64,11 +72,41 @@
}
public <T> T locateService(Class<T> serviceInterface, String serviceName) throws ServiceRuntimeException {
- try {
- return composite.locateService(serviceInterface, serviceName);
- } catch (TargetResolutionException e) {
- throw new ServiceRuntimeException(e);
+ String name = serviceInterface.getName();
+ QualifiedName qName = new QualifiedName(serviceName);
+ SCAObject child = composite.getChild(qName.getPartName());
+ InboundWire wire;
+ if (child instanceof CompositeComponent) {
+ CompositeComponent childComposite = (CompositeComponent) child;
+ child = childComposite.getChild(qName.getPortName());
+ if (child == null) {
+ throw new ServiceRuntimeException("Service not found [" + serviceName + "]");
+ }
+ wire = getInboundWire(child, name, "");
+ } else {
+ wire = getInboundWire(child, name, qName.getPortName());
}
+ return wireService.createProxy(serviceInterface, wire);
+ }
+
+ private InboundWire getInboundWire(SCAObject child, String name, String serviceName) {
+ InboundWire wire;
+ if (child instanceof AtomicComponent) {
+ wire = ((AtomicComponent) child).getInboundWire(name);
+ if (wire == null) {
+ String qName = serviceName + QualifiedName.NAME_SEPARATOR + name;
+ throw new ServiceRuntimeException("Service not found [" + qName + "]");
+ }
+ } else if (child instanceof Service) {
+ wire = ((Service) child).getInboundWire();
+ } else if (child instanceof Reference) {
+ wire = ((Reference) child).getInboundWire();
+ } else if (child == null) {
+ throw new ServiceRuntimeException("Service not found [" + serviceName + "]");
+ } else {
+ throw new ServiceRuntimeException("Invalid service type [" + child.getClass().getName() + "]");
+ }
+ return wire;
}
public ServiceReference newSession(String arg0) {
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/launcher/LauncherImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/launcher/LauncherImpl.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/launcher/LauncherImpl.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/launcher/LauncherImpl.java Sat Dec 23 04:14:05 2006
@@ -29,6 +29,8 @@
import org.apache.tuscany.spi.bootstrap.ComponentNames;
import org.apache.tuscany.spi.bootstrap.RuntimeComponent;
import org.apache.tuscany.spi.component.CompositeComponent;
+import org.apache.tuscany.spi.component.SCAObject;
+import org.apache.tuscany.spi.component.AtomicComponent;
import org.apache.tuscany.spi.deployer.Deployer;
import org.apache.tuscany.spi.loader.LoaderException;
import org.apache.tuscany.spi.model.ComponentDefinition;
@@ -41,6 +43,7 @@
import org.apache.tuscany.host.Launcher;
import org.apache.tuscany.host.MonitorFactory;
import org.apache.tuscany.host.RuntimeInfo;
+import org.apache.tuscany.host.runtime.InitializationException;
import org.apache.tuscany.host.monitor.FormatterRegistry;
/**
@@ -115,7 +118,11 @@
// start the system
composite.start();
- deployer = (Deployer) composite.getSystemChild("deployer").getServiceInstance();
+ SCAObject child = composite.getSystemChild(ComponentNames.TUSCANY_DEPLOYER);
+ if (!(child instanceof AtomicComponent)) {
+ throw new InitializationException("Deployer must be an atomic component");
+ }
+ deployer = (Deployer) ((AtomicComponent) child).getTargetInstance();
runtime.getRootComponent().start();
}
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=489888&r1=489887&r2=489888
==============================================================================
--- 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 Sat Dec 23 04:14:05 2006
@@ -62,6 +62,7 @@
import org.apache.tuscany.spi.model.PropertyValue;
import org.apache.tuscany.spi.model.ReferenceDefinition;
import org.apache.tuscany.spi.model.ReferenceTarget;
+import org.apache.tuscany.spi.model.ServiceDefinition;
import org.apache.tuscany.core.implementation.system.model.SystemImplementation;
import org.apache.tuscany.core.property.SimplePropertyObjectFactory;
@@ -92,6 +93,7 @@
return COMPONENT;
}
+ @SuppressWarnings("unchecked")
public ComponentDefinition<?> load(CompositeComponent parent,
ModelObject object,
XMLStreamReader reader,
@@ -139,6 +141,17 @@
.getImplementation() instanceof SystemImplementation)) {
populatePropertyValues(componentDefinition);
}
+ ComponentType<ServiceDefinition, ReferenceDefinition, Property<?>> type =
+ (ComponentType<ServiceDefinition, ReferenceDefinition, Property<?>>) componentDefinition
+ .getImplementation().getComponentType();
+ for (ReferenceDefinition ref : type.getReferences().values()) {
+ if (ref.isAutowire()) {
+ ReferenceTarget referenceTarget = new ReferenceTarget();
+ referenceTarget.setReferenceName(ref.getName());
+ componentDefinition.add(referenceTarget);
+ }
+ }
+
validate(componentDefinition);
return componentDefinition;
}
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=489888&r1=489887&r2=489888
==============================================================================
--- 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 Sat Dec 23 04:14:05 2006
@@ -21,6 +21,7 @@
import java.util.HashMap;
import java.util.Map;
+import org.apache.tuscany.spi.component.AtomicComponent;
import org.apache.tuscany.spi.component.SCAObject;
import org.apache.tuscany.spi.component.TargetResolutionException;
import org.apache.tuscany.spi.model.Operation;
@@ -37,7 +38,6 @@
* @version $Rev$ $Date$
*/
public class InboundWireImpl implements InboundWire {
-
private String serviceName;
private ServiceContract serviceContract;
private OutboundWire targetWire;
@@ -46,8 +46,13 @@
private Map<Object, Map<Operation<?>, OutboundInvocationChain>> callbackSourceChainMaps =
new HashMap<Object, Map<Operation<?>, OutboundInvocationChain>>();
private SCAObject container;
+ private AtomicComponent targetComponent;
public Object getTargetService() throws TargetResolutionException {
+ // JFM fixme hack
+ if (targetWire == null && targetComponent != null) {
+ return targetComponent.getTargetInstance();
+ }
assert targetWire != null;
// optimized, no interceptors or handlers on either end
return targetWire.getTargetService();
@@ -139,6 +144,9 @@
}
public void setContainer(SCAObject container) {
+ if (container instanceof AtomicComponent) {
+ targetComponent = (AtomicComponent) container;
+ }
this.container = container;
}
}
Added: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/LoopBackWire.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/LoopBackWire.java?view=auto&rev=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/LoopBackWire.java (added)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/LoopBackWire.java Sat Dec 23 04:14:05 2006
@@ -0,0 +1,33 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.core.wire;
+
+import org.apache.tuscany.spi.component.TargetResolutionException;
+
+/**
+ * A specialized wire that points back to its target container. Used to autowire to parent composites
+ *
+ * @version $Rev$ $Date$
+ */
+public class LoopBackWire extends InboundWireImpl {
+
+ public Object getTargetService() throws TargetResolutionException {
+ return getContainer();
+ }
+}
Propchange: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/LoopBackWire.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/LoopBackWire.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
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=489888&r1=489887&r2=489888
==============================================================================
--- 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 Sat Dec 23 04:14:05 2006
@@ -38,7 +38,6 @@
* @version $Rev$ $Date$
*/
public class OutboundWireImpl implements OutboundWire {
-
private ServiceContract serviceContract;
private Class<?>[] callbackInterfaces;
private Map<Operation<?>, OutboundInvocationChain> chains = new HashMap<Operation<?>, OutboundInvocationChain>();
@@ -48,6 +47,7 @@
private QualifiedName targetName;
private InboundWire targetWire;
private SCAObject container;
+ private boolean autowire;
public Object getTargetService() throws TargetResolutionException {
assert targetWire != null;
@@ -125,6 +125,14 @@
public void setTargetName(QualifiedName targetName) {
this.targetName = targetName;
+ }
+
+ public boolean isAutowire() {
+ return autowire;
+ }
+
+ public void setAutowire(boolean autowire) {
+ this.autowire = autowire;
}
public boolean isOptimizable() {
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKWireService.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKWireService.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKWireService.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKWireService.java Sat Dec 23 04:14:05 2006
@@ -33,6 +33,7 @@
import org.apache.tuscany.spi.component.Service;
import org.apache.tuscany.spi.component.WorkContext;
import org.apache.tuscany.spi.model.Binding;
+import org.apache.tuscany.spi.model.BindlessServiceDefinition;
import org.apache.tuscany.spi.model.BoundServiceDefinition;
import org.apache.tuscany.spi.model.ComponentDefinition;
import org.apache.tuscany.spi.model.ComponentType;
@@ -61,6 +62,7 @@
import org.apache.tuscany.core.wire.InvokerInterceptor;
import org.apache.tuscany.core.wire.OutboundInvocationChainImpl;
import org.apache.tuscany.core.wire.OutboundWireImpl;
+import org.apache.tuscany.core.wire.SynchronousBridgingInterceptor;
/**
* the default implementation of a wire service that uses JDK dynamic proxies
@@ -142,14 +144,18 @@
}
public OutboundWire createWire(ReferenceTarget reference, ReferenceDefinition def) {
- //TODO multiplicity
- if (reference.getTargets().size() != 1) {
+ if (!def.isAutowire() && reference.getTargets().size() != 1) {
+ //TODO multiplicity
throw new UnsupportedOperationException();
}
ServiceContract<?> contract = def.getServiceContract();
OutboundWire wire = new OutboundWireImpl();
- QualifiedName qName = new QualifiedName(reference.getTargets().get(0).toString());
- wire.setTargetName(qName);
+ if (!def.isAutowire()) {
+ QualifiedName qName = new QualifiedName(reference.getTargets().get(0).toString());
+ wire.setTargetName(qName);
+ } else {
+ wire.setAutowire(true);
+ }
wire.setServiceContract(contract);
wire.setReferenceName(reference.getReferenceName());
for (Operation<?> operation : contract.getOperations().values()) {
@@ -180,7 +186,11 @@
InboundInvocationChain chain = createInboundChain(operation);
// TODO handle policy
//TODO statement below could be cleaner
- chain.addInterceptor(new InvokerInterceptor());
+ if (service instanceof BindlessServiceDefinition) {
+ chain.addInterceptor(new SynchronousBridgingInterceptor());
+ } else {
+ chain.addInterceptor(new InvokerInterceptor());
+ }
wire.addInvocationChain(operation, chain);
}
if (contract.getCallbackName() != null) {
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/ConnectorImplTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/ConnectorImplTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/ConnectorImplTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/builder/ConnectorImplTestCase.java Sat Dec 23 04:14:05 2006
@@ -71,6 +71,7 @@
InboundWire inboundWire = EasyMock.createMock(InboundWire.class);
EasyMock.expect(inboundWire.getServiceContract()).andReturn(contract).anyTimes();
EasyMock.expect(inboundWire.getInvocationChains()).andReturn(inboundChains).atLeastOnce();
+ EasyMock.expect(inboundWire.getContainer()).andReturn(EasyMock.createNiceMock(SCAObject.class));
EasyMock.replay(inboundWire);
OutboundInvocationChain outboundChain = EasyMock.createMock(OutboundInvocationChain.class);
@@ -126,7 +127,7 @@
EasyMock.expectLastCall().andReturn(null);
EasyMock.replay(target);
- EasyMock.expect(targetWire.getContainer()).andReturn(target);
+ EasyMock.expect(targetWire.getContainer()).andReturn(target).atLeastOnce();
EasyMock.replay(targetWire);
// create the parent composite
@@ -144,6 +145,7 @@
inboundChains.put(operation, inboundChain);
InboundWire inboundWire = EasyMock.createMock(InboundWire.class);
EasyMock.expect(inboundWire.getServiceContract()).andReturn(contract).anyTimes();
+ EasyMock.expect(inboundWire.getContainer()).andReturn(EasyMock.createNiceMock(SCAObject.class));
EasyMock.expect(inboundWire.getInvocationChains()).andReturn(inboundChains).atLeastOnce();
EasyMock.replay(inboundWire);
@@ -175,7 +177,7 @@
EasyMock.expect(service.getOutboundWire()).andReturn(outboundWire);
EasyMock.replay(service);
- EasyMock.expect(outboundWire.getContainer()).andReturn(service);
+ EasyMock.expect(outboundWire.getContainer()).andReturn(service).atLeastOnce();
EasyMock.replay(outboundWire);
connector.connect(service);
@@ -214,7 +216,7 @@
EasyMock.expectLastCall().andReturn(null);
EasyMock.replay(target);
- EasyMock.expect(targetWire.getContainer()).andReturn(target);
+ EasyMock.expect(targetWire.getContainer()).andReturn(target).atLeastOnce();
EasyMock.replay(targetWire);
// create the parent composite
@@ -233,6 +235,7 @@
new HashMap<Operation<?>, OutboundInvocationChain>();
outboundChains.put(operation, outboundChain);
OutboundWire outboundWire = EasyMock.createMock(OutboundWire.class);
+ EasyMock.expect(outboundWire.isAutowire()).andReturn(false);
EasyMock.expect(outboundWire.getServiceContract()).andReturn(contract).anyTimes();
EasyMock.expect(outboundWire.getTargetName()).andReturn(new QualifiedName("target/FooService")).anyTimes();
EasyMock.expect(outboundWire.getInvocationChains()).andReturn(outboundChains).anyTimes();
@@ -255,7 +258,7 @@
EasyMock.expectLastCall().andReturn(Collections.emptyMap());
EasyMock.replay(source);
- EasyMock.expect(outboundWire.getContainer()).andReturn(source);
+ EasyMock.expect(outboundWire.getContainer()).andReturn(source).atLeastOnce();
EasyMock.replay(outboundWire);
connector.connect(source);
@@ -309,6 +312,7 @@
EasyMock.expectLastCall().andReturn(null);
EasyMock.replay(parent);
OutboundWire outboundWire = EasyMock.createMock(OutboundWire.class);
+ EasyMock.expect(outboundWire.isAutowire()).andReturn(false);
EasyMock.expect(outboundWire.getServiceContract()).andReturn(contract).anyTimes();
EasyMock.expect(outboundWire.getTargetName()).andReturn(new QualifiedName("target/FooService")).anyTimes();
EasyMock.expect(outboundWire.getInvocationChains()).andReturn(null).anyTimes();
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicCompositeScopeTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicCompositeScopeTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicCompositeScopeTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicCompositeScopeTestCase.java Sat Dec 23 04:14:05 2006
@@ -18,8 +18,8 @@
*/
package org.apache.tuscany.core.component.scope;
+import org.apache.tuscany.spi.component.AtomicComponent;
import org.apache.tuscany.spi.component.ScopeContainer;
-import org.apache.tuscany.spi.component.SystemAtomicComponent;
import org.apache.tuscany.spi.component.TargetNotFoundException;
import junit.framework.TestCase;
@@ -43,7 +43,7 @@
public void testLifecycleManagement() throws Exception {
CompositeScopeContainer scopeContext = new CompositeScopeContainer(null);
scopeContext.start();
- SystemAtomicComponent component = createComponent(scopeContext);
+ AtomicComponent component = createComponent(scopeContext);
// start the request
CompositeScopeInitDestroyComponent o1 =
(CompositeScopeInitDestroyComponent) scopeContext.getInstance(component);
@@ -61,7 +61,7 @@
public void testGetAssociatedInstance() throws Exception {
CompositeScopeContainer scopeContext = new CompositeScopeContainer(null);
scopeContext.start();
- SystemAtomicComponent component = createComponent(scopeContext);
+ AtomicComponent component = createComponent(scopeContext);
// start the request
scopeContext.getInstance(component);
scopeContext.getAssociatedInstance(component);
@@ -70,7 +70,7 @@
public void testGetAssociatedInstanceNonExistent() throws Exception {
CompositeScopeContainer scopeContext = new CompositeScopeContainer(null);
scopeContext.start();
- SystemAtomicComponent component = createComponent(scopeContext);
+ AtomicComponent component = createComponent(scopeContext);
// start the request
try {
scopeContext.getAssociatedInstance(component);
@@ -84,7 +84,7 @@
CompositeScopeContainer scopeContext = new CompositeScopeContainer(null);
scopeContext.start();
- SystemAtomicComponent component = createComponent(scopeContext);
+ AtomicComponent component = createComponent(scopeContext);
CompositeScopeInitDestroyComponent o1 =
(CompositeScopeInitDestroyComponent) scopeContext.getInstance(component);
@@ -113,7 +113,7 @@
super.tearDown();
}
- private SystemAtomicComponent createComponent(ScopeContainer scopeContainer) {
+ private AtomicComponent createComponent(ScopeContainer scopeContainer) {
PojoConfiguration configuration = new PojoConfiguration();
configuration.setScopeContainer(scopeContainer);
configuration.addServiceInterface(CompositeScopeInitDestroyComponent.class);
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicConversationalScopeTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicConversationalScopeTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicConversationalScopeTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicConversationalScopeTestCase.java Sat Dec 23 04:14:05 2006
@@ -18,6 +18,13 @@
*/
package org.apache.tuscany.core.component.scope;
+import org.apache.tuscany.spi.component.AtomicComponent;
+import org.apache.tuscany.spi.component.ScopeContainer;
+import org.apache.tuscany.spi.component.WorkContext;
+import org.apache.tuscany.spi.model.Scope;
+import org.apache.tuscany.spi.services.store.StoreMonitor;
+
+import junit.framework.TestCase;
import org.apache.tuscany.core.component.WorkContextImpl;
import org.apache.tuscany.core.component.event.ConversationEnd;
import org.apache.tuscany.core.implementation.PojoConfiguration;
@@ -27,15 +34,8 @@
import org.apache.tuscany.core.injection.PojoObjectFactory;
import org.apache.tuscany.core.mock.component.ConversationalScopeInitDestroyComponent;
import org.apache.tuscany.core.services.store.memory.MemoryStore;
-import org.apache.tuscany.spi.component.ScopeContainer;
-import org.apache.tuscany.spi.component.SystemAtomicComponent;
-import org.apache.tuscany.spi.component.WorkContext;
-import org.apache.tuscany.spi.model.Scope;
-import org.apache.tuscany.spi.services.store.StoreMonitor;
import org.easymock.EasyMock;
-import junit.framework.TestCase;
-
/**
* @version $$Rev: 471111 $$ $$Date: 2006-11-03 23:06:48 -0500 (Fri, 03 Nov 2006) $$
*/
@@ -53,7 +53,7 @@
WorkContext workContext = new WorkContextImpl();
ConversationalScopeContainer scopeContext = new ConversationalScopeContainer(store, workContext, null);
scopeContext.start();
- SystemAtomicComponent atomicContext = createContext(scopeContext);
+ AtomicComponent atomicContext = createContext(scopeContext);
// start the request
String conversation = "conv";
workContext.setIdentifier(Scope.CONVERSATION, conversation);
@@ -78,7 +78,7 @@
ConversationalScopeContainer scopeContext = new ConversationalScopeContainer(store, workContext, null);
scopeContext.start();
- SystemAtomicComponent atomicContext = createContext(scopeContext);
+ AtomicComponent atomicContext = createContext(scopeContext);
String conversation1 = "conv";
workContext.setIdentifier(Scope.CONVERSATION, conversation1);
@@ -104,18 +104,18 @@
protected void setUp() throws Exception {
super.setUp();
factory = new PojoObjectFactory<ConversationalScopeInitDestroyComponent>(
- ConversationalScopeInitDestroyComponent.class.getConstructor((Class[]) null));
+ ConversationalScopeInitDestroyComponent.class.getConstructor((Class[]) null));
initInvoker = new MethodEventInvoker<Object>(
- ConversationalScopeInitDestroyComponent.class.getMethod("init", (Class[]) null));
+ ConversationalScopeInitDestroyComponent.class.getMethod("init", (Class[]) null));
destroyInvoker = new MethodEventInvoker<Object>(
- ConversationalScopeInitDestroyComponent.class.getMethod("destroy", (Class[]) null));
+ ConversationalScopeInitDestroyComponent.class.getMethod("destroy", (Class[]) null));
}
protected void tearDown() throws Exception {
super.tearDown();
}
- private SystemAtomicComponent createContext(ScopeContainer scopeContainer) {
+ private AtomicComponent createContext(ScopeContainer scopeContainer) {
PojoConfiguration configuration = new PojoConfiguration();
configuration.setScopeContainer(scopeContainer);
configuration.addServiceInterface(ConversationalScopeInitDestroyComponent.class);
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicHttpSessionScopeTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicHttpSessionScopeTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicHttpSessionScopeTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicHttpSessionScopeTestCase.java Sat Dec 23 04:14:05 2006
@@ -18,8 +18,8 @@
*/
package org.apache.tuscany.core.component.scope;
+import org.apache.tuscany.spi.component.AtomicComponent;
import org.apache.tuscany.spi.component.ScopeContainer;
-import org.apache.tuscany.spi.component.SystemAtomicComponent;
import org.apache.tuscany.spi.component.TargetNotFoundException;
import org.apache.tuscany.spi.component.WorkContext;
import org.apache.tuscany.spi.model.Scope;
@@ -46,7 +46,7 @@
WorkContext workContext = new WorkContextImpl();
HttpSessionScopeContainer scopeContext = new HttpSessionScopeContainer(workContext, null);
scopeContext.start();
- SystemAtomicComponent component = createComponent(scopeContext);
+ AtomicComponent component = createComponent(scopeContext);
// start the request
Object session = new Object();
workContext.setIdentifier(Scope.SESSION, session);
@@ -66,7 +66,7 @@
WorkContext workContext = new WorkContextImpl();
HttpSessionScopeContainer scopeContext = new HttpSessionScopeContainer(workContext, null);
scopeContext.start();
- SystemAtomicComponent component = createComponent(scopeContext);
+ AtomicComponent component = createComponent(scopeContext);
// start the request
Object session = new Object();
workContext.setIdentifier(Scope.SESSION, session);
@@ -78,7 +78,7 @@
WorkContext workContext = new WorkContextImpl();
HttpSessionScopeContainer scopeContext = new HttpSessionScopeContainer(workContext, null);
scopeContext.start();
- SystemAtomicComponent component = createComponent(scopeContext);
+ AtomicComponent component = createComponent(scopeContext);
// start the request
Object session = new Object();
workContext.setIdentifier(Scope.SESSION, session);
@@ -95,7 +95,7 @@
HttpSessionScopeContainer scopeContext = new HttpSessionScopeContainer(workContext, null);
scopeContext.start();
- SystemAtomicComponent component = createComponent(scopeContext);
+ AtomicComponent component = createComponent(scopeContext);
Object session1 = new Object();
workContext.setIdentifier(Scope.SESSION, session1);
@@ -131,7 +131,7 @@
super.tearDown();
}
- private SystemAtomicComponent createComponent(ScopeContainer scopeContainer) {
+ private AtomicComponent createComponent(ScopeContainer scopeContainer) {
PojoConfiguration configuration = new PojoConfiguration();
configuration.setScopeContainer(scopeContainer);
configuration.addServiceInterface(SessionScopeInitDestroyComponent.class);
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicRequestScopeTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicRequestScopeTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicRequestScopeTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicRequestScopeTestCase.java Sat Dec 23 04:14:05 2006
@@ -18,8 +18,8 @@
*/
package org.apache.tuscany.core.component.scope;
+import org.apache.tuscany.spi.component.AtomicComponent;
import org.apache.tuscany.spi.component.ScopeContainer;
-import org.apache.tuscany.spi.component.SystemAtomicComponent;
import org.apache.tuscany.spi.component.TargetNotFoundException;
import junit.framework.TestCase;
@@ -42,7 +42,7 @@
public void testLifecycleManagement() throws Exception {
RequestScopeContainer scopeContext = new RequestScopeContainer(null, null);
scopeContext.start();
- SystemAtomicComponent component = createComponent(scopeContext);
+ AtomicComponent component = createComponent(scopeContext);
// start the request
RequestScopeInitDestroyComponent o1 =
(RequestScopeInitDestroyComponent) scopeContext.getInstance(component);
@@ -59,7 +59,7 @@
public void testGetAssociatedInstance() throws Exception {
RequestScopeContainer scopeContext = new RequestScopeContainer(null, null);
scopeContext.start();
- SystemAtomicComponent component = createComponent(scopeContext);
+ AtomicComponent component = createComponent(scopeContext);
// start the request
scopeContext.getInstance(component);
scopeContext.getAssociatedInstance(component);
@@ -69,7 +69,7 @@
public void testGetAssociatedInstanceNonExistent() throws Exception {
RequestScopeContainer scopeContext = new RequestScopeContainer(null, null);
scopeContext.start();
- SystemAtomicComponent component = createComponent(scopeContext);
+ AtomicComponent component = createComponent(scopeContext);
// start the request
try {
scopeContext.getAssociatedInstance(component);
@@ -84,7 +84,7 @@
RequestScopeContainer scopeContext = new RequestScopeContainer(null, null);
scopeContext.start();
- SystemAtomicComponent component = createComponent(scopeContext);
+ AtomicComponent component = createComponent(scopeContext);
RequestScopeInitDestroyComponent o1 =
(RequestScopeInitDestroyComponent) scopeContext.getInstance(component);
@@ -114,7 +114,7 @@
super.tearDown();
}
- private SystemAtomicComponent createComponent(ScopeContainer scopeContainer) {
+ private AtomicComponent createComponent(ScopeContainer scopeContainer) {
PojoConfiguration configuration = new PojoConfiguration();
configuration.setScopeContainer(scopeContainer);
configuration.addServiceInterface(RequestScopeInitDestroyComponent.class);
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicStatelessScopeTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicStatelessScopeTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicStatelessScopeTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/BasicStatelessScopeTestCase.java Sat Dec 23 04:14:05 2006
@@ -18,8 +18,8 @@
*/
package org.apache.tuscany.core.component.scope;
+import org.apache.tuscany.spi.component.AtomicComponent;
import org.apache.tuscany.spi.component.ScopeContainer;
-import org.apache.tuscany.spi.component.SystemAtomicComponent;
import org.apache.tuscany.spi.component.TargetNotFoundException;
import org.apache.tuscany.spi.component.WorkContext;
@@ -48,9 +48,9 @@
WorkContext ctx = new WorkContextImpl();
StatelessScopeContainer scope = new StatelessScopeContainer(ctx, null);
scope.start();
- SystemAtomicComponent component1 = createComponent(scope);
+ AtomicComponent component1 = createComponent(scope);
scope.register(component1);
- SystemAtomicComponent component2 = createComponent(scope);
+ AtomicComponent component2 = createComponent(scope);
scope.register(component2);
StatelessComponentImpl comp1 = (StatelessComponentImpl) scope.getInstance(component1);
Assert.assertNotNull(comp1);
@@ -64,7 +64,7 @@
WorkContext ctx = new WorkContextImpl();
StatelessScopeContainer scope = new StatelessScopeContainer(ctx, null);
scope.start();
- SystemAtomicComponent component1 = createComponent(scope);
+ AtomicComponent component1 = createComponent(scope);
scope.register(component1);
try {
// always throws an exception, which is the semantic for stateless implementations
@@ -81,11 +81,11 @@
StatelessScopeContainer scope = new StatelessScopeContainer(ctx, null);
scope.start();
- SystemAtomicComponent component1 = createComponent(scope);
+ AtomicComponent component1 = createComponent(scope);
scope.register(component1);
StatelessComponent comp1 = (StatelessComponentImpl) scope.getInstance(component1);
Assert.assertNotNull(comp1);
- SystemAtomicComponent component2 = createComponent(scope);
+ AtomicComponent component2 = createComponent(scope);
scope.register(component2);
StatelessComponentImpl comp2 = (StatelessComponentImpl) scope.getInstance(component2);
Assert.assertNotNull(comp2);
@@ -110,13 +110,13 @@
}
- private SystemAtomicComponent createComponent(ScopeContainer scopeContainer) {
+ private AtomicComponent createComponent(ScopeContainer scopeContainer) {
PojoConfiguration configuration = new PojoConfiguration();
configuration.setScopeContainer(scopeContainer);
configuration.addServiceInterface(RequestScopeInitDestroyComponent.class);
configuration.setInstanceFactory(factory);
configuration.setName("foo");
- SystemAtomicComponentImpl component = new SystemAtomicComponentImpl(configuration);
+ AtomicComponent component = new SystemAtomicComponentImpl(configuration);
scopeContainer.register(component);
return component;
}
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/CompositeScopeInstanceLifecycleTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/CompositeScopeInstanceLifecycleTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/CompositeScopeInstanceLifecycleTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/CompositeScopeInstanceLifecycleTestCase.java Sat Dec 23 04:14:05 2006
@@ -19,7 +19,7 @@
package org.apache.tuscany.core.component.scope;
-import org.apache.tuscany.spi.component.SystemAtomicComponent;
+import org.apache.tuscany.spi.component.AtomicComponent;
import org.apache.tuscany.spi.component.TargetException;
import junit.framework.TestCase;
@@ -46,7 +46,7 @@
CompositeScopeContainer scope = new CompositeScopeContainer(null);
scope.start();
Foo comp = new Foo();
- SystemAtomicComponent component = EasyMock.createMock(SystemAtomicComponent.class);
+ AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
EasyMock.expect(component.createInstance()).andReturn(comp);
EasyMock.expect(component.getInitLevel()).andReturn(1).atLeastOnce();
component.init(EasyMock.eq(comp));
@@ -70,7 +70,7 @@
CompositeScopeContainer scope = new CompositeScopeContainer(null);
scope.start();
Foo comp = new Foo();
- SystemAtomicComponent initDestroyComponent = EasyMock.createMock(SystemAtomicComponent.class);
+ AtomicComponent initDestroyComponent = EasyMock.createMock(AtomicComponent.class);
EasyMock.expect(initDestroyComponent.createInstance()).andReturn(comp);
EasyMock.expect(initDestroyComponent.getInitLevel()).andReturn(1).atLeastOnce();
initDestroyComponent.init(EasyMock.eq(comp));
@@ -89,11 +89,11 @@
CompositeScopeContainer scope = new CompositeScopeContainer(null);
scope.start();
- SystemAtomicComponent oneComponent = createComponent(0);
+ AtomicComponent oneComponent = createComponent(0);
scope.register(oneComponent);
- SystemAtomicComponent twoComponent = createComponent(0);
+ AtomicComponent twoComponent = createComponent(0);
scope.register(twoComponent);
- SystemAtomicComponent threeComponent = createComponent(0);
+ AtomicComponent threeComponent = createComponent(0);
scope.register(threeComponent);
scope.onEvent(new CompositeStart(this, null));
@@ -125,11 +125,11 @@
CompositeScopeContainer scope = new CompositeScopeContainer(null);
scope.start();
- SystemAtomicComponent oneComponent = createComponent(1);
+ AtomicComponent oneComponent = createComponent(1);
scope.register(oneComponent);
- SystemAtomicComponent twoComponent = createComponent(1);
+ AtomicComponent twoComponent = createComponent(1);
scope.register(twoComponent);
- SystemAtomicComponent threeComponent = createComponent(1);
+ AtomicComponent threeComponent = createComponent(1);
scope.register(threeComponent);
scope.onEvent(new CompositeStart(this, null));
@@ -152,8 +152,8 @@
}
@SuppressWarnings("unchecked")
- private SystemAtomicComponent createComponent(int init) throws TargetException {
- SystemAtomicComponent component = EasyMock.createMock(SystemAtomicComponent.class);
+ private AtomicComponent createComponent(int init) throws TargetException {
+ AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
EasyMock.expect(component.createInstance()).andStubAnswer(new IAnswer() {
public Object answer() throws Throwable {
return new OrderedInitPojoImpl();
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/CompositeScopeRestartTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/CompositeScopeRestartTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/CompositeScopeRestartTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/CompositeScopeRestartTestCase.java Sat Dec 23 04:14:05 2006
@@ -20,7 +20,7 @@
import java.lang.reflect.Constructor;
-import org.apache.tuscany.spi.component.SystemAtomicComponent;
+import org.apache.tuscany.spi.component.AtomicComponent;
import junit.framework.TestCase;
import org.apache.tuscany.core.component.event.CompositeStart;
@@ -52,12 +52,12 @@
Constructor<InitDestroyOnce> ctr = InitDestroyOnce.class.getConstructor((Class<?>[]) null);
configuration.setInstanceFactory(new PojoObjectFactory<InitDestroyOnce>(ctr));
configuration.setName("InitDestroy");
- SystemAtomicComponent component = new SystemAtomicComponentImpl(configuration);
+ AtomicComponent component = new SystemAtomicComponentImpl(configuration);
component.start();
scope.onEvent(new CompositeStart(this, null));
- Object instance = component.getServiceInstance();
- assertSame(instance, component.getServiceInstance());
+ Object instance = component.getTargetInstance();
+ assertSame(instance, component.getTargetInstance());
scope.onEvent(new CompositeStop(this, null));
scope.stop();
@@ -66,7 +66,7 @@
scope.start();
scope.onEvent(new CompositeStart(this, null));
component.start();
- assertNotSame(instance, component.getServiceInstance());
+ assertNotSame(instance, component.getTargetInstance());
scope.onEvent(new CompositeStop(this, null));
scope.stop();
component.stop();
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeInstanceLifecycleTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeInstanceLifecycleTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeInstanceLifecycleTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeInstanceLifecycleTestCase.java Sat Dec 23 04:14:05 2006
@@ -18,9 +18,9 @@
*/
package org.apache.tuscany.core.component.scope;
-import org.apache.tuscany.spi.component.SystemAtomicComponent;
-import org.apache.tuscany.spi.component.WorkContext;
+import org.apache.tuscany.spi.component.AtomicComponent;
import org.apache.tuscany.spi.component.TargetException;
+import org.apache.tuscany.spi.component.WorkContext;
import org.apache.tuscany.spi.event.RuntimeEventListener;
import org.apache.tuscany.spi.model.Scope;
import org.apache.tuscany.spi.services.store.StoreMonitor;
@@ -56,7 +56,7 @@
scope.start();
Foo comp = new Foo();
- SystemAtomicComponent component = EasyMock.createMock(SystemAtomicComponent.class);
+ AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
EasyMock.expect(component.createInstance()).andReturn(comp);
//EasyMock.expect(component.isEagerInit()).andReturn(true).atLeastOnce();
EasyMock.expect(component.getMaxAge()).andReturn(1L).anyTimes();
@@ -85,11 +85,11 @@
ConversationalScopeContainer scope = new ConversationalScopeContainer(store, ctx, null);
scope.start();
- SystemAtomicComponent oneComponent = createComponent(false);
+ AtomicComponent oneComponent = createComponent(false);
scope.register(oneComponent);
- SystemAtomicComponent twoComponent = createComponent(false);
+ AtomicComponent twoComponent = createComponent(false);
scope.register(twoComponent);
- SystemAtomicComponent threeComponent = createComponent(false);
+ AtomicComponent threeComponent = createComponent(false);
scope.register(threeComponent);
String convID = "ConvID";
@@ -127,11 +127,11 @@
ConversationalScopeContainer scope = new ConversationalScopeContainer(store, ctx, null);
scope.start();
- SystemAtomicComponent oneComponent = createComponent(true);
+ AtomicComponent oneComponent = createComponent(true);
scope.register(oneComponent);
- SystemAtomicComponent twoComponent = createComponent(true);
+ AtomicComponent twoComponent = createComponent(true);
scope.register(twoComponent);
- SystemAtomicComponent threeComponent = createComponent(true);
+ AtomicComponent threeComponent = createComponent(true);
scope.register(threeComponent);
String convID = "ConvID";
@@ -145,8 +145,8 @@
}
@SuppressWarnings("unchecked")
- private SystemAtomicComponent createComponent(boolean init) throws TargetException {
- SystemAtomicComponent component = EasyMock.createMock(SystemAtomicComponent.class);
+ private AtomicComponent createComponent(boolean init) throws TargetException {
+ AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
EasyMock.expect(component.createInstance()).andStubAnswer(new IAnswer() {
public Object answer() throws Throwable {
return new OrderedInitPojoImpl();
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeRestartTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeRestartTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeRestartTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/ConversationalScopeRestartTestCase.java Sat Dec 23 04:14:05 2006
@@ -20,6 +20,12 @@
import java.lang.reflect.Constructor;
+import org.apache.tuscany.spi.component.AtomicComponent;
+import org.apache.tuscany.spi.component.WorkContext;
+import org.apache.tuscany.spi.model.Scope;
+import org.apache.tuscany.spi.services.store.StoreMonitor;
+
+import junit.framework.TestCase;
import org.apache.tuscany.core.component.WorkContextImpl;
import org.apache.tuscany.core.component.event.ConversationEnd;
import org.apache.tuscany.core.component.event.ConversationStart;
@@ -28,14 +34,8 @@
import org.apache.tuscany.core.injection.MethodEventInvoker;
import org.apache.tuscany.core.injection.PojoObjectFactory;
import org.apache.tuscany.core.services.store.memory.MemoryStore;
-import org.apache.tuscany.spi.component.SystemAtomicComponent;
-import org.apache.tuscany.spi.component.WorkContext;
-import org.apache.tuscany.spi.model.Scope;
-import org.apache.tuscany.spi.services.store.StoreMonitor;
import org.easymock.EasyMock;
-import junit.framework.TestCase;
-
/**
* Verifies the scope container properly disposes resources and can be restarted
*
@@ -63,14 +63,14 @@
Constructor<InitDestroyOnce> ctr = InitDestroyOnce.class.getConstructor((Class<?>[]) null);
configuration.setInstanceFactory(new PojoObjectFactory<InitDestroyOnce>(ctr));
configuration.setName("InitDestroy");
- SystemAtomicComponent context = new SystemAtomicComponentImpl(configuration);
+ AtomicComponent context = new SystemAtomicComponentImpl(configuration);
context.start();
String conversation = "conv";
ctx.setIdentifier(Scope.CONVERSATION, conversation);
scope.onEvent(new ConversationStart(this, conversation));
- Object instance = context.getServiceInstance();
- assertSame(instance, context.getServiceInstance());
+ Object instance = context.getTargetInstance();
+ assertSame(instance, context.getTargetInstance());
scope.onEvent(new ConversationEnd(this, conversation));
scope.stop();
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/HttpSessionScopeInstanceLifecycleTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/HttpSessionScopeInstanceLifecycleTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/HttpSessionScopeInstanceLifecycleTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/HttpSessionScopeInstanceLifecycleTestCase.java Sat Dec 23 04:14:05 2006
@@ -18,9 +18,9 @@
*/
package org.apache.tuscany.core.component.scope;
-import org.apache.tuscany.spi.component.SystemAtomicComponent;
-import org.apache.tuscany.spi.component.WorkContext;
+import org.apache.tuscany.spi.component.AtomicComponent;
import org.apache.tuscany.spi.component.TargetException;
+import org.apache.tuscany.spi.component.WorkContext;
import org.apache.tuscany.spi.event.RuntimeEventListener;
import org.apache.tuscany.spi.model.Scope;
@@ -45,7 +45,7 @@
HttpSessionScopeContainer scope = new HttpSessionScopeContainer(ctx, null);
scope.start();
Foo comp = new Foo();
- SystemAtomicComponent component = EasyMock.createMock(SystemAtomicComponent.class);
+ AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
EasyMock.expect(component.createInstance()).andReturn(comp);
EasyMock.expect(component.isEagerInit()).andReturn(true).atLeastOnce();
component.addListener(EasyMock.isA(RuntimeEventListener.class));
@@ -69,11 +69,11 @@
HttpSessionScopeContainer scope = new HttpSessionScopeContainer(ctx, null);
scope.start();
- SystemAtomicComponent oneComponent = createComponent(false);
+ AtomicComponent oneComponent = createComponent(false);
scope.register(oneComponent);
- SystemAtomicComponent twoComponent = createComponent(false);
+ AtomicComponent twoComponent = createComponent(false);
scope.register(twoComponent);
- SystemAtomicComponent threeComponent = createComponent(false);
+ AtomicComponent threeComponent = createComponent(false);
scope.register(threeComponent);
Object session = new Object();
@@ -107,11 +107,11 @@
HttpSessionScopeContainer scope = new HttpSessionScopeContainer(ctx, null);
scope.start();
- SystemAtomicComponent oneComponent = createComponent(true);
+ AtomicComponent oneComponent = createComponent(true);
scope.register(oneComponent);
- SystemAtomicComponent twoComponent = createComponent(true);
+ AtomicComponent twoComponent = createComponent(true);
scope.register(twoComponent);
- SystemAtomicComponent threeComponent = createComponent(true);
+ AtomicComponent threeComponent = createComponent(true);
scope.register(threeComponent);
Object session = new Object();
@@ -125,8 +125,8 @@
}
@SuppressWarnings("unchecked")
- private SystemAtomicComponent createComponent(boolean init) throws TargetException {
- SystemAtomicComponent component = EasyMock.createMock(SystemAtomicComponent.class);
+ private AtomicComponent createComponent(boolean init) throws TargetException {
+ AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
EasyMock.expect(component.createInstance()).andStubAnswer(new IAnswer() {
public Object answer() throws Throwable {
return new OrderedInitPojoImpl();
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/HttpSessionScopeRestartTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/HttpSessionScopeRestartTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/HttpSessionScopeRestartTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/HttpSessionScopeRestartTestCase.java Sat Dec 23 04:14:05 2006
@@ -20,16 +20,15 @@
import java.lang.reflect.Constructor;
+import org.apache.tuscany.spi.component.AtomicComponent;
import org.apache.tuscany.spi.component.WorkContext;
+import org.apache.tuscany.spi.model.Scope;
import junit.framework.TestCase;
import org.apache.tuscany.core.component.WorkContextImpl;
import org.apache.tuscany.core.component.event.HttpSessionEnd;
import org.apache.tuscany.core.component.event.HttpSessionStart;
import org.apache.tuscany.core.implementation.PojoConfiguration;
-import org.apache.tuscany.spi.component.SystemAtomicComponent;
-import org.apache.tuscany.spi.model.Scope;
-
import org.apache.tuscany.core.implementation.system.component.SystemAtomicComponentImpl;
import org.apache.tuscany.core.injection.MethodEventInvoker;
import org.apache.tuscany.core.injection.PojoObjectFactory;
@@ -57,14 +56,14 @@
Constructor<InitDestroyOnce> ctr = InitDestroyOnce.class.getConstructor((Class<?>[]) null);
configuration.setInstanceFactory(new PojoObjectFactory<InitDestroyOnce>(ctr));
configuration.setName("InitDestroy");
- SystemAtomicComponent component = new SystemAtomicComponentImpl(configuration);
+ AtomicComponent component = new SystemAtomicComponentImpl(configuration);
component.start();
Object session = new Object();
ctx.setIdentifier(Scope.SESSION, session);
scope.onEvent(new HttpSessionStart(this, session));
- Object instance = component.getServiceInstance();
- assertSame(instance, component.getServiceInstance());
+ Object instance = component.getTargetInstance();
+ assertSame(instance, component.getTargetInstance());
scope.onEvent(new HttpSessionEnd(this, session));
scope.stop();
@@ -73,7 +72,7 @@
scope.start();
scope.onEvent(new HttpSessionStart(this, session));
component.start();
- assertNotSame(instance, component.getServiceInstance());
+ assertNotSame(instance, component.getTargetInstance());
scope.onEvent(new HttpSessionEnd(this, session));
scope.stop();
component.stop();
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/MockFactory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/MockFactory.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/MockFactory.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/MockFactory.java Sat Dec 23 04:14:05 2006
@@ -30,16 +30,16 @@
import org.apache.tuscany.spi.QualifiedName;
import org.apache.tuscany.spi.component.AtomicComponent;
import org.apache.tuscany.spi.component.ScopeContainer;
-import org.apache.tuscany.spi.component.SystemAtomicComponent;
+import org.apache.tuscany.spi.idl.java.JavaServiceContract;
import org.apache.tuscany.spi.wire.InboundWire;
+import org.apache.tuscany.spi.wire.OutboundWire;
import org.apache.tuscany.core.implementation.PojoConfiguration;
import org.apache.tuscany.core.implementation.system.component.SystemAtomicComponentImpl;
-import org.apache.tuscany.core.implementation.system.wire.SystemInboundWireImpl;
-import org.apache.tuscany.core.implementation.system.wire.SystemOutboundWire;
-import org.apache.tuscany.core.implementation.system.wire.SystemOutboundWireImpl;
import org.apache.tuscany.core.injection.MethodEventInvoker;
import org.apache.tuscany.core.injection.PojoObjectFactory;
+import org.apache.tuscany.core.wire.InboundWireImpl;
+import org.apache.tuscany.core.wire.OutboundWireImpl;
/**
* @version $$Rev$$ $$Date$$
@@ -60,7 +60,7 @@
List<Class<?>> sourceInterfaces = new ArrayList<Class<?>>();
sourceInterfaces.add(sourceClass);
Map<String, AtomicComponent> components = new HashMap<String, AtomicComponent>();
- SystemAtomicComponent targetComponent = createAtomicComponent(target, targetScopeContainer, targetClass);
+ AtomicComponent targetComponent = createAtomicComponent(target, targetScopeContainer, targetClass);
PojoConfiguration sourceConfig = new PojoConfiguration();
sourceConfig.getServiceInterfaces().addAll(sourceInterfaces);
sourceConfig.setScopeContainer(sourceScopeContainer);
@@ -94,10 +94,15 @@
sourceConfig.addReferenceSite(setter.getName(), setter);
sourceConfig.setName(source);
- SystemAtomicComponent sourceComponent = new SystemAtomicComponentImpl(sourceConfig);
+ AtomicComponent sourceComponent = new SystemAtomicComponentImpl(sourceConfig);
QualifiedName targetName = new QualifiedName(target);
- SystemOutboundWire wire = new SystemOutboundWireImpl(setter.getName(), targetName, targetClass);
- InboundWire inboundWire = new SystemInboundWireImpl(targetName.getPortName(), targetClass, targetComponent);
+ OutboundWire wire = new OutboundWireImpl();
+ wire.setReferenceName(setter.getName());
+ wire.setServiceContract(new JavaServiceContract(targetClass));
+ InboundWire inboundWire = new InboundWireImpl();
+ inboundWire.setContainer(targetComponent);
+ inboundWire.setServiceContract(new JavaServiceContract(targetClass));
+ inboundWire.setServiceName(targetName.getPortName());
wire.setTargetWire(inboundWire);
sourceComponent.addOutboundWire(wire);
components.put(source, sourceComponent);
@@ -106,7 +111,7 @@
}
@SuppressWarnings("unchecked")
- public static SystemAtomicComponent createAtomicComponent(String name, ScopeContainer container, Class<?> clazz)
+ public static AtomicComponent createAtomicComponent(String name, ScopeContainer container, Class<?> clazz)
throws NoSuchMethodException {
PojoConfiguration configuration = new PojoConfiguration();
configuration.setScopeContainer(container);
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/RequestScopeInstanceLifecycleTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/RequestScopeInstanceLifecycleTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/RequestScopeInstanceLifecycleTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/RequestScopeInstanceLifecycleTestCase.java Sat Dec 23 04:14:05 2006
@@ -18,9 +18,9 @@
*/
package org.apache.tuscany.core.component.scope;
-import org.apache.tuscany.spi.component.SystemAtomicComponent;
-import org.apache.tuscany.spi.component.WorkContext;
+import org.apache.tuscany.spi.component.AtomicComponent;
import org.apache.tuscany.spi.component.TargetException;
+import org.apache.tuscany.spi.component.WorkContext;
import junit.framework.TestCase;
import org.apache.tuscany.core.component.WorkContextImpl;
@@ -43,7 +43,7 @@
RequestScopeContainer scope = new RequestScopeContainer(ctx, null);
scope.start();
Foo comp = new Foo();
- SystemAtomicComponent component = EasyMock.createMock(SystemAtomicComponent.class);
+ AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
EasyMock.expect(component.createInstance()).andReturn(comp);
EasyMock.expect(component.isEagerInit()).andReturn(false).atLeastOnce();
component.init(EasyMock.eq(comp));
@@ -64,11 +64,11 @@
RequestScopeContainer scope = new RequestScopeContainer(ctx, null);
scope.start();
- SystemAtomicComponent oneComponent = createComponent(false);
+ AtomicComponent oneComponent = createComponent(false);
scope.register(oneComponent);
- SystemAtomicComponent twoComponent = createComponent(false);
+ AtomicComponent twoComponent = createComponent(false);
scope.register(twoComponent);
- SystemAtomicComponent threeComponent = createComponent(false);
+ AtomicComponent threeComponent = createComponent(false);
scope.register(threeComponent);
scope.onEvent(new RequestStart(this));
@@ -100,11 +100,11 @@
RequestScopeContainer scope = new RequestScopeContainer(ctx, null);
scope.start();
- SystemAtomicComponent oneComponent = createComponent(true);
+ AtomicComponent oneComponent = createComponent(true);
scope.register(oneComponent);
- SystemAtomicComponent twoComponent = createComponent(true);
+ AtomicComponent twoComponent = createComponent(true);
scope.register(twoComponent);
- SystemAtomicComponent threeComponent = createComponent(true);
+ AtomicComponent threeComponent = createComponent(true);
scope.register(threeComponent);
scope.onEvent(new RequestStart(this));
@@ -116,8 +116,8 @@
}
@SuppressWarnings("unchecked")
- private SystemAtomicComponent createComponent(boolean init) throws TargetException {
- SystemAtomicComponent component = EasyMock.createMock(SystemAtomicComponent.class);
+ private AtomicComponent createComponent(boolean init) throws TargetException {
+ AtomicComponent component = EasyMock.createMock(AtomicComponent.class);
EasyMock.expect(component.createInstance()).andStubAnswer(new IAnswer() {
public Object answer() throws Throwable {
return new OrderedInitPojoImpl();
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/RequestScopeRestartTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/RequestScopeRestartTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/RequestScopeRestartTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/RequestScopeRestartTestCase.java Sat Dec 23 04:14:05 2006
@@ -20,13 +20,13 @@
import java.lang.reflect.Constructor;
+import org.apache.tuscany.spi.component.AtomicComponent;
import org.apache.tuscany.spi.component.WorkContext;
import junit.framework.TestCase;
import org.apache.tuscany.core.component.WorkContextImpl;
import org.apache.tuscany.core.component.event.RequestEnd;
import org.apache.tuscany.core.implementation.PojoConfiguration;
-import org.apache.tuscany.spi.component.SystemAtomicComponent;
import org.apache.tuscany.core.implementation.system.component.SystemAtomicComponentImpl;
import org.apache.tuscany.core.injection.MethodEventInvoker;
import org.apache.tuscany.core.injection.PojoObjectFactory;
@@ -53,12 +53,12 @@
configuration.setDestroyInvoker(destroyInvoker);
Constructor<InitDestroyOnce> ctr = InitDestroyOnce.class.getConstructor((Class<?>[]) null);
configuration.setInstanceFactory(new PojoObjectFactory<InitDestroyOnce>(ctr));
- configuration.setName("InitDestroy");
- SystemAtomicComponent context = new SystemAtomicComponentImpl(configuration);
+ configuration.setName("InitDestroy");
+ AtomicComponent context = new SystemAtomicComponentImpl(configuration);
context.start();
- Object instance = context.getServiceInstance();
- assertSame(instance, context.getServiceInstance());
+ Object instance = context.getTargetInstance();
+ assertSame(instance, context.getTargetInstance());
scope.onEvent(new RequestEnd(this));
scope.stop();
@@ -66,7 +66,7 @@
scope.start();
context.start();
- assertNotSame(instance, context.getServiceInstance());
+ assertNotSame(instance, context.getTargetInstance());
scope.onEvent(new RequestEnd(this));
scope.stop();
context.stop();
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/WorkContextTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/WorkContextTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/WorkContextTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/component/scope/WorkContextTestCase.java Sat Dec 23 04:14:05 2006
@@ -18,9 +18,9 @@
*/
package org.apache.tuscany.core.component.scope;
+import org.apache.tuscany.spi.component.AtomicComponent;
import org.apache.tuscany.spi.component.CompositeComponent;
import org.apache.tuscany.spi.component.WorkContext;
-import org.apache.tuscany.spi.component.AtomicComponent;
import junit.framework.TestCase;
import org.apache.tuscany.core.component.WorkContextImpl;
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/databinding/impl/PassByValueWirePostProcessorTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/databinding/impl/PassByValueWirePostProcessorTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/databinding/impl/PassByValueWirePostProcessorTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/databinding/impl/PassByValueWirePostProcessorTestCase.java Sat Dec 23 04:14:05 2006
@@ -166,19 +166,15 @@
return null;
}
- public TargetInvoker createTargetInvoker(String targetName, Operation operation, InboundWire callbackWire) {
+ public Object getTargetInstance() throws TargetResolutionException {
return null;
}
- public Object getServiceInstance(String name) throws TargetResolutionException {
+ public TargetInvoker createTargetInvoker(String targetName, Operation operation, InboundWire callbackWire) {
return null;
}
public List<Class<?>> getServiceInterfaces() {
- return null;
- }
-
- public Object getServiceInstance() throws TargetResolutionException {
return null;
}
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/deployer/BootstrapDeployerTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/deployer/BootstrapDeployerTestCase.java?view=diff&rev=489888&r1=489887&r2=489888
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/deployer/BootstrapDeployerTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/deployer/BootstrapDeployerTestCase.java Sat Dec 23 04:14:05 2006
@@ -22,10 +22,10 @@
import java.util.Map;
import javax.xml.stream.XMLInputFactory;
+import org.apache.tuscany.spi.bootstrap.ComponentNames;
import org.apache.tuscany.spi.component.Component;
import org.apache.tuscany.spi.component.CompositeComponent;
import org.apache.tuscany.spi.component.SCAObject;
-import org.apache.tuscany.spi.deployer.Deployer;
import org.apache.tuscany.spi.deployer.DeploymentContext;
import org.apache.tuscany.spi.loader.LoaderException;
import org.apache.tuscany.spi.model.BoundServiceDefinition;
@@ -134,8 +134,10 @@
assertNotNull(component);
verify(parent);
component.start();
- Deployer newDeployer = (Deployer) component.getSystemServiceInstance("deployer");
+ SCAObject newDeployer = component.getSystemChild(ComponentNames.TUSCANY_DEPLOYER);
assertNotNull(newDeployer);
+ SCAObject wireService = component.getSystemChild(ComponentNames.TUSCANY_WIRE_SERVICE);
+ assertNotNull(wireService);
/* // FIXME
// load the boot2 file using the newly loaded deployer
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org