Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: 1.1
-
Component/s: None
-
Labels:None
-
Number of attachments :
Description
Just so I don't forget it. The whole pico.verify() thing is a little eager. Add this to a TestCase of your choice to see what I mean:
public static class VerificationCounterAdapter extends DecoratingComponentAdapter {
public int counter = 0;
public VerificationCounterAdapter(ComponentAdapter delegate)
{ super(delegate); }public int getCounter()
{ return counter; }public void verify()
{ super.verify(); counter++; }}
public void testComponentVerificationCount() throws Exception
{ DefaultPicoContainer pico = new DefaultPicoContainer(); VerificationCounterAdapter vca = new VerificationCounterAdapter(new ConstructorInjectionComponentAdapter(Touchable.class, SimpleTouchable.class)); pico.registerComponent(new CachingComponentAdapter(vca)); pico.registerComponentImplementation(DependsOnTouchable.class); pico.registerComponentImplementation(DependsOnTwoComponents.class); pico.registerComponentImplementation("test", DecoratedTouchable.class); pico.verify(); // assertTrue(vca.getCounter() == 1); }You will see that vca.getCounter() == 5, so the poor little SimpleTouchable gets verified 5 times.
I marked that for v2 since its in no way problematic (at least for me yet) it just a thing that could be optimized.
Issue Links
- is superceded by
-
PICO-215 Refactore to allow stateful PicoVisitor
-
Activity


Status | Open [ 1 ] | Reopened [ 4 ] |
Assignee | Thomas Heller [ maniax ] | Joerg Schaible [ joehni ] |

Fix Version/s | 2.0 [ 10411 ] | |
Fix Version/s | 1.1 [ 10307 ] | |
Status | Reopened [ 4 ] | Closed [ 6 ] |
Resolution | Fixed [ 1 ] |
I would propose change in ACA, so ACA handles basic
verification ( check for cyclic , cache successfull verification )
and delegates concrete verification stuff via abstract nethid further down.