Details

    • Type: New Feature New Feature
    • Status: Closed Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.0-beta-2
    • Fix Version/s: 1.0-beta-2
    • Component/s: PicoContainer (Java)
    • Labels:
      None
    • Number of attachments :
      6
    1. DefaultComponentAdapterTestCase.java
      3 kB
      Aslak Hellesøy
    2. InstanceComponentAdapter.java
      0.9 kB
      Aslak Hellesøy
    3. MultipleConstructorTestCase.java
      3 kB
      Aslak Hellesøy
    4. nano-patch.diff
      76 kB
      Aslak Hellesøy
    5. NoSatisfiableConstructorsException.java
      0.8 kB
      Aslak Hellesøy
    6. pico-patch.diff
      110 kB
      Aslak Hellesøy

      Activity

      Aslak Hellesøy made changes -
      Field Original Value New Value
      Status Assigned [ 2 ] In Progress [ 3 ]
      Aslak Hellesøy made changes -
      Attachment pico-patch.diff [ 10710 ]
      Aslak Hellesøy made changes -
      Attachment nano-patch.diff [ 10711 ]
      Aslak Hellesøy made changes -
      Attachment InstanceComponentAdapter.java [ 10712 ]
      Aslak Hellesøy made changes -
      Aslak Hellesøy made changes -
      Aslak Hellesøy made changes -
      Attachment MultipleConstructorTestCase.java [ 10715 ]
      Hide
      Aslak Hellesøy added a comment -

      These patches from sept/03 add support for multiple constructors. See MultipleConstructorTestCase. I tagged both the pico and nano CVSes before making the patches. The name of the tag is BEFORE_MULTIPLE_CONSTRUCTORS.

      The approach is described here: http://lists.codehaus.org/pipermail/picocontainer-dev/2003-August/001009.html

      While doing this, several new refactorings became apparent, notably:

      o Lazy instantiation (PICO-6). PicoContainer.initializeComponents() is gone, because instantiation now happens lazily as components are asked for.

      o ComponentRegistry has less knowledge of the components and delegates more functionality to ComponentAdapter.

      o PicoContainer.getComponent(Object) throws PicoInitializationException (because of the laziness).

      o Introduction of a new InstanceComponentAdapter, used for constant parameters and externally instantiated components.

      o And various smaller things

      All tests are green. Code coverage has dropped to 88.8%, but this is mostly due to dead code that hasn't yet been removed. Coverage will be back as soon as I do some more cleaning.

      It would be nice to have this applied quickly.

      Show
      Aslak Hellesøy added a comment - These patches from sept/03 add support for multiple constructors. See MultipleConstructorTestCase. I tagged both the pico and nano CVSes before making the patches. The name of the tag is BEFORE_MULTIPLE_CONSTRUCTORS. The approach is described here: http://lists.codehaus.org/pipermail/picocontainer-dev/2003-August/001009.html While doing this, several new refactorings became apparent, notably: o Lazy instantiation ( PICO-6 ). PicoContainer.initializeComponents() is gone, because instantiation now happens lazily as components are asked for. o ComponentRegistry has less knowledge of the components and delegates more functionality to ComponentAdapter. o PicoContainer.getComponent(Object) throws PicoInitializationException (because of the laziness). o Introduction of a new InstanceComponentAdapter, used for constant parameters and externally instantiated components. o And various smaller things All tests are green. Code coverage has dropped to 88.8%, but this is mostly due to dead code that hasn't yet been removed. Coverage will be back as soon as I do some more cleaning. It would be nice to have this applied quickly.
      Aslak Hellesøy made changes -
      Resolution Fixed [ 1 ]
      Status In Progress [ 3 ] Closed [ 6 ]

        People

        • Assignee:
          Aslak Hellesøy
          Reporter:
          Aslak Hellesøy
        • Votes:
          0 Vote for this issue
          Watchers:
          0 Start watching this issue

          Dates

          • Created:
            Updated:
            Resolved: