instNums = getInstanceNumbers();
+ if (!instNums.isEmpty() && !forceNoCluster) {
int instanceNumberIndex = 0;
try {
- String num = instanceNumbers.get(instanceNumberIndex).toString() + port;
+ String num = instNums.get(instanceNumberIndex).toString() + port;
result = Integer.parseInt(num);
} catch (NumberFormatException e) {
@@ -316,6 +341,20 @@
return result;
}
+ protected int getNthPort(int instanceNumber) {
+ int result = port;
+ if (!forceNoCluster) {
+ try {
+ String num = instanceNumber + "" + port;
+ result = Integer.parseInt(num);
+
+ } catch (NumberFormatException e) {
+ System.out.println(e.getMessage());
+ throw e;
+ }
+ }
+ return result;
+ }
/**
* The same as {@link #getPage(String)} except this uses the specified
* WebClient.
@@ -376,7 +415,25 @@
}
+ protected URL getURLFromInstanceN(String path, int instanceNumber) throws Exception {
+ StringBuilder sb = new StringBuilder("http://");
+ sb.append(host);
+ int myPort = getNthPort(instanceNumber);
+ if (myPort != 80) {
+ sb.append(":");
+ sb.append("").append(myPort);
+ }
+ sb.append(contextPath);
+ sb.append(path);
+ if (log.isLoggable(Level.INFO)) {
+ log.info(sb.toString());
+ }
+ return (new URL(sb.toString()));
+
+ }
+
+
/**
* Parse and save any session identifier from the specified page.
*
Index: jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/src/java/com/sun/faces/systest/ClusterNoAgressiveSessionDirtyingTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/src/java/com/sun/faces/systest/ClusterNoAgressiveSessionDirtyingTestCase.java (revision 0)
+++ jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/src/java/com/sun/faces/systest/ClusterNoAgressiveSessionDirtyingTestCase.java (revision 0)
@@ -0,0 +1,94 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+ *
+ * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved.
+ *
+ * The contents of this file are subject to the terms of either the GNU
+ * General Public License Version 2 only ("GPL") or the Common Development
+ * and Distribution License("CDDL") (collectively, the "License"). You
+ * may not use this file except in compliance with the License. You can
+ * obtain a copy of the License at
+ * https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
+ * or packager/legal/LICENSE.txt. See the License for the specific
+ * language governing permissions and limitations under the License.
+ *
+ * When distributing the software, include this License Header Notice in each
+ * file and include the License file at packager/legal/LICENSE.txt.
+ *
+ * GPL Classpath Exception:
+ * Oracle designates this particular file as subject to the "Classpath"
+ * exception as provided by Oracle in the GPL Version 2 section of the License
+ * file that accompanied this code.
+ *
+ * Modifications:
+ * If applicable, add the following below the License Header, with the fields
+ * enclosed by brackets [] replaced by your own identifying information:
+ * "Portions Copyright [year] [name of copyright owner]"
+ *
+ * Contributor(s):
+ * If you wish your version of this file to be governed by only the CDDL or
+ * only the GPL Version 2, indicate your decision by adding "[Contributor]
+ * elects to include this software in this distribution under the [CDDL or GPL
+ * Version 2] license." If you don't indicate a single choice of license, a
+ * recipient has the option to distribute your version of this file under
+ * either the CDDL, the GPL Version 2 or to extend the choice of license to
+ * its licensees as provided above. However, if you add GPL Version 2 code
+ * and therefore, elected the GPL Version 2 license, then the option applies
+ * only if the new code is made subject to such option by the copyright
+ * holder.
+ */
+
+package com.sun.faces.systest;
+
+
+import com.gargoylesoftware.htmlunit.html.HtmlPage;
+import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
+import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
+import com.sun.faces.htmlunit.AbstractTestCase;
+import java.util.List;
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+
+public class ClusterNoAgressiveSessionDirtyingTestCase extends AbstractTestCase {
+
+ public ClusterNoAgressiveSessionDirtyingTestCase(String name) {
+ super(name);
+ }
+
+ /**
+ * Return the tests included in this test suite.
+ */
+ public static Test suite() {
+ return (new TestSuite(ClusterNoAgressiveSessionDirtyingTestCase.class));
+ }
+
+
+ // ------------------------------------------------------------ Test Methods
+
+ public void testSimpleObject() throws Exception {
+ List instNums = getInstanceNumbers();
+
+ // Get the page from the first instance in the cluster
+ // and store a simple string into the session.
+ HtmlPage page = getPageFromInstanceN("/faces/session.xhtml", instNums.get(0));
+ HtmlTextInput input = (HtmlTextInput) page.getElementById("input");
+ String inputValue = "simple session value" + System.currentTimeMillis();
+ input.setValueAttribute(inputValue);
+ HtmlSubmitInput button = (HtmlSubmitInput) page.getElementById("button");
+ page = button.click();
+ String text = page.asText();
+ assertTrue(text.contains(inputValue));
+
+ // Get the same page from each of the subsequent intstances
+ // in the cluster and assert that the session value is the same.
+ for (int i = 1; i < instNums.size(); i++) {
+ page = getPageFromInstanceN("/faces/session.xhtml", instNums.get(i));
+ text = page.asText();
+ assertTrue(text.contains(inputValue));
+ }
+
+
+ }
+}
+
Index: jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/web/error.jsp
===================================================================
--- jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/web/error.jsp (revision 0)
+++ jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/web/error.jsp (revision 0)
@@ -0,0 +1,50 @@
+<%--
+
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+
+ Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved.
+
+ The contents of this file are subject to the terms of either the GNU
+ General Public License Version 2 only ("GPL") or the Common Development
+ and Distribution License("CDDL") (collectively, the "License"). You
+ may not use this file except in compliance with the License. You can
+ obtain a copy of the License at
+ https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
+ or packager/legal/LICENSE.txt. See the License for the specific
+ language governing permissions and limitations under the License.
+
+ When distributing the software, include this License Header Notice in each
+ file and include the License file at packager/legal/LICENSE.txt.
+
+ GPL Classpath Exception:
+ Oracle designates this particular file as subject to the "Classpath"
+ exception as provided by Oracle in the GPL Version 2 section of the License
+ file that accompanied this code.
+
+ Modifications:
+ If applicable, add the following below the License Header, with the fields
+ enclosed by brackets [] replaced by your own identifying information:
+ "Portions Copyright [year] [name of copyright owner]"
+
+ Contributor(s):
+ If you wish your version of this file to be governed by only the CDDL or
+ only the GPL Version 2, indicate your decision by adding "[Contributor]
+ elects to include this software in this distribution under the [CDDL or GPL
+ Version 2] license." If you don't indicate a single choice of license, a
+ recipient has the option to distribute your version of this file under
+ either the CDDL, the GPL Version 2 or to extend the choice of license to
+ its licensees as provided above. However, if you add GPL Version 2 code
+ and therefore, elected the GPL Version 2 license, then the option applies
+ only if the new code is made subject to such option by the copyright
+ holder.
+
+--%>
+
+
+
+ View Expired
+
+
+Error page invoked
+
+
Index: jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/web/WEB-INF/web.xml
===================================================================
--- jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/web/WEB-INF/web.xml (revision 0)
+++ jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/web/WEB-INF/web.xml (revision 0)
@@ -0,0 +1,74 @@
+
+
+
+
+
+ Webapp to validate ViewExpiredException is properly handled.
+
+ View Expired Test
+
+
+ com.sun.faces.enableAgressiveSessionDirtying
+ false
+
+
+
+
+
+
+ Faces Servlet
+ javax.faces.webapp.FacesServlet
+ 1
+
+
+
+ Faces Servlet
+ /faces/*
+
+
+
+
+
Index: jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/web/test.jsp
===================================================================
--- jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/web/test.jsp (revision 0)
+++ jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/web/test.jsp (revision 0)
@@ -0,0 +1,66 @@
+<%--
+
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+
+ Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved.
+
+ The contents of this file are subject to the terms of either the GNU
+ General Public License Version 2 only ("GPL") or the Common Development
+ and Distribution License("CDDL") (collectively, the "License"). You
+ may not use this file except in compliance with the License. You can
+ obtain a copy of the License at
+ https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
+ or packager/legal/LICENSE.txt. See the License for the specific
+ language governing permissions and limitations under the License.
+
+ When distributing the software, include this License Header Notice in each
+ file and include the License file at packager/legal/LICENSE.txt.
+
+ GPL Classpath Exception:
+ Oracle designates this particular file as subject to the "Classpath"
+ exception as provided by Oracle in the GPL Version 2 section of the License
+ file that accompanied this code.
+
+ Modifications:
+ If applicable, add the following below the License Header, with the fields
+ enclosed by brackets [] replaced by your own identifying information:
+ "Portions Copyright [year] [name of copyright owner]"
+
+ Contributor(s):
+ If you wish your version of this file to be governed by only the CDDL or
+ only the GPL Version 2, indicate your decision by adding "[Contributor]
+ elects to include this software in this distribution under the [CDDL or GPL
+ Version 2] license." If you don't indicate a single choice of license, a
+ recipient has the option to distribute your version of this file under
+ either the CDDL, the GPL Version 2 or to extend the choice of license to
+ its licensees as provided above. However, if you add GPL Version 2 code
+ and therefore, elected the GPL Version 2 license, then the option applies
+ only if the new code is made subject to such option by the copyright
+ holder.
+
+--%>
+
+
+
+
+
+
+ test
+ <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
+ <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
+
+
+
+ test
+
+
+
+
+
+
+
+
+
+
+
+
Index: jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/web/session.xhtml
===================================================================
--- jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/web/session.xhtml (revision 0)
+++ jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/web/session.xhtml (revision 0)
@@ -0,0 +1,64 @@
+
+
+
+
+
+ Simple Session Sharing
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/src/java/com/sun/faces/systest/ClusterNoAgressiveSessionDirtyingTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/src/java/com/sun/faces/systest/ClusterNoAgressiveSessionDirtyingTestCase.java (revision 0)
+++ jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/src/java/com/sun/faces/systest/ClusterNoAgressiveSessionDirtyingTestCase.java (revision 0)
@@ -0,0 +1,94 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+ *
+ * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved.
+ *
+ * The contents of this file are subject to the terms of either the GNU
+ * General Public License Version 2 only ("GPL") or the Common Development
+ * and Distribution License("CDDL") (collectively, the "License"). You
+ * may not use this file except in compliance with the License. You can
+ * obtain a copy of the License at
+ * https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
+ * or packager/legal/LICENSE.txt. See the License for the specific
+ * language governing permissions and limitations under the License.
+ *
+ * When distributing the software, include this License Header Notice in each
+ * file and include the License file at packager/legal/LICENSE.txt.
+ *
+ * GPL Classpath Exception:
+ * Oracle designates this particular file as subject to the "Classpath"
+ * exception as provided by Oracle in the GPL Version 2 section of the License
+ * file that accompanied this code.
+ *
+ * Modifications:
+ * If applicable, add the following below the License Header, with the fields
+ * enclosed by brackets [] replaced by your own identifying information:
+ * "Portions Copyright [year] [name of copyright owner]"
+ *
+ * Contributor(s):
+ * If you wish your version of this file to be governed by only the CDDL or
+ * only the GPL Version 2, indicate your decision by adding "[Contributor]
+ * elects to include this software in this distribution under the [CDDL or GPL
+ * Version 2] license." If you don't indicate a single choice of license, a
+ * recipient has the option to distribute your version of this file under
+ * either the CDDL, the GPL Version 2 or to extend the choice of license to
+ * its licensees as provided above. However, if you add GPL Version 2 code
+ * and therefore, elected the GPL Version 2 license, then the option applies
+ * only if the new code is made subject to such option by the copyright
+ * holder.
+ */
+
+package com.sun.faces.systest;
+
+
+import com.gargoylesoftware.htmlunit.html.HtmlPage;
+import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
+import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
+import com.sun.faces.htmlunit.AbstractTestCase;
+import java.util.List;
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+
+public class ClusterNoAgressiveSessionDirtyingTestCase extends AbstractTestCase {
+
+ public ClusterNoAgressiveSessionDirtyingTestCase(String name) {
+ super(name);
+ }
+
+ /**
+ * Return the tests included in this test suite.
+ */
+ public static Test suite() {
+ return (new TestSuite(ClusterNoAgressiveSessionDirtyingTestCase.class));
+ }
+
+
+ // ------------------------------------------------------------ Test Methods
+
+ public void testSimpleObject() throws Exception {
+ List instNums = getInstanceNumbers();
+
+ // Get the page from the first instance in the cluster
+ // and store a simple string into the session.
+ HtmlPage page = getPageFromInstanceN("/faces/session.xhtml", instNums.get(0));
+ HtmlTextInput input = (HtmlTextInput) page.getElementById("input");
+ String inputValue = "simple session value" + System.currentTimeMillis();
+ input.setValueAttribute(inputValue);
+ HtmlSubmitInput button = (HtmlSubmitInput) page.getElementById("button");
+ page = button.click();
+ String text = page.asText();
+ assertTrue(text.contains(inputValue));
+
+ // Get the same page from each of the subsequent intstances
+ // in the cluster and assert that the session value is the same.
+ for (int i = 1; i < instNums.size(); i++) {
+ page = getPageFromInstanceN("/faces/session.xhtml", instNums.get(i));
+ text = page.asText();
+ assertTrue(text.contains(inputValue));
+ }
+
+
+ }
+}
+
Index: jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/src/java/com/sun/faces/systest/ClusterNoAgressiveSessionDirtyingTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/src/java/com/sun/faces/systest/ClusterNoAgressiveSessionDirtyingTestCase.java (revision 0)
+++ jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/src/java/com/sun/faces/systest/ClusterNoAgressiveSessionDirtyingTestCase.java (revision 0)
@@ -0,0 +1,94 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+ *
+ * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved.
+ *
+ * The contents of this file are subject to the terms of either the GNU
+ * General Public License Version 2 only ("GPL") or the Common Development
+ * and Distribution License("CDDL") (collectively, the "License"). You
+ * may not use this file except in compliance with the License. You can
+ * obtain a copy of the License at
+ * https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
+ * or packager/legal/LICENSE.txt. See the License for the specific
+ * language governing permissions and limitations under the License.
+ *
+ * When distributing the software, include this License Header Notice in each
+ * file and include the License file at packager/legal/LICENSE.txt.
+ *
+ * GPL Classpath Exception:
+ * Oracle designates this particular file as subject to the "Classpath"
+ * exception as provided by Oracle in the GPL Version 2 section of the License
+ * file that accompanied this code.
+ *
+ * Modifications:
+ * If applicable, add the following below the License Header, with the fields
+ * enclosed by brackets [] replaced by your own identifying information:
+ * "Portions Copyright [year] [name of copyright owner]"
+ *
+ * Contributor(s):
+ * If you wish your version of this file to be governed by only the CDDL or
+ * only the GPL Version 2, indicate your decision by adding "[Contributor]
+ * elects to include this software in this distribution under the [CDDL or GPL
+ * Version 2] license." If you don't indicate a single choice of license, a
+ * recipient has the option to distribute your version of this file under
+ * either the CDDL, the GPL Version 2 or to extend the choice of license to
+ * its licensees as provided above. However, if you add GPL Version 2 code
+ * and therefore, elected the GPL Version 2 license, then the option applies
+ * only if the new code is made subject to such option by the copyright
+ * holder.
+ */
+
+package com.sun.faces.systest;
+
+
+import com.gargoylesoftware.htmlunit.html.HtmlPage;
+import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
+import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
+import com.sun.faces.htmlunit.AbstractTestCase;
+import java.util.List;
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+
+public class ClusterNoAgressiveSessionDirtyingTestCase extends AbstractTestCase {
+
+ public ClusterNoAgressiveSessionDirtyingTestCase(String name) {
+ super(name);
+ }
+
+ /**
+ * Return the tests included in this test suite.
+ */
+ public static Test suite() {
+ return (new TestSuite(ClusterNoAgressiveSessionDirtyingTestCase.class));
+ }
+
+
+ // ------------------------------------------------------------ Test Methods
+
+ public void testSimpleObject() throws Exception {
+ List instNums = getInstanceNumbers();
+
+ // Get the page from the first instance in the cluster
+ // and store a simple string into the session.
+ HtmlPage page = getPageFromInstanceN("/faces/session.xhtml", instNums.get(0));
+ HtmlTextInput input = (HtmlTextInput) page.getElementById("input");
+ String inputValue = "simple session value" + System.currentTimeMillis();
+ input.setValueAttribute(inputValue);
+ HtmlSubmitInput button = (HtmlSubmitInput) page.getElementById("button");
+ page = button.click();
+ String text = page.asText();
+ assertTrue(text.contains(inputValue));
+
+ // Get the same page from each of the subsequent intstances
+ // in the cluster and assert that the session value is the same.
+ for (int i = 1; i < instNums.size(); i++) {
+ page = getPageFromInstanceN("/faces/session.xhtml", instNums.get(i));
+ text = page.asText();
+ assertTrue(text.contains(inputValue));
+ }
+
+
+ }
+}
+
Index: jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/src/java/com/sun/faces/systest/ClusterNoAgressiveSessionDirtyingTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/src/java/com/sun/faces/systest/ClusterNoAgressiveSessionDirtyingTestCase.java (revision 0)
+++ jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/src/java/com/sun/faces/systest/ClusterNoAgressiveSessionDirtyingTestCase.java (revision 0)
@@ -0,0 +1,94 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+ *
+ * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved.
+ *
+ * The contents of this file are subject to the terms of either the GNU
+ * General Public License Version 2 only ("GPL") or the Common Development
+ * and Distribution License("CDDL") (collectively, the "License"). You
+ * may not use this file except in compliance with the License. You can
+ * obtain a copy of the License at
+ * https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
+ * or packager/legal/LICENSE.txt. See the License for the specific
+ * language governing permissions and limitations under the License.
+ *
+ * When distributing the software, include this License Header Notice in each
+ * file and include the License file at packager/legal/LICENSE.txt.
+ *
+ * GPL Classpath Exception:
+ * Oracle designates this particular file as subject to the "Classpath"
+ * exception as provided by Oracle in the GPL Version 2 section of the License
+ * file that accompanied this code.
+ *
+ * Modifications:
+ * If applicable, add the following below the License Header, with the fields
+ * enclosed by brackets [] replaced by your own identifying information:
+ * "Portions Copyright [year] [name of copyright owner]"
+ *
+ * Contributor(s):
+ * If you wish your version of this file to be governed by only the CDDL or
+ * only the GPL Version 2, indicate your decision by adding "[Contributor]
+ * elects to include this software in this distribution under the [CDDL or GPL
+ * Version 2] license." If you don't indicate a single choice of license, a
+ * recipient has the option to distribute your version of this file under
+ * either the CDDL, the GPL Version 2 or to extend the choice of license to
+ * its licensees as provided above. However, if you add GPL Version 2 code
+ * and therefore, elected the GPL Version 2 license, then the option applies
+ * only if the new code is made subject to such option by the copyright
+ * holder.
+ */
+
+package com.sun.faces.systest;
+
+
+import com.gargoylesoftware.htmlunit.html.HtmlPage;
+import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
+import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
+import com.sun.faces.htmlunit.AbstractTestCase;
+import java.util.List;
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+
+public class ClusterNoAgressiveSessionDirtyingTestCase extends AbstractTestCase {
+
+ public ClusterNoAgressiveSessionDirtyingTestCase(String name) {
+ super(name);
+ }
+
+ /**
+ * Return the tests included in this test suite.
+ */
+ public static Test suite() {
+ return (new TestSuite(ClusterNoAgressiveSessionDirtyingTestCase.class));
+ }
+
+
+ // ------------------------------------------------------------ Test Methods
+
+ public void testSimpleObject() throws Exception {
+ List instNums = getInstanceNumbers();
+
+ // Get the page from the first instance in the cluster
+ // and store a simple string into the session.
+ HtmlPage page = getPageFromInstanceN("/faces/session.xhtml", instNums.get(0));
+ HtmlTextInput input = (HtmlTextInput) page.getElementById("input");
+ String inputValue = "simple session value" + System.currentTimeMillis();
+ input.setValueAttribute(inputValue);
+ HtmlSubmitInput button = (HtmlSubmitInput) page.getElementById("button");
+ page = button.click();
+ String text = page.asText();
+ assertTrue(text.contains(inputValue));
+
+ // Get the same page from each of the subsequent intstances
+ // in the cluster and assert that the session value is the same.
+ for (int i = 1; i < instNums.size(); i++) {
+ page = getPageFromInstanceN("/faces/session.xhtml", instNums.get(i));
+ text = page.asText();
+ assertTrue(text.contains(inputValue));
+ }
+
+
+ }
+}
+
Index: jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/src/java/com/sun/faces/systest/ClusterNoAgressiveSessionDirtyingTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/src/java/com/sun/faces/systest/ClusterNoAgressiveSessionDirtyingTestCase.java (revision 0)
+++ jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/src/java/com/sun/faces/systest/ClusterNoAgressiveSessionDirtyingTestCase.java (revision 0)
@@ -0,0 +1,94 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+ *
+ * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved.
+ *
+ * The contents of this file are subject to the terms of either the GNU
+ * General Public License Version 2 only ("GPL") or the Common Development
+ * and Distribution License("CDDL") (collectively, the "License"). You
+ * may not use this file except in compliance with the License. You can
+ * obtain a copy of the License at
+ * https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
+ * or packager/legal/LICENSE.txt. See the License for the specific
+ * language governing permissions and limitations under the License.
+ *
+ * When distributing the software, include this License Header Notice in each
+ * file and include the License file at packager/legal/LICENSE.txt.
+ *
+ * GPL Classpath Exception:
+ * Oracle designates this particular file as subject to the "Classpath"
+ * exception as provided by Oracle in the GPL Version 2 section of the License
+ * file that accompanied this code.
+ *
+ * Modifications:
+ * If applicable, add the following below the License Header, with the fields
+ * enclosed by brackets [] replaced by your own identifying information:
+ * "Portions Copyright [year] [name of copyright owner]"
+ *
+ * Contributor(s):
+ * If you wish your version of this file to be governed by only the CDDL or
+ * only the GPL Version 2, indicate your decision by adding "[Contributor]
+ * elects to include this software in this distribution under the [CDDL or GPL
+ * Version 2] license." If you don't indicate a single choice of license, a
+ * recipient has the option to distribute your version of this file under
+ * either the CDDL, the GPL Version 2 or to extend the choice of license to
+ * its licensees as provided above. However, if you add GPL Version 2 code
+ * and therefore, elected the GPL Version 2 license, then the option applies
+ * only if the new code is made subject to such option by the copyright
+ * holder.
+ */
+
+package com.sun.faces.systest;
+
+
+import com.gargoylesoftware.htmlunit.html.HtmlPage;
+import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
+import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
+import com.sun.faces.htmlunit.AbstractTestCase;
+import java.util.List;
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+
+public class ClusterNoAgressiveSessionDirtyingTestCase extends AbstractTestCase {
+
+ public ClusterNoAgressiveSessionDirtyingTestCase(String name) {
+ super(name);
+ }
+
+ /**
+ * Return the tests included in this test suite.
+ */
+ public static Test suite() {
+ return (new TestSuite(ClusterNoAgressiveSessionDirtyingTestCase.class));
+ }
+
+
+ // ------------------------------------------------------------ Test Methods
+
+ public void testSimpleObject() throws Exception {
+ List instNums = getInstanceNumbers();
+
+ // Get the page from the first instance in the cluster
+ // and store a simple string into the session.
+ HtmlPage page = getPageFromInstanceN("/faces/session.xhtml", instNums.get(0));
+ HtmlTextInput input = (HtmlTextInput) page.getElementById("input");
+ String inputValue = "simple session value" + System.currentTimeMillis();
+ input.setValueAttribute(inputValue);
+ HtmlSubmitInput button = (HtmlSubmitInput) page.getElementById("button");
+ page = button.click();
+ String text = page.asText();
+ assertTrue(text.contains(inputValue));
+
+ // Get the same page from each of the subsequent intstances
+ // in the cluster and assert that the session value is the same.
+ for (int i = 1; i < instNums.size(); i++) {
+ page = getPageFromInstanceN("/faces/session.xhtml", instNums.get(i));
+ text = page.asText();
+ assertTrue(text.contains(inputValue));
+ }
+
+
+ }
+}
+
Index: jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/src/java/com/sun/faces/systest/ClusterNoAgressiveSessionDirtyingTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/src/java/com/sun/faces/systest/ClusterNoAgressiveSessionDirtyingTestCase.java (revision 0)
+++ jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/src/java/com/sun/faces/systest/ClusterNoAgressiveSessionDirtyingTestCase.java (revision 0)
@@ -0,0 +1,94 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+ *
+ * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved.
+ *
+ * The contents of this file are subject to the terms of either the GNU
+ * General Public License Version 2 only ("GPL") or the Common Development
+ * and Distribution License("CDDL") (collectively, the "License"). You
+ * may not use this file except in compliance with the License. You can
+ * obtain a copy of the License at
+ * https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
+ * or packager/legal/LICENSE.txt. See the License for the specific
+ * language governing permissions and limitations under the License.
+ *
+ * When distributing the software, include this License Header Notice in each
+ * file and include the License file at packager/legal/LICENSE.txt.
+ *
+ * GPL Classpath Exception:
+ * Oracle designates this particular file as subject to the "Classpath"
+ * exception as provided by Oracle in the GPL Version 2 section of the License
+ * file that accompanied this code.
+ *
+ * Modifications:
+ * If applicable, add the following below the License Header, with the fields
+ * enclosed by brackets [] replaced by your own identifying information:
+ * "Portions Copyright [year] [name of copyright owner]"
+ *
+ * Contributor(s):
+ * If you wish your version of this file to be governed by only the CDDL or
+ * only the GPL Version 2, indicate your decision by adding "[Contributor]
+ * elects to include this software in this distribution under the [CDDL or GPL
+ * Version 2] license." If you don't indicate a single choice of license, a
+ * recipient has the option to distribute your version of this file under
+ * either the CDDL, the GPL Version 2 or to extend the choice of license to
+ * its licensees as provided above. However, if you add GPL Version 2 code
+ * and therefore, elected the GPL Version 2 license, then the option applies
+ * only if the new code is made subject to such option by the copyright
+ * holder.
+ */
+
+package com.sun.faces.systest;
+
+
+import com.gargoylesoftware.htmlunit.html.HtmlPage;
+import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
+import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
+import com.sun.faces.htmlunit.AbstractTestCase;
+import java.util.List;
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+
+public class ClusterNoAgressiveSessionDirtyingTestCase extends AbstractTestCase {
+
+ public ClusterNoAgressiveSessionDirtyingTestCase(String name) {
+ super(name);
+ }
+
+ /**
+ * Return the tests included in this test suite.
+ */
+ public static Test suite() {
+ return (new TestSuite(ClusterNoAgressiveSessionDirtyingTestCase.class));
+ }
+
+
+ // ------------------------------------------------------------ Test Methods
+
+ public void testSimpleObject() throws Exception {
+ List instNums = getInstanceNumbers();
+
+ // Get the page from the first instance in the cluster
+ // and store a simple string into the session.
+ HtmlPage page = getPageFromInstanceN("/faces/session.xhtml", instNums.get(0));
+ HtmlTextInput input = (HtmlTextInput) page.getElementById("input");
+ String inputValue = "simple session value" + System.currentTimeMillis();
+ input.setValueAttribute(inputValue);
+ HtmlSubmitInput button = (HtmlSubmitInput) page.getElementById("button");
+ page = button.click();
+ String text = page.asText();
+ assertTrue(text.contains(inputValue));
+
+ // Get the same page from each of the subsequent intstances
+ // in the cluster and assert that the session value is the same.
+ for (int i = 1; i < instNums.size(); i++) {
+ page = getPageFromInstanceN("/faces/session.xhtml", instNums.get(i));
+ text = page.asText();
+ assertTrue(text.contains(inputValue));
+ }
+
+
+ }
+}
+
Index: jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/src/java/com/sun/faces/systest/ClusterNoAgressiveSessionDirtyingTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/src/java/com/sun/faces/systest/ClusterNoAgressiveSessionDirtyingTestCase.java (revision 0)
+++ jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/src/java/com/sun/faces/systest/ClusterNoAgressiveSessionDirtyingTestCase.java (revision 0)
@@ -0,0 +1,94 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+ *
+ * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved.
+ *
+ * The contents of this file are subject to the terms of either the GNU
+ * General Public License Version 2 only ("GPL") or the Common Development
+ * and Distribution License("CDDL") (collectively, the "License"). You
+ * may not use this file except in compliance with the License. You can
+ * obtain a copy of the License at
+ * https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
+ * or packager/legal/LICENSE.txt. See the License for the specific
+ * language governing permissions and limitations under the License.
+ *
+ * When distributing the software, include this License Header Notice in each
+ * file and include the License file at packager/legal/LICENSE.txt.
+ *
+ * GPL Classpath Exception:
+ * Oracle designates this particular file as subject to the "Classpath"
+ * exception as provided by Oracle in the GPL Version 2 section of the License
+ * file that accompanied this code.
+ *
+ * Modifications:
+ * If applicable, add the following below the License Header, with the fields
+ * enclosed by brackets [] replaced by your own identifying information:
+ * "Portions Copyright [year] [name of copyright owner]"
+ *
+ * Contributor(s):
+ * If you wish your version of this file to be governed by only the CDDL or
+ * only the GPL Version 2, indicate your decision by adding "[Contributor]
+ * elects to include this software in this distribution under the [CDDL or GPL
+ * Version 2] license." If you don't indicate a single choice of license, a
+ * recipient has the option to distribute your version of this file under
+ * either the CDDL, the GPL Version 2 or to extend the choice of license to
+ * its licensees as provided above. However, if you add GPL Version 2 code
+ * and therefore, elected the GPL Version 2 license, then the option applies
+ * only if the new code is made subject to such option by the copyright
+ * holder.
+ */
+
+package com.sun.faces.systest;
+
+
+import com.gargoylesoftware.htmlunit.html.HtmlPage;
+import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
+import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
+import com.sun.faces.htmlunit.AbstractTestCase;
+import java.util.List;
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+
+public class ClusterNoAgressiveSessionDirtyingTestCase extends AbstractTestCase {
+
+ public ClusterNoAgressiveSessionDirtyingTestCase(String name) {
+ super(name);
+ }
+
+ /**
+ * Return the tests included in this test suite.
+ */
+ public static Test suite() {
+ return (new TestSuite(ClusterNoAgressiveSessionDirtyingTestCase.class));
+ }
+
+
+ // ------------------------------------------------------------ Test Methods
+
+ public void testSimpleObject() throws Exception {
+ List instNums = getInstanceNumbers();
+
+ // Get the page from the first instance in the cluster
+ // and store a simple string into the session.
+ HtmlPage page = getPageFromInstanceN("/faces/session.xhtml", instNums.get(0));
+ HtmlTextInput input = (HtmlTextInput) page.getElementById("input");
+ String inputValue = "simple session value" + System.currentTimeMillis();
+ input.setValueAttribute(inputValue);
+ HtmlSubmitInput button = (HtmlSubmitInput) page.getElementById("button");
+ page = button.click();
+ String text = page.asText();
+ assertTrue(text.contains(inputValue));
+
+ // Get the same page from each of the subsequent intstances
+ // in the cluster and assert that the session value is the same.
+ for (int i = 1; i < instNums.size(); i++) {
+ page = getPageFromInstanceN("/faces/session.xhtml", instNums.get(i));
+ text = page.asText();
+ assertTrue(text.contains(inputValue));
+ }
+
+
+ }
+}
+
Index: jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/src/java/com/sun/faces/systest/ClusterNoAgressiveSessionDirtyingTestCase.java
===================================================================
--- jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/src/java/com/sun/faces/systest/ClusterNoAgressiveSessionDirtyingTestCase.java (revision 0)
+++ jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/src/java/com/sun/faces/systest/ClusterNoAgressiveSessionDirtyingTestCase.java (revision 0)
@@ -0,0 +1,94 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+ *
+ * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved.
+ *
+ * The contents of this file are subject to the terms of either the GNU
+ * General Public License Version 2 only ("GPL") or the Common Development
+ * and Distribution License("CDDL") (collectively, the "License"). You
+ * may not use this file except in compliance with the License. You can
+ * obtain a copy of the License at
+ * https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
+ * or packager/legal/LICENSE.txt. See the License for the specific
+ * language governing permissions and limitations under the License.
+ *
+ * When distributing the software, include this License Header Notice in each
+ * file and include the License file at packager/legal/LICENSE.txt.
+ *
+ * GPL Classpath Exception:
+ * Oracle designates this particular file as subject to the "Classpath"
+ * exception as provided by Oracle in the GPL Version 2 section of the License
+ * file that accompanied this code.
+ *
+ * Modifications:
+ * If applicable, add the following below the License Header, with the fields
+ * enclosed by brackets [] replaced by your own identifying information:
+ * "Portions Copyright [year] [name of copyright owner]"
+ *
+ * Contributor(s):
+ * If you wish your version of this file to be governed by only the CDDL or
+ * only the GPL Version 2, indicate your decision by adding "[Contributor]
+ * elects to include this software in this distribution under the [CDDL or GPL
+ * Version 2] license." If you don't indicate a single choice of license, a
+ * recipient has the option to distribute your version of this file under
+ * either the CDDL, the GPL Version 2 or to extend the choice of license to
+ * its licensees as provided above. However, if you add GPL Version 2 code
+ * and therefore, elected the GPL Version 2 license, then the option applies
+ * only if the new code is made subject to such option by the copyright
+ * holder.
+ */
+
+package com.sun.faces.systest;
+
+
+import com.gargoylesoftware.htmlunit.html.HtmlPage;
+import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
+import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
+import com.sun.faces.htmlunit.AbstractTestCase;
+import java.util.List;
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+
+public class ClusterNoAgressiveSessionDirtyingTestCase extends AbstractTestCase {
+
+ public ClusterNoAgressiveSessionDirtyingTestCase(String name) {
+ super(name);
+ }
+
+ /**
+ * Return the tests included in this test suite.
+ */
+ public static Test suite() {
+ return (new TestSuite(ClusterNoAgressiveSessionDirtyingTestCase.class));
+ }
+
+
+ // ------------------------------------------------------------ Test Methods
+
+ public void testSimpleObject() throws Exception {
+ List instNums = getInstanceNumbers();
+
+ // Get the page from the first instance in the cluster
+ // and store a simple string into the session.
+ HtmlPage page = getPageFromInstanceN("/faces/session.xhtml", instNums.get(0));
+ HtmlTextInput input = (HtmlTextInput) page.getElementById("input");
+ String inputValue = "simple session value" + System.currentTimeMillis();
+ input.setValueAttribute(inputValue);
+ HtmlSubmitInput button = (HtmlSubmitInput) page.getElementById("button");
+ page = button.click();
+ String text = page.asText();
+ assertTrue(text.contains(inputValue));
+
+ // Get the same page from each of the subsequent intstances
+ // in the cluster and assert that the session value is the same.
+ for (int i = 1; i < instNums.size(); i++) {
+ page = getPageFromInstanceN("/faces/session.xhtml", instNums.get(i));
+ text = page.asText();
+ assertTrue(text.contains(inputValue));
+ }
+
+
+ }
+}
+
Index: jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/web/error.jsp
===================================================================
--- jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/web/error.jsp (revision 0)
+++ jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/web/error.jsp (revision 0)
@@ -0,0 +1,50 @@
+<%--
+
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+
+ Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved.
+
+ The contents of this file are subject to the terms of either the GNU
+ General Public License Version 2 only ("GPL") or the Common Development
+ and Distribution License("CDDL") (collectively, the "License"). You
+ may not use this file except in compliance with the License. You can
+ obtain a copy of the License at
+ https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
+ or packager/legal/LICENSE.txt. See the License for the specific
+ language governing permissions and limitations under the License.
+
+ When distributing the software, include this License Header Notice in each
+ file and include the License file at packager/legal/LICENSE.txt.
+
+ GPL Classpath Exception:
+ Oracle designates this particular file as subject to the "Classpath"
+ exception as provided by Oracle in the GPL Version 2 section of the License
+ file that accompanied this code.
+
+ Modifications:
+ If applicable, add the following below the License Header, with the fields
+ enclosed by brackets [] replaced by your own identifying information:
+ "Portions Copyright [year] [name of copyright owner]"
+
+ Contributor(s):
+ If you wish your version of this file to be governed by only the CDDL or
+ only the GPL Version 2, indicate your decision by adding "[Contributor]
+ elects to include this software in this distribution under the [CDDL or GPL
+ Version 2] license." If you don't indicate a single choice of license, a
+ recipient has the option to distribute your version of this file under
+ either the CDDL, the GPL Version 2 or to extend the choice of license to
+ its licensees as provided above. However, if you add GPL Version 2 code
+ and therefore, elected the GPL Version 2 license, then the option applies
+ only if the new code is made subject to such option by the copyright
+ holder.
+
+--%>
+
+
+
+ View Expired
+
+
+Error page invoked
+
+
Index: jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/web/WEB-INF/web.xml
===================================================================
--- jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/web/WEB-INF/web.xml (revision 0)
+++ jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/web/WEB-INF/web.xml (revision 0)
@@ -0,0 +1,74 @@
+
+
+
+
+
+ Webapp to validate ViewExpiredException is properly handled.
+
+ View Expired Test
+
+
+ com.sun.faces.enableAgressiveSessionDirtying
+ false
+
+
+
+
+
+
+ Faces Servlet
+ javax.faces.webapp.FacesServlet
+ 1
+
+
+
+ Faces Servlet
+ /faces/*
+
+
+
+
+
Index: jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/web/test.jsp
===================================================================
--- jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/web/test.jsp (revision 0)
+++ jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/web/test.jsp (revision 0)
@@ -0,0 +1,66 @@
+<%--
+
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+
+ Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved.
+
+ The contents of this file are subject to the terms of either the GNU
+ General Public License Version 2 only ("GPL") or the Common Development
+ and Distribution License("CDDL") (collectively, the "License"). You
+ may not use this file except in compliance with the License. You can
+ obtain a copy of the License at
+ https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
+ or packager/legal/LICENSE.txt. See the License for the specific
+ language governing permissions and limitations under the License.
+
+ When distributing the software, include this License Header Notice in each
+ file and include the License file at packager/legal/LICENSE.txt.
+
+ GPL Classpath Exception:
+ Oracle designates this particular file as subject to the "Classpath"
+ exception as provided by Oracle in the GPL Version 2 section of the License
+ file that accompanied this code.
+
+ Modifications:
+ If applicable, add the following below the License Header, with the fields
+ enclosed by brackets [] replaced by your own identifying information:
+ "Portions Copyright [year] [name of copyright owner]"
+
+ Contributor(s):
+ If you wish your version of this file to be governed by only the CDDL or
+ only the GPL Version 2, indicate your decision by adding "[Contributor]
+ elects to include this software in this distribution under the [CDDL or GPL
+ Version 2] license." If you don't indicate a single choice of license, a
+ recipient has the option to distribute your version of this file under
+ either the CDDL, the GPL Version 2 or to extend the choice of license to
+ its licensees as provided above. However, if you add GPL Version 2 code
+ and therefore, elected the GPL Version 2 license, then the option applies
+ only if the new code is made subject to such option by the copyright
+ holder.
+
+--%>
+
+
+
+
+
+
+ test
+ <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
+ <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
+
+
+
+ test
+
+
+
+
+
+
+
+
+
+
+
+
Index: jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/web/session.xhtml
===================================================================
--- jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/web/session.xhtml (revision 0)
+++ jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/web/session.xhtml (revision 0)
@@ -0,0 +1,64 @@
+
+
+
+
+
+ Simple Session Sharing
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/web/error.jsp
===================================================================
--- jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/web/error.jsp (revision 0)
+++ jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/web/error.jsp (revision 0)
@@ -0,0 +1,50 @@
+<%--
+
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+
+ Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved.
+
+ The contents of this file are subject to the terms of either the GNU
+ General Public License Version 2 only ("GPL") or the Common Development
+ and Distribution License("CDDL") (collectively, the "License"). You
+ may not use this file except in compliance with the License. You can
+ obtain a copy of the License at
+ https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
+ or packager/legal/LICENSE.txt. See the License for the specific
+ language governing permissions and limitations under the License.
+
+ When distributing the software, include this License Header Notice in each
+ file and include the License file at packager/legal/LICENSE.txt.
+
+ GPL Classpath Exception:
+ Oracle designates this particular file as subject to the "Classpath"
+ exception as provided by Oracle in the GPL Version 2 section of the License
+ file that accompanied this code.
+
+ Modifications:
+ If applicable, add the following below the License Header, with the fields
+ enclosed by brackets [] replaced by your own identifying information:
+ "Portions Copyright [year] [name of copyright owner]"
+
+ Contributor(s):
+ If you wish your version of this file to be governed by only the CDDL or
+ only the GPL Version 2, indicate your decision by adding "[Contributor]
+ elects to include this software in this distribution under the [CDDL or GPL
+ Version 2] license." If you don't indicate a single choice of license, a
+ recipient has the option to distribute your version of this file under
+ either the CDDL, the GPL Version 2 or to extend the choice of license to
+ its licensees as provided above. However, if you add GPL Version 2 code
+ and therefore, elected the GPL Version 2 license, then the option applies
+ only if the new code is made subject to such option by the copyright
+ holder.
+
+--%>
+
+
+
+ View Expired
+
+
+Error page invoked
+
+
Index: jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/web/WEB-INF/web.xml
===================================================================
--- jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/web/WEB-INF/web.xml (revision 0)
+++ jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/web/WEB-INF/web.xml (revision 0)
@@ -0,0 +1,74 @@
+
+
+
+
+
+ Webapp to validate ViewExpiredException is properly handled.
+
+ View Expired Test
+
+
+ com.sun.faces.enableAgressiveSessionDirtying
+ false
+
+
+
+
+
+
+ Faces Servlet
+ javax.faces.webapp.FacesServlet
+ 1
+
+
+
+ Faces Servlet
+ /faces/*
+
+
+
+
+
Index: jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/web/WEB-INF/web.xml
===================================================================
--- jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/web/WEB-INF/web.xml (revision 0)
+++ jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/web/WEB-INF/web.xml (revision 0)
@@ -0,0 +1,74 @@
+
+
+
+
+
+ Webapp to validate ViewExpiredException is properly handled.
+
+ View Expired Test
+
+
+ com.sun.faces.enableAgressiveSessionDirtying
+ false
+
+
+
+
+
+
+ Faces Servlet
+ javax.faces.webapp.FacesServlet
+ 1
+
+
+
+ Faces Servlet
+ /faces/*
+
+
+
+
+
Index: jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/web/test.jsp
===================================================================
--- jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/web/test.jsp (revision 0)
+++ jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/web/test.jsp (revision 0)
@@ -0,0 +1,66 @@
+<%--
+
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+
+ Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved.
+
+ The contents of this file are subject to the terms of either the GNU
+ General Public License Version 2 only ("GPL") or the Common Development
+ and Distribution License("CDDL") (collectively, the "License"). You
+ may not use this file except in compliance with the License. You can
+ obtain a copy of the License at
+ https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
+ or packager/legal/LICENSE.txt. See the License for the specific
+ language governing permissions and limitations under the License.
+
+ When distributing the software, include this License Header Notice in each
+ file and include the License file at packager/legal/LICENSE.txt.
+
+ GPL Classpath Exception:
+ Oracle designates this particular file as subject to the "Classpath"
+ exception as provided by Oracle in the GPL Version 2 section of the License
+ file that accompanied this code.
+
+ Modifications:
+ If applicable, add the following below the License Header, with the fields
+ enclosed by brackets [] replaced by your own identifying information:
+ "Portions Copyright [year] [name of copyright owner]"
+
+ Contributor(s):
+ If you wish your version of this file to be governed by only the CDDL or
+ only the GPL Version 2, indicate your decision by adding "[Contributor]
+ elects to include this software in this distribution under the [CDDL or GPL
+ Version 2] license." If you don't indicate a single choice of license, a
+ recipient has the option to distribute your version of this file under
+ either the CDDL, the GPL Version 2 or to extend the choice of license to
+ its licensees as provided above. However, if you add GPL Version 2 code
+ and therefore, elected the GPL Version 2 license, then the option applies
+ only if the new code is made subject to such option by the copyright
+ holder.
+
+--%>
+
+
+
+
+
+
+ test
+ <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
+ <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
+
+
+
+ test
+
+
+
+
+
+
+
+
+
+
+
+
Index: jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/web/session.xhtml
===================================================================
--- jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/web/session.xhtml (revision 0)
+++ jsf-ri/systest-per-webapp/cluster-no-agressive-session-dirtying/web/session.xhtml (revision 0)
@@ -0,0 +1,64 @@
+
+
+
+
+
+ Simple Session Sharing
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: jsf-ri/systest-per-webapp/build.xml
===================================================================
--- jsf-ri/systest-per-webapp/build.xml (revision 8771)
+++ jsf-ri/systest-per-webapp/build.xml (working copy)
@@ -72,7 +72,8 @@
+ no-web-xml,
+ cluster-no-agressive-session-dirtying" />
+
+