[picocontainer-scm] [5575] java/2.x/trunk/pico/container/src/test/org/picocontainer: move injector level lifecycle management out to a separate component adapter

paul-yCVjj/[email protected]
Newsgroups gmane.comp.java.picocontainer.cvs
Message-ID <[email protected]>
Revision 5575
Author paul
Date 2010-02-04 22:43:46 -0600 (Thu, 04 Feb 2010)

Log Message

move injector level lifecycle management out to a separate component adapter

Modified Paths

- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/AbstractInjectionFactory.java

- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/AbstractInjector.java

- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/AnnotatedFieldInjection.java

- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/AnnotatedFieldInjector.java

- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/AnnotatedMethodInjection.java

- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/AnnotatedMethodInjector.java

- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/CompositeInjection.java

- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/CompositeInjector.java

- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/ConstructorInjection.java

- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/ConstructorInjector.java

- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/Injector.java

- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/IterativeInjector.java

- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/MethodInjection.java

- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/MethodInjector.java

- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/MultiInjection.java

- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/MultiInjector.java

- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/NamedFieldInjection.java

- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/NamedFieldInjector.java

- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/Reinjection.java

- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/SetterInjection.java

- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/SetterInjector.java

- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/SingleMemberInjector.java

- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/TypedFieldInjection.java

- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/TypedFieldInjector.java

- java/2.x/trunk/pico/container/src/test/org/picocontainer/DefaultPicoContainerTestCase.java

- java/2.x/trunk/pico/container/src/test/org/picocontainer/adapters/ComponentAdapterTestCase.java

- java/2.x/trunk/pico/container/src/test/org/picocontainer/adapters/SimpleNamedBindingAnnotationTestCase.java

- java/2.x/trunk/pico/container/src/test/org/picocontainer/behaviors/AutomatingTestCase.java

- java/2.x/trunk/pico/container/src/test/org/picocontainer/behaviors/CachingTestCase.java

- java/2.x/trunk/pico/container/src/test/org/picocontainer/behaviors/CircularTestCase.java

- java/2.x/trunk/pico/container/src/test/org/picocontainer/behaviors/GuardingTestCase.java

- java/2.x/trunk/pico/container/src/test/org/picocontainer/behaviors/HiddenImplementationTestCase.java

- java/2.x/trunk/pico/container/src/test/org/picocontainer/behaviors/ImplementationHidingTestCase.java

- java/2.x/trunk/pico/container/src/test/org/picocontainer/behaviors/InterceptingTestCase.java

- java/2.x/trunk/pico/container/src/test/org/picocontainer/behaviors/OptInCachingTestCase.java

- java/2.x/trunk/pico/container/src/test/org/picocontainer/behaviors/StoringTestCase.java

- java/2.x/trunk/pico/container/src/test/org/picocontainer/behaviors/SynchronizedTestCase.java

- java/2.x/trunk/pico/container/src/test/org/picocontainer/behaviors/ThreadCachingTestCase.java

- java/2.x/trunk/pico/container/src/test/org/picocontainer/defaults/CollectionComponentParameterTestCase.java

- java/2.x/trunk/pico/container/src/test/org/picocontainer/defaults/DefaultComponentRegistryTestCase.java

- java/2.x/trunk/pico/container/src/test/org/picocontainer/defaults/PicoExceptionsTestCase.java

- java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/AbstractInjectorTestCase.java

- java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/AdaptingInjectionTestCase.java

- java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/AnnotatedFieldInjectionTestCase.java

- java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/AnnotatedFieldInjectorTestCase.java

- java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/AnnotatedMethodInjectionTestCase.java

- java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/AnnotatedMethodInjectorTestCase.java

- java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/CompositeInjectionTestCase.java

- java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/ConstructorInjectionTestCase.java

- java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/ConstructorInjectorTestCase.java

- java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/InjectorTestCase.java

- java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/MethodInjectionTestCase.java

- java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/NamedFieldInjectionTestCase.java

- java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/NamedFieldInjectorTestCase.java

- java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/SetterInjectionTestCase.java

- java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/SetterInjectorTestCase.java

- java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/TypedFieldInjectionTestCase.java

- java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/TypedFieldInjectorTestCase.java

- java/2.x/trunk/pico/container/src/test/org/picocontainer/tck/AbstractPicoContainerTest.java

- java/2.x/trunk/pico/container/src/test/org/picocontainer/visitors/TraversalCheckingVisitorTest.java

- java/2.x/trunk/pico/gems/src/test/org/picocontainer/gems/adapters/ThreadLocalComponentAdapterTest.java

- java/2.x/trunk/pico/gems/src/test/org/picocontainer/gems/behaviors/AsmImplementationHidingTestCase.java

- java/2.x/trunk/pico/gems/src/test/org/picocontainer/gems/behaviors/AssimilatedTestCase.java

- java/2.x/trunk/pico/gems/src/test/org/picocontainer/gems/behaviors/HotSwappingTestCase.java

- java/2.x/trunk/pico/gems/src/test/org/picocontainer/gems/behaviors/PooledTestCase.java

- java/2.x/trunk/pico/gems/src/test/org/picocontainer/gems/containers/AbstractTracingContainerDecoratorTest.java

- java/2.x/trunk/pico/gems/src/test/org/picocontainer/gems/jmx/JMXVisitorTestCase.java

Added Paths

- java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/LifecycleAdapterTestCase.java

Diff

Modified: java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/AbstractInjectionFactory.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/AbstractInjectionFactory.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/AbstractInjectionFactory.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -1,10 +1,12 @@
package org.picocontainer.injectors;

-import org.picocontainer.InjectionFactory;
-import org.picocontainer.PicoContainer;
-import org.picocontainer.PicoVisitor;
+import org.picocontainer.*;
+import org.picocontainer.Injector;
+import org.picocontainer.lifecycle.AbstractMonitoringLifecycleStrategy;
+import org.picocontainer.lifecycle.NullLifecycleStrategy;

import java.io.Serializable;
+import java.lang.reflect.Type;

public abstract class AbstractInjectionFactory implements InjectionFactory, Serializable {

@@ -15,4 +17,94 @@
visitor.visitComponentFactory(this);
}

+ protected ComponentAdapter wrapLifeCycle(final Injector injector, LifecycleStrategy lifecycleStrategy) {
+ if (lifecycleStrategy instanceof NullLifecycleStrategy) {
+ return injector;
+ } else {
+ return new LifecycleAdapter(injector, lifecycleStrategy);
+ }
+ }
+
+ public static class LifecycleAdapter implements ComponentAdapter, LifecycleStrategy, ComponentMonitorStrategy, Serializable {
+ private final Injector injector;
+ private final LifecycleStrategy lifecycleStrategy;
+
+ public LifecycleAdapter(Injector injector, LifecycleStrategy lifecycleStrategy) {
+ this.injector = injector;
+ this.lifecycleStrategy = lifecycleStrategy;
+ }
+
+ public Object getComponentKey() {
+ return injector.getComponentKey();
+ }
+
+ public Class getComponentImplementation() {
+ return injector.getComponentImplementation();
+ }
+
+ public Object getComponentInstance(PicoContainer container) throws PicoCompositionException {
+ return injector.getComponentInstance(container);
+ }
+
+ public Object getComponentInstance(PicoContainer container, Type into) throws PicoCompositionException {
+ return injector.getComponentInstance(container, into);
+ }
+
+ public void verify(PicoContainer container) throws PicoCompositionException {
+ injector.verify(container);
+ }
+
+ public void accept(PicoVisitor visitor) {
+ injector.accept(visitor);
+ }
+
+ public ComponentAdapter getDelegate() {
+ return injector;
+ }
+
+ public ComponentAdapter findAdapterOfType(Class adapterType) {
+ return injector.findAdapterOfType(adapterType);
+ }
+
+ public String getDescriptor() {
+ return "LifecycleAdapter";
+ }
+
+ public String toString() {
+ return getDescriptor() + ":" + injector.toString();
+ }
+
+ public void start(Object component) {
+ lifecycleStrategy.start(component);
+ }
+
+ public void stop(Object component) {
+ lifecycleStrategy.stop(component);
+ }
+
+ public void dispose(Object component) {
+ lifecycleStrategy.dispose(component);
+ }
+
+ public boolean hasLifecycle(Class<?> type) {
+ return lifecycleStrategy.hasLifecycle(type);
+ }
+
+ public boolean isLazy(ComponentAdapter<?> adapter) {
+ return lifecycleStrategy.isLazy(adapter);
+ }
+
+ public void changeMonitor(ComponentMonitor monitor) {
+ if (injector instanceof ComponentMonitorStrategy) {
+ ((ComponentMonitorStrategy) injector).changeMonitor(monitor);
+ }
+ }
+
+ public ComponentMonitor currentMonitor() {
+ if (injector instanceof ComponentMonitorStrategy) {
+ return ((ComponentMonitorStrategy) injector).currentMonitor();
+ }
+ return null;
+ }
+ }
}

Modified: java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/AbstractInjector.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/AbstractInjector.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/AbstractInjector.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -42,14 +42,13 @@
* @author Mauro Talevi
*/
@SuppressWarnings("serial")
-public abstract class AbstractInjector<T> extends AbstractAdapter<T> implements LifecycleStrategy, org.picocontainer.Injector<T> {
+public abstract class AbstractInjector<T> extends AbstractAdapter<T> implements org.picocontainer.Injector<T> {
/** The cycle guard for the verification. */
protected transient ThreadLocalCyclicDependencyGuard verifyingGuard;
/** The parameters to use for initialization. */
protected transient Parameter[] parameters;

/** The strategy used to control the lifecycle */
- protected LifecycleStrategy lifecycleStrategy;
private final boolean useNames;

/**
@@ -58,12 +57,11 @@
* @param componentImplementation the concrete implementation
* @param parameters the parameters to use for the initialization
* @param monitor the component monitor used by this ComponentAdapter
- * @param lifecycleStrategy the lifecycle strategy used by this ComponentAdapter
* @throws org.picocontainer.injectors.AbstractInjector.NotConcreteRegistrationException if the implementation is not a concrete class
* @throws NullPointerException if one of the parameters is <code>null</code>
*/
protected AbstractInjector(final Object componentKey, final Class<?> componentImplementation, final Parameter[] parameters,
- final ComponentMonitor monitor, final LifecycleStrategy lifecycleStrategy, final boolean useNames) {
+ final ComponentMonitor monitor, final boolean useNames) {
super(componentKey, componentImplementation, monitor);
this.useNames = useNames;
checkConcrete();
@@ -75,7 +73,6 @@
}
}
this.parameters = parameters;
- this.lifecycleStrategy = lifecycleStrategy;
}

public boolean useNames() {
@@ -129,26 +126,8 @@
}
}
}
- public void start(final Object component) {
- lifecycleStrategy.start(component);
- }

- public void stop(final Object component) {
- lifecycleStrategy.stop(component);
- }

- public void dispose(final Object component) {
- lifecycleStrategy.dispose(component);
- }
-
- public boolean hasLifecycle(final Class<?> type) {
- return lifecycleStrategy.hasLifecycle(type);
- }
-
- public boolean isLazy(ComponentAdapter<?> adapter) {
- return lifecycleStrategy.isLazy(adapter);
- }
-
public String getDescriptor() {
return "Asbtract Injector";
}

Modified: java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/AnnotatedFieldInjection.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/AnnotatedFieldInjection.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/AnnotatedFieldInjection.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -40,14 +40,14 @@
this(Inject.class);
}

- public <T> ComponentAdapter<T> createComponentAdapter(ComponentMonitor componentMonitor,
+ public <T> ComponentAdapter<T> createComponentAdapter(ComponentMonitor monitor,
LifecycleStrategy lifecycleStrategy,
Properties componentProperties,
Object componentKey,
Class<T> componentImplementation,
Parameter... parameters) throws PicoCompositionException {
boolean useNames = AbstractBehaviorFactory.arePropertiesPresent(componentProperties, Characteristics.USE_NAMES, true);
- return componentMonitor.newInjector(new AnnotatedFieldInjector(componentKey, componentImplementation, parameters, componentMonitor, lifecycleStrategy,
- injectionAnnotation, useNames));
+ return wrapLifeCycle(monitor.newInjector(new AnnotatedFieldInjector(componentKey, componentImplementation, parameters, monitor,
+ injectionAnnotation, useNames)), lifecycleStrategy);
}
}

Modified: java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/AnnotatedFieldInjector.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/AnnotatedFieldInjector.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/AnnotatedFieldInjector.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -38,10 +38,9 @@
Class<?> impl,
Parameter[] parameters,
ComponentMonitor componentMonitor,
- LifecycleStrategy lifecycleStrategy,
Class<? extends Annotation> injectionAnnotation, boolean useNames) {

- super(key, impl, parameters, componentMonitor, lifecycleStrategy, useNames);
+ super(key, impl, parameters, componentMonitor, useNames);
this.injectionAnnotation = injectionAnnotation;
}

Modified: java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/AnnotatedMethodInjection.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/AnnotatedMethodInjection.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/AnnotatedMethodInjection.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -46,7 +46,7 @@
/**
* Create a {@link SetterInjector}.
*
- * @param componentMonitor
+ * @param monitor
* @param lifecycleStrategy
* @param componentProperties
* @param componentKey The component's key
@@ -59,9 +59,9 @@
* be solved or if the implementation is an interface or an
* abstract class.
*/
- public <T> ComponentAdapter<T> createComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties,
+ public <T> ComponentAdapter<T> createComponentAdapter(ComponentMonitor monitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties,
Object componentKey, Class<T> componentImplementation, Parameter... parameters)
throws PicoCompositionException {
- return componentMonitor.newInjector(new AnnotatedMethodInjector(componentKey, componentImplementation, parameters, componentMonitor, lifecycleStrategy, injectionAnnotation, useNames));
+ return wrapLifeCycle(monitor.newInjector(new AnnotatedMethodInjector(componentKey, componentImplementation, parameters, monitor, injectionAnnotation, useNames)), lifecycleStrategy);
}
}
\ No newline at end of file

Modified: java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/AnnotatedMethodInjector.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/AnnotatedMethodInjector.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/AnnotatedMethodInjector.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -27,8 +27,8 @@
Class<?> impl,
Parameter[] parameters,
ComponentMonitor monitor,
- LifecycleStrategy lifecycleStrategy, Class<? extends Annotation> injectionAnnotation, boolean useNames) {
- super(key, impl, parameters, monitor, lifecycleStrategy, "", useNames);
+ Class<? extends Annotation> injectionAnnotation, boolean useNames) {
+ super(key, impl, parameters, monitor, "", useNames);
this.injectionAnnotation = injectionAnnotation;
}

Modified: java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/CompositeInjection.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/CompositeInjection.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/CompositeInjection.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -34,7 +34,7 @@
this.injectionFactories = injectionFactories;
}

- public <T> ComponentAdapter<T> createComponentAdapter(ComponentMonitor componentMonitor,
+ public <T> ComponentAdapter<T> createComponentAdapter(ComponentMonitor monitor,
LifecycleStrategy lifecycleStrategy,
Properties componentProperties,
Object componentKey,
@@ -45,13 +45,12 @@

for (int i = 0; i < injectionFactories.length; i++) {
InjectionFactory injectionFactory = injectionFactories[i];
- injectors[i] = (Injector) injectionFactory.createComponentAdapter(componentMonitor,
+ injectors[i] = (Injector) injectionFactory.createComponentAdapter(monitor,
lifecycleStrategy, componentProperties, componentKey, componentImplementation, parameters);
}

boolean useNames = AbstractBehaviorFactory.arePropertiesPresent(componentProperties, Characteristics.USE_NAMES, true);
- return componentMonitor.newInjector(new CompositeInjector(componentKey, componentImplementation, parameters,
- componentMonitor, lifecycleStrategy,
- useNames, injectors));
+ return wrapLifeCycle(monitor.newInjector(new CompositeInjector(componentKey, componentImplementation, parameters,
+ monitor, useNames, injectors)), lifecycleStrategy);
}
}
\ No newline at end of file

Modified: java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/CompositeInjector.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/CompositeInjector.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/CompositeInjector.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -24,9 +24,9 @@

private final Injector<T>[] injectors;

- public CompositeInjector(Object componentKey, Class<?> componentImplementation, Parameter[] parameters, ComponentMonitor monitor, LifecycleStrategy lifecycleStrategy,
+ public CompositeInjector(Object componentKey, Class<?> componentImplementation, Parameter[] parameters, ComponentMonitor monitor,
boolean useNames, Injector... injectors) {
- super(componentKey, componentImplementation, parameters, monitor, lifecycleStrategy, useNames);
+ super(componentKey, componentImplementation, parameters, monitor, useNames);
this.injectors = injectors;
}

Modified: java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/ConstructorInjection.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/ConstructorInjection.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/ConstructorInjection.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -53,11 +53,11 @@
this(true);
}

- public <T> ComponentAdapter<T> createComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties properties, Object componentKey,
+ public <T> ComponentAdapter<T> createComponentAdapter(ComponentMonitor monitor, LifecycleStrategy lifecycleStrategy, Properties properties, Object componentKey,
Class<T> componentImplementation, Parameter... parameters) throws PicoCompositionException {
boolean useNames = AbstractBehaviorFactory.arePropertiesPresent(properties, Characteristics.USE_NAMES, true);
- ConstructorInjector injector = new ConstructorInjector(componentKey, componentImplementation, parameters, componentMonitor, lifecycleStrategy, useNames, rememberChosenConstructor);
+ ConstructorInjector injector = new ConstructorInjector(componentKey, componentImplementation, parameters, monitor, useNames, rememberChosenConstructor);
injector.enableEmjection(AbstractBehaviorFactory.removePropertiesIfPresent(properties, Characteristics.EMJECTION_ENABLED));
- return componentMonitor.newInjector(injector);
+ return wrapLifeCycle(monitor.newInjector(injector), lifecycleStrategy);
}
}

Modified: java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/ConstructorInjector.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/ConstructorInjector.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/ConstructorInjector.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -56,7 +56,7 @@
* @param parameters the parameters used for initialization
*/
public ConstructorInjector(final Object componentKey, final Class<?> componentImplementation, Parameter... parameters) {
- this(componentKey, componentImplementation, parameters, new NullComponentMonitor(), new NullLifecycleStrategy(), false);
+ this(componentKey, componentImplementation, parameters, new NullComponentMonitor(), false);
}

/**
@@ -66,15 +66,14 @@
* @param componentImplementation the concrete implementation
* @param parameters the parameters to use for the initialization
* @param monitor the component monitor used by this addAdapter
- * @param lifecycleStrategy the component lifecycle strategy used by this addAdapter
* @param useNames use argument names when looking up dependencies
* @throws org.picocontainer.injectors.AbstractInjector.NotConcreteRegistrationException
* if the implementation is not a concrete class.
* @throws NullPointerException if one of the parameters is <code>null</code>
*/
public ConstructorInjector(final Object componentKey, final Class componentImplementation, Parameter[] parameters, ComponentMonitor monitor,
- LifecycleStrategy lifecycleStrategy, boolean useNames) throws NotConcreteRegistrationException {
- super(componentKey, componentImplementation, parameters, monitor, lifecycleStrategy, useNames);
+ boolean useNames) throws NotConcreteRegistrationException {
+ super(componentKey, componentImplementation, parameters, monitor, useNames);
}

