You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Robert Zeigler (JIRA)" <de...@tapestry.apache.org> on 2008/02/23 01:01:19 UTC

[jira] Commented: (TAPESTRY-2184) Null pointer exception when creating an action link during a component event request

    [ https://issues.apache.org/jira/browse/TAPESTRY-2184?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12571649#action_12571649 ] 

Robert Zeigler commented on TAPESTRY-2184:
------------------------------------------

Not quite sure what you mean by "current page", but...
suppose you have, say, a view block contribution, or edit block contribution, that creates an action link; it'll be in a page, say, ViewBlocks, but the rendering page might be, say, ListOrders.  So then if the action handler in ViewBlocks is called, and it, in turn, calls createActionLink, would the "active" page be ViewBlocks, or ListOrders?
It ought to be ListOrders, but...


> Null pointer exception when creating an action link during a component event request
> ------------------------------------------------------------------------------------
>
>                 Key: TAPESTRY-2184
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2184
>             Project: Tapestry
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.0.10
>            Reporter: Angelo Chen
>            Assignee: Howard M. Lewis Ship
>             Fix For: 5.0.11
>
>
> createActionLink cause exception when it is called in the page class(see onActionFromDelete), but works when it is called from the template, this works in 5.0.6 and 7, but fails in 5.0.9 and 5.0.10, sample code and error follows:
> public class TestPage1 {
>     @Inject
>     private ComponentResources resources;
>     private Object[] _objs;
>     public Class onActivate(Object[] obj) { _objs = obj; return null; }
>     public Object[] onPassivate() { return _objs;}
>     Link onActionFromDelete(Long id) {
>         String x = getTheLink();        // this fails with exception
>         return null;
>     }
>     public String getTheLink() {
>         Link l = resources.createActionLink("DeleteConfirm", false);
>         return l.toURI();
>     }
>     public Object onDeleteConfirm(Long id) {
>          return null;
>     }
> }
> template:
> <body>
>     <t:ActionLink t:id="Delete" context="1">Delete me</t:ActionLink><br />
>     <p>My Link is : ${theLink}</p>
> </body>
> errors:
> java.lang.NullPointerException
> Stack trace
>         * org.apache.tapestry.internal.services.LinkFactoryImpl.collectActivationContextForPage(LinkFactoryImpl.java:217)
>         * org.apache.tapestry.internal.services.LinkFactoryImpl.createActionLink(LinkFactoryImpl.java:129)
>         * org.apache.tapestry.internal.structure.PageImpl.createActionLink(PageImpl.java:156)

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


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org