You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by jb...@apache.org on 2006/02/28 01:09:06 UTC
svn commit: r381504 - in
/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system:
builder/SystemExternalServiceBuilder.java injection/AutowireFactory.java
Author: jboynes
Date: Mon Feb 27 16:09:04 2006
New Revision: 381504
URL: http://svn.apache.org/viewcvs?rev=381504&view=rev
Log:
AutowireFactory can only wire to AutowireContexts so pass in the reference as one
Modified:
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/builder/SystemExternalServiceBuilder.java
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/system/injection/AutowireFactory.java
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=381504&r1=381503&r2=381504&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 Feb 27 16:09:04 2006
@@ -17,6 +17,7 @@
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.ReferenceTargetFactory;
import org.apache.tuscany.core.system.assembly.SystemBinding;
import org.apache.tuscany.core.system.config.SystemExternalServiceRuntimeConfiguration;
@@ -69,7 +70,7 @@
throw e;
}
SystemExternalServiceRuntimeConfiguration config = new SystemExternalServiceRuntimeConfiguration(externalService
- .getName(), new AutowireFactory(claz, context));
+ .getName(), new AutowireFactory(claz, (AutowireContext) context));
externalService.getConfiguredService().setRuntimeConfiguration(config);
}
}
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=381504&r1=381503&r2=381504&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 Feb 27 16:09:04 2006
@@ -20,38 +20,31 @@
import org.apache.tuscany.core.injection.ObjectCreationException;
/**
- * Resolves an autowire for a wire target
- *
+ * Implementation of ObjectFactory that returns an instance by resolving against an AutowireContext.
+ *
* @version $Rev$ $Date$
*/
public class AutowireFactory<T> implements ObjectFactory<T> {
private AutowireContext autoWireContext;
- private Class implementationType;
+ private Class<T> implementationType;
- // ----------------------------------
- // Constructors
- // ----------------------------------
-
- public AutowireFactory(Class implementationType, AggregateContext autoWireContext) throws FactoryInitException {
+ /**
+ * Constructor specifying the context to wire against and the type of service required.
+ *
+ * @param implementationType the type of service required
+ * @param autoWireContext the context to wire against
+ */
+ public AutowireFactory(Class<T> implementationType, AutowireContext autoWireContext) {
assert (implementationType != null) : "Implementation type was null";
assert (autoWireContext != null) : "Autowire context was null";
this.implementationType = implementationType;
- if (!(autoWireContext instanceof AutowireContext)) {
- FactoryInitException e = new FactoryInitException("Parent context is not an instance of "
- + AutowireContext.class.getName());
- e.setIdentifier(autoWireContext.getName());
- throw e;
- }
- this.autoWireContext = (AutowireContext) autoWireContext;
+ this.autoWireContext = autoWireContext;
}
- // ----------------------------------
- // Methods
- // ----------------------------------
-
public T getInstance() throws ObjectCreationException {
- return (T) autoWireContext.resolveInstance(implementationType);
+ // todo what about required? should this just return null?
+ return autoWireContext.resolveInstance(implementationType);
}
}