/**
@@ -84,7 +83,6 @@
* @param componentImplementation the concrete implementation
* @param parameters the parameters to use for the initialization
* @param monitor the component monitor used by this addAdapter
- * @param lifecycleStrategy the component lifecycle strategy used by this addAdapter
* @param useNames use argument names when looking up dependencies
* @param rememberChosenCtor remember the chosen constructor (to speed up second/subsequent calls)
* @throws org.picocontainer.injectors.AbstractInjector.NotConcreteRegistrationException
@@ -92,8 +90,8 @@
* @throws NullPointerException if one of the parameters is <code>null</code>
*/
public ConstructorInjector(final Object componentKey, final Class componentImplementation, Parameter[] parameters, ComponentMonitor monitor,
- LifecycleStrategy lifecycleStrategy, boolean useNames, boolean rememberChosenCtor) throws NotConcreteRegistrationException {
- super(componentKey, componentImplementation, parameters, monitor, lifecycleStrategy, useNames);
+ boolean useNames, boolean rememberChosenCtor) throws NotConcreteRegistrationException {
+ super(componentKey, componentImplementation, parameters, monitor, useNames);
this.rememberChosenConstructor = rememberChosenCtor;
}

Modified: java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/Injector.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/Injector.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/Injector.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -10,7 +10,6 @@

import org.picocontainer.ComponentAdapter;
import org.picocontainer.ComponentMonitor;
-import org.picocontainer.LifecycleStrategy;
import org.picocontainer.Parameter;

import java.lang.annotation.Annotation;
@@ -42,15 +41,14 @@
* @param componentImplementation the concrete implementation
* @param parameters the parameters to use for the initialization
* @param monitor the component monitor used by this addAdapter
- * @param lifecycleStrategy the component lifecycle strategy used by this addAdapter
* @param useNames use argument names when looking up dependencies
* @throws org.picocontainer.injectors.AbstractInjector.NotConcreteRegistrationException
* if the implementation is not a concrete class.
* @throws NullPointerException if one of the parameters is <code>null</code>
*/
public static ComponentAdapter constructor(final Object componentKey, final Class componentImplementation, Parameter[] parameters, ComponentMonitor monitor,
- LifecycleStrategy lifecycleStrategy, boolean useNames) throws AbstractInjector.NotConcreteRegistrationException {
- return new ConstructorInjector(componentKey, componentImplementation, parameters, monitor, lifecycleStrategy, useNames);
+ boolean useNames) throws AbstractInjector.NotConcreteRegistrationException {
+ return new ConstructorInjector(componentKey, componentImplementation, parameters, monitor, useNames);
}

/**
@@ -60,7 +58,6 @@
* @param componentImplementation the concrete implementation
* @param parameters the parameters to use for the initialization
* @param monitor the component monitor used by this addAdapter
- * @param lifecycleStrategy the component lifecycle strategy used by this addAdapter
* @param useNames use argument names when looking up dependencies
* @param rememberChosenCtor remember the chosen constructor (to speed up second/subsequent calls)
* @throws org.picocontainer.injectors.AbstractInjector.NotConcreteRegistrationException
@@ -68,9 +65,9 @@
* @throws NullPointerException if one of the parameters is <code>null</code>
*/
public static ComponentAdapter constructor(final Object componentKey, final Class componentImplementation, Parameter[] parameters, ComponentMonitor monitor,
- LifecycleStrategy lifecycleStrategy, boolean useNames, boolean rememberChosenCtor) throws AbstractInjector.NotConcreteRegistrationException {
+ boolean useNames, boolean rememberChosenCtor) throws AbstractInjector.NotConcreteRegistrationException {
return new ConstructorInjector(componentKey, componentImplementation, parameters, monitor,
- lifecycleStrategy, useNames, rememberChosenCtor);
+ useNames, rememberChosenCtor);
}

/**
@@ -80,7 +77,6 @@
* @param impl
* @param parameters
* @param componentMonitor
- * @param lifecycleStrategy
* @param injectionAnnotation
* @param useNames
* @return annotated field injector instance.
@@ -89,9 +85,8 @@
Class<?> impl,
Parameter[] parameters,
ComponentMonitor componentMonitor,
- LifecycleStrategy lifecycleStrategy,
Class<? extends Annotation> injectionAnnotation, boolean useNames) {
- return componentMonitor.newInjector(new AnnotatedFieldInjector(key, impl, parameters, componentMonitor, lifecycleStrategy, injectionAnnotation, useNames));
+ return componentMonitor.newInjector(new AnnotatedFieldInjector(key, impl, parameters, componentMonitor, injectionAnnotation, useNames));
}

/**
@@ -101,7 +96,6 @@
* @param impl
* @param parameters
* @param monitor
- * @param lifecycleStrategy
* @param injectionAnnotation
* @param useNames
* @return method injector instance.
@@ -110,8 +104,8 @@
Class<?> impl,
Parameter[] parameters,
ComponentMonitor monitor,
- LifecycleStrategy lifecycleStrategy, Class<? extends Annotation> injectionAnnotation, boolean useNames) {
- return monitor.newInjector(new AnnotatedMethodInjector(key, impl, parameters, monitor, lifecycleStrategy, injectionAnnotation, useNames));
+ Class<? extends Annotation> injectionAnnotation, boolean useNames) {
+ return monitor.newInjector(new AnnotatedMethodInjector(key, impl, parameters, monitor, injectionAnnotation, useNames));

}

@@ -123,14 +117,13 @@
* @param componentImplementation
* @param parameters
* @param monitor
- * @param lifecycleStrategy
* @param useNames
* @param injectors
* @return composite injector instance.
*/
- public static ComponentAdapter composite(Object componentKey, Class<?> componentImplementation, Parameter[] parameters, ComponentMonitor monitor, LifecycleStrategy lifecycleStrategy,
+ public static ComponentAdapter composite(Object componentKey, Class<?> componentImplementation, Parameter[] parameters, ComponentMonitor monitor,
boolean useNames, org.picocontainer.Injector... injectors) {
- return monitor.newInjector(new CompositeInjector(componentKey, componentImplementation, parameters, monitor, lifecycleStrategy, useNames, injectors));
+ return monitor.newInjector(new CompositeInjector(componentKey, componentImplementation, parameters, monitor, useNames, injectors));
}

@@ -141,7 +134,6 @@
* @param componentImplementation
* @param parameters
* @param monitor
- * @param lifecycleStrategy
* @param methodName
* @param useNames
* @return method injector instance.
@@ -149,9 +141,8 @@
*
*/
public static ComponentAdapter method(final Object componentKey, final Class componentImplementation, Parameter[] parameters, ComponentMonitor monitor,
- LifecycleStrategy lifecycleStrategy, String methodName, boolean useNames) throws AbstractInjector.NotConcreteRegistrationException {
- return monitor.newInjector(new MethodInjector(componentKey, componentImplementation, parameters, monitor,
- lifecycleStrategy, methodName, useNames));
+ String methodName, boolean useNames) throws AbstractInjector.NotConcreteRegistrationException {
+ return monitor.newInjector(new MethodInjector(componentKey, componentImplementation, parameters, monitor, methodName, useNames));
}

/**
@@ -161,7 +152,6 @@
* @param componentImplementation
* @param parameters
* @param componentMonitor
- * @param lifecycleStrategy
* @param setterPrefix
* @param useNames
* @return MultiInjector component adapter instance.
@@ -170,8 +160,8 @@
public static ComponentAdapter multi(Object componentKey,
Class componentImplementation,
Parameter[] parameters,
- ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, String setterPrefix, boolean useNames) {
- return componentMonitor.newInjector(new MultiInjector(componentKey, componentImplementation, parameters, componentMonitor, lifecycleStrategy, setterPrefix, useNames));
+ ComponentMonitor componentMonitor, String setterPrefix, boolean useNames) {
+ return componentMonitor.newInjector(new MultiInjector(componentKey, componentImplementation, parameters, componentMonitor, setterPrefix, useNames));
}

/**
@@ -181,7 +171,6 @@
* @param impl
* @param parameters
* @param componentMonitor
- * @param lifecycleStrategy
* @param fieldNames
* @return named field component injector instance.
*/
@@ -189,9 +178,8 @@
Class<?> impl,
Parameter[] parameters,
ComponentMonitor componentMonitor,
- LifecycleStrategy lifecycleStrategy,
String fieldNames) {
- return componentMonitor.newInjector(new NamedFieldInjector(key, impl, parameters, componentMonitor, lifecycleStrategy, fieldNames));
+ return componentMonitor.newInjector(new NamedFieldInjector(key, impl, parameters, componentMonitor, fieldNames));
}

/**
@@ -201,7 +189,6 @@
* @param componentImplementation
* @param parameters
* @param monitor
- * @param lifecycleStrategy
* @param setterMethodPrefix
* @param useNames
* @return setter injector instance.
@@ -212,9 +199,8 @@
final Class componentImplementation,
Parameter[] parameters,
ComponentMonitor monitor,
- LifecycleStrategy lifecycleStrategy,
String setterMethodPrefix, boolean useNames) throws AbstractInjector.NotConcreteRegistrationException {
- return monitor.newInjector(new SetterInjector(componentKey, componentImplementation, parameters, monitor, lifecycleStrategy, setterMethodPrefix, useNames));
+ return monitor.newInjector(new SetterInjector(componentKey, componentImplementation, parameters, monitor, setterMethodPrefix, useNames));
}

/**
@@ -224,7 +210,6 @@
* @param impl
* @param parameters
* @param componentMonitor
- * @param lifecycleStrategy
* @param classNames
* @return typed field injector instance.
*/
@@ -232,8 +217,7 @@
Class<?> impl,
Parameter[] parameters,
ComponentMonitor componentMonitor,
- LifecycleStrategy lifecycleStrategy,
String classNames) {
- return componentMonitor.newInjector(new TypedFieldInjector(key, impl, parameters, componentMonitor, lifecycleStrategy, classNames));
+ return componentMonitor.newInjector(new TypedFieldInjector(key, impl, parameters, componentMonitor, classNames));
}
}

Modified: java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/IterativeInjector.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/IterativeInjector.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/IterativeInjector.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -47,15 +47,14 @@
* @param componentImplementation the concrete implementation
* @param parameters the parameters to use for the initialization
* @param monitor the component monitor used by this addAdapter
- * @param lifecycleStrategy the component lifecycle strategy used by this addAdapter
* @param useNames use argument names when looking up dependencies
* @throws org.picocontainer.injectors.AbstractInjector.NotConcreteRegistrationException
* if the implementation is not a concrete class.
* @throws NullPointerException if one of the parameters is <code>null</code>
*/
public IterativeInjector(final Object componentKey, final Class componentImplementation, Parameter[] parameters, ComponentMonitor monitor,
- LifecycleStrategy lifecycleStrategy, boolean useNames) throws NotConcreteRegistrationException {
- super(componentKey, componentImplementation, parameters, monitor, lifecycleStrategy, useNames);
+ boolean useNames) throws NotConcreteRegistrationException {
+ super(componentKey, componentImplementation, parameters, monitor, useNames);
}

protected Constructor getConstructor() {

Modified: java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/MethodInjection.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/MethodInjection.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/MethodInjection.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -55,9 +55,9 @@
this.injectionMethodName = injectionMethodName;
}

- public <T> ComponentAdapter<T> createComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters) throws PicoCompositionException {
+ public <T> ComponentAdapter<T> createComponentAdapter(ComponentMonitor monitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters) throws PicoCompositionException {
boolean useNames = AbstractBehaviorFactory.arePropertiesPresent(componentProperties, Characteristics.USE_NAMES, true);
- return new MethodInjector(componentKey, componentImplementation, parameters, componentMonitor, lifecycleStrategy, injectionMethodName, useNames);
+ return wrapLifeCycle(new MethodInjector(componentKey, componentImplementation, parameters, monitor, injectionMethodName, useNames), lifecycleStrategy);
}
}

@@ -68,10 +68,10 @@
this.injectionMethod = injectionMethod;
}

- public <T> ComponentAdapter<T> createComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters) throws PicoCompositionException {
+ public <T> ComponentAdapter<T> createComponentAdapter(ComponentMonitor monitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters) throws PicoCompositionException {
boolean useNames = AbstractBehaviorFactory.arePropertiesPresent(componentProperties, Characteristics.USE_NAMES, true);
if (injectionMethod.getDeclaringClass().isAssignableFrom(componentImplementation)) {
- return componentMonitor.newInjector(new MethodInjector.ByReflectionMethod(componentKey, componentImplementation, parameters, componentMonitor, lifecycleStrategy, injectionMethod, useNames));
+ return wrapLifeCycle(monitor.newInjector(new MethodInjector.ByReflectionMethod(componentKey, componentImplementation, parameters, monitor, injectionMethod, useNames)), lifecycleStrategy);
} else {
throw new PicoCompositionException("method [" + injectionMethod + "] not on impl " + componentImplementation.getName());
}

Modified: java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/MethodInjector.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/MethodInjector.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/MethodInjector.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -46,7 +46,6 @@
* @param componentImplementation the concrete implementation
* @param parameters the parameters to use for the initialization
* @param monitor the component monitor used by this addAdapter
- * @param lifecycleStrategy the component lifecycle strategy used by this addAdapter
* @param methodName the method name
* @param useNames use argument names when looking up dependencies
* @throws AbstractInjector.NotConcreteRegistrationException
@@ -54,8 +53,8 @@
* @throws NullPointerException if one of the parameters is <code>null</code>
*/
public MethodInjector(final Object componentKey, final Class componentImplementation, Parameter[] parameters, ComponentMonitor monitor,
- LifecycleStrategy lifecycleStrategy, String methodName, boolean useNames) throws AbstractInjector.NotConcreteRegistrationException {
- super(componentKey, componentImplementation, parameters, monitor, lifecycleStrategy, useNames);
+ String methodName, boolean useNames) throws AbstractInjector.NotConcreteRegistrationException {
+ super(componentKey, componentImplementation, parameters, monitor, useNames);
this.methodName = methodName;
}

@@ -200,8 +199,8 @@
public static class ByReflectionMethod extends MethodInjector {
private final Method injectionMethod;

- public ByReflectionMethod(Object componentKey, Class componentImplementation, Parameter[] parameters, ComponentMonitor monitor, LifecycleStrategy lifecycleStrategy, Method injectionMethod, boolean useNames) throws NotConcreteRegistrationException {
- super(componentKey, componentImplementation, parameters, monitor, lifecycleStrategy, null, useNames);
+ public ByReflectionMethod(Object componentKey, Class componentImplementation, Parameter[] parameters, ComponentMonitor monitor, Method injectionMethod, boolean useNames) throws NotConcreteRegistrationException {
+ super(componentKey, componentImplementation, parameters, monitor, null, useNames);
this.injectionMethod = injectionMethod;
}

Modified: java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/MultiInjection.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/MultiInjection.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/MultiInjection.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -31,13 +31,13 @@
this("set");
}

- public <T> ComponentAdapter<T> createComponentAdapter(ComponentMonitor componentMonitor,
+ public <T> ComponentAdapter<T> createComponentAdapter(ComponentMonitor monitor,
LifecycleStrategy lifecycleStrategy,
Properties componentProperties,
Object componentKey,
Class<T> componentImplementation,
Parameter... parameters) throws PicoCompositionException {
boolean useNames = AbstractBehaviorFactory.arePropertiesPresent(componentProperties, Characteristics.USE_NAMES, true);
- return new MultiInjector(componentKey, componentImplementation, parameters, componentMonitor, lifecycleStrategy, setterPrefix, useNames);
+ return wrapLifeCycle(new MultiInjector(componentKey, componentImplementation, parameters, monitor, setterPrefix, useNames), lifecycleStrategy);
}
}

Modified: java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/MultiInjector.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/MultiInjector.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/MultiInjector.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -20,12 +20,12 @@
public MultiInjector(Object componentKey,
Class componentImplementation,
Parameter[] parameters,
- ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, String setterPrefix, boolean useNames) {
- super(componentKey, componentImplementation, parameters, componentMonitor, lifecycleStrategy, useNames,
- componentMonitor.newInjector(new ConstructorInjector(componentKey, componentImplementation, parameters, componentMonitor, lifecycleStrategy, useNames)),
- componentMonitor.newInjector(new SetterInjector(componentKey, componentImplementation, parameters, componentMonitor, lifecycleStrategy, setterPrefix, useNames)),
- componentMonitor.newInjector(new AnnotatedMethodInjector(componentKey, componentImplementation, parameters, componentMonitor, lifecycleStrategy, Inject.class, useNames)),
- componentMonitor.newInjector(new AnnotatedFieldInjector(componentKey, componentImplementation, parameters, componentMonitor, lifecycleStrategy, Inject.class, useNames)));
+ ComponentMonitor componentMonitor, String setterPrefix, boolean useNames) {
+ super(componentKey, componentImplementation, parameters, componentMonitor, useNames,
+ componentMonitor.newInjector(new ConstructorInjector(componentKey, componentImplementation, parameters, componentMonitor, useNames)),
+ componentMonitor.newInjector(new SetterInjector(componentKey, componentImplementation, parameters, componentMonitor, setterPrefix, useNames)),
+ componentMonitor.newInjector(new AnnotatedMethodInjector(componentKey, componentImplementation, parameters, componentMonitor, Inject.class, useNames)),
+ componentMonitor.newInjector(new AnnotatedFieldInjector(componentKey, componentImplementation, parameters, componentMonitor, Inject.class, useNames)));

}

Modified: java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/NamedFieldInjection.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/NamedFieldInjection.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/NamedFieldInjection.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -33,7 +33,7 @@

private static final String INJECTION_FIELD_NAMES = "injectionFieldNames";

- public <T> ComponentAdapter<T> createComponentAdapter(ComponentMonitor componentMonitor,
+ public <T> ComponentAdapter<T> createComponentAdapter(ComponentMonitor monitor,
LifecycleStrategy lifecycleStrategy,
Properties componentProperties,
Object componentKey,
@@ -43,8 +43,8 @@
if (fieldNames == null) {
fieldNames = "";
}
- return componentMonitor.newInjector(new NamedFieldInjector(componentKey, componentImplementation, parameters, componentMonitor,
- lifecycleStrategy, fieldNames));
+ return wrapLifeCycle(monitor.newInjector(new NamedFieldInjector(componentKey, componentImplementation, parameters, monitor,
+ fieldNames)), lifecycleStrategy);
}

public static Properties injectionFieldNames(String... fieldNames) {

Modified: java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/NamedFieldInjector.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/NamedFieldInjector.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/NamedFieldInjector.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -41,10 +41,9 @@
Class<?> impl,
Parameter[] parameters,
ComponentMonitor componentMonitor,
- LifecycleStrategy lifecycleStrategy,
String fieldNames) {

- super(key, impl, parameters, componentMonitor, lifecycleStrategy, true);
+ super(key, impl, parameters, componentMonitor, true);
this.fieldNames = Arrays.asList(fieldNames.trim().split(" "));
}

Modified: java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/Reinjection.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/Reinjection.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/Reinjection.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -30,7 +30,7 @@
Properties componentProperties, final Object componentKey, Class<T> componentImplementation,
Parameter... parameters) throws PicoCompositionException {
boolean useNames = AbstractBehaviorFactory.arePropertiesPresent(componentProperties, Characteristics.USE_NAMES, true);
- return new ReinjectionInjector(componentKey, componentImplementation, parameters, componentMonitor, lifecycleStrategy, parent, useNames);
+ return new ReinjectionInjector(componentKey, componentImplementation, parameters, componentMonitor, parent, useNames);
}
}, reinjectionFactory);
}
@@ -38,8 +38,8 @@
private static class ReinjectionInjector<T> extends AbstractInjector {
private final PicoContainer parent;

- public ReinjectionInjector(Object componentKey, Class<T> componentImplementation, Parameter[] parameters, ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, PicoContainer parent, boolean useNames) {
- super(componentKey, componentImplementation, parameters, componentMonitor, lifecycleStrategy, useNames);
+ public ReinjectionInjector(Object componentKey, Class<T> componentImplementation, Parameter[] parameters, ComponentMonitor componentMonitor, PicoContainer parent, boolean useNames) {
+ super(componentKey, componentImplementation, parameters, componentMonitor, useNames);
this.parent = parent;
}

Modified: java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/SetterInjection.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/SetterInjection.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/SetterInjection.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -12,12 +12,7 @@

import java.util.Properties;

-import org.picocontainer.Characteristics;
-import org.picocontainer.ComponentAdapter;
-import org.picocontainer.ComponentMonitor;
-import org.picocontainer.LifecycleStrategy;
-import org.picocontainer.Parameter;
-import org.picocontainer.PicoCompositionException;
+import org.picocontainer.*;
import org.picocontainer.behaviors.AbstractBehaviorFactory;

@@ -43,7 +38,7 @@
/**
* Create a {@link SetterInjector}.
*
- * @param componentMonitor
+ * @param monitor
* @param lifecycleStrategy
* @param componentProperties
* @param componentKey The component's key
@@ -56,9 +51,10 @@
* @throws org.picocontainer.PicoCompositionException if the implementation
* is an interface or an abstract class.
*/
- public <T> ComponentAdapter<T> createComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)
+ public <T> ComponentAdapter<T> createComponentAdapter(ComponentMonitor monitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)
throws PicoCompositionException {
boolean useNames = AbstractBehaviorFactory.arePropertiesPresent(componentProperties, Characteristics.USE_NAMES, true);
- return componentMonitor.newInjector(new SetterInjector(componentKey, componentImplementation, parameters, componentMonitor, lifecycleStrategy, setterMethodPrefix, useNames));
+ return wrapLifeCycle(monitor.newInjector(new SetterInjector(componentKey, componentImplementation, parameters, monitor, setterMethodPrefix, useNames)), lifecycleStrategy);
}
+
}

Modified: java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/SetterInjector.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/SetterInjector.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/SetterInjector.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -47,7 +47,6 @@
* @param componentImplementation the concrete implementation
* @param parameters the parameters to use for the initialization
* @param monitor the component monitor used by this addAdapter
- * @param lifecycleStrategy the component lifecycle strategy used by this addAdapter
* @param setterMethodPrefix
* @throws org.picocontainer.injectors.AbstractInjector.NotConcreteRegistrationException
* if the implementation is not a concrete class.
@@ -57,9 +56,8 @@
final Class componentImplementation,
Parameter[] parameters,
ComponentMonitor monitor,
- LifecycleStrategy lifecycleStrategy,
String setterMethodPrefix, boolean useNames) throws NotConcreteRegistrationException {
- super(componentKey, componentImplementation, parameters, monitor, lifecycleStrategy, useNames);
+ super(componentKey, componentImplementation, parameters, monitor, useNames);
this.setterMethodPrefix = setterMethodPrefix;
}

Modified: java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/SingleMemberInjector.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/SingleMemberInjector.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/SingleMemberInjector.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -40,8 +40,8 @@
Class componentImplementation,
Parameter[] parameters,
ComponentMonitor monitor,
- LifecycleStrategy lifecycleStrategy, boolean useNames) {
- super(componentKey, componentImplementation, parameters, monitor, lifecycleStrategy, useNames);
+ boolean useNames) {
+ super(componentKey, componentImplementation, parameters, monitor, useNames);
}

protected Paranamer getParanamer() {

Modified: java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/TypedFieldInjection.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/TypedFieldInjection.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/TypedFieldInjection.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -31,7 +31,7 @@

private static final String INJECTION_FIELD_TYPES = "injectionFieldTypes";

- public <T> ComponentAdapter<T> createComponentAdapter(ComponentMonitor componentMonitor,
+ public <T> ComponentAdapter<T> createComponentAdapter(ComponentMonitor monitor,
LifecycleStrategy lifecycleStrategy,
Properties componentProperties,
Object componentKey,
@@ -41,8 +41,8 @@
if (fieldTypes == null) {
fieldTypes = "";
}
- return componentMonitor.newInjector(new TypedFieldInjector(componentKey, componentImplementation, parameters, componentMonitor,
- lifecycleStrategy, fieldTypes));
+ return wrapLifeCycle(monitor.newInjector(new TypedFieldInjector(componentKey, componentImplementation, parameters, monitor,
+ fieldTypes)), lifecycleStrategy);
}

public static Properties injectionFieldTypes(String... fieldTypes) {

Modified: java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/TypedFieldInjector.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/TypedFieldInjector.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/TypedFieldInjector.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -44,10 +44,9 @@
Class<?> impl,
Parameter[] parameters,
ComponentMonitor componentMonitor,
- LifecycleStrategy lifecycleStrategy,
String classNames) {

- super(key, impl, parameters, componentMonitor, lifecycleStrategy, true);
+ super(key, impl, parameters, componentMonitor, true);
this.classes = Arrays.asList(classNames.trim().split(" "));
}

Modified: java/2.x/trunk/pico/container/src/test/org/picocontainer/DefaultPicoContainerTestCase.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/test/org/picocontainer/DefaultPicoContainerTestCase.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/test/org/picocontainer/DefaultPicoContainerTestCase.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -194,8 +194,7 @@
picoContainer.as(Characteristics.NO_CACHE).addAdapter(
new ConstructorInjector(TransientComponent.class,
TransientComponent.class, null,
- new NullComponentMonitor(),
- new NullLifecycleStrategy(), false));
+ new NullComponentMonitor(), false));
TransientComponent c1 = picoContainer
.getComponent(TransientComponent.class);
TransientComponent c2 = picoContainer
@@ -850,7 +849,7 @@
private static class MyNullComponentMonitor extends NullComponentMonitor {
public Injector newInjector(Injector injector) {
if (injector.getComponentKey() == List.class) {
- return new AbstractInjector(List.class, ArrayList.class, Parameter.DEFAULT, MyNullComponentMonitor.this, null, false) {
+ return new AbstractInjector(List.class, ArrayList.class, Parameter.DEFAULT, MyNullComponentMonitor.this, false) {
public Object getComponentInstance(PicoContainer container) throws PicoCompositionException {
return getComponentInstance(container, null);
}

Modified: java/2.x/trunk/pico/container/src/test/org/picocontainer/adapters/ComponentAdapterTestCase.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/test/org/picocontainer/adapters/ComponentAdapterTestCase.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/test/org/picocontainer/adapters/ComponentAdapterTestCase.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -91,7 +91,7 @@
@SuppressWarnings("serial")
private static class TestInstantiatingAdapter<T> extends AbstractInjector<T> {
TestInstantiatingAdapter(Object componentKey, Class<T> componentImplementation, Parameter... parameters) {
- super(componentKey, componentImplementation, parameters, new NullComponentMonitor(), new NullLifecycleStrategy(), false);
+ super(componentKey, componentImplementation, parameters, new NullComponentMonitor(), false);
}
@Override
public void verify(PicoContainer container) throws PicoCompositionException {

Modified: java/2.x/trunk/pico/container/src/test/org/picocontainer/adapters/SimpleNamedBindingAnnotationTestCase.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/test/org/picocontainer/adapters/SimpleNamedBindingAnnotationTestCase.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/test/org/picocontainer/adapters/SimpleNamedBindingAnnotationTestCase.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -111,20 +111,14 @@
throws PicoCompositionException {
boolean useNames = AbstractBehaviorFactory.arePropertiesPresent(
componentProperties, Characteristics.USE_NAMES, true);
- return new FieldInjector(
- componentKey, componentImplementation, parameters, componentMonitor,
- lifecycleStrategy, useNames);
+ return new FieldInjector(componentKey, componentImplementation, parameters, componentMonitor, useNames);
}
}

public static class FieldInjector<T> extends AbstractInjector<T> {

- protected FieldInjector(
- Object componentKey, Class componentImplementation, Parameter[] parameters,
- ComponentMonitor monitor, LifecycleStrategy lifecycleStrategy, boolean useNames) {
- super(
- componentKey, componentImplementation, parameters, monitor, lifecycleStrategy,
- useNames);
+ protected FieldInjector(Object componentKey, Class componentImplementation, Parameter[] parameters, ComponentMonitor monitor, boolean useNames) {
+ super(componentKey, componentImplementation, parameters, monitor, useNames);
}

@Override

Modified: java/2.x/trunk/pico/container/src/test/org/picocontainer/behaviors/AutomatingTestCase.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/test/org/picocontainer/behaviors/AutomatingTestCase.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/test/org/picocontainer/behaviors/AutomatingTestCase.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -16,6 +16,7 @@
import static org.picocontainer.behaviors.Behaviors.caching;

import org.junit.Test;
+import org.picocontainer.ComponentAdapter;
import org.picocontainer.DefaultPicoContainer;
import org.picocontainer.MutablePicoContainer;
import org.picocontainer.PicoBuilder;
@@ -46,13 +47,15 @@
assertNotNull(pico.getComponent(Bar.class));
StringBuilder sb = pico.getComponent(StringBuilder.class);
assertEquals(MESSAGE, sb.toString());
- assertEquals("Cached+Lifecycle:Automated:ConstructorInjector-class org.picocontainer.behaviors.AutomatingTestCase$Foo", pico.getComponentAdapter(Foo.class).toString());
+ ComponentAdapter<?> adapter = pico.getComponentAdapter(Foo.class);
+ String s = adapter.toString();
+ assertEquals("Cached+Lifecycle:Automated:LifecycleAdapter:ConstructorInjector-class org.picocontainer.behaviors.AutomatingTestCase$Foo", s);
}

@Test public void testAutomaticBehaviorViaAdapter() {
DefaultPicoContainer pico = new DefaultPicoContainer(new Caching().wrap(new Automating()));
pico.addComponent(StringBuilder.class);
- pico.addAdapter(new ConstructorInjector(Foo.class, Foo.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false));
+ pico.addAdapter(new ConstructorInjector(Foo.class, Foo.class, null, new NullComponentMonitor(), false));
pico.addComponent(Bar.class);
pico.start();
assertNotNull(pico.getComponent(Bar.class));
@@ -75,7 +78,7 @@
@Test public void testNonAutomaticBehaviorAsContrastToTheAboveViaAdapter() {
DefaultPicoContainer pico = new DefaultPicoContainer(new Caching());
pico.addComponent(StringBuilder.class);
- pico.addAdapter(new ConstructorInjector(Foo.class, Foo.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false));
+ pico.addAdapter(new ConstructorInjector(Foo.class, Foo.class, null, new NullComponentMonitor(), false));
pico.addComponent(Bar.class);
pico.start();
assertNotNull(pico.getComponent(Bar.class));
@@ -98,7 +101,7 @@
@Test public void testAutomaticBehaviorByBuilderViaAdapter() {
MutablePicoContainer pico = new PicoBuilder().withCaching().withAutomatic().build();
pico.addComponent(StringBuilder.class);
- pico.addAdapter(new ConstructorInjector(Foo.class, Foo.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false));
+ pico.addAdapter(new ConstructorInjector(Foo.class, Foo.class, null, new NullComponentMonitor(), false));
pico.addComponent(Bar.class);
pico.start();
assertNotNull(pico.getComponent(Bar.class));
@@ -122,7 +125,7 @@
@Test public void testAutomaticBehaviorByBuilderADifferentWayViaAdapter() {
MutablePicoContainer pico = new PicoBuilder().withBehaviors(caching(), automatic()).build();
pico.addComponent(StringBuilder.class);
- pico.addAdapter(new ConstructorInjector(Foo.class, Foo.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false));
+ pico.addAdapter(new ConstructorInjector(Foo.class, Foo.class, null, new NullComponentMonitor(), false));
pico.addComponent(Bar.class);
pico.start();
assertNotNull(pico.getComponent(Bar.class));
@@ -146,7 +149,7 @@
@Test public void testAutomaticBehaviorWorksForAdaptiveBehaviorTooViaAdapter() {
MutablePicoContainer pico = new PicoBuilder().withBehaviors(caching(), automatic()).build();
pico.addComponent(StringBuilder.class);
- pico.as(AUTOMATIC).addAdapter(new ConstructorInjector(Foo.class, Foo.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false));
+ pico.as(AUTOMATIC).addAdapter(new ConstructorInjector(Foo.class, Foo.class, null, new NullComponentMonitor(), false));
pico.addComponent(Bar.class);
pico.start();
assertNotNull(pico.getComponent(Bar.class));

Modified: java/2.x/trunk/pico/container/src/test/org/picocontainer/behaviors/CachingTestCase.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/test/org/picocontainer/behaviors/CachingTestCase.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/test/org/picocontainer/behaviors/CachingTestCase.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -18,6 +18,7 @@
import org.picocontainer.ComponentFactory;
import org.picocontainer.DefaultPicoContainer;
import org.picocontainer.adapters.InstanceAdapter;
+import org.picocontainer.containers.EmptyPicoContainer;
import org.picocontainer.injectors.ConstructorInjection;
import org.picocontainer.injectors.ConstructorInjector;
import org.picocontainer.lifecycle.NullLifecycleStrategy;
@@ -40,7 +41,7 @@
pico.addComponent("foo", String.class);
ComponentAdapter foo = pico.getComponentAdapter("foo");
assertEquals(Cached.class, foo.getClass());
- assertEquals(ConstructorInjector.class, ((AbstractBehavior) foo).getDelegate().getClass());
+ assertEquals(ConstructorInjector.class, foo.getDelegate().getDelegate().getClass());
}

@Test public void testAddComponentUsesCachingBehaviorWithRedundantCacheProperty() {
@@ -49,12 +50,12 @@
pico.change(Characteristics.CACHE).addComponent("foo", String.class);
ComponentAdapter foo = pico.getComponentAdapter("foo");
assertEquals(Cached.class, foo.getClass());
- assertEquals(ConstructorInjector.class, ((AbstractBehavior) foo).getDelegate().getClass());
+ assertEquals(ConstructorInjector.class, foo.getDelegate().getDelegate().getClass());
}

@Test public void testAddComponentNoesNotUseCachingBehaviorWhenNoCachePropertyIsSpecified() {
DefaultPicoContainer pico =
- new DefaultPicoContainer(new Caching().wrap(new ConstructorInjection()));
+ new DefaultPicoContainer(new Caching().wrap(new ConstructorInjection()), new NullLifecycleStrategy(), new EmptyPicoContainer());
pico.change(Characteristics.NO_CACHE).addComponent("foo", String.class);
ComponentAdapter foo = pico.getComponentAdapter("foo");
assertEquals(ConstructorInjector.class, foo.getClass());
@@ -66,7 +67,7 @@
pico.addAdapter(new InstanceAdapter("foo", "bar", new NullLifecycleStrategy(), new NullComponentMonitor()));
ComponentAdapter foo = pico.getComponentAdapter("foo");
assertEquals(Cached.class, foo.getClass());
- assertEquals(InstanceAdapter.class, ((AbstractBehavior) foo).getDelegate().getClass());
+ assertEquals(InstanceAdapter.class, foo.getDelegate().getClass());
}

@Test public void testAddAdapterUsesCachingBehaviorWithRedundantCacheProperty() {
@@ -75,7 +76,7 @@
pico.change(Characteristics.CACHE).addAdapter(new InstanceAdapter("foo", "bar", new NullLifecycleStrategy(), new NullComponentMonitor()));
ComponentAdapter foo = pico.getComponentAdapter("foo");
assertEquals(Cached.class, foo.getClass());
- assertEquals(InstanceAdapter.class, ((AbstractBehavior) foo).getDelegate().getClass());
+ assertEquals(InstanceAdapter.class, foo.getDelegate().getClass());
}

@Test public void testAddAdapterNoesNotUseCachingBehaviorWhenNoCachePropertyIsSpecified() {

Modified: java/2.x/trunk/pico/container/src/test/org/picocontainer/behaviors/CircularTestCase.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/test/org/picocontainer/behaviors/CircularTestCase.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/test/org/picocontainer/behaviors/CircularTestCase.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -5,8 +5,13 @@
import org.picocontainer.DefaultPicoContainer;
import org.picocontainer.Characteristics;
import org.picocontainer.ComponentAdapter;
-import org.picocontainer.injectors.SetterInjection;import static junit.framework.Assert.assertEquals;
+import org.picocontainer.containers.EmptyPicoContainer;
+import org.picocontainer.injectors.SetterInjection;
+import org.picocontainer.lifecycle.NullLifecycleStrategy;
+import org.picocontainer.testmodel.NullLifecycle;

+import static junit.framework.Assert.assertEquals;
+
public class CircularTestCase {

public static interface IFish {
@@ -53,7 +58,7 @@

@Test
public void enableCircularCharacteristicIsRedundantForImplementationHiding() {
- DefaultPicoContainer pico = new DefaultPicoContainer(new ImplementationHiding().wrap(new SetterInjection()));
+ DefaultPicoContainer pico = new DefaultPicoContainer(new ImplementationHiding().wrap(new SetterInjection()), new NullLifecycleStrategy(), new EmptyPicoContainer());
pico.addComponent(IFish.class, Fish.class);
pico.addComponent(IWater.class, Water.class);
IWater water = pico.getComponent(IWater.class);

Modified: java/2.x/trunk/pico/container/src/test/org/picocontainer/behaviors/GuardingTestCase.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/test/org/picocontainer/behaviors/GuardingTestCase.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/test/org/picocontainer/behaviors/GuardingTestCase.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -20,6 +20,7 @@
import org.picocontainer.DefaultPicoContainer;
import static org.picocontainer.Characteristics.GUARD;
import org.picocontainer.adapters.InstanceAdapter;
+import org.picocontainer.containers.EmptyPicoContainer;
import org.picocontainer.injectors.ConstructorInjection;
import org.picocontainer.injectors.ConstructorInjector;
import org.picocontainer.lifecycle.NullLifecycleStrategy;
@@ -37,7 +38,7 @@
}

@Test public void testAddComponentUsesGuardingBehavior() {
- DefaultPicoContainer pico = new DefaultPicoContainer(createComponentFactory());
+ DefaultPicoContainer pico = new DefaultPicoContainer(createComponentFactory(), new NullLifecycleStrategy(), new EmptyPicoContainer());
pico.addComponent("guard", MyGuard.class);
pico.as(GUARD).addComponent("foo", String.class);
ComponentAdapter fooAdapter = pico.getComponentAdapter("foo");
@@ -58,7 +59,7 @@
}

@Test public void testAddComponentDoesNotUseGuardingBehaviorIfNoProperty() {
- DefaultPicoContainer pico = new DefaultPicoContainer(createComponentFactory());
+ DefaultPicoContainer pico = new DefaultPicoContainer(createComponentFactory(), new NullLifecycleStrategy(), new EmptyPicoContainer());
pico.addComponent("guard", MyGuard.class);
pico.addComponent("foo", String.class);
ComponentAdapter fooAdapter = pico.getComponentAdapter("foo");
@@ -67,12 +68,12 @@
}

@Test public void testAddComponentUsesGuardingBehaviorWithCustomGuardKey() {
- DefaultPicoContainer pico = new DefaultPicoContainer(createComponentFactory());
+ DefaultPicoContainer pico = new DefaultPicoContainer(createComponentFactory(), new NullLifecycleStrategy(), new EmptyPicoContainer());
pico.addComponent("my_guard", MyGuard.class);
pico.as(GUARD("my_guard")).addComponent("foo", String.class);
ComponentAdapter fooAdapter = pico.getComponentAdapter("foo");
assertEquals(Guarded.class, fooAdapter.getClass());
- assertEquals(ConstructorInjector.class, ((AbstractBehavior) fooAdapter).getDelegate().getClass());
+ assertEquals(ConstructorInjector.class, fooAdapter.getDelegate().getClass());
try {
String foo = (String) pico.getComponent("foo");
fail("should have barfed");
@@ -82,12 +83,12 @@
}

@Test public void testAddComponentUsesGuardingBehaviorByAdapitveDefault() {
- DefaultPicoContainer pico = new DefaultPicoContainer();
+ DefaultPicoContainer pico = new DefaultPicoContainer(new NullLifecycleStrategy(), new EmptyPicoContainer());
pico.addComponent("guard", MyGuard.class);
pico.as(GUARD).addComponent("foo", String.class);
ComponentAdapter fooAdapter = pico.getComponentAdapter("foo");
assertEquals(Guarded.class, fooAdapter.getClass());
- assertEquals(ConstructorInjector.class, ((AbstractBehavior) fooAdapter).getDelegate().getClass());
+ assertEquals(ConstructorInjector.class, fooAdapter.getDelegate().getClass());
try {
String foo = (String) pico.getComponent("foo");
fail("should have barfed");

Modified: java/2.x/trunk/pico/container/src/test/org/picocontainer/behaviors/HiddenImplementationTestCase.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/test/org/picocontainer/behaviors/HiddenImplementationTestCase.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/test/org/picocontainer/behaviors/HiddenImplementationTestCase.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -28,7 +28,7 @@
public class HiddenImplementationTestCase {

@Test public void testMultipleInterfacesCanBeHidden() {
- ComponentAdapter ca = new ConstructorInjector(new Class[]{ActionListener.class, MouseListener.class}, Footle.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false);
+ ComponentAdapter ca = new ConstructorInjector(new Class[]{ActionListener.class, MouseListener.class}, Footle.class, null, new NullComponentMonitor(), false);
HiddenImplementation ihca = new HiddenImplementation(ca);
Object comp = ihca.getComponentInstance(null, null);
assertNotNull(comp);
@@ -37,7 +37,7 @@
}

@Test public void testNonInterfaceInArrayCantBeHidden() {
- ComponentAdapter ca = new ConstructorInjector(new Class[]{String.class}, Footle.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false);
+ ComponentAdapter ca = new ConstructorInjector(new Class[]{String.class}, Footle.class, null, new NullComponentMonitor(), false);
HiddenImplementation ihca = new HiddenImplementation(ca);
try {
ihca.getComponentInstance(null, null);

Modified: java/2.x/trunk/pico/container/src/test/org/picocontainer/behaviors/ImplementationHidingTestCase.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/test/org/picocontainer/behaviors/ImplementationHidingTestCase.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/test/org/picocontainer/behaviors/ImplementationHidingTestCase.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -19,6 +19,7 @@
import org.picocontainer.ComponentFactory;
import org.picocontainer.DefaultPicoContainer;
import org.picocontainer.adapters.InstanceAdapter;
+import org.picocontainer.containers.EmptyPicoContainer;
import org.picocontainer.injectors.AdaptingInjection;
import org.picocontainer.injectors.ConstructorInjection;
import org.picocontainer.injectors.ConstructorInjector;
@@ -31,7 +32,7 @@

@Test public void testAddComponentUsesImplementationHidingBehavior() {
DefaultPicoContainer pico =
- new DefaultPicoContainer(new ImplementationHiding().wrap(new ConstructorInjection()));
+ new DefaultPicoContainer(new ImplementationHiding().wrap(new ConstructorInjection()), new NullLifecycleStrategy(), new EmptyPicoContainer());
pico.addComponent("foo", String.class);
ComponentAdapter<?> foo = pico.getComponentAdapter("foo");
assertEquals(HiddenImplementation.class, foo.getClass());
@@ -40,7 +41,7 @@

@Test public void testAddComponentUsesImplementationHidingBehaviorWithRedundantHideImplProperty() {
DefaultPicoContainer pico =
- new DefaultPicoContainer(new ImplementationHiding().wrap(new ConstructorInjection()));
+ new DefaultPicoContainer(new ImplementationHiding().wrap(new ConstructorInjection()), new NullLifecycleStrategy(), new EmptyPicoContainer());
pico.change(Characteristics.HIDE_IMPL).addComponent("foo", String.class);
ComponentAdapter<?> foo = pico.getComponentAdapter("foo");
assertEquals(HiddenImplementation.class, foo.getClass());
@@ -49,7 +50,7 @@

@Test public void testAddComponentNoesNotUseImplementationHidingBehaviorWhenNoCachePropertyIsSpecified() {
DefaultPicoContainer pico =
- new DefaultPicoContainer(new ImplementationHiding().wrap(new ConstructorInjection()));
+ new DefaultPicoContainer(new ImplementationHiding().wrap(new ConstructorInjection()), new NullLifecycleStrategy(), new EmptyPicoContainer());
pico.change(Characteristics.NO_HIDE_IMPL).addComponent("foo", String.class);
ComponentAdapter<?> foo = pico.getComponentAdapter("foo");
assertEquals(ConstructorInjector.class, foo.getClass());

Modified: java/2.x/trunk/pico/container/src/test/org/picocontainer/behaviors/InterceptingTestCase.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/test/org/picocontainer/behaviors/InterceptingTestCase.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/test/org/picocontainer/behaviors/InterceptingTestCase.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -14,6 +14,8 @@

import org.junit.Test;
import org.picocontainer.DefaultPicoContainer;
+import org.picocontainer.containers.EmptyPicoContainer;
+import org.picocontainer.lifecycle.NullLifecycleStrategy;

public class InterceptingTestCase {

@@ -60,7 +62,7 @@

@Test public void testPreAndPostObservation() {
final StringBuilder sb = new StringBuilder();
- DefaultPicoContainer pico = new DefaultPicoContainer(new Intercepting());
+ DefaultPicoContainer pico = new DefaultPicoContainer(new Intercepting(), new NullLifecycleStrategy(), new EmptyPicoContainer());
pico.addComponent(StringBuilder.class, sb);
pico.addComponent(Person.class, Englishman.class);

@@ -89,7 +91,7 @@

@Test public void testPreAndPostObservationWithParameter() {
final StringBuilder sb = new StringBuilder();
- DefaultPicoContainer pico = new DefaultPicoContainer(new Intercepting());
+ DefaultPicoContainer pico = new DefaultPicoContainer(new Intercepting(), new NullLifecycleStrategy(), new EmptyPicoContainer());
pico.addComponent(StringBuilder.class, sb);
pico.addComponent(Person.class, Englishman.class);

@@ -118,7 +120,7 @@

@Test public void testPreCanPreventInvocationWithAlternateReturnValue() {
final StringBuilder sb = new StringBuilder();
- DefaultPicoContainer pico = new DefaultPicoContainer(new Intercepting());
+ DefaultPicoContainer pico = new DefaultPicoContainer(new Intercepting(), new NullLifecycleStrategy(), new EmptyPicoContainer());
pico.addComponent(Person.class, Englishman.class);
pico.addComponent(StringBuilder.class, sb);

@@ -140,7 +142,7 @@

@Test public void testOverrideOfReturnValue() {
final StringBuilder sb = new StringBuilder();
- DefaultPicoContainer pico = new DefaultPicoContainer(new Intercepting());
+ DefaultPicoContainer pico = new DefaultPicoContainer(new Intercepting(), new NullLifecycleStrategy(), new EmptyPicoContainer());
pico.addComponent(Person.class, Englishman.class);
pico.addComponent(StringBuilder.class, sb);
Intercepted intercepted = pico.getComponentAdapter(Person.class).findAdapterOfType(Intercepted.class);
@@ -175,7 +177,7 @@

@Test public void testNothingHappensIfNoPreOrPost() {
final StringBuilder sb = new StringBuilder();
- DefaultPicoContainer pico = new DefaultPicoContainer(new Intercepting());
+ DefaultPicoContainer pico = new DefaultPicoContainer(new Intercepting(), new NullLifecycleStrategy(), new EmptyPicoContainer());
pico.addComponent(Person.class, Englishman.class);
pico.addComponent(StringBuilder.class, sb);
Person foo = pico.getComponent(Person.class);

Modified: java/2.x/trunk/pico/container/src/test/org/picocontainer/behaviors/OptInCachingTestCase.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/test/org/picocontainer/behaviors/OptInCachingTestCase.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/test/org/picocontainer/behaviors/OptInCachingTestCase.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -18,6 +18,7 @@
import org.picocontainer.ComponentFactory;
import org.picocontainer.DefaultPicoContainer;
import org.picocontainer.adapters.InstanceAdapter;
+import org.picocontainer.containers.EmptyPicoContainer;
import org.picocontainer.injectors.ConstructorInjection;
import org.picocontainer.injectors.ConstructorInjector;
import org.picocontainer.lifecycle.NullLifecycleStrategy;
@@ -36,7 +37,7 @@

@Test public void testAddComponentDoesNotUseCachingBehaviorByDefault() {
DefaultPicoContainer pico =
- new DefaultPicoContainer(new OptInCaching().wrap(new ConstructorInjection()));
+ new DefaultPicoContainer(new OptInCaching().wrap(new ConstructorInjection()), new NullLifecycleStrategy(), new EmptyPicoContainer());
pico.addComponent("foo", String.class);
ComponentAdapter foo = pico.getComponentAdapter("foo");
assertEquals(ConstructorInjector.class, foo.getClass());
@@ -44,7 +45,7 @@

@Test public void testAddComponentUsesOptinBehaviorWithRedundantCacheProperty() {
DefaultPicoContainer pico =
- new DefaultPicoContainer(new OptInCaching().wrap(new ConstructorInjection()));
+ new DefaultPicoContainer(new OptInCaching().wrap(new ConstructorInjection()), new NullLifecycleStrategy(), new EmptyPicoContainer());
pico.change(Characteristics.CACHE).addComponent("foo", String.class);
ComponentAdapter foo = pico.getComponentAdapter("foo");
assertEquals(Cached.class, foo.getClass());
@@ -53,7 +54,7 @@

@Test public void testAddComponentNoesNotUseOptinBehaviorWhenNoCachePropertyIsSpecified() {
DefaultPicoContainer pico =
- new DefaultPicoContainer(new OptInCaching().wrap(new ConstructorInjection()));
+ new DefaultPicoContainer(new OptInCaching().wrap(new ConstructorInjection()), new NullLifecycleStrategy(), new EmptyPicoContainer());
pico.change(Characteristics.NO_CACHE).addComponent("foo", String.class);
ComponentAdapter foo = pico.getComponentAdapter("foo");
assertEquals(ConstructorInjector.class, foo.getClass());

Modified: java/2.x/trunk/pico/container/src/test/org/picocontainer/behaviors/StoringTestCase.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/test/org/picocontainer/behaviors/StoringTestCase.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/test/org/picocontainer/behaviors/StoringTestCase.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -19,6 +19,8 @@

import org.junit.Test;
import org.picocontainer.DefaultPicoContainer;
+import org.picocontainer.containers.EmptyPicoContainer;
+import org.picocontainer.lifecycle.NullLifecycleStrategy;

public class StoringTestCase {

@@ -38,9 +40,9 @@

@Test public void testThatForASingleThreadTheBehaviorIsTheSameAsPlainCaching() {

- DefaultPicoContainer parent = new DefaultPicoContainer(new Caching());
+ DefaultPicoContainer parent = new DefaultPicoContainer(new Caching(), new NullLifecycleStrategy(), new EmptyPicoContainer());
Storing storeCaching = new Storing();
- DefaultPicoContainer child = new DefaultPicoContainer(storeCaching, parent);
+ DefaultPicoContainer child = new DefaultPicoContainer(storeCaching, new NullLifecycleStrategy(), parent);

parent.addComponent(StringBuilder.class);
child.addComponent(Foo.class);
@@ -62,7 +64,7 @@

DefaultPicoContainer parent = new DefaultPicoContainer(new Caching());
final Storing storing = new Storing();
- final DefaultPicoContainer child = new DefaultPicoContainer(storing, parent);
+ final DefaultPicoContainer child = new DefaultPicoContainer(storing, new NullLifecycleStrategy(), parent);

parent.addComponent(StringBuilder.class);
child.addComponent(Foo.class);
@@ -104,9 +106,9 @@
final Foo[] foos = new Foo[4];
final Bar[] bars = new Bar[4];

- DefaultPicoContainer appScope = new DefaultPicoContainer(new Caching());
- final DefaultPicoContainer sessionScope = new DefaultPicoContainer(new Storing(), appScope);
- final DefaultPicoContainer requestScope = new DefaultPicoContainer(new Storing(), sessionScope);
+ DefaultPicoContainer appScope = new DefaultPicoContainer(new Caching(), new NullLifecycleStrategy(), new EmptyPicoContainer());
+ final DefaultPicoContainer sessionScope = new DefaultPicoContainer(new Storing(), new NullLifecycleStrategy(), appScope);
+ final DefaultPicoContainer requestScope = new DefaultPicoContainer(new Storing(), new NullLifecycleStrategy(), sessionScope);

appScope.addComponent(StringBuilder.class);
sessionScope.addComponent(Foo.class);
@@ -144,9 +146,9 @@

final Foo[] foos = new Foo[4];

- DefaultPicoContainer parent = new DefaultPicoContainer(new Caching());
+ DefaultPicoContainer parent = new DefaultPicoContainer(new Caching(), new NullLifecycleStrategy(), new EmptyPicoContainer());
final Storing storeCaching = new Storing();
- final DefaultPicoContainer child = new DefaultPicoContainer(storeCaching, parent);
+ final DefaultPicoContainer child = new DefaultPicoContainer(storeCaching, new NullLifecycleStrategy(), parent);

parent.addComponent(StringBuilder.class);
child.addComponent(Foo.class);
@@ -190,9 +192,9 @@
@Test public void testThatCacheMapCanBeResetOnASubsequentThreadSimulatingASessionConcept() {

- DefaultPicoContainer parent = new DefaultPicoContainer(new Caching());
+ DefaultPicoContainer parent = new DefaultPicoContainer(new Caching(), new NullLifecycleStrategy(), new EmptyPicoContainer());
final Storing storeCaching = new Storing();
- final DefaultPicoContainer child = new DefaultPicoContainer(storeCaching, parent);
+ final DefaultPicoContainer child = new DefaultPicoContainer(storeCaching, new NullLifecycleStrategy(), parent);

parent.addComponent(StringBuilder.class);
child.addComponent(Foo.class);

Modified: java/2.x/trunk/pico/container/src/test/org/picocontainer/behaviors/SynchronizedTestCase.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/test/org/picocontainer/behaviors/SynchronizedTestCase.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/test/org/picocontainer/behaviors/SynchronizedTestCase.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -99,7 +99,7 @@
}

@Test public void testRaceConditionIsHandledBySynchronizedComponentAdapter() throws InterruptedException {
- ComponentAdapter componentAdapter = new Cached(new ConstructorInjector("key", Blocker.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false));
+ ComponentAdapter componentAdapter = new Cached(new ConstructorInjector("key", Blocker.class, null, new NullComponentMonitor(), false));
ComponentAdapter synchronizedComponentAdapter = makeComponentAdapter(componentAdapter);
initTest(synchronizedComponentAdapter);

@@ -120,7 +120,7 @@
}

@Test public void testRaceConditionIsNotHandledWithoutSynchronizedComponentAdapter() throws InterruptedException {
- ComponentAdapter componentAdapter = new Cached(new ConstructorInjector("key", Blocker.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false));
+ ComponentAdapter componentAdapter = new Cached(new ConstructorInjector("key", Blocker.class, null, new NullComponentMonitor(), false));
initTest(componentAdapter);

assertNull(runner[0].exception);
@@ -138,20 +138,20 @@

public void THIS_NATURALLY_FAILS_testSingletonCreationWithSynchronizedAdapter() throws InterruptedException {
DefaultPicoContainer pico = new DefaultPicoContainer();
- pico.addAdapter(new Cached(makeComponentAdapter(new ConstructorInjector("slow", SlowCtor.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false))));
+ pico.addAdapter(new Cached(makeComponentAdapter(new ConstructorInjector("slow", SlowCtor.class, null, new NullComponentMonitor(), false))));
runConcurrencyTest(pico);
}

// This is overkill - an outer sync adapter is enough
@Test public void testSingletonCreationWithSynchronizedAdapterAndDoubleLocking() throws InterruptedException {
DefaultPicoContainer pico = new DefaultPicoContainer();
- pico.addAdapter(makeComponentAdapter(new Cached(new Synchronized(new ConstructorInjector("slow", SlowCtor.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false)))));
+ pico.addAdapter(makeComponentAdapter(new Cached(new Synchronized(new ConstructorInjector("slow", SlowCtor.class, null, new NullComponentMonitor(), false)))));
runConcurrencyTest(pico);
}

@Test public void testSingletonCreationWithSynchronizedAdapterOutside() throws InterruptedException {
DefaultPicoContainer pico = new DefaultPicoContainer();
- pico.addAdapter(makeComponentAdapter(new Cached(new ConstructorInjector("slow", SlowCtor.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false))));
+ pico.addAdapter(makeComponentAdapter(new Cached(new ConstructorInjector("slow", SlowCtor.class, null, new NullComponentMonitor(), false))));
runConcurrencyTest(pico);
}

Modified: java/2.x/trunk/pico/container/src/test/org/picocontainer/behaviors/ThreadCachingTestCase.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/test/org/picocontainer/behaviors/ThreadCachingTestCase.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/test/org/picocontainer/behaviors/ThreadCachingTestCase.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -16,6 +16,8 @@

import org.junit.Test;
import org.picocontainer.DefaultPicoContainer;
+import org.picocontainer.containers.EmptyPicoContainer;
+import org.picocontainer.lifecycle.NullLifecycleStrategy;

public class ThreadCachingTestCase {

@@ -35,8 +37,8 @@

@Test public void testThatForASingleThreadTheBehaviorIsTheSameAsPlainCaching() {

- DefaultPicoContainer parent = new DefaultPicoContainer(new Caching());
- DefaultPicoContainer child = new DefaultPicoContainer(new ThreadCaching(), parent);
+ DefaultPicoContainer parent = new DefaultPicoContainer(new Caching(), new NullLifecycleStrategy(), new EmptyPicoContainer());
+ DefaultPicoContainer child = new DefaultPicoContainer(new ThreadCaching(), new NullLifecycleStrategy(), parent);

parent.addComponent(StringBuilder.class);
child.addComponent(Foo.class);
@@ -55,8 +57,8 @@

final Foo[] foos = new Foo[4];

- DefaultPicoContainer parent = new DefaultPicoContainer(new Caching());
- final DefaultPicoContainer child = new DefaultPicoContainer(new ThreadCaching(), parent);
+ DefaultPicoContainer parent = new DefaultPicoContainer(new Caching(), new NullLifecycleStrategy(), new EmptyPicoContainer());
+ final DefaultPicoContainer child = new DefaultPicoContainer(new ThreadCaching(), new NullLifecycleStrategy(), parent);

parent.addComponent(StringBuilder.class);
child.addComponent(Foo.class);
@@ -93,9 +95,9 @@
final Foo[] foos = new Foo[4];
final Bar[] bars = new Bar[4];

- DefaultPicoContainer appScope = new DefaultPicoContainer(new Caching());
- final DefaultPicoContainer sessionScope = new DefaultPicoContainer(new ThreadCaching(), appScope);
- final DefaultPicoContainer requestScope = new DefaultPicoContainer(new ThreadCaching(), sessionScope);
+ DefaultPicoContainer appScope = new DefaultPicoContainer(new Caching(), new NullLifecycleStrategy(), new EmptyPicoContainer());
+ final DefaultPicoContainer sessionScope = new DefaultPicoContainer(new ThreadCaching(), new NullLifecycleStrategy(), appScope);
+ final DefaultPicoContainer requestScope = new DefaultPicoContainer(new ThreadCaching(), new NullLifecycleStrategy(), sessionScope);

appScope.addComponent(StringBuilder.class);
sessionScope.addComponent(Foo.class);

Modified: java/2.x/trunk/pico/container/src/test/org/picocontainer/defaults/CollectionComponentParameterTestCase.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/test/org/picocontainer/defaults/CollectionComponentParameterTestCase.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/test/org/picocontainer/defaults/CollectionComponentParameterTestCase.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -144,8 +144,7 @@
public void testCollectionsAreGeneratedOnTheFly() {
MutablePicoContainer mpc = new DefaultPicoContainer();
mpc.addAdapter(new ConstructorInjector(Bowl.class, Bowl.class,
- null, new NullComponentMonitor(),
- new NullLifecycleStrategy(), false));
+ null, new NullComponentMonitor(), false));
mpc.addComponent(Cod.class);
Bowl bowl = mpc.getComponent(Bowl.class);
assertEquals(1, bowl.cods.length);

Modified: java/2.x/trunk/pico/container/src/test/org/picocontainer/defaults/DefaultComponentRegistryTestCase.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/test/org/picocontainer/defaults/DefaultComponentRegistryTestCase.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/test/org/picocontainer/defaults/DefaultComponentRegistryTestCase.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -90,6 +90,6 @@
}

private ComponentAdapter createComponentAdapter() throws PicoCompositionException {
- return new ConstructorInjector(Touchable.class, SimpleTouchable.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false);
+ return new ConstructorInjector(Touchable.class, SimpleTouchable.class, null, new NullComponentMonitor(), false);
}
}

Modified: java/2.x/trunk/pico/container/src/test/org/picocontainer/defaults/PicoExceptionsTestCase.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/test/org/picocontainer/defaults/PicoExceptionsTestCase.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/test/org/picocontainer/defaults/PicoExceptionsTestCase.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -43,8 +43,7 @@

@SuppressWarnings({ "unchecked" })
final void executeTestOfStandardException(final Class clazz) {
- final ComponentAdapter componentAdapter = new ConstructorInjector(clazz, clazz, null, new AbstractComponentMonitor(),
- new NullLifecycleStrategy(), false, false);
+ final ComponentAdapter componentAdapter = new ConstructorInjector(clazz, clazz, null, new AbstractComponentMonitor(), false, false);
DefaultPicoContainer pico = new DefaultPicoContainer();
pico.addComponent(MESSAGE);
try {

Modified: java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/AbstractInjectorTestCase.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/AbstractInjectorTestCase.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/AbstractInjectorTestCase.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -38,9 +38,7 @@

@Before
public void setUp() throws NoSuchMethodException {
- ai = new MyAbstractInjector(Map.class, HashMap.class, new Parameter[0],
- new NullComponentMonitor(),
- new NullLifecycleStrategy(), false);
+ ai = new MyAbstractInjector(Map.class, HashMap.class, new Parameter[0], new NullComponentMonitor(), false);
ctor = HashMap.class.getConstructor();
}

@@ -142,9 +140,8 @@
Class componentImplementation,
Parameter[] parameters,
ComponentMonitor monitor,
- LifecycleStrategy lifecycleStrategy,
boolean useNames) {
- super(componentKey, componentImplementation, parameters, monitor, lifecycleStrategy, useNames);
+ super(componentKey, componentImplementation, parameters, monitor, useNames);
}

@Override

Modified: java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/AdaptingInjectionTestCase.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/AdaptingInjectionTestCase.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/AdaptingInjectionTestCase.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -113,7 +113,7 @@
ComponentFactory cf = createComponentFactory();

ConsoleComponentMonitor cm = new ConsoleComponentMonitor();
- ComponentAdapter ca = cf.createComponentAdapter(cm, new ReflectionLifecycleStrategy(cm), new Properties(),
+ ComponentAdapter ca = cf.createComponentAdapter(cm, new NullLifecycleStrategy(), new Properties(),
Map.class, HashMap.class, Parameter.DEFAULT);

String foo = xs.toXML(ca).replace("\"", "");
@@ -122,7 +122,6 @@
" <componentKey class=java-class>java.util.Map</componentKey>\n" +
" <componentImplementation>java.util.HashMap</componentImplementation>\n" +
" <componentMonitor class=CCM/>\n" +
- " <lifecycleStrategy class=RLS/>\n" +
" <useNames>false</useNames>\n" +
" <rememberChosenConstructor>true</rememberChosenConstructor>\n" +
" <enableEmjection>false</enableEmjection>\n" +
@@ -137,7 +136,7 @@

ConsoleComponentMonitor cm = new ConsoleComponentMonitor();
ComponentAdapter ca = cf.createComponentAdapter(cm,
- new ReflectionLifecycleStrategy(cm),
+ new NullLifecycleStrategy(),
new Properties(),
AnnotatedFieldInjectorTestCase.Helicopter.class,
AnnotatedFieldInjectorTestCase.Helicopter.class,
@@ -149,7 +148,6 @@
" <componentKey class=java-class>org.picocontainer.injectors.AnnotatedFieldInjectorTestCase$Helicopter</componentKey>\n" +
" <componentImplementation>org.picocontainer.injectors.AnnotatedFieldInjectorTestCase$Helicopter</componentImplementation>\n" +
" <componentMonitor class=CCM/>\n" +
- " <lifecycleStrategy class=RLS/>\n" +
" <useNames>false</useNames>\n" +
" <injectionAnnotation>org.picocontainer.annotations.Inject</injectionAnnotation>\n" +
"</Field-Injection>", foo);
@@ -163,7 +161,7 @@

ConsoleComponentMonitor cm = new ConsoleComponentMonitor();
ComponentAdapter ca = cf.createComponentAdapter(cm,
- new ReflectionLifecycleStrategy(cm),
+ new NullLifecycleStrategy(),
new Properties(),
AnnotatedMethodInjectorTestCase.AnnotatedBurp.class,
AnnotatedMethodInjectorTestCase.AnnotatedBurp.class,
@@ -175,7 +173,6 @@
" <componentKey class=java-class>org.picocontainer.injectors.AnnotatedMethodInjectorTestCase$AnnotatedBurp</componentKey>\n" +
" <componentImplementation>org.picocontainer.injectors.AnnotatedMethodInjectorTestCase$AnnotatedBurp</componentImplementation>\n" +
" <componentMonitor class=CCM/>\n" +
- " <lifecycleStrategy class=RLS/>\n" +
" <useNames>false</useNames>\n" +
" <setterMethodPrefix></setterMethodPrefix>\n" +
" <injectionAnnotation>org.picocontainer.annotations.Inject</injectionAnnotation>\n" +

Modified: java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/AnnotatedFieldInjectionTestCase.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/AnnotatedFieldInjectionTestCase.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/AnnotatedFieldInjectionTestCase.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -18,6 +18,7 @@
import org.junit.Test;
import org.picocontainer.ComponentAdapter;
import org.picocontainer.Parameter;
+import org.picocontainer.lifecycle.NullLifecycleStrategy;
import org.picocontainer.lifecycle.ReflectionLifecycleStrategy;
import org.picocontainer.monitors.ConsoleComponentMonitor;

@@ -35,7 +36,7 @@
AnnotatedFieldInjection injectionFactory = new AnnotatedFieldInjection();

ConsoleComponentMonitor cm = new ConsoleComponentMonitor();
- ComponentAdapter ca = injectionFactory.createComponentAdapter(cm, new ReflectionLifecycleStrategy(cm), new Properties(), Map.class, HashMap.class, Parameter.DEFAULT);
+ ComponentAdapter ca = injectionFactory.createComponentAdapter(cm, new NullLifecycleStrategy(), new Properties(), Map.class, HashMap.class, Parameter.DEFAULT);

XStream xs = new XStream();
//xs.alias("CCM", ConsoleComponentMonitor.class);
@@ -65,7 +66,6 @@
" <componentKey class=\"java-class\">java.util.Map</componentKey>\n" +
" <componentImplementation>java.util.HashMap</componentImplementation>\n" +
" <componentMonitor class=\"org.picocontainer.monitors.ConsoleComponentMonitor\"/>\n" +
- " <lifecycleStrategy class=\"org.picocontainer.lifecycle.ReflectionLifecycleStrategy\"/>\n" +
" <useNames>false</useNames>\n" +
" <injectionAnnotation>org.picocontainer.annotations.Inject</injectionAnnotation>\n" +
"</org.picocontainer.injectors.AnnotatedFieldInjector>", foo);

Modified: java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/AnnotatedFieldInjectorTestCase.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/AnnotatedFieldInjectorTestCase.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/AnnotatedFieldInjectorTestCase.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -50,7 +50,7 @@
public void testFieldInjection() {
MutablePicoContainer pico = new DefaultPicoContainer();
pico.addAdapter(new AnnotatedFieldInjector(Helicopter.class, Helicopter.class, null,
- new NullComponentMonitor(), new NullLifecycleStrategy(), Inject.class, false));
+ new NullComponentMonitor(), Inject.class, false));
pico.addComponent(PogoStick.class, new PogoStick());
Helicopter chopper = pico.getComponent(Helicopter.class);
assertNotNull(chopper);
@@ -61,7 +61,7 @@
public void testFieldInjectionWithoutAnnotationDoesNotWork() {
MutablePicoContainer pico = new DefaultPicoContainer();
pico.addAdapter(new AnnotatedFieldInjector(Helicopter2.class, Helicopter2.class, null,
- new NullComponentMonitor(), new NullLifecycleStrategy(), Inject.class, false));
+ new NullComponentMonitor(), Inject.class, false));
pico.addComponent(PogoStick.class, new PogoStick());
Helicopter2 chopper = pico.getComponent(Helicopter2.class);
assertNotNull(chopper);
@@ -72,7 +72,7 @@
public void testFieldDeosNotHappenWithoutRightInjectorDoesNotWork() {
MutablePicoContainer pico = new DefaultPicoContainer();
pico.addAdapter(new SetterInjector(Helicopter.class, Helicopter.class, null,
- new NullComponentMonitor(), new NullLifecycleStrategy(),
+ new NullComponentMonitor(),
"set", false));
pico.addComponent(PogoStick.class, new PogoStick());
Helicopter chopper = pico.getComponent(Helicopter.class);
@@ -97,7 +97,7 @@
public void testFieldInjectionWithAlternativeInjectionAnnotation() {
MutablePicoContainer pico = new DefaultPicoContainer();
pico.addAdapter(new AnnotatedFieldInjector(Helicopter3.class, Helicopter3.class, null,
- new NullComponentMonitor(), new NullLifecycleStrategy(), AlternativeInject.class, false));
+ new NullComponentMonitor(), AlternativeInject.class, false));
pico.addComponent(PogoStick.class, new PogoStick());
Helicopter3 chopper = pico.getComponent(Helicopter3.class);
assertNotNull(chopper);

Modified: java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/AnnotatedMethodInjectionTestCase.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/AnnotatedMethodInjectionTestCase.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/AnnotatedMethodInjectionTestCase.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -91,15 +91,4 @@
} catch (PicoCompositionException e) {
}
}
-
- @Test public void testCustomLifecycleCanBeInjected() throws NoSuchMethodException {
- RecordingLifecycleStrategy strategy = new RecordingLifecycleStrategy(new StringBuffer());
- AnnotatedMethodInjection componentFactory = new AnnotatedMethodInjection();
- AnnotatedMethodInjector aica = (AnnotatedMethodInjector)componentFactory.createComponentAdapter(new NullComponentMonitor(), strategy, null, NullLifecycle.class, NullLifecycle.class);
- One one = new One(new StringBuffer());
- aica.start(one);
- aica.stop(one);
- aica.dispose(one);
- assertEquals("<start<stop<dispose", strategy.recording());
- }
}
\ No newline at end of file

Modified: java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/AnnotatedMethodInjectorTestCase.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/AnnotatedMethodInjectorTestCase.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/AnnotatedMethodInjectorTestCase.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -51,7 +51,7 @@
@Test public void testSetterMethodInjectionToContrastWithThatBelow() {

MutablePicoContainer pico = new DefaultPicoContainer();
- pico.addAdapter(new SetterInjector(SetterBurp.class, SetterBurp.class, Parameter.DEFAULT, new NullComponentMonitor(), new NullLifecycleStrategy(),
+ pico.addAdapter(new SetterInjector(SetterBurp.class, SetterBurp.class, Parameter.DEFAULT, new NullComponentMonitor(),
"set", false));
pico.addComponent(Wind.class, new Wind());
SetterBurp burp = pico.getComponent(SetterBurp.class);
@@ -62,7 +62,7 @@
@Test public void testNonSetterMethodInjection() {
MutablePicoContainer pico = new DefaultPicoContainer();
pico.addAdapter(new AnnotatedMethodInjector(AnnotatedBurp.class, AnnotatedBurp.class, Parameter.DEFAULT,
- new NullComponentMonitor(), new NullLifecycleStrategy(),
+ new NullComponentMonitor(),
Inject.class, false));
pico.addComponent(Wind.class, new Wind());
AnnotatedBurp burp = pico.getComponent(AnnotatedBurp.class);
@@ -87,7 +87,7 @@
@Test public void testNonSetterMethodInjectionWithAlternativeAnnotation() {
MutablePicoContainer pico = new DefaultPicoContainer();
pico.addAdapter(new AnnotatedMethodInjector(AnotherAnnotatedBurp.class, AnotherAnnotatedBurp.class, Parameter.DEFAULT,
- new NullComponentMonitor(), new NullLifecycleStrategy(),
+ new NullComponentMonitor(),
AlternativeInject.class, false));
pico.addComponent(Wind.class, new Wind());
AnotherAnnotatedBurp burp = pico.getComponent(AnotherAnnotatedBurp.class);

Modified: java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/CompositeInjectionTestCase.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/CompositeInjectionTestCase.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/CompositeInjectionTestCase.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -15,6 +15,8 @@
import org.picocontainer.DefaultPicoContainer;
import static org.picocontainer.injectors.NamedFieldInjection.injectionFieldNames;
import org.picocontainer.annotations.Inject;
+import org.picocontainer.containers.EmptyPicoContainer;
+import org.picocontainer.lifecycle.NullLifecycleStrategy;

/**
* @author Paul Hammant
@@ -78,7 +80,7 @@

@Test public void testComponentWithCtorAndSetterDiCanHaveAllDepsSatisfied() throws NoSuchMethodException {
DefaultPicoContainer dpc = new DefaultPicoContainer(
- new CompositeInjection(new ConstructorInjection(), new SetterInjection()));
+ new CompositeInjection(new ConstructorInjection(), new SetterInjection()), new NullLifecycleStrategy(), new EmptyPicoContainer());
dpc.addComponent(Bar.class);
dpc.addComponent(Baz.class);
dpc.addComponent(Foo.class);
@@ -90,7 +92,7 @@

@Test public void testComponentWithCtorAndSetterDiCanHaveAllDepsSatisfiedWithANonSetInjectMethod() throws NoSuchMethodException {
DefaultPicoContainer dpc = new DefaultPicoContainer(
- new CompositeInjection(new ConstructorInjection(), new SetterInjection("inject")));
+ new CompositeInjection(new ConstructorInjection(), new SetterInjection("inject")), new NullLifecycleStrategy(), new EmptyPicoContainer());
dpc.addComponent(Bar.class);
dpc.addComponent(Baz.class);
dpc.addComponent(Foo2.class);
@@ -102,7 +104,7 @@

@Test public void testComponentWithCtorAndMethodAnnotatedDiCanHaveAllDepsSatisfied() throws NoSuchMethodException {
DefaultPicoContainer dpc = new DefaultPicoContainer(
- new CompositeInjection(new ConstructorInjection(), new AnnotatedMethodInjection()));
+ new CompositeInjection(new ConstructorInjection(), new AnnotatedMethodInjection()), new NullLifecycleStrategy(), new EmptyPicoContainer());
dpc.addComponent(Bar.class);
dpc.addComponent(Baz.class);
dpc.addComponent(Foo3.class);
@@ -115,7 +117,7 @@

@Test public void testComponentWithCtorAndNamedFieldWorkToegether() throws NoSuchMethodException {
DefaultPicoContainer dpc = new DefaultPicoContainer(
- new CompositeInjection(new ConstructorInjection(), new NamedFieldInjection()));
+ new CompositeInjection(new ConstructorInjection(), new NamedFieldInjection()), new NullLifecycleStrategy(), new EmptyPicoContainer());
dpc.addComponent(Bar.class);
dpc.addConfig("one", "1");
dpc.addConfig("two", "2");

Modified: java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/ConstructorInjectionTestCase.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/ConstructorInjectionTestCase.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/ConstructorInjectionTestCase.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -19,6 +19,7 @@
import org.junit.Test;
import org.picocontainer.ComponentFactory;
import org.picocontainer.DefaultPicoContainer;
+import org.picocontainer.lifecycle.NullLifecycleStrategy;
import org.picocontainer.monitors.NullComponentMonitor;
import org.picocontainer.parameters.ConstantParameter;
import org.picocontainer.tck.AbstractComponentFactoryTest;
@@ -41,19 +42,6 @@
return new ConstructorInjection();
}

- @Test public void testCustomLifecycleCanBeInjected() throws NoSuchMethodException {
- RecordingLifecycleStrategy strategy = new RecordingLifecycleStrategy(new StringBuffer());
- ConstructorInjection componentFactory =
- new ConstructorInjection();
- ConstructorInjector cica = (ConstructorInjector)
- componentFactory.createComponentAdapter(new NullComponentMonitor(), strategy, new Properties(), NullLifecycle.class, NullLifecycle.class);
- One one = new RecordingLifecycle.One(new StringBuffer());
- cica.start(one);
- cica.stop(one);
- cica.dispose(one);
- assertEquals("<start<stop<dispose", strategy.recording());
- }
-
public static class ClassA {
private int x;
public ClassA(int x) {
@@ -101,7 +89,7 @@
ConstructorInjection componentFactory = new ConstructorInjection();

ConstructorInjector cica = (ConstructorInjector)
- componentFactory.createComponentAdapter(new NullComponentMonitor(), null, new Properties(), ClassAsConstructor.class, ClassAsConstructor.class, new ConstantParameter(String.class));
+ componentFactory.createComponentAdapter(new NullComponentMonitor(), new NullLifecycleStrategy(), new Properties(), ClassAsConstructor.class, ClassAsConstructor.class, new ConstantParameter(String.class));

ClassAsConstructor instance = (ClassAsConstructor) cica.getComponentInstance(picoContainer);
assertNotNull(instance);

Modified: java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/ConstructorInjectorTestCase.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/ConstructorInjectorTestCase.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/ConstructorInjectorTestCase.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -60,7 +60,7 @@
}

protected ComponentAdapter prepDEF_verifyWithoutDependencyWorks(MutablePicoContainer picoContainer) {
- return new ConstructorInjector("foo", A.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false);
+ return new ConstructorInjector("foo", A.class, null, new NullComponentMonitor(), false);
}

public static class A {
@@ -77,22 +77,22 @@

protected ComponentAdapter prepDEF_verifyDoesNotInstantiate(MutablePicoContainer picoContainer) {
picoContainer.addComponent(A.class);
- return new ConstructorInjector(B.class, B.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false);
+ return new ConstructorInjector(B.class, B.class, null, new NullComponentMonitor(), false);
}

protected ComponentAdapter prepDEF_visitable() {
- return new ConstructorInjector("bar", B.class, new Parameter[] {ComponentParameter.DEFAULT} , new NullComponentMonitor(), new NullLifecycleStrategy(), false);
+ return new ConstructorInjector("bar", B.class, new Parameter[] {ComponentParameter.DEFAULT} , new NullComponentMonitor(), false);
}

protected ComponentAdapter prepDEF_isAbleToTakeParameters(MutablePicoContainer picoContainer) {
picoContainer.addComponent(SimpleTouchable.class);
return new ConstructorInjector(
NamedDependsOnTouchable.class, NamedDependsOnTouchable.class,
- new Parameter[] {ComponentParameter.DEFAULT, new ConstantParameter("Name")} , new NullComponentMonitor(), new NullLifecycleStrategy(), false);
+ new Parameter[] {ComponentParameter.DEFAULT, new ConstantParameter("Name")} , new NullComponentMonitor(), false);
}

protected ComponentAdapter prepSER_isSerializable(MutablePicoContainer picoContainer) {
- return new ConstructorInjector(SimpleTouchable.class, SimpleTouchable.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false);
+ return new ConstructorInjector(SimpleTouchable.class, SimpleTouchable.class, null, new NullComponentMonitor(), false);
}

protected ComponentAdapter prepSER_isXStreamSerializable(final MutablePicoContainer picoContainer) {
@@ -106,11 +106,11 @@
}

protected ComponentAdapter prepVER_verificationFails(MutablePicoContainer picoContainer) {
- return new ConstructorInjector(DependsOnTouchable.class, DependsOnTouchable.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false);
+ return new ConstructorInjector(DependsOnTouchable.class, DependsOnTouchable.class, null, new NullComponentMonitor(), false);
}

protected ComponentAdapter prepINS_createsNewInstances(MutablePicoContainer picoContainer) {
- return new ConstructorInjector(SimpleTouchable.class, SimpleTouchable.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false);
+ return new ConstructorInjector(SimpleTouchable.class, SimpleTouchable.class, null, new NullComponentMonitor(), false);
}

public static class Erroneous {
@@ -120,7 +120,7 @@
}

protected ComponentAdapter prepINS_errorIsRethrown(MutablePicoContainer picoContainer) {
- return new ConstructorInjector(Erroneous.class, Erroneous.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false);
+ return new ConstructorInjector(Erroneous.class, Erroneous.class, null, new NullComponentMonitor(), false);
}

public static class RuntimeThrowing {
@@ -130,7 +130,7 @@
}

protected ComponentAdapter prepINS_runtimeExceptionIsRethrown(MutablePicoContainer picoContainer) {
- return new ConstructorInjector(RuntimeThrowing.class, RuntimeThrowing.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false);
+ return new ConstructorInjector(RuntimeThrowing.class, RuntimeThrowing.class, null, new NullComponentMonitor(), false);
}

public static class NormalExceptionThrowing {
@@ -141,12 +141,12 @@

protected ComponentAdapter prepINS_normalExceptionIsRethrownInsidePicoInitializationException(
MutablePicoContainer picoContainer) {
- return new ConstructorInjector(NormalExceptionThrowing.class, NormalExceptionThrowing.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false);
+ return new ConstructorInjector(NormalExceptionThrowing.class, NormalExceptionThrowing.class, null, new NullComponentMonitor(), false);
}

protected ComponentAdapter prepRES_dependenciesAreResolved(MutablePicoContainer picoContainer) {
picoContainer.addComponent(SimpleTouchable.class);
- return new ConstructorInjector(DependsOnTouchable.class, DependsOnTouchable.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false);
+ return new ConstructorInjector(DependsOnTouchable.class, DependsOnTouchable.class, null, new NullComponentMonitor(), false);
}

public static class C1 {
@@ -162,14 +162,14 @@
}

protected ComponentAdapter prepRES_failingVerificationWithCyclicDependencyException(MutablePicoContainer picoContainer) {
- final ComponentAdapter componentAdapter = new ConstructorInjector(C1.class, C1.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false);
+ final ComponentAdapter componentAdapter = new ConstructorInjector(C1.class, C1.class, null, new NullComponentMonitor(), false);
picoContainer.addAdapter(componentAdapter);
picoContainer.addComponent(C2.class, C2.class);
return componentAdapter;
}

protected ComponentAdapter prepRES_failingInstantiationWithCyclicDependencyException(MutablePicoContainer picoContainer) {
- final ComponentAdapter componentAdapter = new ConstructorInjector(C1.class, C1.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false);
+ final ComponentAdapter componentAdapter = new ConstructorInjector(C1.class, C1.class, null, new NullComponentMonitor(), false);
picoContainer.addAdapter(componentAdapter);
picoContainer.addComponent(C2.class, C2.class);
return componentAdapter;
@@ -318,7 +318,7 @@
}});

ConstructorInjector cica = new ConstructorInjector(
- Map.class, HashMap.class, new Parameter[0], monitor, new NullLifecycleStrategy(), false);
+ Map.class, HashMap.class, new Parameter[0], monitor, false);
cica.getComponentInstance(null, ComponentAdapter.NOTHING.class);
}

@@ -346,7 +346,7 @@

ConstructorInjector cica = new ConstructorInjector(
- ActionListener.class, BarfingActionListener.class, new Parameter[0], monitor, new NullLifecycleStrategy(), false);
+ ActionListener.class, BarfingActionListener.class, new Parameter[0], monitor, false);
try {
cica.getComponentInstance(null, ComponentAdapter.NOTHING.class);
fail("Should barf");
@@ -364,18 +364,6 @@
}
}

- @Test public void testCustomLifecycleCanBeInjected() throws NoSuchMethodException {
- RecordingLifecycleStrategy strategy = new RecordingLifecycleStrategy(new StringBuffer());
- ConstructorInjector cica = new ConstructorInjector(
- NullLifecycle.class, NullLifecycle.class, new Parameter[0],
- new AbstractComponentMonitor(), strategy, false);
- Touchable touchable = new SimpleTouchable();
- cica.start(touchable);
- cica.stop(touchable);
- cica.dispose(touchable);
- assertEquals("<start<stop<dispose", strategy.recording());
- }
-
public static class One {
public One(Two two) {
two.inc();

Modified: java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/InjectorTestCase.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/InjectorTestCase.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/InjectorTestCase.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -56,21 +56,4 @@
assertSame(getClass(), adapter.getComponentImplementation());
adapter.accept(parameterChecker);
}
-
- /**
- *
- */
- @Test
- public void testNotSoSimpleContstructor() {
- AbstractComponentAdapterTest.RecordingLifecycleStrategy strategy = new AbstractComponentAdapterTest.RecordingLifecycleStrategy(new StringBuffer());
- ConstructorInjector adapter = (ConstructorInjector) constructor(key, NullLifecycle.class, checkedArray, monitor, strategy, true);
- assertSame(key, adapter.getComponentKey());
- assertSame(NullLifecycle.class, adapter.getComponentImplementation());
- adapter.accept(parameterChecker);
- RecordingLifecycle.One one = new RecordingLifecycle.One(new StringBuffer());
- adapter.start(one);
- adapter.stop(one);
- adapter.dispose(one);
- assertEquals("<start<stop<dispose", strategy.recording());
- }
}

Added: java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/LifecycleAdapterTestCase.java (0 => 5575)

--- java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/LifecycleAdapterTestCase.java (rev 0)
+++ java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/LifecycleAdapterTestCase.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -0,0 +1,48 @@
+package org.picocontainer.injectors;
+
+import org.junit.Test;
+import org.picocontainer.ComponentMonitor;
+import org.picocontainer.ComponentMonitorStrategy;
+import org.picocontainer.Parameter;
+import org.picocontainer.monitors.AbstractComponentMonitor;
+import org.picocontainer.monitors.ConsoleComponentMonitor;
+import org.picocontainer.monitors.NullComponentMonitor;
+import org.picocontainer.monitors.WriterComponentMonitor;
+import org.picocontainer.tck.AbstractComponentAdapterTest;
+import org.picocontainer.testmodel.NullLifecycle;
+import org.picocontainer.testmodel.SimpleTouchable;
+import org.picocontainer.testmodel.Touchable;
+
+import java.io.PrintWriter;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+public class LifecycleAdapterTestCase {
+
+ private final ConstructorInjector INJECTOR = new ConstructorInjector(
+ NullLifecycle.class, NullLifecycle.class, new Parameter[0],
+ new NullComponentMonitor(), false);
+
+ private AbstractComponentAdapterTest.RecordingLifecycleStrategy strategy = new AbstractComponentAdapterTest.RecordingLifecycleStrategy(new StringBuffer());
+
+ @Test
+ public void passesOnLifecycleOperations() {
+ AbstractInjectionFactory.LifecycleAdapter la = new AbstractInjectionFactory.LifecycleAdapter(INJECTOR, strategy);
+ Touchable touchable = new SimpleTouchable();
+ la.start(touchable);
+ la.stop(touchable);
+ la.dispose(touchable);
+ assertEquals("<start<stop<dispose", strategy.recording());
+ }
+
+ @Test
+ public void canHaveMonitorChanged() {
+ AbstractComponentAdapterTest.RecordingLifecycleStrategy strategy = new AbstractComponentAdapterTest.RecordingLifecycleStrategy(new StringBuffer());
+ ComponentMonitorStrategy cms = new AbstractInjectionFactory.LifecycleAdapter(INJECTOR, strategy);
+ assertTrue(cms.currentMonitor() instanceof NullComponentMonitor);
+ cms.changeMonitor(new WriterComponentMonitor(new PrintWriter(System.out)));
+ assertTrue(cms.currentMonitor() instanceof WriterComponentMonitor);
+
+ }
+}

Modified: java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/MethodInjectionTestCase.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/MethodInjectionTestCase.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/MethodInjectionTestCase.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -23,6 +23,7 @@
import org.picocontainer.PicoBuilder;
import static org.picocontainer.Characteristics.USE_NAMES;
import org.picocontainer.annotations.Nullable;
+import org.picocontainer.containers.EmptyPicoContainer;
import org.picocontainer.lifecycle.NullLifecycleStrategy;
import org.picocontainer.monitors.NullComponentMonitor;

@@ -47,7 +48,7 @@
}

@Test public void testMethodInjection() {
- DefaultPicoContainer pico = new DefaultPicoContainer(new MethodInjection());
+ DefaultPicoContainer pico = new DefaultPicoContainer(new MethodInjection(), new NullLifecycleStrategy(), new EmptyPicoContainer());
pico.addComponent(123);
pico.addComponent(Foo.class);
pico.addComponent(Bar.class);
@@ -59,7 +60,7 @@

@Test public void testMethodInjectionViaMethodDef() {
Method mthd = Foo.class.getMethods()[0];
- DefaultPicoContainer pico = new DefaultPicoContainer(new MethodInjection(mthd));
+ DefaultPicoContainer pico = new DefaultPicoContainer(new MethodInjection(mthd), new NullLifecycleStrategy(), new EmptyPicoContainer());
pico.addComponent(123);
pico.addComponent(Foo.class);
pico.addComponent(new Bar());
@@ -71,7 +72,7 @@

@Test public void testMethodInjectionViaMethodDefViaInterface() {
Method mthd = IFoo.class.getMethods()[0];
- DefaultPicoContainer pico = new DefaultPicoContainer(new MethodInjection(mthd));
+ DefaultPicoContainer pico = new DefaultPicoContainer(new MethodInjection(mthd), new NullLifecycleStrategy(), new EmptyPicoContainer());
pico.addComponent(123);
pico.addComponent(Foo.class);
pico.addComponent(new Bar());
@@ -83,7 +84,7 @@

@Test public void testMethodInjectionViaCharacteristics() {
- DefaultPicoContainer pico = new DefaultPicoContainer();
+ DefaultPicoContainer pico = new DefaultPicoContainer(new NullLifecycleStrategy(), new EmptyPicoContainer());
pico.addComponent(123);
pico.as(Characteristics.METHOD_INJECTION).addComponent(Foo.class);
pico.addComponent(Bar.class);
@@ -96,7 +97,7 @@
@Test public void testMethodInjectionViaAdapter() {
DefaultPicoContainer pico = new DefaultPicoContainer(new MethodInjection());
pico.addComponent(123);
- pico.addAdapter(new MethodInjector(Foo.class, Foo.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), "inject", false));
+ pico.addAdapter(new MethodInjector(Foo.class, Foo.class, null, new NullComponentMonitor(), "inject", false));
pico.addComponent(Bar.class);
Foo foo = pico.getComponent(Foo.class);
assertNotNull(foo.bar);
@@ -126,7 +127,7 @@
}

@Test public void testMethodInjectionWithAllowedNullableParam() {
- DefaultPicoContainer pico = new DefaultPicoContainer(new MethodInjection());
+ DefaultPicoContainer pico = new DefaultPicoContainer(new MethodInjection(), new NullLifecycleStrategy(), new EmptyPicoContainer());
pico.addComponent(Foo2.class);
pico.addComponent(Bar.class);
Foo2 foo = pico.getComponent(Foo2.class);
@@ -150,7 +151,7 @@
}

@Test public void testMethodInjectionWithIntegerParamCanBeconvertedFromString() {
- DefaultPicoContainer pico = new DefaultPicoContainer(new MethodInjection());
+ DefaultPicoContainer pico = new DefaultPicoContainer(new MethodInjection(), new NullLifecycleStrategy(), new EmptyPicoContainer());
pico.as(USE_NAMES).addComponent(Foo.class);
pico.addComponent(Bar.class);
pico.addComponent("num", "123");

Modified: java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/NamedFieldInjectionTestCase.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/NamedFieldInjectionTestCase.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/NamedFieldInjectionTestCase.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -20,6 +20,7 @@
import org.picocontainer.ComponentAdapter;
import org.picocontainer.Parameter;
import org.picocontainer.Characteristics;
+import org.picocontainer.lifecycle.NullLifecycleStrategy;
import org.picocontainer.lifecycle.ReflectionLifecycleStrategy;
import org.picocontainer.monitors.ConsoleComponentMonitor;

@@ -32,7 +33,7 @@
ConsoleComponentMonitor cm = new ConsoleComponentMonitor();
Properties props = new Properties();
props.setProperty("injectionFieldNames", " aa pogo bb ");
- ComponentAdapter ca = injectionFactory.createComponentAdapter(cm, new ReflectionLifecycleStrategy(cm),
+ ComponentAdapter ca = injectionFactory.createComponentAdapter(cm, new NullLifecycleStrategy(),
props, Map.class, HashMap.class, Parameter.DEFAULT);

assertTrue(ca instanceof NamedFieldInjector);

Modified: java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/NamedFieldInjectorTestCase.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/NamedFieldInjectorTestCase.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/NamedFieldInjectorTestCase.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -36,8 +36,7 @@
@Test public void testFieldInjectionByType() {
MutablePicoContainer pico = new DefaultPicoContainer();
pico.addAdapter(new NamedFieldInjector(Helicopter.class, Helicopter.class, null,
- new NullComponentMonitor(),
- new NullLifecycleStrategy(), " aa bb cc pogo dd "));
+ new NullComponentMonitor(), " aa bb cc pogo dd "));
pico.addComponent(PogoStick.class, new PogoStick());
Helicopter chopper = pico.getComponent(Helicopter.class);
assertNotNull(chopper);
@@ -47,8 +46,7 @@
@Test public void testFieldInjectionByName() {
MutablePicoContainer pico = new DefaultPicoContainer();
pico.addAdapter(new NamedFieldInjector(Biplane.class, Biplane.class, null,
- new NullComponentMonitor(),
- new NullLifecycleStrategy(), " aa wing1 cc wing2 dd "));
+ new NullComponentMonitor(), " aa wing1 cc wing2 dd "));
pico.addConfig("wing1", "hello");
pico.addConfig("wing2", "goodbye");
Biplane biplane = pico.getComponent(Biplane.class);

Modified: java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/SetterInjectionTestCase.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/SetterInjectionTestCase.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/SetterInjectionTestCase.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -95,17 +95,6 @@
}
}

- @Test public void testCustomLifecycleCanBeInjected() throws NoSuchMethodException {
- RecordingLifecycleStrategy strategy = new RecordingLifecycleStrategy(new StringBuffer());
- SetterInjection componentFactory = new SetterInjection();
- SetterInjector sica = (SetterInjector)componentFactory.createComponentAdapter(new NullComponentMonitor(), strategy, new Properties(), NullLifecycle.class, NullLifecycle.class);
- One one = new RecordingLifecycle.One(new StringBuffer());
- sica.start(one);
- sica.stop(one);
- sica.dispose(one);
- assertEquals("<start<stop<dispose", strategy.recording());
- }
-
public static class AnotherNamedBean implements Bean {
private String name;

Modified: java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/SetterInjectorTestCase.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/SetterInjectorTestCase.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/SetterInjectorTestCase.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -54,24 +54,24 @@

protected ComponentAdapter prepDEF_verifyWithoutDependencyWorks(MutablePicoContainer picoContainer) {
return new SetterInjector(PersonBean.class, PersonBean.class, new Parameter[] {new ConstantParameter(
- "Pico Container")}, new NullComponentMonitor(), new NullLifecycleStrategy(), "set", false);
+ "Pico Container")}, new NullComponentMonitor(), "set", false);
}

protected ComponentAdapter prepDEF_verifyDoesNotInstantiate(MutablePicoContainer picoContainer) {
picoContainer.addComponent("Pico Container");
- return new SetterInjector(DeadBody.class, DeadBody.class, new Parameter[] {DEFAULT}, new NullComponentMonitor(), new NullLifecycleStrategy(),
+ return new SetterInjector(DeadBody.class, DeadBody.class, new Parameter[] {DEFAULT}, new NullComponentMonitor(),
"set", false);
}

protected ComponentAdapter prepDEF_visitable() {
return new SetterInjector(PersonBean.class, PersonBean.class, new Parameter[] {new ConstantParameter(
- "Pico Container")}, new NullComponentMonitor(), new NullLifecycleStrategy(), "set", false);
+ "Pico Container")}, new NullComponentMonitor(), "set", false);

}

protected ComponentAdapter prepSER_isSerializable(MutablePicoContainer picoContainer) {
picoContainer.addComponent("Pico Container");
- return new SetterInjector(PersonBean.class, PersonBean.class, new Parameter[] {DEFAULT}, new NullComponentMonitor(), new NullLifecycleStrategy(),
+ return new SetterInjector(PersonBean.class, PersonBean.class, new Parameter[] {DEFAULT}, new NullComponentMonitor(),
"set", false);
}

@@ -83,7 +83,7 @@
picoContainer.addComponent("Pico Container");
picoContainer.addComponent(PersonBean.class);
SetterInjector componentAdapter = new SetterInjector(
- PurseBean.class, MoneyPurse.class, new Parameter[] {DEFAULT, new ConstantParameter(100.0)}, new NullComponentMonitor(), new NullLifecycleStrategy(),
+ PurseBean.class, MoneyPurse.class, new Parameter[] {DEFAULT, new ConstantParameter(100.0)}, new NullComponentMonitor(),
"set", false);
return picoContainer.as(Characteristics.NO_CACHE).addAdapter(componentAdapter).getComponentAdapter(PurseBean.class, (NameBinding) null);
}
@@ -105,14 +105,14 @@
picoContainer.addComponent("Pico Container");
picoContainer.addComponent(PersonBean.class);
SetterInjector componentAdapter = new SetterInjector(
- PurseBean.class, MoneyPurse.class, new Parameter[] {DEFAULT},new NullComponentMonitor(), new NullLifecycleStrategy(),
+ PurseBean.class, MoneyPurse.class, new Parameter[] {DEFAULT},new NullComponentMonitor(),
"set", false);
return picoContainer.addAdapter(componentAdapter).getComponentAdapter(PurseBean.class, (NameBinding) null);
}

protected ComponentAdapter prepINS_createsNewInstances(MutablePicoContainer picoContainer) {
picoContainer.addComponent("Pico Container");
- return new SetterInjector(PersonBean.class, PersonBean.class, new Parameter[] {DEFAULT}, new NullComponentMonitor(), new NullLifecycleStrategy(),
+ return new SetterInjector(PersonBean.class, PersonBean.class, new Parameter[] {DEFAULT}, new NullComponentMonitor(),
"set", false);
}

@@ -125,7 +125,7 @@

protected ComponentAdapter prepINS_errorIsRethrown(MutablePicoContainer picoContainer) {
picoContainer.addComponent("Pico Container");
- return new SetterInjector(Ghost.class, Ghost.class, new Parameter[] {DEFAULT}, new NullComponentMonitor(), new NullLifecycleStrategy(),
+ return new SetterInjector(Ghost.class, Ghost.class, new Parameter[] {DEFAULT}, new NullComponentMonitor(),
"set", false);
}

@@ -138,7 +138,7 @@

protected ComponentAdapter prepINS_runtimeExceptionIsRethrown(MutablePicoContainer picoContainer) {
picoContainer.addComponent("Pico Container");
- return new SetterInjector(DeadBody.class, DeadBody.class, new Parameter[] {DEFAULT}, new NullComponentMonitor(), new NullLifecycleStrategy(),
+ return new SetterInjector(DeadBody.class, DeadBody.class, new Parameter[] {DEFAULT}, new NullComponentMonitor(),
"set", false);
}

@@ -153,14 +153,14 @@
MutablePicoContainer picoContainer) {
picoContainer.addComponent("Pico Container");
return new SetterInjector(
- HidingPersion.class, HidingPersion.class, new Parameter[] {DEFAULT}, new NullComponentMonitor(), new NullLifecycleStrategy(),
+ HidingPersion.class, HidingPersion.class, new Parameter[] {DEFAULT}, new NullComponentMonitor(),
"set", false);
}

protected ComponentAdapter prepRES_dependenciesAreResolved(MutablePicoContainer picoContainer) {
picoContainer.addComponent("Pico Container");
picoContainer.addComponent(PersonBean.class);
- return new SetterInjector(PurseBean.class, PurseBean.class, new Parameter[] {DEFAULT}, new NullComponentMonitor(), new NullLifecycleStrategy(),
+ return new SetterInjector(PurseBean.class, PurseBean.class, new Parameter[] {DEFAULT}, new NullComponentMonitor(),
"set", false);
}

@@ -181,7 +181,7 @@
picoContainer.addComponent("Pico Container");
picoContainer.addComponent(PersonBean.class, WealthyPerson.class);
SetterInjector componentAdapter = new SetterInjector(
- PurseBean.class, PurseBean.class, new Parameter[] {DEFAULT}, new NullComponentMonitor(), new NullLifecycleStrategy(),
+ PurseBean.class, PurseBean.class, new Parameter[] {DEFAULT}, new NullComponentMonitor(),
"set", false);
return picoContainer.as(Characteristics.NO_CACHE).addAdapter(componentAdapter).getComponentAdapter(PurseBean.class, (NameBinding) null);
}
@@ -190,7 +190,7 @@
picoContainer.addComponent("Pico Container");
picoContainer.addComponent(PersonBean.class, WealthyPerson.class);
SetterInjector componentAdapter = new SetterInjector(
- PurseBean.class, PurseBean.class, new Parameter[] {DEFAULT}, new NullComponentMonitor(), new NullLifecycleStrategy(),
+ PurseBean.class, PurseBean.class, new Parameter[] {DEFAULT}, new NullComponentMonitor(),
"set", false);
return picoContainer.as(Characteristics.NO_CACHE).addAdapter(componentAdapter).getComponentAdapter(PurseBean.class, (NameBinding) null);
}
@@ -260,9 +260,9 @@
}

@Test public void testAllUnsatisfiableDependenciesAreSignalled() {
- SetterInjector aAdapter = new SetterInjector("a", A.class, Parameter.DEFAULT, new NullComponentMonitor(), new NullLifecycleStrategy(),
+ SetterInjector aAdapter = new SetterInjector("a", A.class, Parameter.DEFAULT, new NullComponentMonitor(),
"set", false);
- SetterInjector bAdapter = new SetterInjector("b", B.class, Parameter.DEFAULT, new NullComponentMonitor(), new NullLifecycleStrategy(),
+ SetterInjector bAdapter = new SetterInjector("b", B.class, Parameter.DEFAULT, new NullComponentMonitor(),
"set", false);

MutablePicoContainer pico = new DefaultPicoContainer();
@@ -278,9 +278,9 @@
}

@Test public void testAllUnsatisfiableDependenciesAreSignalled2() {
- SetterInjector aAdapter = new SetterInjector(A2.class, A2.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(),
+ SetterInjector aAdapter = new SetterInjector(A2.class, A2.class, null, new NullComponentMonitor(),
"set", false);
- SetterInjector bAdapter = new SetterInjector("b", B.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(),
+ SetterInjector bAdapter = new SetterInjector("b", B.class, null, new NullComponentMonitor(),
"set", false);

MutablePicoContainer pico = new DefaultPicoContainer();
@@ -323,7 +323,7 @@
@Test public void testSetterMethodInjectionToContrastWithThatBelow() {

MutablePicoContainer pico = new DefaultPicoContainer();
- pico.addAdapter(new SetterInjector(SetterBurp.class, SetterBurp.class, Parameter.DEFAULT, new NullComponentMonitor(), new NullLifecycleStrategy(),
+ pico.addAdapter(new SetterInjector(SetterBurp.class, SetterBurp.class, Parameter.DEFAULT, new NullComponentMonitor(),
"set", false));
pico.addComponent(Wind.class, new Wind());
SetterBurp burp = pico.getComponent(SetterBurp.class);
@@ -333,7 +333,7 @@

@Test public void testNonSetterMethodInjection() {
MutablePicoContainer pico = new DefaultPicoContainer();
- pico.addAdapter(new SetterInjector(InitBurp.class, InitBurp.class, Parameter.DEFAULT, new NullComponentMonitor(), new NullLifecycleStrategy(),
+ pico.addAdapter(new SetterInjector(InitBurp.class, InitBurp.class, Parameter.DEFAULT, new NullComponentMonitor(),
"set", false) {
protected String getInjectorPrefix() {
return "init";
@@ -347,7 +347,7 @@

@Test public void testNonSetterMethodInjectionWithoutOverridingSetterPrefix() {
MutablePicoContainer pico = new DefaultPicoContainer();
- pico.addAdapter(new SetterInjector(InitBurp.class, InitBurp.class, new Parameter[0], new NullComponentMonitor(), new NullLifecycleStrategy(),
+ pico.addAdapter(new SetterInjector(InitBurp.class, InitBurp.class, new Parameter[0], new NullComponentMonitor(),
"set", false));
pico.addComponent(Wind.class, new Wind());
InitBurp burp = pico.getComponent(InitBurp.class);
@@ -393,11 +393,11 @@
}

@Test public void testHybridBeans() {
- SetterInjector bAdapter = new SetterInjector("b", B.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(),
+ SetterInjector bAdapter = new SetterInjector("b", B.class, null, new NullComponentMonitor(),
"set", false);
- SetterInjector cAdapter = new SetterInjector("c", C.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(),
+ SetterInjector cAdapter = new SetterInjector("c", C.class, null, new NullComponentMonitor(),
"set", false);
- SetterInjector cNullAdapter = new SetterInjector("c0", C.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(),
+ SetterInjector cNullAdapter = new SetterInjector("c0", C.class, null, new NullComponentMonitor(),
"set", false);

MutablePicoContainer pico = new DefaultPicoContainer();
@@ -449,18 +449,5 @@
assertSame(yin, yang.getYin());
assertSame(yang, yin.getYang());
}
-
- @Test public void testCustomLifecycleCanBeInjected() throws NoSuchMethodException {
- RecordingLifecycleStrategy strategy = new RecordingLifecycleStrategy(new StringBuffer());
- SetterInjector sica = new SetterInjector(
- NullLifecycle.class, NullLifecycle.class, new Parameter[0],
- new AbstractComponentMonitor(), strategy, "set", false);
- Touchable touchable = new SimpleTouchable();
- sica.start(touchable);
- sica.stop(touchable);
- sica.dispose(touchable);
- assertEquals("<start<stop<dispose", strategy.recording());
- }

-
}

Modified: java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/TypedFieldInjectionTestCase.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/TypedFieldInjectionTestCase.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/TypedFieldInjectionTestCase.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -18,6 +18,7 @@
import org.junit.Test;
import org.picocontainer.ComponentAdapter;
import org.picocontainer.Parameter;
+import org.picocontainer.lifecycle.NullLifecycleStrategy;
import org.picocontainer.lifecycle.ReflectionLifecycleStrategy;
import org.picocontainer.monitors.ConsoleComponentMonitor;

@@ -39,7 +40,7 @@
ConsoleComponentMonitor cm = new ConsoleComponentMonitor();
Properties props = new Properties();
props.setProperty("injectionFieldTypes", FIELD_TYPES);
- ComponentAdapter ca = injectionFactory.createComponentAdapter(cm, new ReflectionLifecycleStrategy(cm),
+ ComponentAdapter ca = injectionFactory.createComponentAdapter(cm, new NullLifecycleStrategy(),
props, Map.class, HashMap.class, Parameter.DEFAULT);

assertTrue(ca instanceof TypedFieldInjector);

Modified: java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/TypedFieldInjectorTestCase.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/TypedFieldInjectorTestCase.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/TypedFieldInjectorTestCase.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -30,7 +30,6 @@
MutablePicoContainer pico = new DefaultPicoContainer();
pico.addAdapter(new TypedFieldInjector(Helicopter.class, Helicopter.class, null,
new NullComponentMonitor(),
- new NullLifecycleStrategy(),
Integer.class.getName() + " " + PogoStick.class.getName() + " " + Float.class.getName()));
pico.addComponent(PogoStick.class, new PogoStick());
Helicopter chopper = pico.getComponent(Helicopter.class);

Modified: java/2.x/trunk/pico/container/src/test/org/picocontainer/tck/AbstractPicoContainerTest.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/test/org/picocontainer/tck/AbstractPicoContainerTest.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/test/org/picocontainer/tck/AbstractPicoContainerTest.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -317,8 +317,8 @@
/** Important! Nanning really, really depends on this! */
@Test public void testComponentAdapterRegistrationOrderIsMaintained() throws NoSuchMethodException {

- ConstructorInjector c1 = new ConstructorInjector("1", Object.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false);
- ConstructorInjector c2 = new ConstructorInjector("2", String.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false);
+ ConstructorInjector c1 = new ConstructorInjector("1", Object.class, null, new NullComponentMonitor(), false);
+ ConstructorInjector c2 = new ConstructorInjector("2", String.class, null, new NullComponentMonitor(), false);

MutablePicoContainer picoContainer = createPicoContainer(null);
picoContainer.addAdapter(c1).addAdapter(c2);
@@ -760,22 +760,22 @@
final MutablePicoContainer parent = createPicoContainer(null);
final MutablePicoContainer child = parent.makeChildContainer();
ComponentAdapter hashMapAdapter =
- parent.as(getProperties()).addAdapter(new ConstructorInjector(HashMap.class, HashMap.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false))
+ parent.as(getProperties()).addAdapter(new ConstructorInjector(HashMap.class, HashMap.class, null, new NullComponentMonitor(), false))
.getComponentAdapter(HashMap.class, (NameBinding) null);
ComponentAdapter hashSetAdapter =
- parent.as(getProperties()).addAdapter(new ConstructorInjector(HashSet.class, HashSet.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false))
+ parent.as(getProperties()).addAdapter(new ConstructorInjector(HashSet.class, HashSet.class, null, new NullComponentMonitor(), false))
.getComponentAdapter(HashSet.class, (NameBinding) null);
InstanceAdapter instanceAdapter = new InstanceAdapter(String.class, "foo",
new NullLifecycleStrategy(),
new NullComponentMonitor());
ComponentAdapter stringAdapter = parent.as(getProperties()).addAdapter(instanceAdapter).getComponentAdapter(instanceAdapter.getComponentKey());
ComponentAdapter arrayListAdapter =
- child.as(getProperties()).addAdapter(new ConstructorInjector(ArrayList.class, ArrayList.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false))
+ child.as(getProperties()).addAdapter(new ConstructorInjector(ArrayList.class, ArrayList.class, null, new NullComponentMonitor(), false))
.getComponentAdapter(ArrayList.class, (NameBinding) null);
Parameter componentParameter = BasicComponentParameter.BASIC_DEFAULT;
Parameter throwableParameter = new ConstantParameter(new Throwable("bar"));
ConstructorInjector ci = new ConstructorInjector(Exception.class, Exception.class, new Parameter[] {componentParameter,
- throwableParameter}, new NullComponentMonitor(), new NullLifecycleStrategy(), false);
+ throwableParameter}, new NullComponentMonitor(), false);
ComponentAdapter exceptionAdapter = child.as(getProperties()).addAdapter(ci).getComponentAdapter(Exception.class, (NameBinding) null);

List<Class> expectedList = new ArrayList<Class>();

Modified: java/2.x/trunk/pico/container/src/test/org/picocontainer/visitors/TraversalCheckingVisitorTest.java (5574 => 5575)

--- java/2.x/trunk/pico/container/src/test/org/picocontainer/visitors/TraversalCheckingVisitorTest.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/container/src/test/org/picocontainer/visitors/TraversalCheckingVisitorTest.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -53,11 +53,11 @@

pico = new DefaultPicoContainer();
SetterInjector componentAdapter = new SetterInjector(StringBuffer.class, StringBuffer.class,
- null, new NullComponentMonitor(), new NullLifecycleStrategy(),
+ null, new NullComponentMonitor(),
"set", false);
parentAdapter = pico.addAdapter(componentAdapter).getComponentAdapter(StringBuffer.class, (NameBinding) null);
child = pico.makeChildContainer();
- ConstructorInjector adapter = new ConstructorInjector(ArrayList.class, ArrayList.class, new Parameter[] {new ConstantParameter(3)}, new NullComponentMonitor(), new NullLifecycleStrategy(), false);
+ ConstructorInjector adapter = new ConstructorInjector(ArrayList.class, ArrayList.class, new Parameter[] {new ConstantParameter(3)}, new NullComponentMonitor(), false);
childAdapter = child.addAdapter(adapter).getComponentAdapter(ArrayList.class, (NameBinding) null);
}

Modified: java/2.x/trunk/pico/gems/src/test/org/picocontainer/gems/adapters/ThreadLocalComponentAdapterTest.java (5574 => 5575)

--- java/2.x/trunk/pico/gems/src/test/org/picocontainer/gems/adapters/ThreadLocalComponentAdapterTest.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/gems/src/test/org/picocontainer/gems/adapters/ThreadLocalComponentAdapterTest.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -55,7 +55,7 @@

private ComponentAdapter createComponentAdapterWithSimpleTouchable() {
return new ThreadLocalized(new ConstructorInjector(
- Touchable.class, SimpleTouchable.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false));
+ Touchable.class, SimpleTouchable.class, null, new NullComponentMonitor(), false));
}

@Override
@@ -76,7 +76,7 @@
@Override
protected ComponentAdapter prepDEF_isAbleToTakeParameters(final MutablePicoContainer picoContainer) {
return new ThreadLocalized(new ConstructorInjector(
- List.class, ArrayList.class, new Parameter[] {new ConstantParameter(10)}, new NullComponentMonitor(), new NullLifecycleStrategy(), false));
+ List.class, ArrayList.class, new Parameter[] {new ConstantParameter(10)}, new NullComponentMonitor(), false));
}

@Override
@@ -136,7 +136,7 @@
final Set<Touchable> set = Collections.synchronizedSet(new HashSet<Touchable>());
final List<Touchable> list = Collections.synchronizedList(new ArrayList<Touchable>());
final ComponentAdapter componentAdapter = new ThreadLocalized(new ConstructorInjector(
- Touchable.class, SimpleTouchable.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false));
+ Touchable.class, SimpleTouchable.class, null, new NullComponentMonitor(), false));
final Touchable touchable = (Touchable)componentAdapter.getComponentInstance(null, ComponentAdapter.NOTHING.class);

final Thread[] threads = {
@@ -163,7 +163,7 @@

public void testThreadLocalInstancesEqual() throws Exception {
final ComponentAdapter componentAdapter = new ThreadLocalized(new ConstructorInjector(
- Touchable.class, SimpleTouchable.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false));
+ Touchable.class, SimpleTouchable.class, null, new NullComponentMonitor(), false));
final Touchable touchable = (Touchable)componentAdapter.getComponentInstance(null, ComponentAdapter.NOTHING.class);
assertEquals(touchable, touchable);
}
@@ -172,8 +172,8 @@
public final void testInstancesAreNotSharedBetweenContainers() {
final MutablePicoContainer picoA = new DefaultPicoContainer();
final MutablePicoContainer picoB = new DefaultPicoContainer();
- picoA.addAdapter(new ThreadLocalized(new ConstructorInjector(List.class, ArrayList.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false)));
- picoB.addAdapter(new ThreadLocalized(new ConstructorInjector(List.class, ArrayList.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false)));
+ picoA.addAdapter(new ThreadLocalized(new ConstructorInjector(List.class, ArrayList.class, null, new NullComponentMonitor(), false)));
+ picoB.addAdapter(new ThreadLocalized(new ConstructorInjector(List.class, ArrayList.class, null, new NullComponentMonitor(), false)));
final List<String> hello1 = picoA.getComponent(List.class);
final List hello2 = picoA.getComponent(List.class);
hello1.add("foo");
@@ -185,7 +185,7 @@
/** Test fail-fast for components without interface. */
public void testComponentMustImplementInterface() {
try {
- new ThreadLocalized(new ConstructorInjector(Object.class, Object.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false));
+ new ThreadLocalized(new ConstructorInjector(Object.class, Object.class, null, new NullComponentMonitor(), false));
fail("PicoCompositionException expected");
} catch (final PicoCompositionException e) {
assertTrue(e.getMessage().endsWith("It does not implement any interfaces."));
@@ -216,7 +216,7 @@

public void testExceptionHandling() {
final ComponentAdapter componentAdapter = new ThreadLocalized(new ConstructorInjector(
- TargetInvocationExceptionTester.class, ThrowingComponent.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false));
+ TargetInvocationExceptionTester.class, ThrowingComponent.class, null, new NullComponentMonitor(), false));
final TargetInvocationExceptionTester tester =
(TargetInvocationExceptionTester)componentAdapter.getComponentInstance(null, ComponentAdapter.NOTHING.class);
try {
@@ -242,7 +242,7 @@
/** Test ComponentAdapter using simple keys. */
public final void testSimpleKeys() {
final ComponentAdapter componentAdapter = new ThreadLocalized(new ConstructorInjector(
- "List", ArrayList.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false));
+ "List", ArrayList.class, null, new NullComponentMonitor(), false));
final List hello = (List)componentAdapter.getComponentInstance(null, ComponentAdapter.NOTHING.class);
assertNotNull(hello);
}

Modified: java/2.x/trunk/pico/gems/src/test/org/picocontainer/gems/behaviors/AsmImplementationHidingTestCase.java (5574 => 5575)

--- java/2.x/trunk/pico/gems/src/test/org/picocontainer/gems/behaviors/AsmImplementationHidingTestCase.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/gems/src/test/org/picocontainer/gems/behaviors/AsmImplementationHidingTestCase.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -25,6 +25,7 @@
import org.picocontainer.PicoBuilder;
import org.picocontainer.adapters.InstanceAdapter;
import org.picocontainer.behaviors.AbstractBehavior;
+import org.picocontainer.containers.EmptyPicoContainer;
import org.picocontainer.gems.PicoGemsBuilder;
import org.picocontainer.gems.adapters.Elephant;
import org.picocontainer.gems.adapters.ElephantImpl;
@@ -44,7 +45,7 @@
@Test
public void testAddComponentUsesImplementationHidingBehavior() {
DefaultPicoContainer pico =
- new DefaultPicoContainer(new AsmImplementationHiding().wrap(new ConstructorInjection()));
+ new DefaultPicoContainer(new AsmImplementationHiding().wrap(new ConstructorInjection()), new NullLifecycleStrategy(), new EmptyPicoContainer());
pico.addComponent("foo", String.class);
ComponentAdapter<?> foo = pico.getComponentAdapter("foo");
assertEquals(AsmHiddenImplementation.class, foo.getClass());
@@ -54,7 +55,7 @@
@Test
public void testAddComponentUsesImplementationHidingBehaviorWithRedundantHideImplProperty() {
DefaultPicoContainer pico =
- new DefaultPicoContainer(new AsmImplementationHiding().wrap(new ConstructorInjection()));
+ new DefaultPicoContainer(new AsmImplementationHiding().wrap(new ConstructorInjection()), new NullLifecycleStrategy(), new EmptyPicoContainer());
pico.change(Characteristics.HIDE_IMPL).addComponent("foo", String.class);
ComponentAdapter<?> foo = pico.getComponentAdapter("foo");
assertEquals(AsmHiddenImplementation.class, foo.getClass());
@@ -64,7 +65,7 @@
@Test
public void testAddComponentNoesNotUseImplementationHidingBehaviorWhenNoCachePropertyIsSpecified() {
DefaultPicoContainer pico =
- new DefaultPicoContainer(new AsmImplementationHiding().wrap(new ConstructorInjection()));
+ new DefaultPicoContainer(new AsmImplementationHiding().wrap(new ConstructorInjection()), new NullLifecycleStrategy(), new EmptyPicoContainer());
pico.change(Characteristics.NO_HIDE_IMPL).addComponent("foo", String.class);
ComponentAdapter<?> foo = pico.getComponentAdapter("foo");
assertEquals(ConstructorInjector.class, foo.getClass());

Modified: java/2.x/trunk/pico/gems/src/test/org/picocontainer/gems/behaviors/AssimilatedTestCase.java (5574 => 5575)

--- java/2.x/trunk/pico/gems/src/test/org/picocontainer/gems/behaviors/AssimilatedTestCase.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/gems/src/test/org/picocontainer/gems/behaviors/AssimilatedTestCase.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -48,7 +48,7 @@
@Test public void testInstanceIsBorgedAndCompatibleWithGenerics() {
final MutablePicoContainer mpc = new DefaultPicoContainer();
final ComponentAdapter<CompatibleTouchable> componentAdapter = new Cached<CompatibleTouchable>(new ConstructorInjector(
- CompatibleTouchable.class, CompatibleTouchable.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false));
+ CompatibleTouchable.class, CompatibleTouchable.class, null, new NullComponentMonitor(), false));
mpc.addAdapter(new Assimilated<Touchable>(Touchable.class, componentAdapter));
final CompatibleTouchable compatibleTouchable = componentAdapter.getComponentInstance(mpc,null);
final Touchable touchable = mpc.getComponent(Touchable.class);
@@ -64,7 +64,7 @@
@Test public void testComponentKeyIsPreserved() {
final MutablePicoContainer mpc = new DefaultPicoContainer();
final ComponentAdapter<CompatibleTouchable> componentAdapter = new Cached<CompatibleTouchable>(new ConstructorInjector(
- "Touchy", CompatibleTouchable.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false));
+ "Touchy", CompatibleTouchable.class, null, new NullComponentMonitor(), false));
mpc.addAdapter(new Assimilated(Touchable.class, componentAdapter));
final CompatibleTouchable compatibleTouchable = componentAdapter.getComponentInstance(mpc,null);
final Touchable touchable = (Touchable)mpc.getComponent("Touchy");
@@ -140,7 +140,7 @@

private ComponentAdapter createComponentAdapterWithTouchable() {
return new Assimilated(Touchable.class, new ConstructorInjector(
- CompatibleTouchable.class, CompatibleTouchable.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false));
+ CompatibleTouchable.class, CompatibleTouchable.class, null, new NullComponentMonitor(), false));
}

@Override

Modified: java/2.x/trunk/pico/gems/src/test/org/picocontainer/gems/behaviors/HotSwappingTestCase.java (5574 => 5575)

--- java/2.x/trunk/pico/gems/src/test/org/picocontainer/gems/behaviors/HotSwappingTestCase.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/gems/src/test/org/picocontainer/gems/behaviors/HotSwappingTestCase.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -97,7 +97,7 @@
@Test
public void testSwappingViaSwappableInterface() {
MutablePicoContainer pico = new DefaultPicoContainer();
- ConstructorInjector constructorInjector = new ConstructorInjector("l", ArrayList.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false);
+ ConstructorInjector constructorInjector = new ConstructorInjector("l", ArrayList.class, null, new NullComponentMonitor(), false);
HotSwappable hsca = (HotSwappable) pico.addAdapter(new HotSwappable(constructorInjector)).getComponentAdapter(constructorInjector.getComponentKey());
List l = (List)pico.getComponent("l");
l.add("Hello");

Modified: java/2.x/trunk/pico/gems/src/test/org/picocontainer/gems/behaviors/PooledTestCase.java (5574 => 5575)

--- java/2.x/trunk/pico/gems/src/test/org/picocontainer/gems/behaviors/PooledTestCase.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/gems/src/test/org/picocontainer/gems/behaviors/PooledTestCase.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -74,7 +74,7 @@
@Test
public void testNewIsInstantiatedOnEachRequest() {
ComponentAdapter componentAdapter = new Pooled(new ConstructorInjector(
- Identifiable.class, InstanceCounter.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false), new Pooled.DefaultContext());
+ Identifiable.class, InstanceCounter.class, null, new NullComponentMonitor(), false), new Pooled.DefaultContext());

Object borrowed0 = componentAdapter.getComponentInstance(null, ComponentAdapter.NOTHING.class);
Object borrowed1 = componentAdapter.getComponentInstance(null, ComponentAdapter.NOTHING.class);
@@ -85,7 +85,7 @@
@Test
public void testInstancesAreDifferent() throws InterruptedException {
ComponentAdapter componentAdapter = new Pooled(new ConstructorInjector(
- Identifiable.class, InstanceCounter.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false), new Pooled.DefaultContext());
+ Identifiable.class, InstanceCounter.class, null, new NullComponentMonitor(), false), new Pooled.DefaultContext());

Object borrowed0 = componentAdapter.getComponentInstance(null, ComponentAdapter.NOTHING.class);
Object borrowed1 = componentAdapter.getComponentInstance(null, ComponentAdapter.NOTHING.class);
@@ -98,7 +98,7 @@
@Test
public void testInstancesCanBeRecycled() throws InterruptedException {
ComponentAdapter componentAdapter = new Pooled(new ConstructorInjector(
- Identifiable.class, InstanceCounter.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false), new Pooled.DefaultContext());
+ Identifiable.class, InstanceCounter.class, null, new NullComponentMonitor(), false), new Pooled.DefaultContext());

Identifiable borrowed = (Identifiable)componentAdapter.getComponentInstance(null, ComponentAdapter.NOTHING.class);
assertEquals(0, borrowed.getId());
@@ -112,7 +112,7 @@
@Test
public void testBlocksWhenExhausted() throws InterruptedException {
final ComponentAdapter componentAdapter = new Pooled(new ConstructorInjector(
- Identifiable.class, InstanceCounter.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false), new Pooled.DefaultContext() {
+ Identifiable.class, InstanceCounter.class, null, new NullComponentMonitor(), false), new Pooled.DefaultContext() {
@Override
public int getMaxSize() {
return 2;
@@ -174,7 +174,7 @@
@Test
public void testTimeoutWhenExhausted() {
final ComponentAdapter componentAdapter = new Pooled(new ConstructorInjector(
- Identifiable.class, InstanceCounter.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false), new Pooled.DefaultContext() {
+ Identifiable.class, InstanceCounter.class, null, new NullComponentMonitor(), false), new Pooled.DefaultContext() {
@Override
public int getMaxSize() {
return 2;
@@ -203,7 +203,7 @@
@Test
public void testGrowsAlways() {
Pooled behavior = new Pooled(
- new ConstructorInjector("foo", Object.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false),
+ new ConstructorInjector("foo", Object.class, null, new NullComponentMonitor(), false),
new Pooled.DefaultContext() {

@Override
@@ -247,7 +247,7 @@
@Test
public void testFailsWhenExhausted() {
final Pooled behavior = new Pooled(
- new ConstructorInjector(Identifiable.class, InstanceCounter.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false),
+ new ConstructorInjector(Identifiable.class, InstanceCounter.class, null, new NullComponentMonitor(), false),
new Pooled.DefaultContext() {
@Override
public int getMaxSize() {
@@ -273,7 +273,7 @@
@Test
public void testInternalGCCall() {
ComponentAdapter componentAdapter = new Pooled(new ConstructorInjector(
- Identifiable.class, InstanceCounter.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false), new Pooled.DefaultContext() {
+ Identifiable.class, InstanceCounter.class, null, new NullComponentMonitor(), false), new Pooled.DefaultContext() {
@Override
public int getMaxSize() {
return 1;
@@ -303,7 +303,7 @@
private ComponentAdapter prepDEF_lifecycleManagerSupport(final MutablePicoContainer picoContainer) {
picoContainer.addComponent(RecordingLifecycle.One.class);
Pooled poolingBehavior = new Pooled(new ConstructorInjector(
- RecordingLifecycle.Recorder.class, RecordingLifecycle.Two.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false), new Pooled.DefaultContext());
+ RecordingLifecycle.Recorder.class, RecordingLifecycle.Two.class, null, new NullComponentMonitor(), false), new Pooled.DefaultContext());
return picoContainer.addAdapter(poolingBehavior).getComponentAdapter(RecordingLifecycle.One.class, (NameBinding) null);
}

@@ -340,7 +340,7 @@
private ComponentAdapter prepRES_lifecycleManagerHonorsInstantiationSequence(final MutablePicoContainer picoContainer) {
picoContainer.addComponent(RecordingLifecycle.One.class);
Pooled poolingBehavior = new Pooled(new ConstructorInjector(
- RecordingLifecycle.Recorder.class, RecordingLifecycle.Two.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false), new Pooled.DefaultContext());
+ RecordingLifecycle.Recorder.class, RecordingLifecycle.Two.class, null, new NullComponentMonitor(), false), new Pooled.DefaultContext());
return picoContainer.addAdapter(poolingBehavior).getComponentAdapter(RecordingLifecycle.Two.class, (NameBinding) null);
}

@@ -379,7 +379,7 @@

private ComponentAdapter createPoolOfTouchables() {
return new Pooled(new ConstructorInjector(
- Touchable.class, SimpleTouchable.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false), new Pooled.DefaultContext());
+ Touchable.class, SimpleTouchable.class, null, new NullComponentMonitor(), false), new Pooled.DefaultContext());
}

@Override
@@ -399,7 +399,7 @@

private ComponentAdapter createSerializable() {
return new Pooled(new ConstructorInjector(
- Identifiable.class, InstanceCounter.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false), new Pooled.DefaultContext());
+ Identifiable.class, InstanceCounter.class, null, new NullComponentMonitor(), false), new Pooled.DefaultContext());
}

@Override

Modified: java/2.x/trunk/pico/gems/src/test/org/picocontainer/gems/containers/AbstractTracingContainerDecoratorTest.java (5574 => 5575)

--- java/2.x/trunk/pico/gems/src/test/org/picocontainer/gems/containers/AbstractTracingContainerDecoratorTest.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/gems/src/test/org/picocontainer/gems/containers/AbstractTracingContainerDecoratorTest.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -171,7 +171,7 @@
}

@Test public void testGetComponentAdapter() {
- final ConstructorInjector testAdapter = new ConstructorInjector(String.class, String.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false);
+ final ConstructorInjector testAdapter = new ConstructorInjector(String.class, String.class, null, new NullComponentMonitor(), false);
mockery.checking(new Expectations(){{
one(picoContainer).getComponentAdapter(with(same(String.class)), with(aNull(NameBinding.class)));
will(returnValue(testAdapter));
@@ -202,7 +202,7 @@
}

@Test public void testGetComponentAdapterOfType() {
- final ConstructorInjector testAdapter = new ConstructorInjector(String.class, String.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false);
+ final ConstructorInjector testAdapter = new ConstructorInjector(String.class, String.class, null, new NullComponentMonitor(), false);
mockery.checking(new Expectations(){{
one(picoContainer).getComponentAdapter(with(same(String.class)), with(aNull(NameBinding.class)));
will(returnValue(testAdapter));
@@ -340,7 +340,7 @@
}

@Test public void testRegisterComponent() {
- final ConstructorInjector testAdapter = new ConstructorInjector(String.class, String.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false);
+ final ConstructorInjector testAdapter = new ConstructorInjector(String.class, String.class, null, new NullComponentMonitor(), false);
mockery.checking(new Expectations(){{
one(picoContainer).addAdapter(with(same(testAdapter)));
will(returnValue(picoContainer));
@@ -353,7 +353,7 @@
}

@Test public void testRegisterComponentImplementationClass() {
- final ConstructorInjector testAdapter = new ConstructorInjector(String.class, String.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false);
+ final ConstructorInjector testAdapter = new ConstructorInjector(String.class, String.class, null, new NullComponentMonitor(), false);
mockery.checking(new Expectations(){{
one(picoContainer).addComponent(with(same(String.class)));
will(returnValue(picoContainer));
@@ -366,7 +366,7 @@
}

@Test public void testRegisterComponentImplementationWithKeyAndClass() {
- final ConstructorInjector testAdapter = new ConstructorInjector(String.class, String.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false);
+ final ConstructorInjector testAdapter = new ConstructorInjector(String.class, String.class, null, new NullComponentMonitor(), false);
mockery.checking(new Expectations(){{
one(picoContainer).addComponent(with(same(String.class)), with(same(String.class)), with(equal(Parameter.ZERO)));
will(returnValue(picoContainer));
@@ -399,7 +399,7 @@

@Test public void testRegisterComponentImplementationObjectClassParameterArray() {
final Parameter params[] = new Parameter []{new ConstantParameter("test")};
- final ConstructorInjector testAdapter = new ConstructorInjector(String.class, String.class, params, new NullComponentMonitor(), new NullLifecycleStrategy(), false);
+ final ConstructorInjector testAdapter = new ConstructorInjector(String.class, String.class, params, new NullComponentMonitor(), false);
mockery.checking(new Expectations(){{
one(picoContainer).addComponent(with(same(String.class)), with(same(String.class)), with(same(params)));
will(returnValue(picoContainer));
@@ -448,7 +448,7 @@
}

@Test public void testUnregisterComponent() {
- final ConstructorInjector testAdapter = new ConstructorInjector(String.class, String.class, null, new NullComponentMonitor(), new NullLifecycleStrategy(), false);
+ final ConstructorInjector testAdapter = new ConstructorInjector(String.class, String.class, null, new NullComponentMonitor(), false);
mockery.checking(new Expectations(){{
one(picoContainer).removeComponent(with(same(String.class)));
will(returnValue(testAdapter));

Modified: java/2.x/trunk/pico/gems/src/test/org/picocontainer/gems/jmx/JMXVisitorTestCase.java (5574 => 5575)

--- java/2.x/trunk/pico/gems/src/test/org/picocontainer/gems/jmx/JMXVisitorTestCase.java 2010-01-28 12:04:59 UTC (rev 5574)
+++ java/2.x/trunk/pico/gems/src/test/org/picocontainer/gems/jmx/JMXVisitorTestCase.java 2010-02-05 04:43:46 UTC (rev 5575)
@@ -37,6 +37,7 @@
import org.picocontainer.MutablePicoContainer;
import org.picocontainer.NameBinding;
import org.picocontainer.adapters.InstanceAdapter;
+import org.picocontainer.containers.EmptyPicoContainer;
import org.picocontainer.gems.jmx.testmodel.Person;
import org.picocontainer.lifecycle.NullLifecycleStrategy;
import org.picocontainer.monitors.NullComponentMonitor;
@@ -60,7 +61,7 @@

@Before
public void setUp() throws Exception {
- picoContainer = new DefaultPicoContainer();
+ picoContainer = new DefaultPicoContainer(new NullLifecycleStrategy(), new EmptyPicoContainer());
}

private JMXVisitor createVisitor(final int providerCount) {
@@ -135,7 +136,7 @@
*/
@Test public void testTraversal() {
final JMXVisitor jmxVisitor = createVisitor(1);
- final MutablePicoContainer child = new DefaultPicoContainer();
+ final MutablePicoContainer child = new DefaultPicoContainer(new NullLifecycleStrategy(), new EmptyPicoContainer());
picoContainer.addChildContainer(child);

final ComponentAdapter componentAdapter = child.addComponent(Person.class).getComponentAdapter(Person.class,

----------

To unsubscribe from this list please visit:

http://xircles.codehaus.org/manage_email
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.