[picocontainer-scm] [5646] java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors: fix bug with default ctor of ProviderAdapter

paul-yCVjj/[email protected]
Newsgroups gmane.comp.java.picocontainer.cvs
Message-ID <[email protected]>
Revision 5646
Author paul
Date 2010-02-23 21:58:41 -0600 (Tue, 23 Feb 2010)

Log Message

fix bug with default ctor of ProviderAdapter

Modified Paths

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

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

Diff

Modified: java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/ProviderAdapter.java (5645 => 5646)

--- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/ProviderAdapter.java 2010-02-24 03:26:51 UTC (rev 5645)
+++ java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/ProviderAdapter.java 2010-02-24 03:58:41 UTC (rev 5646)
@@ -8,8 +8,12 @@
*****************************************************************************/
package org.picocontainer.injectors;

-import org.picocontainer.*;
-import org.picocontainer.behaviors.Cached;
+import org.picocontainer.Characteristics;
+import org.picocontainer.ComponentAdapter;
+import org.picocontainer.LifecycleStrategy;
+import org.picocontainer.PicoCompositionException;
+import org.picocontainer.PicoContainer;
+import org.picocontainer.PicoVisitor;
import org.picocontainer.lifecycle.NullLifecycleStrategy;

import java.lang.reflect.Method;
@@ -36,6 +40,7 @@
provideMethod = getProvideMethod(this.getClass());
key = provideMethod.getReturnType();
setUseNames(useNames());
+ this.lifecycleStrategy = new NullLifecycleStrategy();
}

public ProviderAdapter(LifecycleStrategy lifecycleStrategy, Object provider) {
@@ -58,9 +63,8 @@
setUseNames(useNames);
}

-
- private void setUseNames(boolean b) {
- if (b) {
+ private void setUseNames(boolean useNames) {
+ if (useNames) {
properties = Characteristics.USE_NAMES;
} else {
properties = Characteristics.NONE;
@@ -146,7 +150,6 @@
lifecycleStrategy.dispose(component);
}

-
public boolean hasLifecycle(Class<?> type) {
return lifecycleStrategy.hasLifecycle(type);
}

Modified: java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/ProviderTestCase.java (5645 => 5646)

--- java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/ProviderTestCase.java 2010-02-24 03:26:51 UTC (rev 5645)
+++ java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/ProviderTestCase.java 2010-02-24 03:58:41 UTC (rev 5646)
@@ -9,17 +9,22 @@
package org.picocontainer.injectors;

import org.junit.Test;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import org.picocontainer.*;
+import org.picocontainer.ComponentMonitor;
+import org.picocontainer.DefaultPicoContainer;
+import org.picocontainer.LifecycleStrategy;
+import org.picocontainer.MutablePicoContainer;
+import org.picocontainer.PicoCompositionException;
import org.picocontainer.annotations.Nullable;
+import org.picocontainer.behaviors.Caching;
import org.picocontainer.behaviors.ThreadCaching;
import org.picocontainer.lifecycle.ReflectionLifecycleStrategy;
import org.picocontainer.monitors.LifecycleComponentMonitor;

+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
public class ProviderTestCase {

@Test
@@ -78,6 +83,17 @@
assertTrue(nc.choc.cocaoBeans == null);
}

+ @Test
+ public void testHasLifecycle() {
+ DefaultPicoContainer dpc = new DefaultPicoContainer(new Caching());
+ dpc.addAdapter(new NullableChocolatier());
+ dpc.addComponent(NeedsChocolate.class);
+ NeedsChocolate nc = dpc.getComponent(NeedsChocolate.class);
+ dpc.start();
+ dpc.stop();
+ dpc.dispose();
+ }
+
public static class CocaoBeans {
}

----------

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.