[seam-commits] Seam SVN: r15412 - in branches/enterprise/WFK-2_1/seam-integration-tests/src/test: java/org/jboss/seam/test/integration/faces/conversations and 8 other directories.
seam-commits at lists.jboss.org
seam-commits at lists.jboss.org
Tue Feb 19 11:05:43 EST 2013
Author: manaRH
Date: 2013-02-19 11:05:43 -0500 (Tue, 19 Feb 2013)
New Revision: 15412
Added:
branches/enterprise/WFK-2_1/seam-integration-tests/src/test/java/org/jboss/seam/test/integration/faces/conversations/
branches/enterprise/WFK-2_1/seam-integration-tests/src/test/java/org/jboss/seam/test/integration/faces/conversations/ConversationAction.java
branches/enterprise/WFK-2_1/seam-integration-tests/src/test/java/org/jboss/seam/test/integration/faces/conversations/ConversationPropagationsTest.java
branches/enterprise/WFK-2_1/seam-integration-tests/src/test/java/org/jboss/seam/test/integration/faces/conversations/MyConversationEndingException.java
branches/enterprise/WFK-2_1/seam-integration-tests/src/test/java/org/jboss/seam/test/integration/faces/conversations/MyException.java
branches/enterprise/WFK-2_1/seam-integration-tests/src/test/resources/org/
branches/enterprise/WFK-2_1/seam-integration-tests/src/test/resources/org/jboss/
branches/enterprise/WFK-2_1/seam-integration-tests/src/test/resources/org/jboss/seam/
branches/enterprise/WFK-2_1/seam-integration-tests/src/test/resources/org/jboss/seam/test/
branches/enterprise/WFK-2_1/seam-integration-tests/src/test/resources/org/jboss/seam/test/integration/
branches/enterprise/WFK-2_1/seam-integration-tests/src/test/resources/org/jboss/seam/test/integration/faces/
branches/enterprise/WFK-2_1/seam-integration-tests/src/test/resources/org/jboss/seam/test/integration/faces/conversations/
branches/enterprise/WFK-2_1/seam-integration-tests/src/test/resources/org/jboss/seam/test/integration/faces/conversations/conversations.xhtml
branches/enterprise/WFK-2_1/seam-integration-tests/src/test/resources/org/jboss/seam/test/integration/faces/conversations/error.xhtml
branches/enterprise/WFK-2_1/seam-integration-tests/src/test/resources/org/jboss/seam/test/integration/faces/conversations/home.xhtml
branches/enterprise/WFK-2_1/seam-integration-tests/src/test/resources/org/jboss/seam/test/integration/faces/conversations/output.xhtml
branches/enterprise/WFK-2_1/seam-integration-tests/src/test/resources/org/jboss/seam/test/integration/faces/conversations/pages.xml
Log:
ConversationPropagationsTest
Added: branches/enterprise/WFK-2_1/seam-integration-tests/src/test/java/org/jboss/seam/test/integration/faces/conversations/ConversationAction.java
===================================================================
--- branches/enterprise/WFK-2_1/seam-integration-tests/src/test/java/org/jboss/seam/test/integration/faces/conversations/ConversationAction.java (rev 0)
+++ branches/enterprise/WFK-2_1/seam-integration-tests/src/test/java/org/jboss/seam/test/integration/faces/conversations/ConversationAction.java 2013-02-19 16:05:43 UTC (rev 15412)
@@ -0,0 +1,131 @@
+package org.jboss.seam.test.integration.faces.conversations;
+
+import java.io.Serializable;
+
+import org.jboss.seam.ScopeType;
+import org.jboss.seam.annotations.Begin;
+import org.jboss.seam.annotations.End;
+import org.jboss.seam.annotations.In;
+import org.jboss.seam.annotations.Logger;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Out;
+import org.jboss.seam.annotations.Scope;
+import org.jboss.seam.faces.Redirect;
+import org.jboss.seam.international.StatusMessages;
+import org.jboss.seam.log.Log;
+
+ at Name("ConversationAction")
+ at Scope(ScopeType.CONVERSATION)
+public class ConversationAction implements Serializable
+{
+ private static final long serialVersionUID = 1L;
+
+ @Logger
+ private Log log;
+
+ @In
+ StatusMessages statusMessages;
+
+ @Out(value = "state", scope = ScopeType.SESSION)
+ String state = "";
+
+ @Out(value = "foo", scope = ScopeType.CONVERSATION)
+ String foo = "";
+
+ @Out(value = "bar", scope = ScopeType.PAGE)
+ String bar = "";
+
+ @Begin
+ public void begin()
+ {
+ state += "begin;";
+ }
+
+ @End
+ public void end()
+ {
+ state += "end;";
+ }
+
+ public void xyzzy()
+ {
+ state += "xyzzy;";
+ }
+
+ public String viewOutput()
+ {
+
+ state += "viewOutput;";
+
+ return "output";
+ }
+
+ public String redirectOutput()
+ {
+
+ state += "redirectOutput;";
+
+ return "output?faces-redirect=true";
+ }
+
+ public void raiseException() throws MyException
+ {
+ state += "raiseException;";
+ throw new MyException();
+ }
+
+ public void raiseConversationEndingException() throws MyConversationEndingException
+ {
+ state += "raiseConversationEndingException;";
+ throw new MyConversationEndingException();
+ }
+
+ public String getState()
+ {
+ return state;
+ }
+
+ public String pagesRender()
+ {
+ state += "pagesRender;";
+
+ return "render";
+ }
+
+ public String pagesRedirect()
+ {
+ state += "pagesRedirect;";
+
+ return "redirect";
+ }
+
+ public void programmaticRedirect()
+ {
+
+ state += "programmaticRedirect;";
+
+ Redirect redirect = Redirect.instance();
+ redirect.setViewId("/output.xhtml");
+ redirect.execute();
+ }
+
+ public void programmaticRedirectNoPropagation()
+ {
+
+ state += "programmaticRedirectNoPropagation;";
+
+ Redirect redirect = Redirect.instance();
+ redirect.setConversationPropagationEnabled(false);
+ redirect.setViewId("/output.xhtml");
+ redirect.execute();
+
+ // FacesManager.instance().redirect("/output.xhtml", null, false, false);
+ }
+
+ /*
+ @BypassInterceptors
+ public boolean equals(Object other) {
+ return super.equals(other);
+ }
+ */
+}
Added: branches/enterprise/WFK-2_1/seam-integration-tests/src/test/java/org/jboss/seam/test/integration/faces/conversations/ConversationPropagationsTest.java
===================================================================
--- branches/enterprise/WFK-2_1/seam-integration-tests/src/test/java/org/jboss/seam/test/integration/faces/conversations/ConversationPropagationsTest.java (rev 0)
+++ branches/enterprise/WFK-2_1/seam-integration-tests/src/test/java/org/jboss/seam/test/integration/faces/conversations/ConversationPropagationsTest.java 2013-02-19 16:05:43 UTC (rev 15412)
@@ -0,0 +1,219 @@
+package org.jboss.seam.test.integration.faces.conversations;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Arrays;
+import java.util.LinkedList;
+import java.util.List;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.container.test.api.OverProtocol;
+import org.jboss.arquillian.container.test.api.RunAsClient;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.arquillian.test.api.ArquillianResource;
+import org.jboss.seam.test.integration.Deployments;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException;
+import com.gargoylesoftware.htmlunit.WebClient;
+import com.gargoylesoftware.htmlunit.html.HtmlPage;
+
+/**
+ * Tests various conversation propagation scenarios.
+ *
+ * @author maschmid
+ *
+ */
+ at RunWith(Arquillian.class)
+ at RunAsClient
+public class ConversationPropagationsTest
+{
+ private static String FORM_PREFIX_ID = "form:";
+
+ private static int JAVASCRIPT_WAIT = 1000;
+
+ private final WebClient client = new WebClient();
+
+ @ArquillianResource
+ URL contextPath;
+
+ @Deployment(name = "ConversationPropagationsTest")
+ @OverProtocol("Servlet 3.0")
+ public static Archive<?> createDeployment()
+ {
+ // This is a client test, use a real (non-mocked) Seam deployment
+ WebArchive war = Deployments.realSeamDeployment().addClasses(ConversationAction.class, MyException.class,
+ MyConversationEndingException.class);
+
+ war.delete("WEB-INF/pages.xml");
+
+ war.addAsWebResource("org/jboss/seam/test/integration/faces/conversations/conversations.xhtml",
+ "conversations.xhtml")
+ .addAsWebResource("org/jboss/seam/test/integration/faces/conversations/error.xhtml", "error.xhtml")
+ .addAsWebResource("org/jboss/seam/test/integration/faces/conversations/home.xhtml", "home.xhtml")
+ .addAsWebResource("org/jboss/seam/test/integration/faces/conversations/output.xhtml", "output.xhtml")
+ .addAsWebInfResource("org/jboss/seam/test/integration/faces/conversations/pages.xml", "pages.xml");
+
+ return war;
+ }
+
+ @Test
+ public void conversationTest() throws FailingHttpStatusCodeException, MalformedURLException, IOException
+ {
+ HtmlPage page = client.getPage(contextPath + "conversations.seam");
+ assertEquals("Seam Conversations Test", page.getTitleText());
+ }
+
+ private void testScenario(String output, String... ids) throws FailingHttpStatusCodeException,
+ MalformedURLException, IOException
+ {
+ HtmlPage page = client.getPage(contextPath + "conversations.seam");
+
+ for (String id : ids)
+ {
+ page.getElementById(FORM_PREFIX_ID + id).click();
+ client.waitForBackgroundJavaScript(JAVASCRIPT_WAIT);
+ page = (HtmlPage) client.getCurrentWindow().getEnclosedPage();
+ }
+
+ page = (HtmlPage) client.getCurrentWindow().getEnclosedPage();
+
+ assertTrue("Page should contain '" + output + "'", page.getBody().getTextContent().contains(output));
+ }
+
+ private void testCommonScenario(String output, String... ids) throws FailingHttpStatusCodeException,
+ MalformedURLException, IOException
+ {
+ List<String> allIds = new LinkedList<String>();
+ allIds.add("begin");
+ allIds.add("xyzzy");
+ allIds.addAll(Arrays.asList(ids));
+ testScenario(output, allIds.toArray(new String[]
+ {}));
+
+ // test with AJAX button
+ allIds = new LinkedList<String>();
+ allIds.add("begin");
+ allIds.add("ajax");
+ allIds.addAll(Arrays.asList(ids));
+ testScenario(output, allIds.toArray(new String[]
+ {}));
+ }
+
+ @Test
+ public void testViewOutput() throws Exception
+ {
+ testCommonScenario("Output: begin;xyzzy;viewOutput;. Conversation: true.", "view_output");
+ }
+
+ @Test
+ public void testRedirectOutput() throws Exception
+ {
+ testCommonScenario("Output: begin;xyzzy;redirectOutput;. Conversation: true.", "redirect_output");
+ }
+
+ @Test
+ public void testPagesRender() throws Exception
+ {
+ testCommonScenario("Output: begin;xyzzy;pagesRender;. Conversation: true.", "pages_render");
+ }
+
+ @Test
+ public void testPagesRedirect() throws Exception
+ {
+ testCommonScenario("Output: begin;xyzzy;pagesRedirect;. Conversation: true.", "pages_redirect");
+ }
+
+ @Test
+ public void testProgrammaticRedirect() throws Exception
+ {
+ testCommonScenario("Output: begin;xyzzy;programmaticRedirect;. Conversation: true.", "programmatic_redirect");
+ }
+
+ @Test
+ public void testProgrammaticRedirectAjax() throws Exception
+ {
+ testCommonScenario("Output: begin;xyzzy;programmaticRedirect;. Conversation: true.", "programmatic_redirect_ajax");
+ }
+
+ @Test
+ public void testProgrammaticRedirectNoPropagation() throws Exception
+ {
+ testCommonScenario("Output: . Conversation: false.", "programmatic_redirect_no_propagation");
+ }
+
+ @Test
+ public void testProgrammaticRedirectNoPropagationAjax() throws Exception
+ {
+ testCommonScenario("Output: . Conversation: false.", "programmatic_redirect_no_propagation_ajax");
+ }
+
+ @Test
+ public void testOutputLink() throws Exception
+ {
+ testCommonScenario("Output: . Conversation: false.", "output_link");
+ }
+
+ @Test
+ public void testOutputLinkWithCid() throws Exception
+ {
+ testCommonScenario("Output: begin;xyzzy;. Conversation: true.", "output_link_with_cid");
+ }
+
+ @Test
+ public void testSButtonActionPropagationNone() throws Exception
+ {
+ testCommonScenario("Output: . Conversation: false.", "sbutton_view_action_propagation_none");
+ }
+
+ @Test
+ public void testSButtonViewPropagationNone() throws Exception
+ {
+ testCommonScenario("Output: . Conversation: false.", "sbutton_view_propagation_none");
+ }
+
+ @Test
+ public void testSButtonPropagationJoin() throws Exception
+ {
+ testCommonScenario("Output: begin;xyzzy;. Conversation: true.", "sbutton_view_propagation_join");
+ }
+
+ @Test
+ public void testSButtonViewPropagationNoneWithConversationPropagationNone() throws Exception
+ {
+ testCommonScenario("Output: . Conversation: false.", "sbutton_view_propagation_none_with_conversationPropagation");
+ }
+
+ @Test
+ public void testException() throws Exception
+ {
+ testCommonScenario("Output: begin;xyzzy;raiseException;. Conversation: true.", "exception");
+ }
+
+ @Test
+ public void testConversationEndingException() throws Exception
+ {
+ testCommonScenario("Output: begin;xyzzy;raiseConversationEndingException;. Conversation: false.",
+ "conversation_ending_exception");
+ }
+
+ @Test
+ public void testExceptionByAjax() throws Exception
+ {
+ testCommonScenario("Output: begin;xyzzy;raiseException;. Conversation: true.", "exception_by_ajax");
+ }
+
+ @Test
+ public void testConversationEndingExceptionByAjax() throws Exception
+ {
+ testCommonScenario("Output: begin;xyzzy;raiseConversationEndingException;. Conversation: false.",
+ "conversation_ending_exception_by_ajax");
+ }
+}
Added: branches/enterprise/WFK-2_1/seam-integration-tests/src/test/java/org/jboss/seam/test/integration/faces/conversations/MyConversationEndingException.java
===================================================================
--- branches/enterprise/WFK-2_1/seam-integration-tests/src/test/java/org/jboss/seam/test/integration/faces/conversations/MyConversationEndingException.java (rev 0)
+++ branches/enterprise/WFK-2_1/seam-integration-tests/src/test/java/org/jboss/seam/test/integration/faces/conversations/MyConversationEndingException.java 2013-02-19 16:05:43 UTC (rev 15412)
@@ -0,0 +1,6 @@
+package org.jboss.seam.test.integration.faces.conversations;
+
+public class MyConversationEndingException extends Exception
+{
+ private static final long serialVersionUID = 1L;
+}
Added: branches/enterprise/WFK-2_1/seam-integration-tests/src/test/java/org/jboss/seam/test/integration/faces/conversations/MyException.java
===================================================================
--- branches/enterprise/WFK-2_1/seam-integration-tests/src/test/java/org/jboss/seam/test/integration/faces/conversations/MyException.java (rev 0)
+++ branches/enterprise/WFK-2_1/seam-integration-tests/src/test/java/org/jboss/seam/test/integration/faces/conversations/MyException.java 2013-02-19 16:05:43 UTC (rev 15412)
@@ -0,0 +1,6 @@
+package org.jboss.seam.test.integration.faces.conversations;
+
+public class MyException extends Exception
+{
+ private static final long serialVersionUID = 1L;
+}
Added: branches/enterprise/WFK-2_1/seam-integration-tests/src/test/resources/org/jboss/seam/test/integration/faces/conversations/conversations.xhtml
===================================================================
--- branches/enterprise/WFK-2_1/seam-integration-tests/src/test/resources/org/jboss/seam/test/integration/faces/conversations/conversations.xhtml (rev 0)
+++ branches/enterprise/WFK-2_1/seam-integration-tests/src/test/resources/org/jboss/seam/test/integration/faces/conversations/conversations.xhtml 2013-02-19 16:05:43 UTC (rev 15412)
@@ -0,0 +1,154 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:a="http://richfaces.org/a4j"
+ xmlns:s="http://jboss.org/schema/seam/taglib">
+<h:head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <title>Seam Conversations Test</title>
+</h:head>
+<h:body>
+ <h:form id="form">
+
+ <div>
+ <h:commandButton id="begin" value="begin"
+ action="#{ConversationAction.begin()}" />
+ </div>
+
+ <div>
+ <h:commandButton id="end" value="end"
+ action="#{ConversationAction.end()}" />
+ </div>
+
+ <div>
+ <h:commandButton id="view_output" value="view output"
+ action="#{ConversationAction.viewOutput()}" />
+ </div>
+ <div>
+ <h:commandButton id="redirect_output" value="redirect output"
+ action="#{ConversationAction.redirectOutput()}" />
+ </div>
+ <div>
+ <h:commandButton id="pages_render" value="pages render"
+ action="#{ConversationAction.pagesRender}" />
+ </div>
+ <div>
+ <h:commandButton id="pages_redirect" value="pages redirect"
+ action="#{ConversationAction.pagesRedirect}" />
+ </div>
+
+ <div>
+ <h:commandButton id="programmatic_redirect" value="programmatic redirect"
+ action="#{ConversationAction.programmaticRedirect()}" />
+ </div>
+
+ <div>
+ <h:commandButton id="programmatic_redirect_ajax" value="programmatic redirect with AJAX"
+ action="#{ConversationAction.programmaticRedirect()}">
+ <f:ajax />
+ </h:commandButton>
+ </div>
+
+ <div>
+ <h:commandButton id="programmatic_redirect_no_propagation" value="programmatic redirect no propagation"
+ action="#{ConversationAction.programmaticRedirectNoPropagation()}" />
+ </div>
+
+ <div>
+ <h:commandButton id="programmatic_redirect_no_propagation_ajax" value="programmatic redirect no propagation with AJAX"
+ action="#{ConversationAction.programmaticRedirectNoPropagation()}">
+ <f:ajax />
+ </h:commandButton>
+ </div>
+
+ <div>
+ <h:outputLink id="output_link" value="output.seam">
+ Output Link
+ </h:outputLink>
+ </div>
+
+ <div>
+ <h:outputLink id="output_link_with_cid" value="output.seam">
+ <s:conversationId />
+ Output Link with cid
+ </h:outputLink>
+ </div>
+
+ <div>
+ <s:button id="sbutton_view_action_propagation_none" action="#{ConversationAction.viewOutput()}"
+ value="SButton view action no propagation" propagation="none"></s:button>
+ </div>
+
+ <div>
+ <s:button id="sbutton_view_propagation_none" view="/output.xhtml" value="SButton view no propagation"
+ propagation="none"></s:button>
+ </div>
+
+ <div>
+ <s:button id="sbutton_view_propagation_join" view="/output.xhtml" value="SButton view join propagation"
+ propagation="join"></s:button>
+ </div>
+
+ <div>
+ <s:button id="sbutton_view_propagation_none_with_conversationPropagation" view="/output.xhtml"
+ value="SButton view no propagation with s:conversationPropagation none"
+ propagation="none">
+ <s:conversationPropagation type="none" />
+ </s:button>
+ </div>
+
+ <div>
+ <h:commandButton id="exception" value="exception"
+ action="#{ConversationAction.raiseException()}" />
+ </div>
+ <div>
+ <h:commandButton id="conversation_ending_exception"
+ value="conversation ending exception"
+ action="#{ConversationAction.raiseConversationEndingException()}" />
+ </div>
+
+ <div>
+ <h:commandButton id="exception_by_ajax" value="exception by AJAX"
+ action="#{ConversationAction.raiseException()}">
+ <f:ajax />
+ </h:commandButton>
+ </div>
+ <div>
+ <h:commandButton id="conversation_ending_exception_by_ajax"
+ value="conversation ending exception by AJAX"
+ action="#{ConversationAction.raiseConversationEndingException()}">
+ <f:ajax />
+ </h:commandButton>
+ </div>
+
+ <div>
+ <h:outputLink id="localhost" value="http://127.0.0.1:8080">
+ http://127.0.0.1:8080
+ </h:outputLink>
+ </div>
+
+ <div>
+ <h:commandButton id="xyzzy" action="#{ConversationAction.xyzzy}" value="Xyzzy">
+ </h:commandButton>
+ </div>
+
+ <div>
+ <h:commandButton id="ajax" action="#{ConversationAction.xyzzy}" value="AJAX">
+ <f:ajax render="ajaxOutput"></f:ajax>
+ </h:commandButton>
+ </div>
+
+ <h:panelGroup id="ajaxOutput">
+ <h:outputText value="#{ConversationAction.state}" />
+ <h:outputLink id="ajaxOutput_link" value="output.seam">
+ <s:conversationId />
+ Output Link with cid
+ </h:outputLink>
+ </h:panelGroup>
+
+ </h:form>
+</h:body>
+</html>
Added: branches/enterprise/WFK-2_1/seam-integration-tests/src/test/resources/org/jboss/seam/test/integration/faces/conversations/error.xhtml
===================================================================
--- branches/enterprise/WFK-2_1/seam-integration-tests/src/test/resources/org/jboss/seam/test/integration/faces/conversations/error.xhtml (rev 0)
+++ branches/enterprise/WFK-2_1/seam-integration-tests/src/test/resources/org/jboss/seam/test/integration/faces/conversations/error.xhtml 2013-02-19 16:05:43 UTC (rev 15412)
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:a="http://richfaces.org/a4j"
+ xmlns:s="http://jboss.org/schema/seam/taglib">
+<h:head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <title>Seam Conversations Test Error</title>
+</h:head>
+<h:body>
+ <h1>Error</h1>
+ <p>Something bad happened :-(</p>
+
+ <h:messages id="errorMessage" styleClass="message"/>
+</h:body>
+</html>
Added: branches/enterprise/WFK-2_1/seam-integration-tests/src/test/resources/org/jboss/seam/test/integration/faces/conversations/home.xhtml
===================================================================
--- branches/enterprise/WFK-2_1/seam-integration-tests/src/test/resources/org/jboss/seam/test/integration/faces/conversations/home.xhtml (rev 0)
+++ branches/enterprise/WFK-2_1/seam-integration-tests/src/test/resources/org/jboss/seam/test/integration/faces/conversations/home.xhtml 2013-02-19 16:05:43 UTC (rev 15412)
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:a="http://richfaces.org/a4j"
+ xmlns:s="http://jboss.org/schema/seam/taglib">
+<h:head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <title>Seam Conversations Test Home</title>
+</h:head>
+<h:body>
+ <h:form id="ConversationActionForm">
+ <s:link view="/conversations.xhtml" value="Conversations"/>
+ </h:form>
+</h:body>
+</html>
Added: branches/enterprise/WFK-2_1/seam-integration-tests/src/test/resources/org/jboss/seam/test/integration/faces/conversations/output.xhtml
===================================================================
--- branches/enterprise/WFK-2_1/seam-integration-tests/src/test/resources/org/jboss/seam/test/integration/faces/conversations/output.xhtml (rev 0)
+++ branches/enterprise/WFK-2_1/seam-integration-tests/src/test/resources/org/jboss/seam/test/integration/faces/conversations/output.xhtml 2013-02-19 16:05:43 UTC (rev 15412)
@@ -0,0 +1,15 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:s="http://jboss.org/schema/seam/taglib">
+<h:head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <title>Seam Conversations Test Output</title>
+</h:head>
+<h:body>
+ Output: <h:outputText value="#{ConversationAction.state}"/>. Conversation: <h:outputText value="#{conversation.longRunning}" />.
+</h:body>
+</html>
Added: branches/enterprise/WFK-2_1/seam-integration-tests/src/test/resources/org/jboss/seam/test/integration/faces/conversations/pages.xml
===================================================================
--- branches/enterprise/WFK-2_1/seam-integration-tests/src/test/resources/org/jboss/seam/test/integration/faces/conversations/pages.xml (rev 0)
+++ branches/enterprise/WFK-2_1/seam-integration-tests/src/test/resources/org/jboss/seam/test/integration/faces/conversations/pages.xml 2013-02-19 16:05:43 UTC (rev 15412)
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<pages xmlns="http://jboss.org/schema/seam/pages"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://jboss.org/schema/seam/pages http://jboss.org/schema/seam/pages-2.3.xsd"
+
+ no-conversation-view-id="/home.xhtml"
+ login-view-id="/login.xhtml">
+
+ <page view-id="/conversations.xhtml">
+ <navigation from-action="#{ConversationAction.pagesRender}">
+ <rule if-outcome="render">
+ <render view-id="/output.xhtml"/>
+ </rule>
+ </navigation>
+
+ <navigation from-action="#{ConversationAction.pagesRedirect}">
+ <rule if-outcome="redirect">
+ <redirect view-id="/output.xhtml"/>
+ </rule>
+ </navigation>
+ </page>
+
+
+ <page view-id="*">
+ <navigation>
+ <rule if-outcome="home">
+ <redirect view-id="/home.xhtml"/>
+ </rule>
+ </navigation>
+ </page>
+
+ <exception class="org.jboss.seam.framework.EntityNotFoundException">
+ <redirect view-id="/error.xhtml">
+ <message severity="warn">Record not found</message>
+ </redirect>
+ </exception>
+
+ <exception class="javax.persistence.EntityNotFoundException">
+ <redirect view-id="/error.xhtml">
+ <message severity="warn">Record not found</message>
+ </redirect>
+ </exception>
+
+ <exception class="javax.persistence.EntityExistsException">
+ <redirect view-id="/error.xhtml">
+ <message severity="warn">Duplicate record</message>
+ </redirect>
+ </exception>
+
+ <exception class="javax.persistence.OptimisticLockException">
+ <end-conversation/>
+ <redirect view-id="/error.xhtml">
+ <message severity="warn">Another user changed the same data, please try again</message>
+ </redirect>
+ </exception>
+
+ <exception class="org.jboss.seam.security.AuthorizationException">
+ <redirect view-id="/error.xhtml">
+ <message severity="error">You don't have permission to access this resource</message>
+ </redirect>
+ </exception>
+
+ <exception class="org.jboss.seam.security.NotLoggedInException">
+ <redirect view-id="/login.xhtml">
+ <message severity="warn">#{messages['org.jboss.seam.NotLoggedIn']}</message>
+ </redirect>
+ </exception>
+
+ <exception class="javax.faces.application.ViewExpiredException">
+ <redirect view-id="/error.xhtml">
+ <message severity="warn">Your session has timed out, please try again</message>
+ </redirect>
+ </exception>
+
+ <exception class="org.jboss.seam.ConcurrentRequestTimeoutException" log-level="trace">
+ <http-error error-code="503" />
+ </exception>
+
+ <exception class="org.jboss.seam.test.integration.faces.conversations.MyException">
+ <redirect view-id="/output.xhtml">
+ <message severity="warn">MyException!</message>
+ </redirect>
+ </exception>
+
+ <exception class="org.jboss.seam.test.integration.faces.conversations.MyConversationEndingException">
+ <end-conversation/>
+ <redirect view-id="/output.xhtml">
+ <message severity="warn">MyConversationEndingException!</message>
+ </redirect>
+ </exception>
+
+ <exception>
+ <redirect view-id="/error.xhtml">
+ <message severity="error">Unexpected error, please try again</message>
+ </redirect>
+ </exception>
+</pages>
More information about the seam-commits
mailing list