PicoContainer
  1. PicoContainer
  2. PICO-70

Container hierachies aren't serializable

    Details

    • Type: Bug Bug
    • Status: Closed Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.0-beta-5
    • Fix Version/s: 1.0-beta-3
    • Component/s: PicoContainer (Java)
    • Labels:
      None
    • Environment:
      .
    • Number of attachments :
      0

      Description

      as discussed in the mailing list. As soon as there is a container hierachy the whole picocontainer isnt serializable anymore.

      package pico;

      import org.picocontainer.MutablePicoContainer;
      import org.picocontainer.defaults.DefaultPicoContainer;
      import org.picocontainer.tck.AbstractPicoContainerTestCase;
      import org.picocontainer.testmodel.DependsOnTouchable;
      import org.picocontainer.testmodel.SimpleTouchable;
      import org.picocontainer.testmodel.Touchable;

      public class ContainerTreeSerialization extends AbstractPicoContainerTestCase
      {
      protected MutablePicoContainer createPicoContainer()

      { DefaultPicoContainer container = new DefaultPicoContainer(); DefaultPicoContainer child = new DefaultPicoContainer(); child.registerComponentImplementation(Touchable.class, SimpleTouchable.class); child.registerComponentImplementation(DependsOnTouchable.class); container.addChild(child); return container; }

      }

      ....E..............
      Time: 0,36
      There was 1 error:
      1) testSerializabilityOfContainer(pico.ContainerTreeSerialization)java.io.NotSerializableException: java.lang.ref.WeakReference
      at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1054)
      at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
      at java.util.ArrayList.writeObject(ArrayList.java:529)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at ...
      org.picocontainer.tck.AbstractPicoContainerTestCase.testSerializabilityOfContainer(AbstractPicoContainerTestCase.java:68)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at com.intellij.rt.execution.junit.TextTestRunner.main(TextTestRunner.java:12)

      FAILURES!!!
      Tests run: 18, Failures: 0, Errors: 1

        Activity

        Aslak Hellesøy made changes -
        Field Original Value New Value
        Assignee Aslak Hellesoy [ rinkrank ]
        Aslak Hellesøy made changes -
        Fix Version/s 1.0.1 [ 10307 ]
        Hide
        Paul Hammant added a comment -

        Thanks Thomas

        Show
        Paul Hammant added a comment - Thanks Thomas
        Paul Hammant made changes -
        Resolution Fixed [ 1 ]
        Status Open [ 1 ] Closed [ 6 ]
        Aslak Hellesøy made changes -
        Resolution Fixed [ 1 ]
        Status Closed [ 6 ] Reopened [ 4 ]
        Aslak Hellesøy made changes -
        Fix Version/s 1.0.1 [ 10307 ]
        Fix Version/s 1.0-beta-3 [ 10232 ]
        Aslak Hellesøy made changes -
        Status Reopened [ 4 ] Closed [ 6 ]
        Resolution Fixed [ 1 ]

          People

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

            Dates

            • Created:
              Updated:
              Resolved: