myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andy Schwartz (JIRA)" <...@myfaces.apache.org>
Subject [jira] Updated: (TRINIDAD-1466) Support xinclude'd property metadata
Date Mon, 04 May 2009 20:51:31 GMT

     [ https://issues.apache.org/jira/browse/TRINIDAD-1466?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Andy Schwartz updated TRINIDAD-1466:
------------------------------------

    Status: Patch Available  (was: Open)

> Support xinclude'd property metadata
> ------------------------------------
>
>                 Key: TRINIDAD-1466
>                 URL: https://issues.apache.org/jira/browse/TRINIDAD-1466
>             Project: MyFaces Trinidad
>          Issue Type: Improvement
>          Components: Build
>            Reporter: Andy Schwartz
>            Priority: Minor
>         Attachments: TRINIDAD-1466.patch
>
>
> Currently the Trinidad plugins support the use of xinclude to pull in component metadata.
 For example, looking at CoreCommandButton.xml, I see:
> <faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee"
>               xmlns:tr="http://myfaces.apache.org/trinidad"
>               xmlns:xi="http://www.w3.org/2001/XInclude"
>               xmlns:mfp="http://myfaces.apache.org/maven-faces-plugin"
>               xmlns:xhtml="http://www.w3.org/1999/xhtml">
>   <component>
>      <!-- Snip -->
>     <xi:include href="includes/CommonAttrs.xml" xpointer="/faces-config/component/*"/>
>     <xi:include href="includes/CoreJSEvents.xml" xpointer="/faces-config/component/*"/>
>     <xi:include href="includes/LaunchSource.xml" xpointer="/faces-config/component/*"/>
>     <!-- Snip -->
> </faces-config.xml>
> This pulls in component properties from various external sources, making it possible
to share component metadata across components.
> I have a case where I would like to include property-specific metadata, eg:
> <faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee"
>               xmlns:tr="http://myfaces.apache.org/trinidad"
>               xmlns:xi="http://www.w3.org/2001/XInclude"
>               xmlns:mfp="http://myfaces.apache.org/maven-faces-plugin"
>               xmlns:xhtml="http://www.w3.org/1999/xhtml">
>   <component>
>     <property>
>       <property-name>Foo</property-name>
>       <xi:include href="includes/CommonFoo.xml" xpointer="/faces-config/component/property/*"/>
>     </property>
> </faces-config.xml>
> The goal is to define property metadata once and then include this into various property
definitions that share common metadata.
> However, this does not currently work.  The issue is that FacesConfigParser. addComponentDigesterRules()
only provides support for includes that appear within faces-config/component elements:
>     // XInclude rules
>     digester.setRuleNamespaceURI(XIncludeFilter.XINCLUDE_NAMESPACE);
>     digester.addFactoryCreate("faces-config/component/include",
>                               ComponentIncludeFactory.class);
> Includes underneath faces-config/component/property elements are ignored.  This prevents
sharing of metadata across property definitions.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message