Details
- 
        Type: Bug Bug
- 
        Status: Closed Closed
- 
            Priority: Critical Critical
- 
            Resolution: Fixed
- 
            Affects Version/s: 1.0-RC-1, 2.3
- 
            Fix Version/s: 2.3
- 
            Component/s: PicoContainer (Java)
- 
            Labels:None
- 
                        Number of attachments :
Description
Apply the patch for BeanComponentAdapterTestCase and you'll have two cases where the BeanComponentAdapter badly fails (btw. same applies to the BeanPropertyComponentAdapter, test case could be used there also).
Adapter(s) fails when:
- Parameter[]s set to null and the Bean has not only the default constructor
- Defined Parameter[]s are given with length > 0
RTs on this tomorrow on the list ...
Issue Links
Activity
 Jörg Schaible
 made changes  -
 Jörg Schaible
 made changes  - 
        | Field | Original Value | New Value | 
|---|---|---|
| Attachment | BeanComponentAdapterTestCase.java.diff [ 11715 ] | 
 Aslak Hellesøy
 made changes  -
 Aslak Hellesøy
 made changes  - 
        | Assignee | Aslak Hellesoy [ rinkrank ] | 
 Aslak Hellesøy
 made changes  -
 Aslak Hellesøy
 made changes  - 
        | Status | Open [ 1 ] | In Progress [ 3 ] | 
 Aslak Hellesøy
 made changes  -
 Aslak Hellesøy
 made changes  - 
        | Status | In Progress [ 3 ] | Open [ 1 ] | 
 Aslak Hellesøy
 made changes  -
 Aslak Hellesøy
 made changes  - 
        | Assignee | Aslak Hellesoy [ rinkrank ] | Joerg Schaible [ joehni ] | 
 Jörg Schaible
 made changes  -
 Jörg Schaible
 made changes  - 
         Jörg Schaible
 made changes  -
 Jörg Schaible
 made changes  - 
         Aslak Hellesøy
 made changes  -
 Aslak Hellesøy
 made changes  - 
        | Fix Version/s | 1.0-RC-1 [ 10461 ] | |
| Fix Version/s | 1.0.1 [ 10307 ] | 
 Jörg Schaible
 made changes  -
 Jörg Schaible
 made changes  - 
        | Fix Version/s | 1.2 [ 11330 ] | |
| Environment | ||
| Fix Version/s | 1.3 [ 11331 ] | 
 Michael Rimov
 made changes  -
 Michael Rimov
 made changes  - 
        | Affects Version/s | 2.3 [ 14303 ] | 
 Michael Rimov
 made changes  -
 Michael Rimov
 made changes  - 
        | Fix Version/s | 1.3 [ 11331 ] | |
| Fix Version/s | 2.3 [ 14303 ] | 
 Paul Hammant
 made changes  -
 Paul Hammant
 made changes  - 
        | Assignee | Joerg Schaible [ joehni ] | Paul Hammant [ paul ] | 
 Michael Rimov
 made changes  -
 Michael Rimov
 made changes  - 
        | Fix Version/s | 2.4 [ 14362 ] | |
| Fix Version/s | 2.3 [ 14303 ] | 
 Michael Rimov
 made changes  -
 Michael Rimov
 made changes  - 
        | Fix Version/s | 2.4 [ 14362 ] | |
| Fix Version/s | 2.5 [ 14424 ] | 
 Paul Hammant
 made changes  -
 Paul Hammant
 made changes  - 
        | Fix Version/s | 2.5 [ 14424 ] | |
| Status | Open [ 1 ] | Closed [ 6 ] | 
| Resolution | Fixed [ 1 ] | |
| Fix Version/s | 2.3 [ 14303 ] | 

 
                             
     
        

Hi ASlak,
since you've started working on this, here some of my thoughts:
What about enhancing the ctors for ConstantParameter and CompnentParameter for a hint and have a getHint method in the Parameter iface?
I would like to code:
registerComponentImplementation(Group.class, GroupImpl.class);
{ new ConstantParameter("JDoe", "name"), new ComponentParameter("group") }registerComponentImplementation(Address.class, AddressImpl.class, new Parameter[]
)
what I would like to support with this:
1)
class AddressImpl {
{...};AddressImpl();
void setName(String name)
void setGroup(Group group){...}
;
}
2)
class AddressImpl {
{...}AddressImpl(Group goup, String name)
}
With the hint I can specify the setter for the SICA explicitly. For CICA we may not instist on the parameter's sequence (once proposed by Thomas), only interesting if the parameters getting ambigous. Without a hint the SICA may just try to fulfill all dependencies from the setters.
I would also implement the hint as Object instead of a String. This can be used by more advanced CAs e.g. using a regular expression.
WDYT?