Issue Details (XML | Word | Printable)

Key: PICO-246
Type: Bug Bug
Status: In Progress In Progress
Priority: Critical Critical
Assignee: Joerg Schaible
Reporter: Joerg Schaible
Votes: 0
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
PicoContainer

Ensure Pico 1.1 compatibility

Created: 15/Aug/05 04:19 PM   Updated: 31/Aug/08 11:24 AM
Component/s: PicoContainer (Java)
Affects Version/s: 1.1
Fix Version/s: None

Time Tracking:
Original Estimate: Not Specified
Remaining Estimate: 0 minutes
Time Spent - 6 hours
Time Spent: 6 hours
Time Spent - 6 hours

File Attachments: 1. File ConstructorInjectionComponentAdapter.diff (2 kB)
2. Text File differences.txt (13 kB)



 Description  « Hide
We must ensure, that Pico 1.2 is backward compatible with Pico 1.1. Any changed API should be restored and deprecated. We must use a CLIRR report to ensure this.

 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
peter royal added a comment - 21/Aug/05 08:56 PM
differences between 1.1 and the current snapshot

peter royal added a comment - 23/Aug/05 08:46 PM
Only error:

org.picocontainer.defaults.PicoInvocationTargetInitializationException
Removed org.picocontainer.PicoInstantiationException from the list of superclasses


peter royal added a comment - 23/Aug/05 08:48 PM
restore 1.1-compatible cxtor

peter royal added a comment - 25/Aug/05 08:43 PM
not sure if there is anything to do regarding the exception.

otherwise, this can go into a waiting state until we are ready to do a 1.2 RC


Joerg Schaible added a comment - 26/Aug/05 02:24 AM
thanks for restoring CICA compat and I think you're right, we must continue here with the next RC.

Mauro Talevi added a comment - 01/Dec/05 04:48 AM
Joerg - what is the status of this issue?

peter royal added a comment - 01/Dec/05 07:13 AM
Need to run again now that we are done other changes to ensure nothing else broken.

peter royal added a comment - 05/Dec/05 10:24 AM
May impact people:

org.picocontainer.alternatives.ImplementationHidingComponentAdapterFactory
Accessibility of method 'public ImplementationHidingComponentAdapterFactory()' has been decreased from public to package

org.picocontainer.defaults.InstantiatingComponentAdapter
Method 'protected org.picocontainer.Parameter[] createDefaultParameters(java.lang.Class[])' has been removed

org.picocontainer.defaults.SetterIntrospector
Class org.picocontainer.defaults.SetterIntrospector removed

Exception-Related:

org.picocontainer.defaults.PicoInvocationTargetInitializationException
Removed org.picocontainer.PicoInstantiationException from the list of superclasses

org.picocontainer.defaults.UnsatisfiableDependenciesException
In method 'public UnsatisfiableDependenciesException(org.picocontainer.ComponentAdapter, java.util.Set)' the number of arguments has changed


Joerg Schaible added a comment - 06/Dec/05 07:36 AM
org.picocontainer.alternatives.ImplementationHidingComponentAdapterFactory
Accessibility of method 'public ImplementationHidingComponentAdapterFactory()' has been decreased from public to package

I am not sue I understand this. The class never had an excplicit default ctor.

org.picocontainer.defaults.InstantiatingComponentAdapter
Method 'protected org.picocontainer.Parameter[] createDefaultParameters(java.lang.Class[])' has been removed

This is a result of our last minute change in PICO-268 by Pete. I am not quite happy with it, since it contradicts what was proposed in PICO-181 and creates an incompatibility between release candidates. Annotation support would have been possible with PICO-181 also, but in a much more general manner.

Exceptions:
PITE: was thrown in different places, not only for places expecting a PIE. Review?
UDE: the exception is created internally, a ctor change should not make any difference.


peter royal added a comment - 06/Dec/05 09:14 AM
IHCAF: It used to have a public no-args cxctor: http://svn.picocontainer.codehaus.org/java/picocontainer/trunk/container/src/java/org/picocontainer/defaults/ImplementationHidingComponentAdapterFactory.java?rev=2387&view=markup

ICA: I'm happy with PICO-181 functionality. But the ParameterFactory would need to get a handle to the element that the Class was for, namely the Constructor or Method to be able to pull annotations off. In pico2 we could always have the core container pass any annotations to the ParameterFactory and thus not have to worry about it. We can back out PICO-268 if it is a big deal as well.. I can manage that change in a private branch for my use.

Exceptions:
I do not think either of these are a concern.


Mauro Talevi added a comment - 06/Dec/05 01:06 PM
If PICO-268 is controversial - and addressed by PICO-181 - I would revert.

I too think exceptions are fine.


Joerg Schaible added a comment - 07/Dec/05 01:38 AM
Same from me. Revert PICO-268 and reopen it. I set the target version of PICO-181 to 1.3 exactly because it would change some API and I did not wanted to do it before 1.2 final.

Mauro Talevi added a comment - 28/Jan/06 04:22 AM
As 1.2 has been released, moving this issue to future version for monitoring.
Any fixes should be done in 1.2.x

Michael Rimov added a comment - 06/May/08 02:38 PM
Since we're onto PIco 2.0, can we close this issue?

-Mike (R)