[jbossseam-issues] [JBoss JIRA] Commented: (JBSEAM-2775) package-info.java should be optional:"convention over configuration"

Norman Richards (JIRA) jira-events at lists.jboss.org
Thu Mar 27 13:01:39 EDT 2008

    [ http://jira.jboss.com/jira/browse/JBSEAM-2775?page=comments#action_12405180 ] 
Norman Richards commented on JBSEAM-2775:

I didn't like this idea when I first saw it, but the more I think about it the more I think it's a good thing.  Originally we thought (or at least I did) that we'd end up with more package-level metadata.    

The only thing I might suggest is to not use arbitrary URLs.  That seems confusing.  Maybe a more general URI?  java:com.foo.bar or even seam:com.foo.bar?  At the very least, I'd suggest not being so general with the URLs.  We don't need to support any legacy URLs, so why not be more strict with the form?  It'll make things easier to improve on later if we want to make changes to how this works.

> package-info.java should be optional:"convention over configuration"
> --------------------------------------------------------------------
>                 Key: JBSEAM-2775
>                 URL: http://jira.jboss.com/jira/browse/JBSEAM-2775
>             Project: JBoss Seam
>          Issue Type: Feature Request
>            Reporter: Eric Jung
> Currently, package-info.java is required when referring to custom Seam components in components.xml. However, to further align Seam with the "convention over configuration" philosophy, this file can be optional by making some assumptions:
> 1. In the absence of package-info.java , the XML namespace in components.xml for custom components has a well-defined mapping to a Java package
> 2. This mapping can be defined as:
>   a. The XML namespace must be parsable by java.net.URL, otherwise automatic mapping is aborted
>   a. Protocol (scheme), the www/ subdomain, port, query parameters, anchors (references), and userInfo are ignored, if present.
>   b. The top-level domain becomes the root Java package
>   c. Subdomains become Java packages under the root package, applied in right-to-left order as specified in the URI.
>   d. The path, as returned by URL.getPath(), is mapped to further Java packages such that each path element becomes another Java package appended in left-to-right order
> Examples:
> http://www.company.com/department/product ==> com.company.department.product
> https://company.com/department/product ==> com.company.department.product
> ftp://www.company.org/department/product ==> org.company.department.product
> abc://company.org/department/product ==> org.company.department.product
> company.net/foo/bar/baz ==> net.company.foo.bar.baz
> JIRA isn't displaying my last example correctly. See http://pastebin.mozilla.org/375878 for the last example.

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the seam-issues mailing list