Beehive
  1. Beehive
  2. BEEHIVE-762

controls annotation processing doesn't recognize java.io.Serializable on super classes

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: v1m1
    • Fix Version/s: 1.0.1
    • Component/s: Controls
    • Labels:
      None

      Description

      Given something like:

      @ControlImplementation
      ParentControlImpl
      implements Serializable

      and

      @ControlImplementation
      ChildControlImpl

      the ChildControlImpl class isn't detected as Serializable and produces a compiler error as:

      build:
      [mkdir] Created dir: D:\dev\apps\controls-serializable\build\classes
      [mkdir] Created dir: D:\dev\apps\controls-serializable\build\beansrc
      [apt] Compiling 6 source files to D:\dev\apps\controls-serializable\build\classes
      [apt] D:\dev\apps\controls-serializable\src\pkg\ChildControlImpl.java:6: A ControlImplementati
      on class must implement the java.io.Serializable interface or set the isTransient attribute of @Cont
      rolImplementation to true.
      [apt] public class ChildControlImpl
      [apt] ^
      [apt] 1 error

      1. BEEHIVE-762.diff
        3 kB
        Chad Schoettger
      2. BEEHIVE-762.zip
        1 kB
        Chad Schoettger

        Activity

        Hide
        Eddie O'Neil added a comment -

        Closing as per Matt.

        Show
        Eddie O'Neil added a comment - Closing as per Matt.
        Hide
        matt c added a comment -

        Verified fixed using local beehive build synced to SVN 393036 by compliing the test case:
        beehive\trunk\controls\test\src\controls\org\apache\beehive\controls\test\controls\serialization\HelloControl

        Verified that this bug has been fixed. Verified by reviewing the developer's test case and by creating a manual test.

        This bug may be closed.

        Show
        matt c added a comment - Verified fixed using local beehive build synced to SVN 393036 by compliing the test case: beehive\trunk\controls\test\src\controls\org\apache\beehive\controls\test\controls\serialization\HelloControl Verified that this bug has been fixed. Verified by reviewing the developer's test case and by creating a manual test. This bug may be closed.
        Hide
        Chad Schoettger added a comment -

        Fixed, commited patch for svn revision 368120.

        Show
        Chad Schoettger added a comment - Fixed, commited patch for svn revision 368120.
        Hide
        Jeremiah Johnson added a comment -

        If someone makes the parent Serializable, then it doesn't seem like the compile should fail. I am changing this to 1.1 because it looks like the fix may have been forgotten.

        Show
        Jeremiah Johnson added a comment - If someone makes the parent Serializable, then it doesn't seem like the compile should fail. I am changing this to 1.1 because it looks like the fix may have been forgotten.
        Hide
        Chad Schoettger added a comment -

        Attached patch for this issue. Modified AptControlImplementation.java to do more intelligent checks for serializable, also added new unit test to controls test suite.

        Patch instructions:
        1) apply patch file for AptControlImplementation.java and DeclarativeTest.java
        2) add new test control files to: <beehive>trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/serialization package

        Show
        Chad Schoettger added a comment - Attached patch for this issue. Modified AptControlImplementation.java to do more intelligent checks for serializable, also added new unit test to controls test suite. Patch instructions: 1) apply patch file for AptControlImplementation.java and DeclarativeTest.java 2) add new test control files to: <beehive>trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/serialization package
        Hide
        James Song added a comment -

        r178324 demonstrates different compile behavior:
        trunk\controls\test\src\controls\org\apache\beehive\controls\test\controls\extension\ExtensibleControlImpl.jcs is compiled while implementing Serializable.

        What is discovered further: after removing Serializable from SubControlImpl.jcs, compile fails.

        Show
        James Song added a comment - r178324 demonstrates different compile behavior: trunk\controls\test\src\controls\org\apache\beehive\controls\test\controls\extension\ExtensibleControlImpl.jcs is compiled while implementing Serializable. What is discovered further: after removing Serializable from SubControlImpl.jcs, compile fails.
        Hide
        Eddie O'Neil added a comment -

        Oops – somehow assigned this to NetUI...

        Show
        Eddie O'Neil added a comment - Oops – somehow assigned this to NetUI...

          People

          • Assignee:
            Jacob Danner
            Reporter:
            Eddie O'Neil
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development