[
https://issues.apache.org/jira/browse/TAPESTRY-2184?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Howard M. Lewis Ship updated TAPESTRY-2184:
-------------------------------------------
Summary: Invoking createActionLink() in code throws an NullPointerException
even though using an ActionLink component in the template does not (was:
createActionLink cause exception when it is called in the page class, but
works when it is called from the template. )
So far I can't get this to fail the way you list it, short of:
Object[] onPassivate() { return new Object[] { null }; }
Which fails a bit differently:
java.lang.IllegalArgumentException: Parameter value was null.
at
org.apache.tapestry.ioc.internal.util.Defense.notNull(Defense.java:37)
at
org.apache.tapestry.internal.services.ContextValueEncoderImpl.toClient(ContextValueEncoderImpl.java:33)
at
$ContextValueEncoder_118435737b3.toClient($ContextValueEncoder_118435737b3.java)
at
org.apache.tapestry.internal.services.LinkFactoryImpl.toContextStrings(LinkFactoryImpl.java:239)
at
org.apache.tapestry.internal.services.LinkFactoryImpl.collectActivationContextForPage(LinkFactoryImpl.java:229)
at
org.apache.tapestry.internal.services.LinkFactoryImpl.createActionLink(LinkFactoryImpl.java:134)
at
$LinkFactory_118435737b9.createActionLink($LinkFactory_118435737b9.java)
at
org.apache.tapestry.internal.structure.PageImpl.createActionLink(PageImpl.java:156)
at
org.apache.tapestry.internal.structure.InternalComponentResourcesImpl.createActionLink(InternalComponentResourcesImpl.java:123)
at
org.apache.tapestry.integration.app1.pages.ActionViaLinkDemo.getActionURL(ActionViaLinkDemo.java:34)
at $PropertyConduit_11843573b25.get($PropertyConduit_11843573b25.java)
at
org.apache.tapestry.internal.bindings.PropBinding.get(PropBinding.java:54)
> Invoking createActionLink() in code throws an NullPointerException even
> though using an ActionLink component in the template does not
> -------------------------------------------------------------------------------------------------------------------------------------
>
> 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
>
> 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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]