You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2007/04/10 10:00:52 UTC
svn commit: r527051 - in /incubator/tuscany/java/sca/modules:
assembly/src/main/java/org/apache/tuscany/assembly/util/
core/src/main/java/org/apache/tuscany/core/builder/
core/src/main/java/org/apache/tuscany/core/deployer/
implementation-java-runtime/...
Author: rfeng
Date: Tue Apr 10 01:00:51 2007
New Revision: 527051
URL: http://svn.apache.org/viewvc?view=rev&rev=527051
Log:
Bring up the java calculator component
Modified:
incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/util/CompositeUtil.java
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java
incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/core/implementation/PojoAtomicComponent.java
incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/core/implementation/PojoConfiguration.java
incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/core/implementation/java/bootstrap/RuntimeJavaModuleActivator.java
incubator/tuscany/java/sca/modules/implementation-java-xml/src/main/java/org/apache/tuscany/implementation/java/processor/HeuristicPojoProcessor.java
incubator/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/implementation/java/impl/DefaultJavaImplementationFactory.java
incubator/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/implementation/java/impl/JavaImplementationDefinition.java
Modified: incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/util/CompositeUtil.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/util/CompositeUtil.java?view=diff&rev=527051&r1=527050&r2=527051
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/util/CompositeUtil.java (original)
+++ incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/util/CompositeUtil.java Tue Apr 10 01:00:51 2007
@@ -146,7 +146,7 @@
}
}
for (Reference reference : references.values()) {
- if (!cservices.containsKey(reference.getName())) {
+ if (!creferences.containsKey(reference.getName())) {
ComponentReference componentReference = assemblyFactory.createComponentReference();
componentReference.setName(reference.getName());
componentReference.setReference(reference);
Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java?view=diff&rev=527051&r1=527050&r2=527051
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java Tue Apr 10 01:00:51 2007
@@ -43,6 +43,7 @@
import org.apache.tuscany.spi.component.ComponentManager;
import org.apache.tuscany.spi.component.Reference;
import org.apache.tuscany.spi.component.ReferenceBinding;
+import org.apache.tuscany.spi.component.SCAObject;
import org.apache.tuscany.spi.component.ScopeContainer;
import org.apache.tuscany.spi.component.ScopeRegistry;
import org.apache.tuscany.spi.component.ServiceBinding;
@@ -58,6 +59,7 @@
public class BuilderRegistryImpl implements BuilderRegistry {
private ScopeRegistry scopeRegistry;
private ComponentManager componentManager;
+ private Map<SCAObject, Object> models = new HashMap<SCAObject, Object>();
private final Map<Class<? extends Implementation>, ComponentBuilder> componentBuilders = new HashMap<Class<? extends Implementation>, ComponentBuilder>();
private final Map<Class<? extends Binding>, BindingBuilder<? extends Binding>> bindingBuilders = new HashMap<Class<? extends Binding>, BindingBuilder<? extends Binding>>();
@@ -99,6 +101,7 @@
throw new NoRegisteredBuilderException("No builder registered for implementation", name);
}
Component component = componentBuilder.build(componentDef, context);
+ models.put(component, componentDef);
assert component != null;
Map<String, Property> properties = new HashMap<String, Property>();
for (Property p : componentDef.getProperties()) {
@@ -195,6 +198,13 @@
}
return reference;
+ }
+
+ /**
+ * @return the models
+ */
+ public Map<SCAObject, Object> getModels() {
+ return models;
}
}
Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java?view=diff&rev=527051&r1=527050&r2=527051
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java Tue Apr 10 01:00:51 2007
@@ -19,28 +19,54 @@
package org.apache.tuscany.core.deployer;
import java.net.URI;
+import java.util.ArrayList;
import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+import javax.xml.namespace.QName;
import javax.xml.stream.XMLInputFactory;
+import org.apache.tuscany.assembly.ComponentReference;
+import org.apache.tuscany.assembly.ComponentService;
import org.apache.tuscany.assembly.Composite;
+import org.apache.tuscany.assembly.Contract;
+import org.apache.tuscany.assembly.Implementation;
+import org.apache.tuscany.assembly.Multiplicity;
+import org.apache.tuscany.assembly.SCABinding;
import org.apache.tuscany.assembly.impl.DefaultAssemblyFactory;
+import org.apache.tuscany.core.builder.BuilderRegistryImpl;
+import org.apache.tuscany.core.builder.ComponentNotFoundException;
+import org.apache.tuscany.core.builder.WireCreationException;
+import org.apache.tuscany.core.wire.InvocationChainImpl;
+import org.apache.tuscany.core.wire.InvokerInterceptor;
+import org.apache.tuscany.core.wire.WireImpl;
+import org.apache.tuscany.core.wire.WireUtils;
+import org.apache.tuscany.interfacedef.Operation;
import org.apache.tuscany.spi.Scope;
import org.apache.tuscany.spi.builder.Builder;
import org.apache.tuscany.spi.builder.BuilderException;
import org.apache.tuscany.spi.builder.BuilderInstantiationException;
import org.apache.tuscany.spi.builder.BuilderRegistry;
+import org.apache.tuscany.spi.builder.WiringException;
+import org.apache.tuscany.spi.component.AtomicComponent;
import org.apache.tuscany.spi.component.Component;
import org.apache.tuscany.spi.component.ComponentManager;
+import org.apache.tuscany.spi.component.Invocable;
import org.apache.tuscany.spi.component.RegistrationException;
import org.apache.tuscany.spi.component.SCAObject;
import org.apache.tuscany.spi.component.ScopeContainer;
import org.apache.tuscany.spi.component.ScopeRegistry;
+import org.apache.tuscany.spi.component.TargetInvokerCreationException;
import org.apache.tuscany.spi.deployer.Deployer;
import org.apache.tuscany.spi.deployer.DeploymentContext;
import org.apache.tuscany.spi.resolver.ResolutionException;
+import org.apache.tuscany.spi.wire.InvocationChain;
+import org.apache.tuscany.spi.wire.Wire;
import org.osoa.sca.annotations.Reference;
+import com.sun.jndi.toolkit.ctx.ComponentDirContext;
+
/**
* Default implementation of Deployer.
*
@@ -95,6 +121,11 @@
Collection<Component> components = deploymentContext.getComponents().values();
for (Component toRegister : components) {
try {
+ Map<SCAObject, Object> models = ((BuilderRegistryImpl)builder).getModels();
+ Object model = models.get(toRegister);
+ if (model instanceof org.apache.tuscany.assembly.Component) {
+ connect(models, (org.apache.tuscany.assembly.Component)model);
+ }
componentManager.register(toRegister);
} catch (RegistrationException e) {
throw new BuilderInstantiationException("Error registering component", e);
@@ -116,4 +147,160 @@
return builder.build(componentDefinition, deploymentContext);
}
+ public static org.apache.tuscany.assembly.Reference getReference(Implementation type, String name) {
+ for (org.apache.tuscany.assembly.Reference ref : type.getReferences()) {
+ if (ref.getName().equals(name)) {
+ return ref;
+ }
+ }
+ return null;
+ }
+
+ public void connect(Map<SCAObject, Object> models, org.apache.tuscany.assembly.Component definition)
+ throws WiringException {
+ Component source = getComponent(models, definition);
+ if (source == null) {
+ throw new ComponentNotFoundException("Source not found", URI.create(definition.getName()));
+ }
+
+ for (ComponentReference ref : definition.getReferences()) {
+ List<Wire> wires = new ArrayList<Wire>();
+ String refName = ref.getName();
+ org.apache.tuscany.assembly.Reference refDefinition = getReference(definition.getImplementation(), refName);
+ assert refDefinition != null;
+ List<ComponentService> services = ref.getTargets();
+ for (ComponentService service : services) {
+ org.apache.tuscany.assembly.Component targetCompoent = service.getBinding(SCABinding.class)
+ .getComponent();
+ Component target = getComponent(models, targetCompoent);
+ URI targetUri = URI.create(target.getUri() + "#" + service.getName());
+ if (target == null && (refDefinition.getMultiplicity() == Multiplicity.ZERO_ONE || refDefinition
+ .getMultiplicity() == Multiplicity.ZERO_N)) {
+ // a non-required reference, just skip
+ continue;
+ }
+ if (target == null) {
+ throw new ComponentNotFoundException("Target not found", targetUri);
+ }
+ URI sourceURI = URI.create(source.getUri() + "#" + refName);
+ Wire wire = createWire(sourceURI, targetUri, refDefinition, Wire.LOCAL_BINDING);
+ try {
+ attachInvokers(refName, wire, source, target);
+ } catch (TargetInvokerCreationException e) {
+ throw new WireCreationException("Error creating invoker", sourceURI, targetUri, e);
+ }
+ /*
+ * if (postProcessorRegistry != null) {
+ * postProcessorRegistry.process(wire); }
+ */
+ optimize(source, target, wire);
+ wires.add(wire);
+ if (!wire.getCallbackInvocationChains().isEmpty()) {
+ target.attachCallbackWire(wire);
+ }
+ }
+ if (wires.size() > 1) {
+ // attach as a multiplicity
+ source.attachWires(wires);
+ } else if (wires.size() == 1) {
+ // attach as a single wire
+ Wire wire = wires.get(0);
+ source.attachWire(wire);
+ }
+ }
+ }
+
+ private Component getComponent(Map<SCAObject, Object> models, org.apache.tuscany.assembly.Component definition) {
+ Component source = null;
+ for (Map.Entry<SCAObject, Object> e : models.entrySet()) {
+ if (e.getValue() == definition) {
+ source = (Component)e.getKey();
+ }
+ }
+ return source;
+ }
+
+ protected Wire createWire(URI sourceURI, URI targetUri, Contract contract, QName bindingType) {
+ Wire wire = new WireImpl(bindingType);
+ wire.setSourceContract(contract);
+ wire.setTargetContract(contract);
+ wire.setSourceUri(sourceURI);
+ wire.setTargetUri(targetUri);
+ for (Operation operation : contract.getInterface().getOperations()) {
+ InvocationChain chain = new InvocationChainImpl(operation);
+ /*
+ * if (operation.isNonBlocking()) { chain.addInterceptor(new
+ * NonBlockingInterceptor(scheduler, workContext)); }
+ */
+ chain.addInterceptor(new InvokerInterceptor());
+ wire.addInvocationChain(operation, chain);
+
+ }
+ if (contract.getCallbackInterface() != null) {
+ for (Operation operation : contract.getCallbackInterface().getOperations()) {
+ InvocationChain chain = new InvocationChainImpl(operation);
+ /*
+ * if (operation.isNonBlocking()) { chain.addInterceptor(new
+ * NonBlockingInterceptor(scheduler, workContext)); }
+ */
+ chain.addInterceptor(new InvokerInterceptor());
+ wire.addCallbackInvocationChain(operation, chain);
+ }
+ }
+ return wire;
+ }
+
+ private void attachInvokers(String name, Wire wire, Invocable source, Invocable target)
+ throws TargetInvokerCreationException {
+ // TODO section will deleted be replaced when we cut-over to the
+ // physical marshallers
+ for (InvocationChain chain : wire.getInvocationChains().values()) {
+ chain.setTargetInvoker(target.createTargetInvoker(name, chain.getOperation(), false));
+ }
+ for (InvocationChain chain : wire.getCallbackInvocationChains().values()) {
+ chain.setTargetInvoker(source.createTargetInvoker(null, chain.getOperation(), true));
+ }
+ }
+
+ protected void optimize(Component source, Component target, Wire wire) {
+ boolean optimizableScopes = isOptimizable(source.getScope(), target.getScope());
+ if (optimizableScopes && target.isOptimizable() && WireUtils.isOptimizable(wire)) {
+ wire.setOptimizable(true);
+ wire.setTarget((AtomicComponent)target);
+ } else {
+ wire.setOptimizable(false);
+ }
+ }
+
+ protected boolean isOptimizable(Scope pReferrer, Scope pReferee) {
+ if (pReferrer == Scope.UNDEFINED || pReferee == Scope.UNDEFINED
+ || pReferrer == Scope.CONVERSATION
+ || pReferee == Scope.CONVERSATION) {
+ return false;
+ }
+ if (pReferee == pReferrer) {
+ return true;
+ } else if (pReferrer == Scope.STATELESS) {
+ return true;
+ } else if (pReferee == Scope.STATELESS) {
+ return false;
+ } else if (pReferrer == Scope.REQUEST && pReferee == Scope.SESSION) {
+ return true;
+ } else if (pReferrer == Scope.REQUEST && pReferee == Scope.COMPOSITE) {
+ return true;
+ } else if (pReferrer == Scope.REQUEST && pReferee == Scope.SYSTEM) {
+ return true;
+ } else if (pReferrer == Scope.SESSION && pReferee == Scope.COMPOSITE) {
+ return true;
+ } else if (pReferrer == Scope.SESSION && pReferee == Scope.SYSTEM) {
+ return true;
+ } else // noinspection SimplifiableIfStatement
+ if (pReferrer == Scope.SYSTEM && pReferee == Scope.COMPOSITE) {
+ // case where a service context points to a composite scoped
+ // component
+ return true;
+ } else {
+ return pReferrer == Scope.COMPOSITE && pReferee == Scope.SYSTEM;
+ }
+ }
}
Modified: incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/core/implementation/PojoAtomicComponent.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/core/implementation/PojoAtomicComponent.java?view=diff&rev=527051&r1=527050&r2=527051
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/core/implementation/PojoAtomicComponent.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/core/implementation/PojoAtomicComponent.java Tue Apr 10 01:00:51 2007
@@ -28,28 +28,22 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-import org.apache.tuscany.api.annotation.Resource;
+import org.apache.tuscany.assembly.Multiplicity;
+import org.apache.tuscany.assembly.Reference;
import org.apache.tuscany.core.component.ComponentContextImpl;
import org.apache.tuscany.core.component.ComponentContextProvider;
-import org.apache.tuscany.core.component.InstanceFactory;
import org.apache.tuscany.core.component.ServiceReferenceImpl;
-import org.apache.tuscany.core.component.scope.ReflectiveInstanceWrapper;
import org.apache.tuscany.core.injection.ArrayMultiplicityObjectFactory;
import org.apache.tuscany.core.injection.CallbackWireObjectFactory;
import org.apache.tuscany.core.injection.ConversationIDObjectFactory;
-import org.apache.tuscany.core.injection.EventInvoker;
import org.apache.tuscany.core.injection.FieldInjector;
import org.apache.tuscany.core.injection.Injector;
import org.apache.tuscany.core.injection.InvalidAccessorException;
import org.apache.tuscany.core.injection.ListMultiplicityObjectFactory;
import org.apache.tuscany.core.injection.MethodInjector;
-import org.apache.tuscany.core.injection.NoAccessorException;
import org.apache.tuscany.core.injection.NoMultiplicityTypeException;
import org.apache.tuscany.core.injection.ObjectCallbackException;
-import org.apache.tuscany.core.injection.PojoObjectFactory;
-import org.apache.tuscany.implementation.java.impl.ConstructorDefinition;
import org.apache.tuscany.implementation.java.impl.JavaElement;
import org.apache.tuscany.implementation.java.impl.Parameter;
import org.apache.tuscany.implementation.java.processor.JavaIntrospectionHelper;
@@ -67,8 +61,6 @@
import org.osoa.sca.ComponentContext;
import org.osoa.sca.ServiceReference;
import org.osoa.sca.annotations.ConversationID;
-import org.osoa.sca.annotations.Property;
-import org.osoa.sca.annotations.Reference;
/**
* Base implementation of an
@@ -207,6 +199,24 @@
ObjectFactory<?> factory = new CallbackWireObjectFactory(element.getType(), proxyService, wires);
configuration.getInjectionSites().add(element);
configuration.setObjectFactory(element, factory);
+ }
+ }
+ for (Reference ref : configuration.getDefinition().getReferences()) {
+ JavaElement element = configuration.getDefinition().getReferenceMembers().get(ref.getName());
+ if (element != null) {
+ configuration.getInjectionSites().add(element);
+ List<Wire> wireList = wires.get(ref.getName());
+ if (ref.getMultiplicity() == Multiplicity.ONE_N || ref.getMultiplicity() == Multiplicity.ZERO_N) {
+ List<ObjectFactory<?>> factories = new ArrayList<ObjectFactory<?>>();
+ for (int i = 0; i < wireList.size(); i++) {
+ ObjectFactory<?> factory = createWireFactory(element.getType(), wireList.get(i));
+ factories.add(factory);
+ }
+ configuration.setObjectFactories(element, factories);
+ } else {
+ ObjectFactory<?> factory = createWireFactory(element.getType(), wireList.get(0));
+ configuration.setObjectFactory(element, factory);
+ }
}
}
super.start();
Modified: incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/core/implementation/PojoConfiguration.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/core/implementation/PojoConfiguration.java?view=diff&rev=527051&r1=527050&r2=527051
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/core/implementation/PojoConfiguration.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/core/implementation/PojoConfiguration.java Tue Apr 10 01:00:51 2007
@@ -72,7 +72,7 @@
.getDestroyMethod());
injectionSites = new ArrayList<JavaElement>();
}
-
+
public void setName(URI name) {
this.name = name;
}
@@ -90,11 +90,19 @@
}
public EventInvoker<Object> getInitInvoker() {
- return new MethodEventInvoker<Object>(definition.getInitMethod());
+ if (definition.getInitMethod() != null) {
+ return new MethodEventInvoker<Object>(definition.getInitMethod());
+ } else {
+ return null;
+ }
}
public EventInvoker<Object> getDestroyInvoker() {
- return new MethodEventInvoker<Object>(definition.getDestroyMethod());
+ if (definition.getDestroyMethod() != null) {
+ return new MethodEventInvoker<Object>(definition.getDestroyMethod());
+ } else {
+ return null;
+ }
}
public ProxyService getProxyService() {
@@ -164,7 +172,7 @@
throw new AssertionError(String.valueOf(element));
}
} else {
- injectors[i++] = createMultiplicityInjector(element, (List<ObjectFactory<?>>)factories);
+ injectors[i++] = createMultiplicityInjector(element, (List<ObjectFactory<?>>)obj);
}
}
return injectors;
Modified: incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/core/implementation/java/bootstrap/RuntimeJavaModuleActivator.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/core/implementation/java/bootstrap/RuntimeJavaModuleActivator.java?view=diff&rev=527051&r1=527050&r2=527051
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/core/implementation/java/bootstrap/RuntimeJavaModuleActivator.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/core/implementation/java/bootstrap/RuntimeJavaModuleActivator.java Tue Apr 10 01:00:51 2007
@@ -42,6 +42,8 @@
import org.apache.tuscany.implementation.java.processor.ScopeProcessor;
import org.apache.tuscany.implementation.java.processor.ServiceProcessor;
import org.apache.tuscany.implementation.java.xml.JavaImplementationProcessor;
+import org.apache.tuscany.interfacedef.java.introspection.JavaInterfaceProcessorRegistry;
+import org.apache.tuscany.interfacedef.java.introspection.impl.JavaInterfaceProcessorRegistryImpl;
import org.apache.tuscany.services.spi.contribution.StAXArtifactProcessorRegistry;
import org.apache.tuscany.spi.bootstrap.ExtensionPointRegistry;
import org.apache.tuscany.spi.bootstrap.ModuleActivator;
@@ -59,14 +61,17 @@
Map<Class, Object> map = new HashMap<Class, Object>();
map.put(ProxyService.class, new JDKProxyService());
map.put(IntrospectionRegistry.class, new IntrospectionRegistryImpl());
+ map.put(JavaInterfaceProcessorRegistry.class, new JavaInterfaceProcessorRegistryImpl());
return map;
}
-
/**
* @see org.apache.tuscany.spi.bootstrap.ModuleActivator#start(org.apache.tuscany.spi.bootstrap.ExtensionPointRegistry)
*/
public void start(ExtensionPointRegistry registry) {
+ JavaInterfaceProcessorRegistry javaInterfaceProcessorRegistry = registry
+ .getExtensionPoint(JavaInterfaceProcessorRegistry.class);
+
IntrospectionRegistry introspectionRegistry = registry.getExtensionPoint(IntrospectionRegistry.class);
ImplementationProcessorExtension[] extensions = new ImplementationProcessorExtension[] {new ConstructorProcessor(),
new AllowsPassByReferenceProcessor(),
@@ -85,11 +90,15 @@
};
for (ImplementationProcessorExtension e : extensions) {
e.setRegistry(introspectionRegistry);
+ e.setInterfaceProcessorRegistry(javaInterfaceProcessorRegistry);
introspectionRegistry.registerProcessor(e);
}
-
- StAXArtifactProcessorRegistry artifactProcessorRegistry = registry.getExtensionPoint(StAXArtifactProcessorRegistry.class);
- artifactProcessorRegistry.addArtifactProcessor(new JavaImplementationProcessor());
+
+ StAXArtifactProcessorRegistry artifactProcessorRegistry = registry
+ .getExtensionPoint(StAXArtifactProcessorRegistry.class);
+ JavaImplementationProcessor javaImplementationProcessor = new JavaImplementationProcessor();
+ javaImplementationProcessor.setIntrospectionRegistry(introspectionRegistry);
+ artifactProcessorRegistry.addArtifactProcessor(javaImplementationProcessor);
BuilderRegistry builderRegistry = registry.getExtensionPoint(BuilderRegistry.class);
JavaComponentBuilder builder = new JavaComponentBuilder();
@@ -99,7 +108,6 @@
builderRegistry.register(JavaImplementation.class, builder);
}
-
public void stop(ExtensionPointRegistry registry) {
}
Modified: incubator/tuscany/java/sca/modules/implementation-java-xml/src/main/java/org/apache/tuscany/implementation/java/processor/HeuristicPojoProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java-xml/src/main/java/org/apache/tuscany/implementation/java/processor/HeuristicPojoProcessor.java?view=diff&rev=527051&r1=527050&r2=527051
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java-xml/src/main/java/org/apache/tuscany/implementation/java/processor/HeuristicPojoProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java-xml/src/main/java/org/apache/tuscany/implementation/java/processor/HeuristicPojoProcessor.java Tue Apr 10 01:00:51 2007
@@ -587,7 +587,7 @@
}
public org.apache.tuscany.assembly.Service createService(Class<?> interfaze) throws InvalidInterfaceException {
- org.apache.tuscany.assembly.Service service = factory.createComponentService();
+ org.apache.tuscany.assembly.Service service = factory.createService();
service.setName(interfaze.getSimpleName());
interfaceProcessorRegistry.introspect(service, interfaze);
Interface javaInterface = service.getInterface();
Modified: incubator/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/implementation/java/impl/DefaultJavaImplementationFactory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/implementation/java/impl/DefaultJavaImplementationFactory.java?view=diff&rev=527051&r1=527050&r2=527051
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/implementation/java/impl/DefaultJavaImplementationFactory.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/implementation/java/impl/DefaultJavaImplementationFactory.java Tue Apr 10 01:00:51 2007
@@ -34,7 +34,7 @@
}
public JavaImplementation createJavaImplementation() {
- JavaImplementation javaImplementation = new JavaImplementationImpl();
+ JavaImplementation javaImplementation = new JavaImplementationDefinition();
return javaImplementation;
}
Modified: incubator/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/implementation/java/impl/JavaImplementationDefinition.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/implementation/java/impl/JavaImplementationDefinition.java?view=diff&rev=527051&r1=527050&r2=527051
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/implementation/java/impl/JavaImplementationDefinition.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/implementation/java/impl/JavaImplementationDefinition.java Tue Apr 10 01:00:51 2007
@@ -26,12 +26,14 @@
import java.util.List;
import java.util.Map;
+import org.apache.tuscany.implementation.java.JavaImplementation;
+
/**
* A component type specialization for POJO implementations
*
* @version $$Rev$$ $$Date$$
*/
-public class JavaImplementationDefinition extends JavaImplementationImpl {
+public class JavaImplementationDefinition extends JavaImplementationImpl implements JavaImplementation {
private ConstructorDefinition<?> constructorDefinition;
private Map<Constructor, ConstructorDefinition> constructors = new HashMap<Constructor, ConstructorDefinition>();
private Method initMethod;
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org