[picocontainer-scm] [5745] java/2.x/trunk/pico/container/src/test/org/picocontainer/visitors: allow for setter injection to work with groovy classes
paul-yCVjj/[email protected] Tue, 14 Dec 2010 20:39:42 -0600 (CST)
| Newsgroups | gmane.comp.java.picocontainer.cvs |
|---|---|
| Message-ID | <[email protected]> |
Revision 5745
Author paul
Date 2010-12-14 20:39:41 -0600 (Tue, 14 Dec 2010)
Log Message
allow for setter injection to work with groovy classes
Modified Paths
- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/AnnotatedMethodInjector.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/MultiInjector.java
- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/NamedMethodInjector.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/test/org/picocontainer/injectors/AdaptingInjectionTestCase.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/AnnotatedMethodInjectorTestCase.java
- java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/FactoryInjectorTestCase.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/visitors/TraversalCheckingVisitorTest.java
Diff
Modified: java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/AnnotatedMethodInjector.java (5744 => 5745)
--- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/AnnotatedMethodInjector.java 2010-11-03 23:52:57 UTC (rev 5744)
+++ java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/AnnotatedMethodInjector.java 2010-12-15 02:39:41 UTC (rev 5745)
@@ -28,7 +28,7 @@
ComponentMonitor monitor,
Class<? extends Annotation> injectionAnnotation,
boolean useNames) {
- super(key, impl, parameters, monitor, "", useNames);
+ super(key, impl, parameters, monitor, "", "", useNames);
this.injectionAnnotation = injectionAnnotation;
}
Modified: java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/Injector.java (5744 => 5745)
--- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/Injector.java 2010-11-03 23:52:57 UTC (rev 5744)
+++ java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/Injector.java 2010-12-15 02:39:41 UTC (rev 5745)
@@ -200,7 +200,7 @@
Parameter[] parameters,
ComponentMonitor monitor,
String prefix, boolean useNames) throws AbstractInjector.NotConcreteRegistrationException {
- return monitor.newInjector(new SetterInjector(componentKey, componentImplementation, parameters, monitor, prefix, useNames));
+ return monitor.newInjector(new SetterInjector(componentKey, componentImplementation, parameters, monitor, prefix, "", useNames));
}
/**
Modified: java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/MultiInjector.java (5744 => 5745)
--- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/MultiInjector.java 2010-11-03 23:52:57 UTC (rev 5744)
+++ java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/MultiInjector.java 2010-12-15 02:39:41 UTC (rev 5745)
@@ -10,7 +10,6 @@
import org.picocontainer.Parameter;
import org.picocontainer.ComponentMonitor;
-import org.picocontainer.LifecycleStrategy;
import org.picocontainer.annotations.Inject;
/** @author Paul Hammant */
@@ -23,7 +22,7 @@
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 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/NamedMethodInjector.java (5744 => 5745)
--- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/NamedMethodInjector.java 2010-11-03 23:52:57 UTC (rev 5744)
+++ java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/NamedMethodInjector.java 2010-12-15 02:39:41 UTC (rev 5745)
@@ -53,7 +53,7 @@
ComponentMonitor monitor,
String prefix,
boolean optional) {
- super(key, impl, parameters, monitor, prefix, true);
+ super(key, impl, parameters, monitor, prefix, "", true);
this.optional = optional;
}
Modified: java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/SetterInjection.java (5744 => 5745)
--- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/SetterInjection.java 2010-11-03 23:52:57 UTC (rev 5744)
+++ java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/SetterInjection.java 2010-12-15 02:39:41 UTC (rev 5745)
@@ -31,6 +31,7 @@
public class SetterInjection extends AbstractInjectionFactory {
private final String prefix;
+ private String notThisOneThough;
public SetterInjection(String prefix) {
this.prefix = prefix;
@@ -41,6 +42,16 @@
}
/**
+ * Specify a prefix and an exclusion
+ * @param prefix the prefix like 'set'
+ * @param notThisOneThough to exclude, like 'setMetaClass' for Groovy
+ */
+ public SetterInjection(String prefix, String notThisOneThough) {
+ this(prefix);
+ this.notThisOneThough = notThisOneThough;
+ }
+
+ /**
* Create a {@link SetterInjector}.
*
* @param monitor
@@ -57,7 +68,7 @@
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 wrapLifeCycle(monitor.newInjector(new SetterInjector(componentKey, componentImplementation, parameters, monitor, prefix, useNames)), lifecycleStrategy);
+ return wrapLifeCycle(monitor.newInjector(new SetterInjector(componentKey, componentImplementation, parameters, monitor, prefix, notThisOneThough != null ? notThisOneThough : "" , useNames)), lifecycleStrategy);
}
}
Modified: java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/SetterInjector.java (5744 => 5745)
--- java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/SetterInjector.java 2010-11-03 23:52:57 UTC (rev 5744)
+++ java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/SetterInjector.java 2010-12-15 02:39:41 UTC (rev 5745)
@@ -38,6 +38,7 @@
public class SetterInjector<T> extends IterativeInjector<T> {
protected final String prefix;
+ private final String notThisOneThough;
/**
* Constructs a SetterInjector
@@ -47,6 +48,7 @@
* @param parameters the parameters to use for the initialization
* @param monitor the component monitor used by this addAdapter
* @param prefix the prefix to use (e.g. 'set')
+ * @param notThisOneThough a setter name that's not for injecting through
* @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>
@@ -55,9 +57,10 @@
final Class componentImplementation,
Parameter[] parameters,
ComponentMonitor monitor,
- String prefix, boolean useNames) throws NotConcreteRegistrationException {
+ String prefix, String notThisOneThough, boolean useNames) throws NotConcreteRegistrationException {
super(componentKey, componentImplementation, parameters, monitor, useNames);
this.prefix = prefix;
+ this.notThisOneThough = notThisOneThough != null ? notThisOneThough : "";
}
protected Object memberInvocationReturn(Object lastReturn, AccessibleObject member, Object instance) {
@@ -73,7 +76,10 @@
@Override
protected boolean isInjectorMethod(Method method) {
String methodName = method.getName();
- return methodName.length() >= getInjectorPrefix().length() + 1 && methodName.startsWith(getInjectorPrefix()) && Character.isUpperCase(methodName.charAt(getInjectorPrefix().length()));
+ return methodName.length() >= getInjectorPrefix().length() + 1 // long enough
+ && methodName.startsWith(getInjectorPrefix())
+ && !methodName.equals(notThisOneThough)
+ && Character.isUpperCase(methodName.charAt(getInjectorPrefix().length()));
}
protected String getInjectorPrefix() {
Modified: java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/AdaptingInjectionTestCase.java (5744 => 5745)
--- java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/AdaptingInjectionTestCase.java 2010-11-03 23:52:57 UTC (rev 5744)
+++ java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/AdaptingInjectionTestCase.java 2010-12-15 02:39:41 UTC (rev 5745)
@@ -10,14 +10,12 @@
package org.picocontainer.injectors;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
-
+import com.thoughtworks.xstream.XStream;
+import com.thoughtworks.xstream.converters.Converter;
+import com.thoughtworks.xstream.converters.MarshallingContext;
+import com.thoughtworks.xstream.converters.UnmarshallingContext;
+import com.thoughtworks.xstream.io.HierarchicalStreamReader;
+import com.thoughtworks.xstream.io.HierarchicalStreamWriter;
import org.junit.Before;
import org.junit.Test;
import org.picocontainer.Characteristics;
@@ -34,13 +32,14 @@
import org.picocontainer.testmodel.SimpleTouchable;
import org.picocontainer.testmodel.Touchable;
-import com.thoughtworks.xstream.XStream;
-import com.thoughtworks.xstream.converters.Converter;
-import com.thoughtworks.xstream.converters.MarshallingContext;
-import com.thoughtworks.xstream.converters.UnmarshallingContext;
-import com.thoughtworks.xstream.io.HierarchicalStreamReader;
-import com.thoughtworks.xstream.io.HierarchicalStreamWriter;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Properties;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
public class AdaptingInjectionTestCase extends AbstractComponentFactoryTest {
XStream xs;
@@ -175,6 +174,7 @@
" <componentMonitor class=CCM/>\n" +
" <useNames>false</useNames>\n" +
" <prefix></prefix>\n" +
+ " <notThisOneThough></notThisOneThough>\n" +
" <injectionAnnotation>org.picocontainer.annotations.Inject</injectionAnnotation>\n" +
"</Method-Injection>", foo);
Modified: java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/AnnotatedFieldInjectorTestCase.java (5744 => 5745)
--- java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/AnnotatedFieldInjectorTestCase.java 2010-11-03 23:52:57 UTC (rev 5744)
+++ java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/AnnotatedFieldInjectorTestCase.java 2010-12-15 02:39:41 UTC (rev 5745)
@@ -9,23 +9,21 @@
*****************************************************************************/
package org.picocontainer.injectors;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
import org.junit.Test;
import org.picocontainer.DefaultPicoContainer;
import org.picocontainer.MutablePicoContainer;
import org.picocontainer.PicoBuilder;
-import org.picocontainer.Startable;
import org.picocontainer.annotations.Inject;
-import org.picocontainer.lifecycle.NullLifecycleStrategy;
import org.picocontainer.monitors.NullComponentMonitor;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+
public class AnnotatedFieldInjectorTestCase {
public static class Helicopter {
@@ -73,7 +71,7 @@
MutablePicoContainer pico = new DefaultPicoContainer();
pico.addAdapter(new SetterInjector(Helicopter.class, Helicopter.class, null,
new NullComponentMonitor(),
- "set", false));
+ "set", "", false));
pico.addComponent(PogoStick.class, new PogoStick());
Helicopter chopper = pico.getComponent(Helicopter.class);
assertNotNull(chopper);
Modified: java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/AnnotatedMethodInjectorTestCase.java (5744 => 5745)
--- java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/AnnotatedMethodInjectorTestCase.java 2010-11-03 23:52:57 UTC (rev 5744)
+++ java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/AnnotatedMethodInjectorTestCase.java 2010-12-15 02:39:41 UTC (rev 5745)
@@ -9,21 +9,20 @@
*****************************************************************************/
package org.picocontainer.injectors;
-import static org.junit.Assert.assertNotNull;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
import org.junit.Test;
import org.picocontainer.DefaultPicoContainer;
import org.picocontainer.MutablePicoContainer;
import org.picocontainer.Parameter;
import org.picocontainer.annotations.Inject;
-import org.picocontainer.lifecycle.NullLifecycleStrategy;
import org.picocontainer.monitors.NullComponentMonitor;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import static org.junit.Assert.assertNotNull;
+
public class AnnotatedMethodInjectorTestCase {
public static class AnnotatedBurp {
@@ -52,7 +51,7 @@
MutablePicoContainer pico = new DefaultPicoContainer();
pico.addAdapter(new SetterInjector(SetterBurp.class, SetterBurp.class, Parameter.DEFAULT, new NullComponentMonitor(),
- "set", false));
+ "set", "", false));
pico.addComponent(Wind.class, new Wind());
SetterBurp burp = pico.getComponent(SetterBurp.class);
assertNotNull(burp);
Modified: java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/FactoryInjectorTestCase.java (5744 => 5745)
--- java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/FactoryInjectorTestCase.java 2010-11-03 23:52:57 UTC (rev 5744)
+++ java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/FactoryInjectorTestCase.java 2010-12-15 02:39:41 UTC (rev 5745)
@@ -9,18 +9,19 @@
package org.picocontainer.injectors;
import org.junit.Test;
-import static org.junit.Assert.assertNotSame;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertEquals;
+import org.picocontainer.DefaultPicoContainer;
import org.picocontainer.MutablePicoContainer;
-import org.picocontainer.DefaultPicoContainer;
+import org.picocontainer.PicoCompositionException;
import org.picocontainer.PicoContainer;
-import org.picocontainer.PicoCompositionException;
import org.picocontainer.annotations.Inject;
import java.lang.reflect.Type;
import java.util.Map;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNotSame;
+
public class FactoryInjectorTestCase {
public static interface Swede {
@@ -259,4 +260,45 @@
assertEquals("Swede for " + Turnip.class.getName() + " turnip1", turnip1.getSwede().toString());
assertEquals("Swede for " + Turnip.class.getName() + " turnip2", turnip2.getSwede().toString());
}
+
+ @Test
+ public void brendansNullTypeCase() {
+ MutablePicoContainer pico = new DefaultPicoContainer();
+ pico.addComponent(BrendansComponent.class);
+ pico.addAdapter(new BrendansLoggerInjector());
+
+ BrendansComponent bc = pico.getComponent(BrendansComponent.class);
+ assertEquals("org.picocontainer.injectors.InjectInto", bc.logger.canonicalName);
+ }
+
+ public static class BrendansLogger {
+ private String canonicalName;
+
+ public BrendansLogger(String canonicalName) {
+ this.canonicalName = canonicalName;
+ }
+
+ public static BrendansLogger getLogger(String canonicalName) {
+ return new BrendansLogger(canonicalName);
+ }
+ }
+
+ public static class BrendansComponent {
+ BrendansLogger logger;
+
+ public BrendansComponent(BrendansLogger logger) {
+ this.logger = logger;
+ }
+ }
+
+ public static class BrendansLoggerInjector extends FactoryInjector<BrendansLogger> {
+
+ @Override
+ public BrendansLogger getComponentInstance(PicoContainer arg0, final Type arg1)
+ throws PicoCompositionException {
+ return BrendansLogger.getLogger(arg1.getClass().getCanonicalName());
+ }
+
+ }
+
}
Modified: java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/SetterInjectionTestCase.java (5744 => 5745)
--- java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/SetterInjectionTestCase.java 2010-11-03 23:52:57 UTC (rev 5744)
+++ java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/SetterInjectionTestCase.java 2010-12-15 02:39:41 UTC (rev 5745)
@@ -9,24 +9,18 @@
*****************************************************************************/
package org.picocontainer.injectors;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.fail;
-
-import java.util.Properties;
-
import org.junit.Before;
import org.junit.Test;
import org.picocontainer.ComponentFactory;
import org.picocontainer.DefaultPicoContainer;
import org.picocontainer.PicoCompositionException;
-import org.picocontainer.monitors.NullComponentMonitor;
import org.picocontainer.tck.AbstractComponentFactoryTest;
-import org.picocontainer.tck.AbstractComponentAdapterTest.RecordingLifecycleStrategy;
-import org.picocontainer.testmodel.NullLifecycle;
-import org.picocontainer.testmodel.RecordingLifecycle;
-import org.picocontainer.testmodel.RecordingLifecycle.One;
+import static junit.framework.Assert.assertNull;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.fail;
+
/**
* @author Jörg Schaible
*/
@@ -115,5 +109,27 @@
assertEquals("Tom", bean.getName());
}
+ public static class AnotherNamedBean2 extends AnotherNamedBean {
+ private String name2;
+ public String getName2() {
+ return name2;
+ }
+
+ public void initName2(String name) {
+ this.name2 = name;
+ }
+ }
+
+
+ @Test public void testNotMatcherWorks() {
+ picoContainer = new DefaultPicoContainer(new SetterInjection("init", "initName2"));
+ picoContainer.addComponent(Bean.class, AnotherNamedBean2.class);
+ picoContainer.addComponent("Tom");
+ AnotherNamedBean2 bean = picoContainer.getComponent(AnotherNamedBean2.class);
+ assertEquals("Tom", bean.getName());
+ assertNull(bean.getName2());
+ }
+
+
}
\ No newline at end of file
Modified: java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/SetterInjectorTestCase.java (5744 => 5745)
--- java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/SetterInjectorTestCase.java 2010-11-03 23:52:57 UTC (rev 5744)
+++ java/2.x/trunk/pico/container/src/test/org/picocontainer/injectors/SetterInjectorTestCase.java 2010-12-15 02:39:41 UTC (rev 5745)
@@ -32,18 +32,13 @@
import org.picocontainer.NameBinding;
import org.picocontainer.Parameter;
import org.picocontainer.behaviors.Caching;
-import org.picocontainer.behaviors.ImplementationHiding;
import org.picocontainer.containers.EmptyPicoContainer;
import org.picocontainer.lifecycle.NullLifecycleStrategy;
-import org.picocontainer.monitors.AbstractComponentMonitor;
import org.picocontainer.monitors.NullComponentMonitor;
import org.picocontainer.parameters.ConstantParameter;
import org.picocontainer.tck.AbstractComponentAdapterTest;
-import org.picocontainer.testmodel.NullLifecycle;
import org.picocontainer.testmodel.PersonBean;
import org.picocontainer.testmodel.PurseBean;
-import org.picocontainer.testmodel.SimpleTouchable;
-import org.picocontainer.testmodel.Touchable;
@SuppressWarnings("serial")
@@ -60,25 +55,25 @@
protected ComponentAdapter prepDEF_verifyWithoutDependencyWorks(MutablePicoContainer picoContainer) {
return new SetterInjector(PersonBean.class, PersonBean.class, new Parameter[] {new ConstantParameter(
- "Pico Container")}, new NullComponentMonitor(), "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(),
- "set", false);
+ "set", "", false);
}
protected ComponentAdapter prepDEF_visitable() {
return new SetterInjector(PersonBean.class, PersonBean.class, new Parameter[] {new ConstantParameter(
- "Pico Container")}, new NullComponentMonitor(), "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(),
- "set", false);
+ "set", "", false);
}
protected ComponentAdapter prepSER_isXStreamSerializable(MutablePicoContainer picoContainer) {
@@ -90,7 +85,7 @@
picoContainer.addComponent(PersonBean.class);
SetterInjector componentAdapter = new SetterInjector(
PurseBean.class, MoneyPurse.class, new Parameter[] {DEFAULT, new ConstantParameter(100.0)}, new NullComponentMonitor(),
- "set", false);
+ "set", "", false);
return picoContainer.as(Characteristics.NO_CACHE).addAdapter(componentAdapter).getComponentAdapter(PurseBean.class, (NameBinding) null);
}
@@ -112,14 +107,14 @@
picoContainer.addComponent(PersonBean.class);
SetterInjector componentAdapter = new SetterInjector(
PurseBean.class, MoneyPurse.class, new Parameter[] {DEFAULT},new NullComponentMonitor(),
- "set", false);
+ "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(),
- "set", false);
+ "set", "", false);
}
public static class Ghost
@@ -132,7 +127,7 @@
protected ComponentAdapter prepINS_errorIsRethrown(MutablePicoContainer picoContainer) {
picoContainer.addComponent("Pico Container");
return new SetterInjector(Ghost.class, Ghost.class, new Parameter[] {DEFAULT}, new NullComponentMonitor(),
- "set", false);
+ "set", "", false);
}
public static class DeadBody
@@ -145,7 +140,7 @@
protected ComponentAdapter prepINS_runtimeExceptionIsRethrown(MutablePicoContainer picoContainer) {
picoContainer.addComponent("Pico Container");
return new SetterInjector(DeadBody.class, DeadBody.class, new Parameter[] {DEFAULT}, new NullComponentMonitor(),
- "set", false);
+ "set", "", false);
}
public static class HidingPersion
@@ -160,14 +155,14 @@
picoContainer.addComponent("Pico Container");
return new SetterInjector(
HidingPersion.class, HidingPersion.class, new Parameter[] {DEFAULT}, new NullComponentMonitor(),
- "set", false);
+ "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(),
- "set", false);
+ "set", "", false);
}
public static class WealthyPerson
@@ -188,7 +183,7 @@
picoContainer.addComponent(PersonBean.class, WealthyPerson.class);
SetterInjector componentAdapter = new SetterInjector(
PurseBean.class, PurseBean.class, new Parameter[] {DEFAULT}, new NullComponentMonitor(),
- "set", false);
+ "set", "", false);
return picoContainer.as(Characteristics.NO_CACHE).addAdapter(componentAdapter).getComponentAdapter(PurseBean.class, (NameBinding) null);
}
@@ -197,7 +192,7 @@
picoContainer.addComponent(PersonBean.class, WealthyPerson.class);
SetterInjector componentAdapter = new SetterInjector(
PurseBean.class, PurseBean.class, new Parameter[] {DEFAULT}, new NullComponentMonitor(),
- "set", false);
+ "set", "", false);
return picoContainer.as(Characteristics.NO_CACHE).addAdapter(componentAdapter).getComponentAdapter(PurseBean.class, (NameBinding) null);
}
@@ -267,9 +262,9 @@
@Test public void testAllUnsatisfiableDependenciesAreSignalled() {
SetterInjector aAdapter = new SetterInjector("a", A.class, Parameter.DEFAULT, new NullComponentMonitor(),
- "set", false);
+ "set", "", false);
SetterInjector bAdapter = new SetterInjector("b", B.class, Parameter.DEFAULT, new NullComponentMonitor(),
- "set", false);
+ "set", "", false);
MutablePicoContainer pico = new DefaultPicoContainer();
pico.addAdapter(bAdapter);
@@ -285,9 +280,9 @@
@Test public void testAllUnsatisfiableDependenciesAreSignalled2() {
SetterInjector aAdapter = new SetterInjector(A2.class, A2.class, null, new NullComponentMonitor(),
- "set", false);
+ "set", "", false);
SetterInjector bAdapter = new SetterInjector("b", B.class, null, new NullComponentMonitor(),
- "set", false);
+ "set", "", false);
MutablePicoContainer pico = new DefaultPicoContainer();
pico.addComponent(List.class, ArrayList.class)
@@ -330,7 +325,7 @@
MutablePicoContainer pico = new DefaultPicoContainer();
pico.addAdapter(new SetterInjector(SetterBurp.class, SetterBurp.class, Parameter.DEFAULT, new NullComponentMonitor(),
- "set", false));
+ "set", "", false));
pico.addComponent(Wind.class, new Wind());
SetterBurp burp = pico.getComponent(SetterBurp.class);
assertNotNull(burp);
@@ -340,7 +335,7 @@
@Test public void testNonSetterMethodInjection() {
MutablePicoContainer pico = new DefaultPicoContainer();
pico.addAdapter(new SetterInjector(InitBurp.class, InitBurp.class, Parameter.DEFAULT, new NullComponentMonitor(),
- "set", false) {
+ "set", "", false) {
protected String getInjectorPrefix() {
return "init";
}
@@ -354,7 +349,7 @@
@Test public void testNonSetterMethodInjectionWithoutOverridingSetterPrefix() {
MutablePicoContainer pico = new DefaultPicoContainer();
pico.addAdapter(new SetterInjector(InitBurp.class, InitBurp.class, new Parameter[0], new NullComponentMonitor(),
- "set", false));
+ "set", "", false));
pico.addComponent(Wind.class, new Wind());
InitBurp burp = pico.getComponent(InitBurp.class);
assertNotNull(burp);
@@ -400,11 +395,11 @@
@Test public void testHybridBeans() {
SetterInjector bAdapter = new SetterInjector("b", B.class, null, new NullComponentMonitor(),
- "set", false);
+ "set", "", false);
SetterInjector cAdapter = new SetterInjector("c", C.class, null, new NullComponentMonitor(),
- "set", false);
+ "set", "", false);
SetterInjector cNullAdapter = new SetterInjector("c0", C.class, null, new NullComponentMonitor(),
- "set", false);
+ "set", "", false);
MutablePicoContainer pico = new DefaultPicoContainer();
pico.addAdapter(bAdapter);
Modified: java/2.x/trunk/pico/container/src/test/org/picocontainer/visitors/TraversalCheckingVisitorTest.java (5744 => 5745)
--- java/2.x/trunk/pico/container/src/test/org/picocontainer/visitors/TraversalCheckingVisitorTest.java 2010-11-03 23:52:57 UTC (rev 5744)
+++ java/2.x/trunk/pico/container/src/test/org/picocontainer/visitors/TraversalCheckingVisitorTest.java 2010-12-15 02:39:41 UTC (rev 5745)
@@ -7,14 +7,6 @@
*****************************************************************************/
package org.picocontainer.visitors;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -31,10 +23,17 @@
import org.picocontainer.injectors.ConstructorInjection;
import org.picocontainer.injectors.ConstructorInjector;
import org.picocontainer.injectors.SetterInjector;
-import org.picocontainer.lifecycle.NullLifecycleStrategy;
import org.picocontainer.monitors.NullComponentMonitor;
import org.picocontainer.parameters.ConstantParameter;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
/**
* @author Michael Rimov
*/
@@ -54,7 +53,7 @@
pico = new DefaultPicoContainer();
SetterInjector componentAdapter = new SetterInjector(StringBuffer.class, StringBuffer.class,
null, new NullComponentMonitor(),
- "set", false);
+ "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(), false);
----------
To unsubscribe from this list please visit:
http://xircles.codehaus.org/manage_email