Modified: incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/builder/SystemComponentContextBuilder.java URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/builder/SystemComponentContextBuilder.java?rev=385747&r1=385746&r2=385747&view=diff ============================================================================== --- incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/builder/SystemComponentContextBuilder.java (original) +++ incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/builder/SystemComponentContextBuilder.java Mon Mar 13 22:12:53 2006 @@ -18,12 +18,13 @@ import java.lang.reflect.Method; import java.util.ArrayList; import java.util.List; -import java.util.Set; import java.util.Map; +import java.util.Set; import org.apache.tuscany.common.monitor.MonitorFactory; import org.apache.tuscany.core.builder.BuilderConfigException; import org.apache.tuscany.core.builder.BuilderException; +import org.apache.tuscany.core.builder.ContextResolver; import org.apache.tuscany.core.builder.NoAccessorException; import org.apache.tuscany.core.builder.ObjectFactory; import org.apache.tuscany.core.builder.RuntimeConfigurationBuilder; @@ -37,13 +38,14 @@ import org.apache.tuscany.core.context.QualifiedName; import org.apache.tuscany.core.context.SystemAggregateContext; import org.apache.tuscany.core.context.impl.AggregateContextImpl; +import org.apache.tuscany.core.injection.ContextObjectFactory; import org.apache.tuscany.core.injection.EventInvoker; import org.apache.tuscany.core.injection.FactoryInitException; import org.apache.tuscany.core.injection.FieldInjector; import org.apache.tuscany.core.injection.Injector; import org.apache.tuscany.core.injection.MethodEventInvoker; import org.apache.tuscany.core.injection.MethodInjector; -import org.apache.tuscany.core.injection.ReferenceTargetFactory; +import org.apache.tuscany.core.injection.NonProxiedTargetFactory; import org.apache.tuscany.core.injection.SDOObjectFactory; import org.apache.tuscany.core.injection.SingletonObjectFactory; import org.apache.tuscany.core.runtime.RuntimeContext; @@ -52,6 +54,7 @@ import org.apache.tuscany.core.system.assembly.SystemImplementation; import org.apache.tuscany.core.system.config.SystemComponentRuntimeConfiguration; import org.apache.tuscany.core.system.context.SystemAggregateContextImpl; +import org.apache.tuscany.core.system.injection.AutowireObjectFactory; import org.apache.tuscany.model.assembly.AssemblyModelObject; import org.apache.tuscany.model.assembly.Component; import org.apache.tuscany.model.assembly.ComponentImplementation; @@ -76,7 +79,7 @@ * simple and aggregate component types may be injected and autowired. * <p> * Note that system component references are not proxied. - * + * * @version $Rev$ $Date$ */ public class SystemComponentContextBuilder implements RuntimeConfigurationBuilder<AggregateContext> { @@ -92,7 +95,7 @@ // Methods // ---------------------------------- - public void build(AssemblyModelObject modelObject, AggregateContext parentContext) throws BuilderException { + public void build(AssemblyModelObject modelObject) throws BuilderException { if (!(modelObject instanceof Component)) { return; } @@ -100,7 +103,6 @@ Class implClass = null; Scope scope = null; - // Get the component implementation ComponentImplementation componentImplementation = component.getComponentImplementation(); if (componentImplementation instanceof SystemImplementation && componentImplementation.getRuntimeConfiguration() == null) { @@ -154,11 +156,15 @@ } Set<Field> fields; Set<Method> methods; + SystemComponentRuntimeConfiguration config = null; try { fields = JavaIntrospectionHelper.getAllFields(implClass); methods = JavaIntrospectionHelper.getAllUniqueMethods(implClass); String name = component.getName(); Constructor ctr = implClass.getConstructor((Class[]) null); + config = new SystemComponentRuntimeConfiguration(name, JavaIntrospectionHelper.getDefaultConstructor(implClass), + scope); + ContextObjectFactory contextFactory = new ContextObjectFactory(config); List<Injector> injectors = new ArrayList(); @@ -177,7 +183,7 @@ Map<String, ConfiguredReference> configuredReferences = component.getConfiguredReferences(); if (configuredReferences != null) { for (ConfiguredReference reference : configuredReferences.values()) { - Injector injector = createReferenceInjector(reference, fields, methods, parentContext); + Injector injector = createReferenceInjector(reference, fields, methods, config); injectors.add(injector); } } @@ -195,27 +201,27 @@ } Context context = field.getAnnotation(Context.class); if (context != null) { - Injector injector = new FieldInjector(field, new SingletonObjectFactory(parentContext)); + Injector injector = new FieldInjector(field, contextFactory); injectors.add(injector); } ParentContext parentField = field.getAnnotation(ParentContext.class); if (parentField != null) { - if (!(parentContext instanceof AggregateContext)) { - BuilderConfigException e = new BuilderConfigException("Component must be a child of"); - e.setIdentifier(AggregateContext.class.getName()); - throw e; - } - Injector injector = new FieldInjector(field, new SingletonObjectFactory((parentContext))); +// if (!(parentContext instanceof AggregateContext)) { +// BuilderConfigException e = new BuilderConfigException("Component must be a child of"); +// e.setIdentifier(AggregateContext.class.getName()); +// throw e; +// } + Injector injector = new FieldInjector(field, contextFactory); injectors.add(injector); } Autowire autowire = field.getAnnotation(Autowire.class); if (autowire != null) { - if (!(parentContext instanceof AutowireContext)) { - BuilderConfigException e = new BuilderConfigException("Parent context must implement"); - e.setIdentifier(AutowireContext.class.getName()); - throw e; - } - AutowireContext ctx = (AutowireContext) parentContext; +// if (!(parentContext instanceof AutowireContext)) { +// BuilderConfigException e = new BuilderConfigException("Parent context must implement"); +// e.setIdentifier(AutowireContext.class.getName()); +// throw e; +// } +// AutowireContext ctx = (AutowireContext) parentContext; // for system aggregate context types, only allow autowire of certain types, otherwise we have a // chicken-and-egg problem if (SystemAggregateContext.class.isAssignableFrom(implClass) @@ -228,13 +234,13 @@ throw e; } - Object o = ctx.resolveInstance(field.getType()); - if (autowire.required() && o == null) { - BuilderConfigException e = new BuilderConfigException("No autowire found for field"); - e.setIdentifier(field.getName()); - throw e; - } - Injector injector = new FieldInjector(field, new SingletonObjectFactory(o)); +// Object o = ctx.resolveInstance(field.getType()); +// if (autowire.required() && o == null) { +// BuilderConfigException e = new BuilderConfigException("No autowire found for field"); +// e.setIdentifier(field.getName()); +// throw e; +// } + Injector injector = new FieldInjector(field, new AutowireObjectFactory(field.getType(),autowire.required(),config)); injectors.add(injector); } } @@ -257,32 +263,32 @@ } Context context = method.getAnnotation(Context.class); if (context != null) { - Injector injector = new MethodInjector(method, new SingletonObjectFactory(parentContext)); + Injector injector = new MethodInjector(method, contextFactory); injectors.add(injector); } ParentContext parentMethod = method.getAnnotation(ParentContext.class); if (parentMethod != null) { - if (!(parentContext instanceof AggregateContext)) { - BuilderConfigException e = new BuilderConfigException("Component must be a child of "); - e.setIdentifier(AggregateContext.class.getName()); - throw e; - } - Injector injector = new MethodInjector(method, new SingletonObjectFactory((parentContext))); +// if (!(parentContext instanceof AggregateContext)) { +// BuilderConfigException e = new BuilderConfigException("Component must be a child of "); +// e.setIdentifier(AggregateContext.class.getName()); +// throw e; +// } + Injector injector = new MethodInjector(method, contextFactory); injectors.add(injector); } Autowire autowire = method.getAnnotation(Autowire.class); if (autowire != null) { - if (!(parentContext instanceof AutowireContext)) { - BuilderConfigException e = new BuilderConfigException("Parent context must implement)"); - e.setIdentifier(AutowireContext.class.getName()); - throw e; - } +// if (!(parentContext instanceof AutowireContext)) { +// BuilderConfigException e = new BuilderConfigException("Parent context must implement)"); +// e.setIdentifier(AutowireContext.class.getName()); +// throw e; +// } if (method.getParameterTypes() == null || method.getParameterTypes().length != 1) { BuilderConfigException e = new BuilderConfigException("Autowire setter methods must take one parameter"); e.setIdentifier(method.getName()); throw e; } - AutowireContext ctx = (AutowireContext) parentContext; +// AutowireContext ctx = (AutowireContext) parentContext; Class paramType = method.getParameterTypes()[0]; // for system aggregate context types, only allow autowire of certain types, otherwise we have a // chicken-and-egg problem @@ -293,24 +299,30 @@ e.setIdentifier(paramType.getName()); throw e; } - Object o = ctx.resolveInstance(paramType); - if (autowire.required() && o == null) { - BuilderConfigException e = new BuilderConfigException("No autowire found for method "); - e.setIdentifier(method.getName()); - throw e; - } +// Object o = ctx.resolveInstance(paramType); +// if (autowire.required() && o == null) { +// BuilderConfigException e = new BuilderConfigException("No autowire found for method "); +// e.setIdentifier(method.getName()); +// throw e; +// } - Injector injector = new MethodInjector(method, new SingletonObjectFactory(o)); + Injector injector = new MethodInjector(method, new AutowireObjectFactory(paramType,autowire.required(), config)); injectors.add(injector); } } // decorate the logical model - SystemComponentRuntimeConfiguration config = new SystemComponentRuntimeConfiguration(name, JavaIntrospectionHelper - .getDefaultConstructor(implClass), injectors, eagerInit, initInvoker, destroyInvoker, scope); + config.setSetters(injectors); + config.setEagerInit(eagerInit); + config.setInitInvoker(initInvoker); + config.setDestroyInvoker(destroyInvoker); + + // SystemComponentRuntimeConfiguration config = new SystemComponentRuntimeConfiguration(name, + // JavaIntrospectionHelper + // .getDefaultConstructor(implClass), injectors, eagerInit, initInvoker, destroyInvoker, scope); componentImplementation.setRuntimeConfiguration(config); } catch (BuilderConfigException e) { e.addContextName(component.getName()); - e.addContextName(parentContext.getName()); + // e.addContextName(parentContext.getName()); throw e; } catch (NoSuchMethodException e) { BuilderConfigException ce = new BuilderConfigException("Class does not have a no-arg constructor", e); @@ -319,7 +331,7 @@ } catch (FactoryInitException e) { BuilderConfigException ce = new BuilderConfigException("Error building component", e); ce.addContextName(component.getName()); - ce.addContextName(parentContext.getName()); + // ce.addContextName(parentContext.getName()); throw ce; } } @@ -377,7 +389,7 @@ * injecting them into the reference */ private Injector createReferenceInjector(ConfiguredReference reference, Set<Field> fields, Set<Method> methods, - AggregateContext parentContext) { + ContextResolver resolver) { List<ObjectFactory> objectFactories = new ArrayList(); String refName = reference.getReference().getName(); @@ -387,7 +399,7 @@ String targetSerivceName = configuredService.getService().getName(); QualifiedName qName = new QualifiedName(targetCompName + QualifiedName.NAME_SEPARATOR + targetSerivceName); Class interfaze = reference.getReference().getServiceContract().getInterface(); - objectFactories.add(new ReferenceTargetFactory(configuredService, parentContext)); + objectFactories.add(new NonProxiedTargetFactory(configuredService, resolver)); } boolean multiplicity = reference.getReference().getMultiplicity() == Multiplicity.ONE_N || reference.getReference().getMultiplicity() == Multiplicity.ZERO_N;
Modified: incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/builder/SystemEntryPointBuilder.java URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/builder/SystemEntryPointBuilder.java?rev=385747&r1=385746&r2=385747&view=diff ============================================================================== --- incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/builder/SystemEntryPointBuilder.java (original) +++ incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/builder/SystemEntryPointBuilder.java Mon Mar 13 22:12:53 2006 @@ -14,13 +14,14 @@ package org.apache.tuscany.core.system.builder; import org.apache.tuscany.core.builder.BuilderException; +import org.apache.tuscany.core.builder.BuilderInitException; import org.apache.tuscany.core.builder.RuntimeConfigurationBuilder; import org.apache.tuscany.core.context.AggregateContext; import org.apache.tuscany.core.injection.FactoryInitException; -import org.apache.tuscany.core.injection.ReferenceTargetFactory; import org.apache.tuscany.core.system.assembly.SystemBinding; import org.apache.tuscany.core.system.config.SystemEntryPointRuntimeConfiguration; import org.apache.tuscany.model.assembly.AssemblyModelObject; +import org.apache.tuscany.model.assembly.ConfiguredService; import org.apache.tuscany.model.assembly.EntryPoint; /** @@ -41,7 +42,7 @@ // Methods // ---------------------------------- - public void build(AssemblyModelObject modelObject, AggregateContext context) throws BuilderException { + public void build(AssemblyModelObject modelObject) throws BuilderException { if (!(modelObject instanceof EntryPoint)) { return; } @@ -51,13 +52,25 @@ return; } try { - Class type = entryPoint.getConfiguredReference().getReference().getServiceContract().getInterface(); + // Class type = entryPoint.getConfiguredReference().getReference().getServiceContract().getInterface(); + + String targetName = null; + ConfiguredService targetService = entryPoint.getConfiguredReference().getTargetConfiguredServices().get(0); + if (targetService.getAggregatePart() == null) { + // FIXME not correct + if (targetService.getService() == null) { + BuilderInitException e = new BuilderInitException("No target service specified on "); + e.setIdentifier(entryPoint.getName()); + } + targetName = targetService.getService().getName(); + } else { + targetName = targetService.getAggregatePart().getName(); + } SystemEntryPointRuntimeConfiguration config = new SystemEntryPointRuntimeConfiguration(entryPoint.getName(), - new ReferenceTargetFactory(entryPoint.getConfiguredReference().getTargetConfiguredServices().get(0), context)); + targetName); entryPoint.getConfiguredReference().setRuntimeConfiguration(config); } catch (FactoryInitException e) { e.addContextName(entryPoint.getName()); - e.addContextName(context.getName()); throw e; } } Modified: incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/builder/SystemExternalServiceBuilder.java URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/builder/SystemExternalServiceBuilder.java?rev=385747&r1=385746&r2=385747&view=diff ============================================================================== --- incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/builder/SystemExternalServiceBuilder.java (original) +++ incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/builder/SystemExternalServiceBuilder.java Mon Mar 13 22:12:53 2006 @@ -17,12 +17,10 @@ import org.apache.tuscany.core.builder.BuilderException; import org.apache.tuscany.core.builder.RuntimeConfigurationBuilder; import org.apache.tuscany.core.context.AggregateContext; -import org.apache.tuscany.core.context.AutowireContext; import org.apache.tuscany.core.injection.InterAggregateReferenceFactory; -import org.apache.tuscany.core.injection.ReferenceTargetFactory; import org.apache.tuscany.core.system.assembly.SystemBinding; import org.apache.tuscany.core.system.config.SystemExternalServiceRuntimeConfiguration; -import org.apache.tuscany.core.system.injection.AutowireFactory; +import org.apache.tuscany.core.system.injection.AutowireObjectFactory; import org.apache.tuscany.model.assembly.AssemblyModelObject; import org.apache.tuscany.model.assembly.ExternalService; @@ -43,7 +41,7 @@ // Methods // ---------------------------------- - public void build(AssemblyModelObject modelObject, AggregateContext context) throws BuilderException { + public void build(AssemblyModelObject modelObject) throws BuilderException { if (!(modelObject instanceof ExternalService)) { return; } @@ -58,7 +56,7 @@ SystemBinding binding = (SystemBinding)externalService.getBindings().get(0); if (binding.getTargetName() != null) { SystemExternalServiceRuntimeConfiguration config = new SystemExternalServiceRuntimeConfiguration(externalService - .getName(), new InterAggregateReferenceFactory(binding.getTargetName(), context)); + .getName(), new InterAggregateReferenceFactory(binding.getTargetName())); externalService.getConfiguredService().setRuntimeConfiguration(config); } else if (externalService.getConfiguredService().getService().getServiceContract().getInterface() != null) { // autowire @@ -67,11 +65,10 @@ BuilderException e = new BuilderConfigException("Interface type not specified"); e.setIdentifier(externalService.getName()); e.addContextName(externalService.getName()); - e.addContextName(context.getName()); throw e; } SystemExternalServiceRuntimeConfiguration config = new SystemExternalServiceRuntimeConfiguration(externalService - .getName(), new AutowireFactory(claz, (AutowireContext) context)); + .getName(), new AutowireObjectFactory(claz)); externalService.getConfiguredService().setRuntimeConfiguration(config); } } Modified: incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/config/SystemComponentRuntimeConfiguration.java URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/config/SystemComponentRuntimeConfiguration.java?rev=385747&r1=385746&r2=385747&view=diff ============================================================================== --- incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/config/SystemComponentRuntimeConfiguration.java (original) +++ incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/config/SystemComponentRuntimeConfiguration.java Mon Mar 13 22:12:53 2006 @@ -5,6 +5,7 @@ import java.util.Map; import org.apache.tuscany.core.builder.ContextCreationException; +import org.apache.tuscany.core.builder.ContextResolver; import org.apache.tuscany.core.builder.RuntimeConfiguration; import org.apache.tuscany.core.context.AggregateContext; import org.apache.tuscany.core.context.InstanceContext; @@ -20,11 +21,13 @@ * * @version $Rev$ $Date$ */ -public class SystemComponentRuntimeConfiguration implements RuntimeConfiguration<InstanceContext> { +public class SystemComponentRuntimeConfiguration implements RuntimeConfiguration<InstanceContext>, ContextResolver { // the component name as configured in the hosting module private String name; + private AggregateContext parentContext; + // the implementation type constructor private Constructor ctr; @@ -83,6 +86,10 @@ stateless = (scope == Scope.INSTANCE); } + public SystemComponentRuntimeConfiguration(String name, Constructor ctr, Scope scope) { + this(name, ctr, null, false, null, null, scope); + } + // ---------------------------------- // Methods // ---------------------------------- @@ -108,11 +115,6 @@ } } - // -- Proxy - - public void prepare() { - } - public void addTargetProxyFactory(String serviceName, ProxyFactory factory) { throw new UnsupportedOperationException(); } @@ -131,6 +133,30 @@ public List<ProxyFactory> getSourceProxyFactories() { return null; + } + + public void setSetters(List<Injector> setters) { + this.setters = setters; + } + + public void setEagerInit(boolean val) { + eagerInit = val; + } + + public void setInitInvoker(EventInvoker invoker) { + init = invoker; + } + + public void setDestroyInvoker(EventInvoker invoker) { + destroy = invoker; + } + + public void prepare(AggregateContext parent) { + parentContext = parent; + } + + public AggregateContext getCurrentContext() { + return parentContext; } } Modified: incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/config/SystemEntryPointRuntimeConfiguration.java URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/config/SystemEntryPointRuntimeConfiguration.java?rev=385747&r1=385746&r2=385747&view=diff ============================================================================== --- incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/config/SystemEntryPointRuntimeConfiguration.java (original) +++ incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/config/SystemEntryPointRuntimeConfiguration.java Mon Mar 13 22:12:53 2006 @@ -17,8 +17,9 @@ import java.util.Map; import org.apache.tuscany.core.builder.ContextCreationException; -import org.apache.tuscany.core.builder.ObjectFactory; +import org.apache.tuscany.core.builder.ContextResolver; import org.apache.tuscany.core.builder.RuntimeConfiguration; +import org.apache.tuscany.core.context.AggregateContext; import org.apache.tuscany.core.context.EntryPointContext; import org.apache.tuscany.core.invocation.spi.ProxyFactory; import org.apache.tuscany.core.system.context.SystemEntryPointContext; @@ -29,21 +30,22 @@ * * @version $Rev$ $Date$ */ -public class SystemEntryPointRuntimeConfiguration implements RuntimeConfiguration<EntryPointContext> { +public class SystemEntryPointRuntimeConfiguration implements RuntimeConfiguration<EntryPointContext>, ContextResolver { // the name of the entry point private String name; - // the factory for returning a reference to the implementation instance of the component exposed by the entry point - private ObjectFactory factory; + private AggregateContext parentContext; + + private String targetName; // ---------------------------------- // Constructors // ---------------------------------- - public SystemEntryPointRuntimeConfiguration(String name, ObjectFactory factory) { + public SystemEntryPointRuntimeConfiguration(String name, String targetName) { this.name = name; - this.factory = factory; + this.targetName = targetName; } // ---------------------------------- @@ -51,7 +53,7 @@ // ---------------------------------- public EntryPointContext createInstanceContext() throws ContextCreationException { - return new SystemEntryPointContext(name, factory); + return new SystemEntryPointContext(name, targetName, this); } public Scope getScope() { @@ -62,10 +64,6 @@ return name; } - // -- Proxy - public void prepare() { - } - public void addTargetProxyFactory(String serviceName, ProxyFactory pFactory) { throw new UnsupportedOperationException(); } @@ -84,6 +82,14 @@ public List<ProxyFactory> getSourceProxyFactories() { return null; + } + + public void prepare(AggregateContext parent) { + this.parentContext = parent; + } + + public AggregateContext getCurrentContext() { + return parentContext; } } Modified: incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/config/SystemExternalServiceRuntimeConfiguration.java URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/config/SystemExternalServiceRuntimeConfiguration.java?rev=385747&r1=385746&r2=385747&view=diff ============================================================================== --- incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/config/SystemExternalServiceRuntimeConfiguration.java (original) +++ incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/config/SystemExternalServiceRuntimeConfiguration.java Mon Mar 13 22:12:53 2006 @@ -17,11 +17,16 @@ import java.util.Map; import org.apache.tuscany.core.builder.ContextCreationException; +import org.apache.tuscany.core.builder.ContextResolver; import org.apache.tuscany.core.builder.ObjectFactory; import org.apache.tuscany.core.builder.RuntimeConfiguration; +import org.apache.tuscany.core.context.AggregateContext; import org.apache.tuscany.core.context.ExternalServiceContext; +import org.apache.tuscany.core.injection.InterAggregateReferenceFactory; import org.apache.tuscany.core.invocation.spi.ProxyFactory; import org.apache.tuscany.core.system.context.SystemExternalServiceContext; +import org.apache.tuscany.core.system.injection.AutowireFactory; +import org.apache.tuscany.core.system.injection.AutowireObjectFactory; import org.apache.tuscany.model.assembly.Scope; /** @@ -32,14 +37,17 @@ * * @version $Rev$ $Date$ */ -public class SystemExternalServiceRuntimeConfiguration implements RuntimeConfiguration<ExternalServiceContext> { +public class SystemExternalServiceRuntimeConfiguration implements RuntimeConfiguration<ExternalServiceContext>, ContextResolver { // the name of the external service private String name; - // the factory for returning a reference to the implementation instance of the component represented by the external service + // the factory for returning a reference to the implementation instance of the component represented by the external + // service private ObjectFactory factory; + private AggregateContext parentContext; + // ---------------------------------- // Constructors // ---------------------------------- @@ -67,10 +75,6 @@ return new SystemExternalServiceContext(name, factory); } - // -- Proxy - public void prepare() { - } - public void addTargetProxyFactory(String serviceName, ProxyFactory pFactory) { throw new UnsupportedOperationException(); } @@ -93,6 +97,19 @@ public List<ProxyFactory> getSourceProxyFactories() { return null; + } + + public void prepare(AggregateContext parent) { + parentContext = parent; + if (factory instanceof InterAggregateReferenceFactory){ + ((InterAggregateReferenceFactory)factory).setContextResolver(this); + }else if (factory instanceof AutowireObjectFactory){ + ((AutowireObjectFactory)factory).setContextResolver(this); + } + } + + public AggregateContext getCurrentContext() { + return parentContext; } } Modified: incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/config/SystemObjectRuntimeConfiguration.java URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/config/SystemObjectRuntimeConfiguration.java?rev=385747&r1=385746&r2=385747&view=diff ============================================================================== --- incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/config/SystemObjectRuntimeConfiguration.java (original) +++ incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/config/SystemObjectRuntimeConfiguration.java Mon Mar 13 22:12:53 2006 @@ -23,6 +23,7 @@ import org.apache.tuscany.core.builder.ContextCreationException; import org.apache.tuscany.core.builder.ObjectFactory; import org.apache.tuscany.core.builder.RuntimeConfiguration; +import org.apache.tuscany.core.context.AggregateContext; import org.apache.tuscany.core.context.Context; import org.apache.tuscany.core.injection.SingletonObjectFactory; import org.apache.tuscany.core.invocation.spi.ProxyFactory; @@ -63,10 +64,6 @@ return name; } - public void prepare() { - throw new UnsupportedOperationException(); - } - public void addTargetProxyFactory(String serviceName, ProxyFactory factory) { throw new UnsupportedOperationException(); } @@ -89,5 +86,8 @@ public List<ProxyFactory> getSourceProxyFactories() { throw new UnsupportedOperationException(); + } + + public void prepare(AggregateContext parent) { } } Modified: incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/context/SystemAggregateContextImpl.java URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/context/SystemAggregateContextImpl.java?rev=385747&r1=385746&r2=385747&view=diff ============================================================================== --- incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/context/SystemAggregateContextImpl.java (original) +++ incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/context/SystemAggregateContextImpl.java Mon Mar 13 22:12:53 2006 @@ -59,15 +59,15 @@ import org.apache.tuscany.core.invocation.jdk.JDKProxyFactoryFactory; import org.apache.tuscany.core.invocation.spi.ProxyFactory; import org.apache.tuscany.core.invocation.spi.ProxyFactoryFactory; +import org.apache.tuscany.core.loader.StAXLoaderRegistry; import org.apache.tuscany.core.message.MessageFactory; import org.apache.tuscany.core.message.impl.MessageFactoryImpl; import org.apache.tuscany.core.runtime.RuntimeContext; import org.apache.tuscany.core.system.annotation.Autowire; import org.apache.tuscany.core.system.annotation.ParentContext; -import org.apache.tuscany.core.system.assembly.SystemBinding; import org.apache.tuscany.core.system.assembly.SystemAssemblyFactory; +import org.apache.tuscany.core.system.assembly.SystemBinding; import org.apache.tuscany.core.system.config.SystemObjectRuntimeConfiguration; -import org.apache.tuscany.core.loader.StAXLoaderRegistry; import org.apache.tuscany.model.assembly.Aggregate; import org.apache.tuscany.model.assembly.AggregatePart; import org.apache.tuscany.model.assembly.Component; @@ -85,7 +85,7 @@ * according to their exposed interface. A system context may contain child aggregate contexts but an entry point in a * child context will only be outwardly accessible if there is an entry point that exposes it configured in the * top-level system context. - * + * * @version $Rev$ $Date$ */ public class SystemAggregateContextImpl extends AbstractContext implements SystemAggregateContext { @@ -161,15 +161,8 @@ this.assemblyFactory = null; } - public SystemAggregateContextImpl( - String name, - AggregateContext parent, - AutowireContext autowire, - ScopeStrategy strategy, - EventContext ctx, - ConfigurationContext configCtx, - MonitorFactory factory, - StAXLoaderRegistry loaderRegistry, + public SystemAggregateContextImpl(String name, AggregateContext parent, AutowireContext autowire, ScopeStrategy strategy, + EventContext ctx, ConfigurationContext configCtx, MonitorFactory factory, StAXLoaderRegistry loaderRegistry, SystemAssemblyFactory assemblyFactory) { super(name); this.parentContext = parent; @@ -425,6 +418,7 @@ } protected void registerConfiguration(RuntimeConfiguration<InstanceContext> configuration) throws ConfigurationException { + configuration.prepare(this); if (lifecycleState == RUNNING) { if (scopeIndex.get(configuration.getName()) != null) { throw new DuplicateNameException(configuration.getName()); @@ -591,7 +585,11 @@ } else if (ProxyFactoryFactory.class.equals(instanceInterface)) { return instanceInterface.cast(proxyFactoryFactory); } else if (StAXLoaderRegistry.class.equals(instanceInterface)) { - return instanceInterface.cast(loaderRegistry); + if (loaderRegistry != null) { + return instanceInterface.cast(loaderRegistry); + } else { + return instanceInterface.cast(autowireContext.resolveInstance(StAXLoaderRegistry.class)); + } } else if (instanceInterface.isAssignableFrom(SystemAssemblyFactory.class)) { return instanceInterface.cast(assemblyFactory); } Modified: incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/context/SystemEntryPointContext.java URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/context/SystemEntryPointContext.java?rev=385747&r1=385746&r2=385747&view=diff ============================================================================== --- incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/context/SystemEntryPointContext.java (original) +++ incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/context/SystemEntryPointContext.java Mon Mar 13 22:12:53 2006 @@ -13,11 +13,12 @@ */ package org.apache.tuscany.core.system.context; -import org.apache.tuscany.core.builder.ObjectFactory; +import org.apache.tuscany.core.builder.ContextResolver; import org.apache.tuscany.core.context.AbstractContext; -import org.apache.tuscany.core.context.QualifiedName; import org.apache.tuscany.core.context.CoreRuntimeException; import org.apache.tuscany.core.context.EntryPointContext; +import org.apache.tuscany.core.context.InstanceContext; +import org.apache.tuscany.core.context.QualifiedName; import org.apache.tuscany.core.context.TargetException; /** @@ -28,20 +29,23 @@ */ public class SystemEntryPointContext extends AbstractContext implements EntryPointContext { - // responsible for resolving the component implementation instance exposed by the entry point - private ObjectFactory factory; - // a reference to the component's implementation instance exposed by the entry point private Object cachedInstance; + private ContextResolver resolver; + + private QualifiedName targetName; + // ---------------------------------- // Constructors // ---------------------------------- - public SystemEntryPointContext(String name, ObjectFactory factory) { + public SystemEntryPointContext(String name, String targetName, ContextResolver resolver) { super(name); - assert (factory != null) : "Object factory was null"; - this.factory = factory; + assert (resolver != null) : "Context resolver was null"; + assert (targetName != null) : "Target name was null"; + this.resolver = resolver; + this.targetName = new QualifiedName(targetName); } // ---------------------------------- @@ -55,7 +59,11 @@ public Object getInstance(QualifiedName qName, boolean notify) throws TargetException { try { if (cachedInstance == null) { - cachedInstance = factory.getInstance(); + InstanceContext ctx = resolver.getCurrentContext().getContext(targetName.getPartName()); + if (ctx == null){ + return null; + } + cachedInstance = ctx.getInstance(targetName); } return cachedInstance; } catch (TargetException e) { @@ -72,11 +80,11 @@ lifecycleState = STOPPED; } - public Object getImplementationInstance() throws TargetException{ + public Object getImplementationInstance() throws TargetException { return getInstance(null); } - public Object getImplementationInstance(boolean notify) throws TargetException{ - return getInstance(null,notify); + public Object getImplementationInstance(boolean notify) throws TargetException { + return getInstance(null, notify); } } Modified: incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/injection/AutowireFactory.java URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/injection/AutowireFactory.java?rev=385747&r1=385746&r2=385747&view=diff ============================================================================== --- incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/injection/AutowireFactory.java (original) +++ incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/injection/AutowireFactory.java Mon Mar 13 22:12:53 2006 @@ -13,18 +13,20 @@ */ package org.apache.tuscany.core.system.injection; +import org.apache.tuscany.core.builder.ContextResolver; import org.apache.tuscany.core.builder.ObjectFactory; import org.apache.tuscany.core.context.AutowireContext; import org.apache.tuscany.core.injection.ObjectCreationException; /** * Implementation of ObjectFactory that returns an instance by resolving against an AutowireContext. - * + * @deprecated * @version $Rev$ $Date$ + * */ public class AutowireFactory<T> implements ObjectFactory<T> { - private AutowireContext autoWireContext; + private ContextResolver resolver; private Class<T> implementationType; @@ -34,15 +36,17 @@ * @param implementationType the type of service required * @param autoWireContext the context to wire against */ - public AutowireFactory(Class<T> implementationType, AutowireContext autoWireContext) { + public AutowireFactory(Class<T> implementationType) { assert (implementationType != null) : "Implementation type was null"; - assert (autoWireContext != null) : "Autowire context was null"; this.implementationType = implementationType; - this.autoWireContext = autoWireContext; } + public void setContextResolver(ContextResolver resolver){ + this.resolver = resolver; + } + public T getInstance() throws ObjectCreationException { // todo what about required? should this just return null? - return autoWireContext.resolveInstance(implementationType); + return ((AutowireContext)resolver.getCurrentContext()).resolveInstance(implementationType); } } Added: incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/injection/AutowireObjectFactory.java URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/injection/AutowireObjectFactory.java?rev=385747&view=auto ============================================================================== --- incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/injection/AutowireObjectFactory.java (added) +++ incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/injection/AutowireObjectFactory.java Mon Mar 13 22:12:53 2006 @@ -0,0 +1,85 @@ +/** + * + * Copyright 2005 The Apache Software Foundation or its licensors, as applicable. + * + * Licensed 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.system.injection; + +import org.apache.tuscany.core.builder.ContextResolver; +import org.apache.tuscany.core.builder.ObjectFactory; +import org.apache.tuscany.core.context.AggregateContext; +import org.apache.tuscany.core.context.AutowireContext; +import org.apache.tuscany.core.context.AutowireResolutionException; +import org.apache.tuscany.core.injection.FactoryInitException; +import org.apache.tuscany.core.injection.ObjectCreationException; + +/** + * Implementation of ObjectFactory that returns an instance by resolving against an AutowireContext. + * + * @version $Rev: 385139 $ $Date: 2006-03-11 11:03:11 -0800 (Sat, 11 Mar 2006) $ + */ +public class AutowireObjectFactory<T> implements ObjectFactory<T> { + + private ContextResolver resolver; + + private Class interfaze; + + private boolean required; + + /** + * + * @throws FactoryInitException + */ + public AutowireObjectFactory(Class<T> implementationType, boolean required, ContextResolver resolver) + throws FactoryInitException { + assert (implementationType != null) : "Target interface was null"; + assert (resolver != null) : "Context resolver was null"; + this.resolver = resolver; + this.required = required; + interfaze = implementationType; + } + + /** + * Creates a new factory that resolves against the cuurent context using the given implementation type + * + * @throws FactoryInitException + */ + public AutowireObjectFactory(Class<T> implementationType) throws FactoryInitException { + this(implementationType, true, null); + } + + public T getInstance() throws ObjectCreationException { + AggregateContext parent = resolver.getCurrentContext(); + if (parent == null) { + return null;// FIXME semantic here means required is not followed + } + if (parent != null && !(parent instanceof AutowireContext)) { + ObjectCreationException e = new ObjectCreationException("Parent does not implement " + + AutowireContext.class.getName()); + e.setIdentifier(parent.getName()); + throw e; + } + AutowireContext ctx = (AutowireContext) parent; + if (ctx == null && required) { + AutowireResolutionException e = new AutowireResolutionException("Required autowire not found"); + e.setIdentifier(interfaze.getName()); + throw e; + } else if (ctx == null) { + return null; + } + return (T) ctx.resolveInstance(interfaze); + } + + public void setContextResolver(ContextResolver resolver) { + this.resolver = resolver; + } + +} Modified: incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/integration/IntraAggregateWireIntegrationTestCase.java URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/integration/IntraAggregateWireIntegrationTestCase.java?rev=385747&r1=385746&r2=385747&view=diff ============================================================================== --- incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/integration/IntraAggregateWireIntegrationTestCase.java (original) +++ incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/integration/IntraAggregateWireIntegrationTestCase.java Mon Mar 13 22:12:53 2006 @@ -22,8 +22,17 @@ import org.apache.tuscany.core.mock.component.Source; import org.apache.tuscany.core.mock.component.Target; import org.apache.tuscany.core.runtime.RuntimeContext; +import org.apache.tuscany.core.system.assembly.SystemAssemblyFactory; +import org.apache.tuscany.core.system.assembly.SystemImplementation; +import org.apache.tuscany.core.system.assembly.impl.SystemAssemblyFactoryImpl; +import org.apache.tuscany.core.system.context.SystemAggregateContextImpl; import org.apache.tuscany.core.config.ConfigurationException; +import org.apache.tuscany.model.assembly.Component; +import org.apache.tuscany.model.assembly.Module; +import org.apache.tuscany.model.assembly.ModuleComponent; import org.apache.tuscany.model.assembly.Scope; +import org.apache.tuscany.model.assembly.Service; +import org.apache.tuscany.model.types.java.JavaServiceContract; /** * Tests intra-aggregate system wires are properly constructed in the runtime @@ -32,6 +41,50 @@ */ public class IntraAggregateWireIntegrationTestCase extends TestCase { + + public void testWireConstruction2() throws Exception { + RuntimeContext runtime = MockFactory.createCoreRuntime(); + ModuleComponent moduleComponent = createSystemAggregateComponent("test.system"); + Module module = MockFactory.createSystemModuleWithWiredComponents(Scope.MODULE, Scope.MODULE); + moduleComponent.setModuleImplementation(module); + runtime.getSystemContext().registerModelObject(moduleComponent); + AggregateContext context = (AggregateContext) runtime.getSystemContext().getContext("test.system").getImplementationInstance(); + context.fireEvent(EventContext.MODULE_START, null); + context.registerModelObject(module); + Source source = (Source) context.getContext("source").getImplementationInstance(); + Assert.assertNotNull(source); + Target targetRef = source.getTarget(); + Assert.assertNotNull(targetRef); + Target target = (Target) context.getContext("target").getImplementationInstance(); + Assert.assertSame(target, targetRef); + Source source2 = (Source) context.getContext("source").getImplementationInstance(); + Assert.assertSame(target, source2.getTarget()); + context.fireEvent(EventContext.MODULE_STOP, null); + context.stop(); + } + + private static SystemAssemblyFactory systemFactory = new SystemAssemblyFactoryImpl(); + + /** + * Creates an aggregate component with the given name + */ + public static ModuleComponent createSystemAggregateComponent(String name) { + ModuleComponent sc = systemFactory.createModuleComponent(); + SystemImplementation impl = systemFactory.createSystemImplementation(); + impl.setImplementationClass(SystemAggregateContextImpl.class); + sc.setComponentImplementation(impl); + Service s = systemFactory.createService(); + JavaServiceContract ji = systemFactory.createJavaServiceContract(); + s.setServiceContract(ji); + ji.setScope(Scope.AGGREGATE); + impl.setComponentType(systemFactory.createComponentType()); + impl.getComponentType().getServices().add(s); + sc.setName(name); + sc.setComponentImplementation(impl); + return sc; + } + + public void testWireConstruction() throws ConfigurationException { RuntimeContext runtime = MockFactory.createCoreRuntime(); runtime.getSystemContext().registerModelObject(MockFactory.createSystemAggregateComponent("test.system")); Modified: incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/mock/MockConfigContext.java URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/mock/MockConfigContext.java?rev=385747&r1=385746&r2=385747&view=diff ============================================================================== --- incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/mock/MockConfigContext.java (original) +++ incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/mock/MockConfigContext.java Mon Mar 13 22:12:53 2006 @@ -27,7 +27,7 @@ import org.apache.tuscany.model.assembly.Extensible; /** - * A mock configuration context + * A mock configuration context * * @version $Rev$ $Date$ */ @@ -36,18 +36,19 @@ private List<RuntimeConfigurationBuilder> builders = new ArrayList(); public MockConfigContext(List<RuntimeConfigurationBuilder> builders) { - this.builders=builders; + this.builders = builders; } public void configure(Extensible model) throws ConfigurationException { } public void build(AggregateContext parent, Extensible model) throws BuilderConfigException { - AssemblyVisitor visitor = new AssemblyVisitor(parent, builders); + AssemblyVisitor visitor = new AssemblyVisitor(builders); visitor.start(model); } - public void wire(ProxyFactory sourceFactory, ProxyFactory targetFactory, Class targetType, boolean downScope, ScopeContext targetScopeContext) throws BuilderConfigException { + public void wire(ProxyFactory sourceFactory, ProxyFactory targetFactory, Class targetType, boolean downScope, + ScopeContext targetScopeContext) throws BuilderConfigException { } public void wire(ProxyFactory targetFactory, Class targetType, ScopeContext targetScopeContext) throws BuilderConfigException { Modified: incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/system/builder/SystemComponentContextBuilderTestCase.java URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/system/builder/SystemComponentContextBuilderTestCase.java?rev=385747&r1=385746&r2=385747&view=diff ============================================================================== --- incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/system/builder/SystemComponentContextBuilderTestCase.java (original) +++ incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/system/builder/SystemComponentContextBuilderTestCase.java Mon Mar 13 22:12:53 2006 @@ -24,7 +24,6 @@ import org.apache.tuscany.core.context.impl.EventContextImpl; import org.apache.tuscany.core.context.scope.DefaultScopeStrategy; import org.apache.tuscany.core.mock.MockConfigContext; -import org.apache.tuscany.core.mock.MockFactory; import org.apache.tuscany.core.system.assembly.SystemAssemblyFactory; import org.apache.tuscany.core.system.assembly.impl.SystemAssemblyFactoryImpl; import org.apache.tuscany.model.assembly.Component; @@ -101,9 +100,10 @@ cProp.setProperty(prop); component.getConfiguredProperties().add(cProp); - builder.build(component, createContext()); + builder.build(component); RuntimeConfiguration config = (RuntimeConfiguration) component.getComponentImplementation().getRuntimeConfiguration(); Assert.assertNotNull(config); + config.prepare(createContext()); InstanceContext ctx = (InstanceContext) config.createInstanceContext(); ctx.start(); Modified: incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/system/builder/impl/AssemblyVisitorTestCase.java URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/system/builder/impl/AssemblyVisitorTestCase.java?rev=385747&r1=385746&r2=385747&view=diff ============================================================================== --- incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/system/builder/impl/AssemblyVisitorTestCase.java (original) +++ incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/system/builder/impl/AssemblyVisitorTestCase.java Mon Mar 13 22:12:53 2006 @@ -22,7 +22,6 @@ import org.apache.tuscany.core.builder.BuilderException; import org.apache.tuscany.core.builder.RuntimeConfigurationBuilder; import org.apache.tuscany.core.builder.impl.AssemblyVisitor; -import org.apache.tuscany.core.context.Context; import org.apache.tuscany.core.mock.component.ModuleScopeSystemComponent; import org.apache.tuscany.core.system.assembly.SystemAssemblyFactory; import org.apache.tuscany.core.system.assembly.SystemBinding; @@ -31,6 +30,7 @@ import org.apache.tuscany.model.assembly.AssemblyModelContext; import org.apache.tuscany.model.assembly.AssemblyModelObject; import org.apache.tuscany.model.assembly.Component; +import org.apache.tuscany.model.assembly.ComponentType; import org.apache.tuscany.model.assembly.ConfiguredPort; import org.apache.tuscany.model.assembly.ConfiguredReference; import org.apache.tuscany.model.assembly.ConfiguredService; @@ -39,7 +39,6 @@ import org.apache.tuscany.model.assembly.Reference; import org.apache.tuscany.model.assembly.RuntimeConfigurationHolder; import org.apache.tuscany.model.assembly.Service; -import org.apache.tuscany.model.assembly.ComponentType; import org.apache.tuscany.model.assembly.impl.AssemblyModelContextImpl; import org.apache.tuscany.model.types.java.JavaServiceContract; @@ -111,7 +110,7 @@ List<RuntimeConfigurationBuilder> builders = new ArrayList(); builders.add(new TestBuilder()); - AssemblyVisitor visitor = new AssemblyVisitor(null, builders); + AssemblyVisitor visitor = new AssemblyVisitor(builders); module.initialize(assemblyContext); visitor.start(module); @@ -126,7 +125,7 @@ } private static class TestBuilder implements RuntimeConfigurationBuilder { - public void build(AssemblyModelObject model, Context context) throws BuilderException { + public void build(AssemblyModelObject model) throws BuilderException { if (model instanceof ConfiguredPort) { ((ConfiguredPort) model).setProxyFactory(MARKER); } Modified: incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/system/context/TestBuilder.java URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/system/context/TestBuilder.java?rev=385747&r1=385746&r2=385747&view=diff ============================================================================== --- incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/system/context/TestBuilder.java (original) +++ incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/system/context/TestBuilder.java Mon Mar 13 22:12:53 2006 @@ -3,8 +3,8 @@ import org.apache.tuscany.core.builder.BuilderException; import org.apache.tuscany.core.builder.RuntimeConfigurationBuilder; import org.apache.tuscany.core.context.AggregateContext; -import org.apache.tuscany.core.system.annotation.Autowire; import org.apache.tuscany.core.runtime.RuntimeContext; +import org.apache.tuscany.core.system.annotation.Autowire; import org.apache.tuscany.model.assembly.AssemblyModelObject; import org.osoa.sca.annotations.Init; import org.osoa.sca.annotations.Scope; @@ -26,7 +26,7 @@ runtime.addBuilder(this); } - public void build(AssemblyModelObject object, AggregateContext context) throws BuilderException { + public void build(AssemblyModelObject object) throws BuilderException { invoked = true; }
