PicoContainer
  1. PicoContainer
  2. PICO-38

In the case of multiple implementations return a multicasting proxy

    Details

    • Type: New Feature New Feature
    • Status: Closed Closed
    • Priority: Major Major
    • Resolution: Won't Fix
    • Affects Version/s: 1.1
    • Fix Version/s: None
    • Component/s: PicoContainer (Java)
    • Labels:
      None
    • Number of attachments :
      1

      Description

      If a multicasting proxy was supplied when there are multiple implementations of an interface, instead of throwing AmbiguousComponentResolutionException, pico would have a way of broadcasting events to pico components from within pico components.

      I've supplied a patch with a unit test which illustrates what I mean. The patch also makes the test pass (its only about 10 lines). Of course this causes the AmbiguousComponentResolutionException to fail.

      I'm not sure if this is better but it would be more explicit if pico only created a multicasting proxy for interfaces which extend the marker interface java.util.EventListener.

        Activity

        Hide
        Thomas Rynne added a comment -

        A patch which adds a unit test and patches DefaultComponentRegistry so the test passes.

        Show
        Thomas Rynne added a comment - A patch which adds a unit test and patches DefaultComponentRegistry so the test passes.
        Thomas Rynne made changes -
        Field Original Value New Value
        Attachment patch.txt [ 10625 ]
        Hide
        Aslak Hellesøy added a comment -

        Very very interesting idea. Chris Stevenson has had it too. I'll look into this. It's a bit harder to implement now that multi constructors are in there. Getting too much recursiveness and stack overflows.

        But yes, this would be awesome.

        Show
        Aslak Hellesøy added a comment - Very very interesting idea. Chris Stevenson has had it too. I'll look into this. It's a bit harder to implement now that multi constructors are in there. Getting too much recursiveness and stack overflows. But yes, this would be awesome.
        Aslak Hellesøy made changes -
        Assignee Aslak Hellesoy [ rinkrank ]
        Status Unassigned [ 1 ] Assigned [ 2 ]
        Aslak Hellesøy made changes -
        Status Assigned [ 2 ] In Progress [ 3 ]
        Aslak Hellesøy made changes -
        Affects Version/s 1.0-beta-2 [ 10217 ]
        Fix Version/s 1.0-beta-2 [ 10217 ]
        Aslak Hellesøy made changes -
        Fix Version/s 1.0 [ 10145 ]
        Affects Version/s 1.0 [ 10145 ]
        Priority Minor [ 4 ] Major [ 3 ]
        Fix Version/s 1.0-beta-2 [ 10217 ]
        Affects Version/s 1.0-beta-2 [ 10217 ]
        Chris Stevenson made changes -
        Status In Progress [ 3 ] Assigned [ 2 ]
        Assignee Aslak Hellesoy [ rinkrank ] Chris Stevenson [ skizz ]
        Hide
        Chris Stevenson added a comment -

        OK, we now have a partial but slightly different version of this. It is in http://nanocontainer.cvs.codehaus.org/viewcvs.cgi/nano/type3msg/?root=nanocontainer

        We have some ideas about how we can extend it and make it a bit cleaner - this was very much a spike, so be nice to us

        Show
        Chris Stevenson added a comment - OK, we now have a partial but slightly different version of this. It is in http://nanocontainer.cvs.codehaus.org/viewcvs.cgi/nano/type3msg/?root=nanocontainer We have some ideas about how we can extend it and make it a bit cleaner - this was very much a spike, so be nice to us
        Hide
        Chris Stevenson added a comment -
        Show
        Chris Stevenson added a comment - I added a blog entry on this at http://cgi.skizz.plus.com/blog/dev/archives/000150.html#000150
        Aslak Hellesøy made changes -
        Affects Version/s 1.0 [ 10145 ]
        Fix Version/s 1.0 [ 10145 ]
        Fix Version/s 1.0.1 [ 10307 ]
        Affects Version/s 1.0.1 [ 10307 ]
        Hide
        Aslak Hellesøy added a comment -

        Obsolete. Please reopen if still desired.

        Show
        Aslak Hellesøy added a comment - Obsolete. Please reopen if still desired.
        Aslak Hellesøy made changes -
        Resolution Won't Fix [ 2 ]
        Fix Version/s 1.0.1 [ 10307 ]
        Status Open [ 1 ] Closed [ 6 ]

          People

          • Assignee:
            Chris Stevenson
            Reporter:
            Thomas Rynne
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: