Uploaded image for project: 'Tapestry 5'
  1. Tapestry 5
  2. TAP5-1649

ComponentClassResolver should allow "common package root name" of a single term, and not require two terms

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 5.3, 5.2
    • Fix Version/s: 5.3
    • Component/s: tapestry-core
    • Labels:
      None

      Description

      Currently, if a single folder has multiple packages, ComponentClassResolver looks for a common package name to use when constructing classpath asset URLs, for example, using:

      LibraryMapping("foo", "com.foo.bar")
      LibraryMapping("foo", "com.foo.bazz")

      The common root package would be "com.foo", and asset URLs would be /assets/xxxx/foo/bar/abc.png or /assets/xxxx/foo/bazz/xyz.pdf

      In other work, /assets/xxxx/foo maps to "com/foo" on the classpath, and the remainder is mapped in.

      However, for some clients, requiring two folders is overkill, and reducing this limit to a single folder is desirable.

      Reducing down to no folders is problematic, since it makes the entire classpath visible to browsers, including important resources such as hibernate.cfg.xml and the like.

        Attachments

          Activity

            People

            • Assignee:
              hlship Howard M. Lewis Ship
              Reporter:
              hlship Howard M. Lewis Ship
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: