[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-2678) improve docs for conversation propagation
by Martin Trummer (JIRA)
improve docs for conversation propagation
-----------------------------------------
Key: JBSEAM-2678
URL: http://jira.jboss.com/jira/browse/JBSEAM-2678
Project: JBoss Seam
Issue Type: Feature Request
Components: Documentation Issues
Environment: n.A.
Reporter: Martin Trummer
following points should be emphasized in the docs:
* the fact, that ending a conversation demotes the long-running conversation to a temporary conversation should be emphasized in the docs or explained in more detail
* the difference between ending a conversation and ending a conversation before-redirect should also be explained in more detail
* the docs should mention, that any facesMessages are lost, when you end the conversation and use before-redirect=true (and maybe how to work around this)
discussion can be found in the forum
I will attach a text file with a draft, of what these improvements could be (hope this helps)
--
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
16 years, 3 months
[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-3630) Calling Renderer.render twice throws NPE in testing
by Abram Thielke (JIRA)
Calling Renderer.render twice throws NPE in testing
---------------------------------------------------
Key: JBSEAM-3630
URL: https://jira.jboss.org/jira/browse/JBSEAM-3630
Project: Seam
Issue Type: Bug
Components: Mail
Affects Versions: 2.1.0.GA
Environment: JDK 1.5
Reporter: Abram Thielke
Assignee: Pete Muir
Attachments: modified-mail-example.zip
Methods in Seam 2.1.0.GA that call Renderer.render( ... ) multiple times inside the same method throws an NPE. This works fine when I deploy the app, however in testing I get the NullPointerException. I modified the mail example packaged with Seam 2.1 to call render twice from the MailExample.send method and I get the same thing:
[testng] ERROR [org.jboss.seam.example.mail.MailExample] Error sending mail
[testng] java.lang.NullPointerException
[testng] at org.jboss.seam.ui.facelet.RendererRequest.init(RendererRequest.java:49)
[testng] at org.jboss.seam.ui.facelet.RendererRequest.run(RendererRequest.java:72)
[testng] at org.jboss.seam.ui.facelet.FaceletsRenderer.render(FaceletsRenderer.java:43)
[testng] at org.jboss.seam.example.mail.MailExample.send(MailExample.java:41)
[testng] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[testng] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[testng] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[testng] at java.lang.reflect.Method.invoke(Method.java:585)
[testng] at org.jboss.seam.util.Reflections.invoke(Reflections.java:22)
[testng] at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)
[testng] at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
[testng] at org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:28)
[testng] at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
[testng] at org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:77)
[testng] at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
[testng] at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44)
[testng] at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
[testng] at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
[testng] at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:166)
[testng] at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:102)
[testng] at org.jboss.seam.example.mail.MailExample_$$_javassist_5.send(MailExample_$$_javassist_5.java)
[testng] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[testng] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[testng] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[testng] at java.lang.reflect.Method.invoke(Method.java:585)
[testng] at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:329)
[testng] at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:342)
[testng] at org.jboss.el.parser.AstPropertySuffix.invoke(AstPropertySuffix.java:58)
[testng] at org.jboss.el.parser.AstValue.invoke(AstValue.java:96)
[testng] at org.jboss.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
[testng] at org.jboss.seam.mock.AbstractSeamTest$Request.invokeMethod(AbstractSeamTest.java:464)
[testng] at org.jboss.seam.mock.AbstractSeamTest$Request.invokeAction(AbstractSeamTest.java:473)
[testng] at org.jboss.seam.example.mail.test.MailTest$12.invokeApplication(MailTest.java:647)
[testng] at org.jboss.seam.mock.AbstractSeamTest$Request.invokeApplicationPhase(AbstractSeamTest.java:647)
[testng] at org.jboss.seam.mock.AbstractSeamTest$Request.emulateJsfLifecycle(AbstractSeamTest.java:596)
[testng] at org.jboss.seam.mock.AbstractSeamTest$Request.access$300(AbstractSeamTest.java:178)
[testng] at org.jboss.seam.mock.AbstractSeamTest$Request$2.doFilter(AbstractSeamTest.java:498)
[testng] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
[testng] at org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:51)
[testng] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
[testng] at org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:38)
[testng] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
[testng] at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:90)
[testng] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
[testng] at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
[testng] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
[testng] at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
[testng] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
[testng] at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:177)
[testng] at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:267)
[testng] at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:380)
[testng] at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:507)
[testng] at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)
[testng] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
[testng] at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
[testng] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
[testng] at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
[testng] at org.jboss.seam.mock.AbstractSeamTest$Request.run(AbstractSeamTest.java:492)
[testng] at org.jboss.seam.example.mail.test.MailTest.testDoubleRender(MailTest.java:633)
[testng] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[testng] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[testng] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[testng] at java.lang.reflect.Method.invoke(Method.java:585)
[testng] at org.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:604)
[testng] at org.testng.internal.Invoker.invokeMethod(Invoker.java:470)
[testng] at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:564)
[testng] at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:830)
[testng] at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
[testng] at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
[testng] at org.testng.TestRunner.runWorkers(TestRunner.java:678)
[testng] at org.testng.TestRunner.privateRun(TestRunner.java:624)
[testng] at org.testng.TestRunner.run(TestRunner.java:495)
[testng] at org.testng.SuiteRunner.runTest(SuiteRunner.java:300)
[testng] at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:295)
[testng] at org.testng.SuiteRunner.privateRun(SuiteRunner.java:275)
[testng] at org.testng.SuiteRunner.run(SuiteRunner.java:190)
[testng] at org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:792)
[testng] at org.testng.TestNG.runSuitesLocally(TestNG.java:765)
[testng] at org.testng.TestNG.run(TestNG.java:699)
[testng] at org.testng.TestNG.privateMain(TestNG.java:824)
[testng] at org.testng.TestNG.main(TestNG.java:802)
I'll attach the modified mail example.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
16 years, 3 months
[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-3406) Back button in nested conversations
by Pablo Caballero (JIRA)
Back button in nested conversations
-----------------------------------
Key: JBSEAM-3406
URL: https://jira.jboss.org/jira/browse/JBSEAM-3406
Project: Seam
Issue Type: Bug
Affects Versions: 2.0.3.CR1
Environment: Linux, jboss-4.2.2.GA
Reporter: Pablo Caballero
Pressing the back button after closing a nested conversation does not propagate to the parent conversation and creates a new conversation.
For Example (see attached example files)
Start parent conversation view id first.xhtml (let say conversation Id is 2)
Start nested conversation view id second.xhtml (conversation Id is 3)
Close nested conversation and redirect to first.xhtml (conversation id 2)
Press the back button to try to view second.xhtml. Since the nested conversation is closed and no-conversation-view-id="/first.xhtml", the view stays in first.xhtml. However, a new conversation has been created with id 5. Conversation 2 is still active but in the background.
(I Tried using natural conversations, but I believe nested and natural are not supported at this time)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
16 years, 3 months
[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-3562) update() should consult the dirty flag on the persistence context
by Dan Allen (JIRA)
update() should consult the dirty flag on the persistence context
-----------------------------------------------------------------
Key: JBSEAM-3562
URL: https://jira.jboss.org/jira/browse/JBSEAM-3562
Project: Seam
Issue Type: Feature Request
Components: Framework
Affects Versions: 2.1.0.CR1
Reporter: Dan Allen
Assignee: Dan Allen
Priority: Minor
Fix For: 2.1.0.GA
When update() is called on a Home instance, only attempt to flush, register the status message, and raise the transaction success event if the persistence context was dirty. Of course, this only is effective if Hibernate is the persistence provider.
@Transactional
public String update()
{
joinTransaction();
// For a non-Hibernate JPA provider, this always returns true
if (PersistenceProvider.instance().isDirty(getEntityManager()))
{
getEntityManager().flush();
updatedMessage();
raiseAfterTransactionSuccessEvent();
return "updated";
}
return "unchanged";
}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
16 years, 3 months
[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-2257) Raise a session expired and new session event on occurence
by Jacob Orshalick (JIRA)
Raise a session expired and new session event on occurence
----------------------------------------------------------
Key: JBSEAM-2257
URL: http://jira.jboss.com/jira/browse/JBSEAM-2257
Project: JBoss Seam
Issue Type: Feature Request
Components: Security
Affects Versions: 2.0.0.GA
Reporter: Jacob Orshalick
Priority: Minor
You have to make some assumptions here, but you can basically notify the user when the server session has ended with the following in a PhaseListener:
Code:
@Observer("org.jboss.seam.beforePhase")
public void beforePhase(PhaseEvent event)
{
if(event.getPhaseId() == PhaseId.RESTORE_VIEW)
{
HttpServletRequest request =
(HttpServletRequest) FacesContext.getCurrentInstance()
.getExternalContext().getRequest();
if(request.getRequestedSessionId() != null
&& request.getSession().isNew())
Events.instance().raiseEvent("org.jboss.seam.sessionExpired");
...
Based on general cookie settings this will raise the event when the user still has the browser window open, the http session expired, and the user tries to access the app. If the user closes and reopens the browser to start the application, the event will not be raised. This of course makes the assumption that cookies expire when the browser session is ended (which is generally the case).
The org.jboss.seam.newSession event would simply change the condition to:
if(request.getRequestedSessionId() == null
&& request.getSession().isNew())
Events.instance().raiseEvent("org.jboss.seam.newSession");
This is generally useful for user notification on the login screen. Please see the forum reference for more information. Thanks.
--
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
16 years, 3 months