You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Doug Leeper (JIRA)" <ji...@apache.org> on 2007/12/14 12:54:43 UTC
[jira] Created: (WICKET-1226) Deleting a treenode results in NPE
Deleting a treenode results in NPE
----------------------------------
Key: WICKET-1226
URL: https://issues.apache.org/jira/browse/WICKET-1226
Project: Wicket
Issue Type: Bug
Components: wicket
Affects Versions: 1.3.0-rc1
Reporter: Doug Leeper
Fix For: 1.3.0-rc3
I have a LinkTree with the root node visible. When deleting the last child tree node from the root, I get a NullPointerException.
java.lang.NullPointerException
at org.apache.wicket.markup.html.tree.BaseTree.isNodeLast(BaseTree.java:167)
at org.apache.wicket.markup.html.tree.BaseTree.access$000(BaseTree.java:49)
at org.apache.wicket.markup.html.tree.BaseTree$JunctionBorder.renderBefore(BaseTree.java:215)
at org.apache.wicket.Component.render(Component.java:2254)
at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1240)
at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1407)
at org.apache.wicket.MarkupContainer.onComponentTagBody(MarkupContainer.java:1344)
at org.apache.wicket.Component.renderComponent(Component.java:2419)
at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1354)
at org.apache.wicket.markup.html.tree.AbstractTree$TreeItem.onRender(AbstractTree.java:203)
at org.apache.wicket.Component.render(Component.java:2256)
at org.apache.wicket.markup.html.tree.AbstractTree$TreeItemContainer$1.visitItem(AbstractTree.java:383)
at org.apache.wicket.markup.html.tree.AbstractTree.visitItemAndChildren(AbstractTree.java:1430)
at org.apache.wicket.markup.html.tree.AbstractTree.visitItemChildren(AbstractTree.java:1449)
at org.apache.wicket.markup.html.tree.AbstractTree.visitItemAndChildren(AbstractTree.java:1431)
at org.apache.wicket.markup.html.tree.AbstractTree.visitItemChildren(AbstractTree.java:1449)
at org.apache.wicket.markup.html.tree.AbstractTree.visitItemAndChildren(AbstractTree.java:1431)
at org.apache.wicket.markup.html.tree.AbstractTree.access$4(AbstractTree.java:1428)
at org.apache.wicket.markup.html.tree.AbstractTree$TreeItemContainer.onRender(AbstractTree.java:390)
at org.apache.wicket.Component.render(Component.java:2256)
at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1240)
at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1407)
at org.apache.wicket.MarkupContainer.renderAssociatedMarkup(MarkupContainer.java:631)
at org.apache.wicket.markup.html.panel.Panel.onComponentTagBody(Panel.java:112)
at org.apache.wicket.Component.renderComponent(Component.java:2419)
at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1354)
at org.apache.wicket.Component.render(Component.java:2256)
at org.apache.wicket.Component.renderComponent(Component.java:2359)
at org.apache.wicket.ajax.AjaxRequestTarget.respondComponent(AjaxRequestTarget.java:702)
at org.apache.wicket.ajax.AjaxRequestTarget.respondComponents(AjaxRequestTarget.java:604)
at org.apache.wicket.ajax.AjaxRequestTarget.respond(AjaxRequestTarget.java:519)
at org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:103)
at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1100)
at org.apache.wicket.RequestCycle.step(RequestCycle.java:1169)
at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1248)
at org.apache.wicket.RequestCycle.request(RequestCycle.java:489)
at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:354)
at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:194)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at homeiq.hib.web.HibernateFilter.doFilter(HibernateFilter.java:68)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
at org.mortbay.jetty.Server.handle(Server.java:313)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506)
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:830)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:396)
at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)
A possible fix is the following:
In BaseTree.java:
public void renderBefore(Component component)
{
Response response = RequestCycle.get().getResponse();
TreeNode parent = node.getParent();
CharSequence classes[] = new CharSequence[level];
for (int i = 0; i < level; ++i)
{
// FIX
//if (isNodeLast(parent))
if ( parent == null || isNodeLast(parent) ) {
{
classes[i] = "spacer";
}
else
{
classes[i] = "line";
}
parent = parent.getParent();
}
for (int i = level - 1; i >= 0; --i)
{
response.write("<td class=\"" + classes[i] + "\"><span></span></td>");
}
if (isNodeLast(node))
{
response.write("<td class=\"half-line\">");
}
else
{
response.write("<td class=\"line\">");
}
}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (WICKET-1226) Deleting a treenode results in NPE
Posted by "Matej Knopp (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/WICKET-1226?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12553698 ]
Matej Knopp commented on WICKET-1226:
-------------------------------------
Hi, I've committed the suggested fix. Can you please try if it helps?
> Deleting a treenode results in NPE
> ----------------------------------
>
> Key: WICKET-1226
> URL: https://issues.apache.org/jira/browse/WICKET-1226
> Project: Wicket
> Issue Type: Bug
> Components: wicket
> Affects Versions: 1.3.0-rc1
> Reporter: Doug Leeper
> Assignee: Matej Knopp
> Fix For: 1.3.0-rc3
>
>
> I have a LinkTree with the root node visible. When deleting the last child tree node from the root, I get a NullPointerException.
> java.lang.NullPointerException
> at org.apache.wicket.markup.html.tree.BaseTree.isNodeLast(BaseTree.java:167)
> at org.apache.wicket.markup.html.tree.BaseTree.access$000(BaseTree.java:49)
> at org.apache.wicket.markup.html.tree.BaseTree$JunctionBorder.renderBefore(BaseTree.java:215)
> at org.apache.wicket.Component.render(Component.java:2254)
> at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1240)
> at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1407)
> at org.apache.wicket.MarkupContainer.onComponentTagBody(MarkupContainer.java:1344)
> at org.apache.wicket.Component.renderComponent(Component.java:2419)
> at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1354)
> at org.apache.wicket.markup.html.tree.AbstractTree$TreeItem.onRender(AbstractTree.java:203)
> at org.apache.wicket.Component.render(Component.java:2256)
> at org.apache.wicket.markup.html.tree.AbstractTree$TreeItemContainer$1.visitItem(AbstractTree.java:383)
> at org.apache.wicket.markup.html.tree.AbstractTree.visitItemAndChildren(AbstractTree.java:1430)
> at org.apache.wicket.markup.html.tree.AbstractTree.visitItemChildren(AbstractTree.java:1449)
> at org.apache.wicket.markup.html.tree.AbstractTree.visitItemAndChildren(AbstractTree.java:1431)
> at org.apache.wicket.markup.html.tree.AbstractTree.visitItemChildren(AbstractTree.java:1449)
> at org.apache.wicket.markup.html.tree.AbstractTree.visitItemAndChildren(AbstractTree.java:1431)
> at org.apache.wicket.markup.html.tree.AbstractTree.access$4(AbstractTree.java:1428)
> at org.apache.wicket.markup.html.tree.AbstractTree$TreeItemContainer.onRender(AbstractTree.java:390)
> at org.apache.wicket.Component.render(Component.java:2256)
> at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1240)
> at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1407)
> at org.apache.wicket.MarkupContainer.renderAssociatedMarkup(MarkupContainer.java:631)
> at org.apache.wicket.markup.html.panel.Panel.onComponentTagBody(Panel.java:112)
> at org.apache.wicket.Component.renderComponent(Component.java:2419)
> at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1354)
> at org.apache.wicket.Component.render(Component.java:2256)
> at org.apache.wicket.Component.renderComponent(Component.java:2359)
> at org.apache.wicket.ajax.AjaxRequestTarget.respondComponent(AjaxRequestTarget.java:702)
> at org.apache.wicket.ajax.AjaxRequestTarget.respondComponents(AjaxRequestTarget.java:604)
> at org.apache.wicket.ajax.AjaxRequestTarget.respond(AjaxRequestTarget.java:519)
> at org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:103)
> at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1100)
> at org.apache.wicket.RequestCycle.step(RequestCycle.java:1169)
> at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1248)
> at org.apache.wicket.RequestCycle.request(RequestCycle.java:489)
> at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:354)
> at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:194)
> at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
> at homeiq.hib.web.HibernateFilter.doFilter(HibernateFilter.java:68)
> at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
> at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
> at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
> at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
> at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
> at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
> at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
> at org.mortbay.jetty.Server.handle(Server.java:313)
> at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506)
> at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:830)
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381)
> at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:396)
> at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)
> A possible fix is the following:
> In BaseTree.java:
> public void renderBefore(Component component)
> {
> Response response = RequestCycle.get().getResponse();
> TreeNode parent = node.getParent();
> CharSequence classes[] = new CharSequence[level];
> for (int i = 0; i < level; ++i)
> {
> // FIX
> //if (isNodeLast(parent))
> if ( parent == null || isNodeLast(parent) ) {
> {
> classes[i] = "spacer";
> }
> else
> {
> classes[i] = "line";
> }
> parent = parent.getParent();
> }
> for (int i = level - 1; i >= 0; --i)
> {
> response.write("<td class=\"" + classes[i] + "\"><span></span></td>");
> }
> if (isNodeLast(node))
> {
> response.write("<td class=\"half-line\">");
> }
> else
> {
> response.write("<td class=\"line\">");
> }
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Assigned: (WICKET-1226) Deleting a treenode results in NPE
Posted by "Igor Vaynberg (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/WICKET-1226?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Igor Vaynberg reassigned WICKET-1226:
-------------------------------------
Assignee: Matej Knopp
> Deleting a treenode results in NPE
> ----------------------------------
>
> Key: WICKET-1226
> URL: https://issues.apache.org/jira/browse/WICKET-1226
> Project: Wicket
> Issue Type: Bug
> Components: wicket
> Affects Versions: 1.3.0-rc1
> Reporter: Doug Leeper
> Assignee: Matej Knopp
> Fix For: 1.3.0-rc3
>
>
> I have a LinkTree with the root node visible. When deleting the last child tree node from the root, I get a NullPointerException.
> java.lang.NullPointerException
> at org.apache.wicket.markup.html.tree.BaseTree.isNodeLast(BaseTree.java:167)
> at org.apache.wicket.markup.html.tree.BaseTree.access$000(BaseTree.java:49)
> at org.apache.wicket.markup.html.tree.BaseTree$JunctionBorder.renderBefore(BaseTree.java:215)
> at org.apache.wicket.Component.render(Component.java:2254)
> at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1240)
> at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1407)
> at org.apache.wicket.MarkupContainer.onComponentTagBody(MarkupContainer.java:1344)
> at org.apache.wicket.Component.renderComponent(Component.java:2419)
> at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1354)
> at org.apache.wicket.markup.html.tree.AbstractTree$TreeItem.onRender(AbstractTree.java:203)
> at org.apache.wicket.Component.render(Component.java:2256)
> at org.apache.wicket.markup.html.tree.AbstractTree$TreeItemContainer$1.visitItem(AbstractTree.java:383)
> at org.apache.wicket.markup.html.tree.AbstractTree.visitItemAndChildren(AbstractTree.java:1430)
> at org.apache.wicket.markup.html.tree.AbstractTree.visitItemChildren(AbstractTree.java:1449)
> at org.apache.wicket.markup.html.tree.AbstractTree.visitItemAndChildren(AbstractTree.java:1431)
> at org.apache.wicket.markup.html.tree.AbstractTree.visitItemChildren(AbstractTree.java:1449)
> at org.apache.wicket.markup.html.tree.AbstractTree.visitItemAndChildren(AbstractTree.java:1431)
> at org.apache.wicket.markup.html.tree.AbstractTree.access$4(AbstractTree.java:1428)
> at org.apache.wicket.markup.html.tree.AbstractTree$TreeItemContainer.onRender(AbstractTree.java:390)
> at org.apache.wicket.Component.render(Component.java:2256)
> at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1240)
> at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1407)
> at org.apache.wicket.MarkupContainer.renderAssociatedMarkup(MarkupContainer.java:631)
> at org.apache.wicket.markup.html.panel.Panel.onComponentTagBody(Panel.java:112)
> at org.apache.wicket.Component.renderComponent(Component.java:2419)
> at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1354)
> at org.apache.wicket.Component.render(Component.java:2256)
> at org.apache.wicket.Component.renderComponent(Component.java:2359)
> at org.apache.wicket.ajax.AjaxRequestTarget.respondComponent(AjaxRequestTarget.java:702)
> at org.apache.wicket.ajax.AjaxRequestTarget.respondComponents(AjaxRequestTarget.java:604)
> at org.apache.wicket.ajax.AjaxRequestTarget.respond(AjaxRequestTarget.java:519)
> at org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:103)
> at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1100)
> at org.apache.wicket.RequestCycle.step(RequestCycle.java:1169)
> at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1248)
> at org.apache.wicket.RequestCycle.request(RequestCycle.java:489)
> at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:354)
> at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:194)
> at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
> at homeiq.hib.web.HibernateFilter.doFilter(HibernateFilter.java:68)
> at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
> at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
> at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
> at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
> at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
> at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
> at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
> at org.mortbay.jetty.Server.handle(Server.java:313)
> at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506)
> at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:830)
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381)
> at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:396)
> at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)
> A possible fix is the following:
> In BaseTree.java:
> public void renderBefore(Component component)
> {
> Response response = RequestCycle.get().getResponse();
> TreeNode parent = node.getParent();
> CharSequence classes[] = new CharSequence[level];
> for (int i = 0; i < level; ++i)
> {
> // FIX
> //if (isNodeLast(parent))
> if ( parent == null || isNodeLast(parent) ) {
> {
> classes[i] = "spacer";
> }
> else
> {
> classes[i] = "line";
> }
> parent = parent.getParent();
> }
> for (int i = level - 1; i >= 0; --i)
> {
> response.write("<td class=\"" + classes[i] + "\"><span></span></td>");
> }
> if (isNodeLast(node))
> {
> response.write("<td class=\"half-line\">");
> }
> else
> {
> response.write("<td class=\"line\">");
> }
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Closed: (WICKET-1226) Deleting a treenode results in NPE
Posted by "Doug Leeper (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/WICKET-1226?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Doug Leeper closed WICKET-1226.
-------------------------------
Resolution: Fixed
Yes the fix worked for me. Thanks!
> Deleting a treenode results in NPE
> ----------------------------------
>
> Key: WICKET-1226
> URL: https://issues.apache.org/jira/browse/WICKET-1226
> Project: Wicket
> Issue Type: Bug
> Components: wicket
> Affects Versions: 1.3.0-rc1
> Reporter: Doug Leeper
> Assignee: Matej Knopp
> Fix For: 1.3.1
>
>
> I have a LinkTree with the root node visible. When deleting the last child tree node from the root, I get a NullPointerException.
> java.lang.NullPointerException
> at org.apache.wicket.markup.html.tree.BaseTree.isNodeLast(BaseTree.java:167)
> at org.apache.wicket.markup.html.tree.BaseTree.access$000(BaseTree.java:49)
> at org.apache.wicket.markup.html.tree.BaseTree$JunctionBorder.renderBefore(BaseTree.java:215)
> at org.apache.wicket.Component.render(Component.java:2254)
> at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1240)
> at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1407)
> at org.apache.wicket.MarkupContainer.onComponentTagBody(MarkupContainer.java:1344)
> at org.apache.wicket.Component.renderComponent(Component.java:2419)
> at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1354)
> at org.apache.wicket.markup.html.tree.AbstractTree$TreeItem.onRender(AbstractTree.java:203)
> at org.apache.wicket.Component.render(Component.java:2256)
> at org.apache.wicket.markup.html.tree.AbstractTree$TreeItemContainer$1.visitItem(AbstractTree.java:383)
> at org.apache.wicket.markup.html.tree.AbstractTree.visitItemAndChildren(AbstractTree.java:1430)
> at org.apache.wicket.markup.html.tree.AbstractTree.visitItemChildren(AbstractTree.java:1449)
> at org.apache.wicket.markup.html.tree.AbstractTree.visitItemAndChildren(AbstractTree.java:1431)
> at org.apache.wicket.markup.html.tree.AbstractTree.visitItemChildren(AbstractTree.java:1449)
> at org.apache.wicket.markup.html.tree.AbstractTree.visitItemAndChildren(AbstractTree.java:1431)
> at org.apache.wicket.markup.html.tree.AbstractTree.access$4(AbstractTree.java:1428)
> at org.apache.wicket.markup.html.tree.AbstractTree$TreeItemContainer.onRender(AbstractTree.java:390)
> at org.apache.wicket.Component.render(Component.java:2256)
> at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1240)
> at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1407)
> at org.apache.wicket.MarkupContainer.renderAssociatedMarkup(MarkupContainer.java:631)
> at org.apache.wicket.markup.html.panel.Panel.onComponentTagBody(Panel.java:112)
> at org.apache.wicket.Component.renderComponent(Component.java:2419)
> at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1354)
> at org.apache.wicket.Component.render(Component.java:2256)
> at org.apache.wicket.Component.renderComponent(Component.java:2359)
> at org.apache.wicket.ajax.AjaxRequestTarget.respondComponent(AjaxRequestTarget.java:702)
> at org.apache.wicket.ajax.AjaxRequestTarget.respondComponents(AjaxRequestTarget.java:604)
> at org.apache.wicket.ajax.AjaxRequestTarget.respond(AjaxRequestTarget.java:519)
> at org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:103)
> at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1100)
> at org.apache.wicket.RequestCycle.step(RequestCycle.java:1169)
> at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1248)
> at org.apache.wicket.RequestCycle.request(RequestCycle.java:489)
> at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:354)
> at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:194)
> at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
> at homeiq.hib.web.HibernateFilter.doFilter(HibernateFilter.java:68)
> at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
> at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
> at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
> at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
> at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
> at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
> at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
> at org.mortbay.jetty.Server.handle(Server.java:313)
> at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506)
> at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:830)
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381)
> at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:396)
> at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)
> A possible fix is the following:
> In BaseTree.java:
> public void renderBefore(Component component)
> {
> Response response = RequestCycle.get().getResponse();
> TreeNode parent = node.getParent();
> CharSequence classes[] = new CharSequence[level];
> for (int i = 0; i < level; ++i)
> {
> // FIX
> //if (isNodeLast(parent))
> if ( parent == null || isNodeLast(parent) ) {
> {
> classes[i] = "spacer";
> }
> else
> {
> classes[i] = "line";
> }
> parent = parent.getParent();
> }
> for (int i = level - 1; i >= 0; --i)
> {
> response.write("<td class=\"" + classes[i] + "\"><span></span></td>");
> }
> if (isNodeLast(node))
> {
> response.write("<td class=\"half-line\">");
> }
> else
> {
> response.write("<td class=\"line\">");
> }
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (WICKET-1226) Deleting a treenode results in NPE
Posted by "Frank Bille Jensen (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/WICKET-1226?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Frank Bille Jensen updated WICKET-1226:
---------------------------------------
Fix Version/s: (was: 1.3.0-rc3)
1.3.1
> Deleting a treenode results in NPE
> ----------------------------------
>
> Key: WICKET-1226
> URL: https://issues.apache.org/jira/browse/WICKET-1226
> Project: Wicket
> Issue Type: Bug
> Components: wicket
> Affects Versions: 1.3.0-rc1
> Reporter: Doug Leeper
> Assignee: Matej Knopp
> Fix For: 1.3.1
>
>
> I have a LinkTree with the root node visible. When deleting the last child tree node from the root, I get a NullPointerException.
> java.lang.NullPointerException
> at org.apache.wicket.markup.html.tree.BaseTree.isNodeLast(BaseTree.java:167)
> at org.apache.wicket.markup.html.tree.BaseTree.access$000(BaseTree.java:49)
> at org.apache.wicket.markup.html.tree.BaseTree$JunctionBorder.renderBefore(BaseTree.java:215)
> at org.apache.wicket.Component.render(Component.java:2254)
> at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1240)
> at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1407)
> at org.apache.wicket.MarkupContainer.onComponentTagBody(MarkupContainer.java:1344)
> at org.apache.wicket.Component.renderComponent(Component.java:2419)
> at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1354)
> at org.apache.wicket.markup.html.tree.AbstractTree$TreeItem.onRender(AbstractTree.java:203)
> at org.apache.wicket.Component.render(Component.java:2256)
> at org.apache.wicket.markup.html.tree.AbstractTree$TreeItemContainer$1.visitItem(AbstractTree.java:383)
> at org.apache.wicket.markup.html.tree.AbstractTree.visitItemAndChildren(AbstractTree.java:1430)
> at org.apache.wicket.markup.html.tree.AbstractTree.visitItemChildren(AbstractTree.java:1449)
> at org.apache.wicket.markup.html.tree.AbstractTree.visitItemAndChildren(AbstractTree.java:1431)
> at org.apache.wicket.markup.html.tree.AbstractTree.visitItemChildren(AbstractTree.java:1449)
> at org.apache.wicket.markup.html.tree.AbstractTree.visitItemAndChildren(AbstractTree.java:1431)
> at org.apache.wicket.markup.html.tree.AbstractTree.access$4(AbstractTree.java:1428)
> at org.apache.wicket.markup.html.tree.AbstractTree$TreeItemContainer.onRender(AbstractTree.java:390)
> at org.apache.wicket.Component.render(Component.java:2256)
> at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1240)
> at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1407)
> at org.apache.wicket.MarkupContainer.renderAssociatedMarkup(MarkupContainer.java:631)
> at org.apache.wicket.markup.html.panel.Panel.onComponentTagBody(Panel.java:112)
> at org.apache.wicket.Component.renderComponent(Component.java:2419)
> at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1354)
> at org.apache.wicket.Component.render(Component.java:2256)
> at org.apache.wicket.Component.renderComponent(Component.java:2359)
> at org.apache.wicket.ajax.AjaxRequestTarget.respondComponent(AjaxRequestTarget.java:702)
> at org.apache.wicket.ajax.AjaxRequestTarget.respondComponents(AjaxRequestTarget.java:604)
> at org.apache.wicket.ajax.AjaxRequestTarget.respond(AjaxRequestTarget.java:519)
> at org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:103)
> at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1100)
> at org.apache.wicket.RequestCycle.step(RequestCycle.java:1169)
> at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1248)
> at org.apache.wicket.RequestCycle.request(RequestCycle.java:489)
> at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:354)
> at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:194)
> at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
> at homeiq.hib.web.HibernateFilter.doFilter(HibernateFilter.java:68)
> at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
> at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
> at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
> at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
> at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
> at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
> at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
> at org.mortbay.jetty.Server.handle(Server.java:313)
> at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506)
> at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:830)
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381)
> at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:396)
> at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)
> A possible fix is the following:
> In BaseTree.java:
> public void renderBefore(Component component)
> {
> Response response = RequestCycle.get().getResponse();
> TreeNode parent = node.getParent();
> CharSequence classes[] = new CharSequence[level];
> for (int i = 0; i < level; ++i)
> {
> // FIX
> //if (isNodeLast(parent))
> if ( parent == null || isNodeLast(parent) ) {
> {
> classes[i] = "spacer";
> }
> else
> {
> classes[i] = "line";
> }
> parent = parent.getParent();
> }
> for (int i = level - 1; i >= 0; --i)
> {
> response.write("<td class=\"" + classes[i] + "\"><span></span></td>");
> }
> if (isNodeLast(node))
> {
> response.write("<td class=\"half-line\">");
> }
> else
> {
> response.write("<td class=\"line\">");
> }
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (WICKET-1226) Deleting a treenode results in NPE
Posted by "Frank Bille Jensen (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/WICKET-1226?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Frank Bille Jensen updated WICKET-1226:
---------------------------------------
Fix Version/s: (was: 1.3.1)
1.3.0-final
The fix made it in for 1.3.0 final
> Deleting a treenode results in NPE
> ----------------------------------
>
> Key: WICKET-1226
> URL: https://issues.apache.org/jira/browse/WICKET-1226
> Project: Wicket
> Issue Type: Bug
> Components: wicket
> Affects Versions: 1.3.0-rc1
> Reporter: Doug Leeper
> Assignee: Matej Knopp
> Fix For: 1.3.0-final
>
>
> I have a LinkTree with the root node visible. When deleting the last child tree node from the root, I get a NullPointerException.
> java.lang.NullPointerException
> at org.apache.wicket.markup.html.tree.BaseTree.isNodeLast(BaseTree.java:167)
> at org.apache.wicket.markup.html.tree.BaseTree.access$000(BaseTree.java:49)
> at org.apache.wicket.markup.html.tree.BaseTree$JunctionBorder.renderBefore(BaseTree.java:215)
> at org.apache.wicket.Component.render(Component.java:2254)
> at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1240)
> at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1407)
> at org.apache.wicket.MarkupContainer.onComponentTagBody(MarkupContainer.java:1344)
> at org.apache.wicket.Component.renderComponent(Component.java:2419)
> at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1354)
> at org.apache.wicket.markup.html.tree.AbstractTree$TreeItem.onRender(AbstractTree.java:203)
> at org.apache.wicket.Component.render(Component.java:2256)
> at org.apache.wicket.markup.html.tree.AbstractTree$TreeItemContainer$1.visitItem(AbstractTree.java:383)
> at org.apache.wicket.markup.html.tree.AbstractTree.visitItemAndChildren(AbstractTree.java:1430)
> at org.apache.wicket.markup.html.tree.AbstractTree.visitItemChildren(AbstractTree.java:1449)
> at org.apache.wicket.markup.html.tree.AbstractTree.visitItemAndChildren(AbstractTree.java:1431)
> at org.apache.wicket.markup.html.tree.AbstractTree.visitItemChildren(AbstractTree.java:1449)
> at org.apache.wicket.markup.html.tree.AbstractTree.visitItemAndChildren(AbstractTree.java:1431)
> at org.apache.wicket.markup.html.tree.AbstractTree.access$4(AbstractTree.java:1428)
> at org.apache.wicket.markup.html.tree.AbstractTree$TreeItemContainer.onRender(AbstractTree.java:390)
> at org.apache.wicket.Component.render(Component.java:2256)
> at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1240)
> at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1407)
> at org.apache.wicket.MarkupContainer.renderAssociatedMarkup(MarkupContainer.java:631)
> at org.apache.wicket.markup.html.panel.Panel.onComponentTagBody(Panel.java:112)
> at org.apache.wicket.Component.renderComponent(Component.java:2419)
> at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1354)
> at org.apache.wicket.Component.render(Component.java:2256)
> at org.apache.wicket.Component.renderComponent(Component.java:2359)
> at org.apache.wicket.ajax.AjaxRequestTarget.respondComponent(AjaxRequestTarget.java:702)
> at org.apache.wicket.ajax.AjaxRequestTarget.respondComponents(AjaxRequestTarget.java:604)
> at org.apache.wicket.ajax.AjaxRequestTarget.respond(AjaxRequestTarget.java:519)
> at org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:103)
> at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1100)
> at org.apache.wicket.RequestCycle.step(RequestCycle.java:1169)
> at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1248)
> at org.apache.wicket.RequestCycle.request(RequestCycle.java:489)
> at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:354)
> at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:194)
> at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
> at homeiq.hib.web.HibernateFilter.doFilter(HibernateFilter.java:68)
> at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
> at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
> at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
> at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
> at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
> at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
> at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
> at org.mortbay.jetty.Server.handle(Server.java:313)
> at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506)
> at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:830)
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381)
> at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:396)
> at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)
> A possible fix is the following:
> In BaseTree.java:
> public void renderBefore(Component component)
> {
> Response response = RequestCycle.get().getResponse();
> TreeNode parent = node.getParent();
> CharSequence classes[] = new CharSequence[level];
> for (int i = 0; i < level; ++i)
> {
> // FIX
> //if (isNodeLast(parent))
> if ( parent == null || isNodeLast(parent) ) {
> {
> classes[i] = "spacer";
> }
> else
> {
> classes[i] = "line";
> }
> parent = parent.getParent();
> }
> for (int i = level - 1; i >= 0; --i)
> {
> response.write("<td class=\"" + classes[i] + "\"><span></span></td>");
> }
> if (isNodeLast(node))
> {
> response.write("<td class=\"half-line\">");
> }
> else
> {
> response.write("<td class=\"line\">");
> }
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.