[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-1451) NPE in NodeHome
by Christian Bauer (JIRA)
NPE in NodeHome
---------------
Key: JBSEAM-1451
URL: http://jira.jboss.com/jira/browse/JBSEAM-1451
Project: JBoss Seam
Issue Type: Bug
Components: Wiki
Affects Versions: 1.3.0.ALPHA
Reporter: Christian Bauer
Assigned To: Christian Bauer
Priority: Critical
Can't reproduce this yet on the dev box, only see it in the log of the running live wiki:
java.lang.NullPointerException
at org.jboss.seam.wiki.core.action.NodeHome.createInstance(NodeHome.java:97)
at org.jboss.seam.wiki.core.action.NodeHome.createInstance(NodeHome.java:35)
This can and seems to only happen when a document, directory, or file is edited. I've seen it after editing some files and after editing some documents. The NP is most likely the missing parentDirectory object. This should and can only happen if the NodeHome component can't find the parentDirId request parameter...
Everything seems to work though.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
18 years, 7 months
[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-1622) NPE in PassivatedEntity
by Christian Bauer (JIRA)
NPE in PassivatedEntity
-----------------------
Key: JBSEAM-1622
URL: http://jira.jboss.com/jira/browse/JBSEAM-1622
Project: JBoss Seam
Issue Type: Bug
Components: Core
Reporter: Christian Bauer
Priority: Minor
Until I write tests (next week), only reproducible in the wiki example: Open start page, click Edit, click Register, click Exit.
java.lang.NullPointerException
at org.jboss.seam.contexts.PassivatedEntity.passivateEntity(PassivatedEntity.java:155)
at org.jboss.seam.contexts.EntityBean.passivate(EntityBean.java:50)
at org.jboss.seam.contexts.ServerConversationContext.isAttributeDirty(ServerConversationContext.java:286)
at org.jboss.seam.contexts.ServerConversationContext.flush(ServerConversationContext.java:256)
at org.jboss.seam.contexts.Contexts.flushAndDestroyContexts(Contexts.java:371)
at org.jboss.seam.contexts.FacesLifecycle.endRequest(FacesLifecycle.java:83)
at org.jboss.seam.jsf.SeamPhaseListener.afterRender(SeamPhaseListener.java:515)
at org.jboss.seam.jsf.SeamPhaseListener.afterServletPhase(SeamPhaseListener.java:230)
at org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:184)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:280)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:164)
at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:141)
at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:90)
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:395)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:73)
at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:87)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:63)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:46)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:127)
at org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:277)
at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:40)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:140)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
Code that runs on Exit:
public void exitConversation() {
Conversation currentConversation = Conversation.instance();
currentConversation.end();
ConversationEntry entryPoint =
(ConversationEntry)Contexts.getConversationContext().get("conversationEntryPoint");
FacesMessages messages = (FacesMessages)Component.getInstance("facesMessages");
FacesManager.instance().switchConversation(entryPoint.getId());
Contexts.getConversationContext().set("org.jboss.seam.faces.facesMessages", messages);
Conversation.instance().redirect();
}
Log:
17:18:54,193 TRACE [SeamPhaseListener] before phase: RESTORE_VIEW 1
17:18:54,193 DEBUG [FacesLifecycle] >>> Begin JSF request
17:18:54,194 DEBUG [SeamPhaseListener] beginning transaction prior to phase: RESTORE_VIEW 1
17:18:54,194 TRACE [SeamPhaseListener] after phase: RESTORE_VIEW 1
17:18:54,195 DEBUG [ConversationPropagation] Found conversation id in request parameter: 8
17:18:54,195 DEBUG [Manager] Restoring conversation with id: 8
17:18:54,195 DEBUG [SeamPhaseListener] After restoring conversation context: ConversationContext(8)
17:18:54,195 DEBUG [SeamPhaseListener] committing transaction after phase: RESTORE_VIEW 1
17:18:54,196 TRACE [SeamPhaseListener] before phase: RENDER_RESPONSE 6
17:18:54,196 DEBUG [SeamPhaseListener] beginning transaction prior to phase: RENDER_RESPONSE 6
17:18:54,197 TRACE [RootInterceptor] intercepted: browser.POST_CONSTRUCT
17:18:54,197 TRACE [RootInterceptor] intercepted: browser.captureConversationEntryPoint
17:18:54,197 TRACE [RootInterceptor] intercepted: nodeDAO.POST_CONSTRUCT
17:18:54,202 TRACE [RootInterceptor] intercepted: browser.exitConversation
17:18:54,203 DEBUG [NodeBrowser] ending conversation
17:18:54,203 DEBUG [Manager] Ending long-running conversation
17:18:54,203 DEBUG [NodeBrowser] entry-point of this conversation (8) has been another conversation
17:18:54,203 DEBUG [NodeBrowser] switching to entry-point conversation: 7
17:18:54,203 DEBUG [NodeBrowser] propagating faces messages from the ended conversation into the destination conversation
17:18:54,203 DEBUG [NodeBrowser] switching to last view in previous conversation
17:18:54,204 DEBUG [FacesManager] redirecting to: /wiki/docEdit.seam?cid=7
17:18:54,204 DEBUG [SeamPhaseListener] committing transaction after phase: INVOKE_APPLICATION 5
17:18:54,204 TRACE [SeamPhaseListener] after phase: RENDER_RESPONSE 6
17:18:54,205 DEBUG [Manager] Storing conversation state: 7
17:18:54,205 DEBUG [FacesLifecycle] After render response, destroying contexts
17:18:54,205 DEBUG [FacesLifecycle] <<< End JSF request
17:18:54,206 ERROR [SeamPhaseListener] uncaught exception
java.lang.NullPointerException
...
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
18 years, 7 months
[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-1731) NullPointerException in Pages.java
by Matt Drees (JIRA)
NullPointerException in Pages.java
----------------------------------
Key: JBSEAM-1731
URL: http://jira.jboss.com/jira/browse/JBSEAM-1731
Project: JBoss Seam
Issue Type: Bug
Affects Versions: 2.0.0.BETA1
Environment: seam-20070727.0009
Reporter: Matt Drees
Priority: Minor
When I open up the facelets debug page, I get this stacktrace:
java.lang.NullPointerException
at org.jboss.seam.navigation.Pages.isDebugPage(Pages.java:1470)
at org.jboss.seam.jsf.SeamPhaseListener.postRestorePage(SeamPhaseListener.java:513)
at org.jboss.seam.jsf.SeamPhaseListener.afterRestoreView(SeamPhaseListener.java:374)
at org.jboss.seam.jsf.SeamPhaseListener.afterServletPhase(SeamPhaseListener.java:211)
at org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:184)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:280)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:82)
...
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)
I'm fairly sure it's being caused by the code on line 1473:
getCurrentViewId().startsWith("/debug.");
>From debugging it, I can see that getCurrentViewId() returns null. I'm not sure why it's null, or why the stacktrace says the nullpointer exception is on line 1470.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
18 years, 7 months
[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-1719) UrlBuilder doesnt construct a correct url when the base url already has request params in place.
by Chris Rudd (JIRA)
UrlBuilder doesnt construct a correct url when the base url already has request params in place.
------------------------------------------------------------------------------------------------
Key: JBSEAM-1719
URL: http://jira.jboss.com/jira/browse/JBSEAM-1719
Project: JBoss Seam
Issue Type: Bug
Components: Core
Affects Versions: 2.0.0.BETA1
Reporter: Chris Rudd
Given the following test case :
@Test
public void testBaseUrlAlreadyHasParams()
{
UrlBuilder url = new UrlBuilder("/someurl?arg1=a", "");
url.addParameter("foo", "bar");
String encodedUrl = url.getEncodedUrl();
Assert.assertEqual( encodedUrl, "/someurl?arg1=a&foo=bar" );
}
The following patch fixes the issue.
UrlBuilder.java line 62
protected String getParametersAsString()
{
String params = "";
for (String key : parameters.keySet())
{
params += "&" + key + "=" + parameters.get(key);
}
- if (!"".equals(params))
+ // repace the first "&" with a "?" if there are parameters and the url doesnt already contain a "?"
+ if (!".equals(params) && (url!=null && !url.contains("?"))
{
params = "?" + params.substring(1);
}
return params;
}
NOTE: This condition occurs when using <s:link/> in a portlet, as the portlet returns a url with parameters already added to the url.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
18 years, 7 months