tapestry-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thiago H. de Paula Figueiredo (JIRA)" <j...@apache.org>
Subject [jira] [Closed] (TAP5-1530) Library of mixins
Date Mon, 23 May 2011 15:31:47 GMT

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

Thiago H. de Paula Figueiredo closed TAP5-1530.
-----------------------------------------------

    Resolution: Invalid

Hi!

Please post on the dev or user mailing list before posting a bug.

Since 5.2 it's not possible to add a library with a "core" mapping.
<t:pagelink page="index" w:mixins="myMixin">...</t:pagelink> is wrong: it should
be t:mixins, not w:mixins.

Cheers!

Thiago

> Library of mixins
> -----------------
>
>                 Key: TAP5-1530
>                 URL: https://issues.apache.org/jira/browse/TAP5-1530
>             Project: Tapestry 5
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.2.5
>            Reporter: Aleksandar Nikolov
>
> I had developed a library of several mixins in Tapestry v.5.1.0.5. Classes are packed
by maven in a jar file and added to the main project as a maven dependency. It worked pretty
well with Tapestry 5.1.0.5.
> I followed the rules at http://tapestry.apache.org/component-libraries.html and the eldest
http://tapestry.apache.org/tapestry5/cookbook/lib.html.
> Now I am trying to migrate the library to Tapestry 5.2.5, but found a problem in loading
mixins in the main project:
> Case 1: When I use "core" library mapping in library module class:
>     public static void contributeComponentClassResolver(Configuration<LibraryMapping>
configuration) {
>         configuration.add(new LibraryMapping("core", "com.mylib"));
>     }
>  and template code like this: "<t:pagelink page="index" t:mixins="myMixin">...</t:pagelink>"
then the following exception is thrown:
> Caused by: org.apache.tapestry5.ioc.util.UnknownValueException: Unable to resolve 'myMixin'
to a mixin class name.
>     at org.apache.tapestry5.internal.services.ComponentClassResolverImpl$7.invoke(ComponentClassResolverImpl.java:516)
>     at org.apache.tapestry5.internal.services.ComponentClassResolverImpl$7.invoke(ComponentClassResolverImpl.java:511)
>     at org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85)
>     at org.apache.tapestry5.internal.services.ComponentClassResolverImpl.resolveMixinTypeToClassName(ComponentClassResolverImpl.java:509)
>     at $ComponentClassResolver_1301a3347ae.resolveMixinTypeToClassName($ComponentClassResolver_1301a3347ae.java)
>     at org.apache.tapestry5.internal.pageload.EmbeddedComponentAssemblerImpl.<init>(EmbeddedComponentAssemblerImpl.java:110)
>     at org.apache.tapestry5.internal.pageload.ComponentAssemblerImpl.createEmbeddedAssembler(ComponentAssemblerImpl.java:276)
>     ... 106 more
> Case 2: When I use another (my own) library mapping name and template code like this:
"<t:pagelink page="index" w:mixins="myMixin">...</t:pagelink>" then Tapestry acts
as the mixins is not attached to the Pagelink. Just nothing happens.
> The only workaround I found is to move the mixins from the library to the main project.
Then all mixins can be attached. The problem appears only when the mixins are placed in external
library.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message