FOP
  1. FOP
  2. FOP-1387

[PATCH] Refactoring of PageSequenceLayoutManager and provide common FObj id property use

    Details

    • Type: Bug Bug
    • Status: Closed
    • Resolution: Fixed
    • Affects Version/s: trunk
    • Fix Version/s: None
    • Component/s: unqualified
    • Labels:
      None
    • Environment:
      Operating System: other
      Platform: Other
    • External issue ID:
      42809

      Description

      Whilst investigating another bug and reading through and trying to understand
      the code I found that the following structural changes to the code made sense :-

      • The AreaTreeHandler had several member variables specifically with the remit
        of tracking the use of Ids in PageViewPorts so this was factored out into a new
        IDTracker class.
      • The FlowLayoutManager member variable in PageSequenceLayoutManager was only
        referenced within PageBreaker so this member variable was moved out to PageBreaker.
      • The PageBreaker inner class of PageSequenceLayoutManager was getting rather
        large (larger than its holding class) and had minimal dependencies so I felt it
        was deserved moving out to the top level.
      • The PageProvider inner class of PageSequenceLayoutManager
        had very little dependencies on its holding class and was has been moved to the
        top level.
      • I found many instances of an id property and associated getId() accessor
        method in FObj descendants so it made sense to have this in the base FObj class
        and remove all other instances. Also added hasId() convenience method.
      • BasicLinkLayoutManager makes use of new BasicLink
        has(Internal|External)Destination() convenience methods.
      • Removed List blockLists argument from the AbstractBreaker/PageBreaker
        getNextBlockList() protected method as its only usage is the AbstractBreaker
        blockLists member variable.
      1. diff.txt
        151 kB
        Adrian Cumiskey
      2. filelist.txt
        2 kB
        Adrian Cumiskey

        Activity

        Hide
        Adrian Cumiskey added a comment -

        Attachment diff.txt has been added with description: patch file

        Show
        Adrian Cumiskey added a comment - Attachment diff.txt has been added with description: patch file
        Hide
        Adrian Cumiskey added a comment -

        Attachment filelist.txt has been added with description: file list

        Show
        Adrian Cumiskey added a comment - Attachment filelist.txt has been added with description: file list
        Hide
        Andreas L. Delmelle added a comment -

        I liked it... very much

        Patch applied. see: http://svn.apache.org/viewvc?view=rev&rev=554094

        Nice work, Adrian!

        Show
        Andreas L. Delmelle added a comment - I liked it... very much Patch applied. see: http://svn.apache.org/viewvc?view=rev&rev=554094 Nice work, Adrian!
        Hide
        Glenn Adams added a comment -

        batch transition pre-FOP1.0 resolved+fixed bugs to closed+fixed

        Show
        Glenn Adams added a comment - batch transition pre-FOP1.0 resolved+fixed bugs to closed+fixed

          People

          • Assignee:
            fop-dev
            Reporter:
            Adrian Cumiskey
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development