You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beehive.apache.org by cs...@apache.org on 2006/10/17 17:42:28 UTC

svn commit: r464944 - in /beehive/trunk/netui: src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/config/ test/webapps/drt/src/databinding/datagrid/j1120/ test/webapps/drt/testRecorder/config/ test/webapps/drt/testRecorder/tests...

Author: cschoett
Date: Tue Oct 17 08:42:22 2006
New Revision: 464944

URL: http://svn.apache.org/viewvc?view=rev&rev=464944
Log:
Fix for BEEHIVE-1120, modified the DefaultDataGridStateCodec to not include 'actionOverride' attributes for sorting links.  Also added new BVT for this fix.

Tests: Netui BVT/DRTs passed


Added:
    beehive/trunk/netui/test/webapps/drt/src/databinding/datagrid/j1120/
    beehive/trunk/netui/test/webapps/drt/src/databinding/datagrid/j1120/Controller.java
    beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridJ1120.xml
    beehive/trunk/netui/test/webapps/drt/web/databinding/datagrid/j1120/
    beehive/trunk/netui/test/webapps/drt/web/databinding/datagrid/j1120/index.jsp
Modified:
    beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/config/DefaultDataGridStateCodec.java
    beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml

Modified: beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/config/DefaultDataGridStateCodec.java
URL: http://svn.apache.org/viewvc/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/config/DefaultDataGridStateCodec.java?view=diff&rev=464944&r1=464943&r2=464944
==============================================================================
--- beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/config/DefaultDataGridStateCodec.java (original)
+++ beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/config/DefaultDataGridStateCodec.java Tue Oct 17 08:42:22 2006
@@ -40,6 +40,7 @@
 import org.apache.beehive.netui.databinding.datagrid.runtime.sql.SQLSupport;
 import org.apache.beehive.netui.util.logging.Logger;
 import org.apache.beehive.netui.util.Bundle;
+import org.apache.beehive.netui.pageflow.internal.InternalConstants;
 
 /**
  * <p>
@@ -72,7 +73,7 @@
     private static final int DEFAULT_ROW = 0;
 
     private boolean _decoded = false;
-    
+
     /**
      * The ServletRequest needs to be processed such that the parameter values of
      * interest are removed from the query param map.  Then, the Map is stateless
@@ -273,6 +274,9 @@
                     _state.setPagerModel(pagerModel);
                 }
                 pagerModel.setPageSize(pageSize);
+            }
+            else if(key.startsWith(InternalConstants.ACTION_OVERRIDE_PREFIX)) {
+                // discard the param
             }
             else
                 addParam(key, values);

Added: beehive/trunk/netui/test/webapps/drt/src/databinding/datagrid/j1120/Controller.java
URL: http://svn.apache.org/viewvc/beehive/trunk/netui/test/webapps/drt/src/databinding/datagrid/j1120/Controller.java?view=auto&rev=464944
==============================================================================
--- beehive/trunk/netui/test/webapps/drt/src/databinding/datagrid/j1120/Controller.java (added)
+++ beehive/trunk/netui/test/webapps/drt/src/databinding/datagrid/j1120/Controller.java Tue Oct 17 08:42:22 2006
@@ -0,0 +1,97 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.    
+ *    
+ * $Header:$
+ */
+package databinding.datagrid.j1120;
+
+import javax.servlet.http.HttpSession;
+
+import org.apache.beehive.netui.pageflow.Forward;
+import org.apache.beehive.netui.pageflow.PageFlowController;
+import org.apache.beehive.netui.pageflow.annotations.Jpf;
+import java.util.List;
+import java.util.ArrayList;
+
+@Jpf.Controller(
+    simpleActions={
+        @Jpf.SimpleAction(name="begin", path="index.jsp")
+    }
+)
+public class Controller
+    extends PageFlowController
+{
+    public Pet[] pets;
+    public Pet[] getPets() { return pets; }
+
+    /**
+     * Method that is invoked when this controller instance is created.
+     */
+    protected void onCreate()
+    {
+       pets = new Pet[2];
+       pets[0] = new Pet("1", "dog", "white", "10.00");
+       pets[1] = new Pet("2", "dog", "purple", "10.00");
+    }
+
+    public class Pet {
+        private String _petId;
+        private String _name;
+        private String _description;
+        private String _price;
+
+        public Pet(String id, String name, String desc, String price) {
+            _petId = id;
+            _name = name;
+            _description = desc;
+            _price = price;
+        }
+        public String getPetId() { return _petId; }
+        public String getName() { return _name; }
+        public String getDescription() { return _description; }
+        public String getPrice() { return _price; }
+    }
+
+    protected void onDestroy(HttpSession session)
+    {
+    }
+
+    @Jpf.Action(
+        forwards={@Jpf.Forward(name="success", path="index.jsp")})
+    public Forward submit() {
+        Forward fwd = new Forward("success");
+        return fwd;
+    }
+
+    @Jpf.Action(
+        forwards={@Jpf.Forward(name="success", path="index.jsp")})
+    public Forward save() {
+        Forward fwd = new Forward("success");
+        return fwd;
+    }
+
+    @Jpf.Action(
+        forwards={@Jpf.Forward(name="success", path="index.jsp")})
+    public Forward sortingAction() {
+        Pet p = pets[0];
+        pets[0] = pets[1];
+        pets[1] = p;
+        Forward fwd = new Forward("success");
+        return fwd;
+    }
+}

Modified: beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml
URL: http://svn.apache.org/viewvc/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml?view=diff&rev=464944&r1=464943&r2=464944
==============================================================================
--- beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml (original)
+++ beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml Tue Oct 17 08:42:22 2006
@@ -3161,6 +3161,22 @@
             <feature>Data Grid</feature>
          </features>
       </test>
+       <test>
+           <name>DataGridJ1120</name>
+           <description>DataGridJ1120</description>
+           <webapp>coreWeb</webapp>
+           <categories>
+               <category>bvt</category>
+               <category>bvt.struts11</category>
+               <category>databinding</category>
+               <category>datagrid</category>
+               <category>jiraBugs</category>
+           </categories>
+           <features>
+               <feature>Databinding</feature>
+               <feature>Data Grid</feature>
+           </features>
+       </test>
       <test>
          <name>DataGridJavaScriptSmoke</name>
          <description>DataGridJavaScriptSmoke</description>

Added: beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridJ1120.xml
URL: http://svn.apache.org/viewvc/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridJ1120.xml?view=auto&rev=464944
==============================================================================
--- beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridJ1120.xml (added)
+++ beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridJ1120.xml Tue Oct 17 08:42:22 2006
@@ -0,0 +1,461 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<recorderSession xmlns="http://beehive.apache.org/netui/tools/testrecorder/2004/session">
+<sessionName>DataGridJ1120</sessionName>
+<tester>cschoett</tester>
+<startDate>16 Oct 2006, 04:35:34.771 PM MDT</startDate>
+<description>Test for Jira-1120 bug fix.</description>
+<tests>
+<test>
+<testNumber>1</testNumber>
+<request>
+<protocol>HTTP</protocol>
+<protocolVersion>1.1</protocolVersion>
+<host>localhost</host>
+<port>8080</port>
+<uri>/coreWeb/databinding/datagrid/j1120/index.jsp</uri>
+<method>GET</method>
+<parameters>
+</parameters>
+<cookies>
+<cookie>
+<name>JSESSIONID</name>
+<value>537016EE529DDAC7CBD338EE4577CB0D</value>
+</cookie>
+<cookie>
+<name>JSESSIONID</name>
+<value>RwWhFzzR2w2x8kd21PN5rh01RLf6KrYWJhv8G0lGcChLh13mWkL1!1387151114</value>
+</cookie>
+<cookie>
+<name>ADMINCONSOLESESSION</name>
+<value>zvsjFn7dG12Zfgqv0TnQM8hJqngRNCfrWmPdpyFsmT1bqlf4rGlQ!536404599</value>
+</cookie>
+</cookies>
+<headers>
+<header>
+<name>---------------</name>
+<value>------------</value>
+</header>
+<header>
+<name>accept</name>
+<value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</value>
+</header>
+<header>
+<name>accept-charset</name>
+<value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</value>
+</header>
+<header>
+<name>accept-language</name>
+<value>en-us,en;q=0.5</value>
+</header>
+<header>
+<name>connection</name>
+<value>keep-alive</value>
+</header>
+<header>
+<name>cookie</name>
+<value>JSESSIONID=537016EE529DDAC7CBD338EE4577CB0D; JSESSIONID=RwWhFzzR2w2x8kd21PN5rh01RLf6KrYWJhv8G0lGcChLh13mWkL1!1387151114; ADMINCONSOLESESSION=zvsjFn7dG12Zfgqv0TnQM8hJqngRNCfrWmPdpyFsmT1bqlf4rGlQ!536404599</value>
+</header>
+<header>
+<name>host</name>
+<value>localhost:8080</value>
+</header>
+<header>
+<name>keep-alive</name>
+<value>300</value>
+</header>
+<header>
+<name>user-agent</name>
+<value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.7) Gecko/20060909 Firefox/1.5.0.7</value>
+</header>
+</headers>
+</request>
+<response>
+<statusCode>200</statusCode>
+<reason></reason>
+<responseBody>
+<![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+	"http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+
+  <head>
+    <title>Test for Jira-1120 Fix</title>
+    <base href="http://localhost:8080/coreWeb/databinding/datagrid/j1120/index.jsp">
+  </head>
+  <body>
+
+    <p>
+      Click the save button, then click the sort column link.
+      The sort column link should cause the column to be re-sorted.
+    </p>
+    <form action="/coreWeb/databinding/datagrid/j1120/submit.do" method="post">
+      Page 1 of 1&nbsp;&nbsp;&nbsp;
+<table class="datagrid">
+
+        
+        
+      
+        
+<tr class="datagrid-header">
+          <th class="datagrid-sortable datagrid">Pet ID&nbsp;<a href="/coreWeb/databinding/datagrid/j1120/sortingAction.do?netui_sort=petGrid%3Bpetid"><img src="/coreWeb/resources/beehive/version1/images/sortable.gif" border="false"></a></th>
+
+
+          <th class="datagrid">Name</th>
+
+
+          <th class="datagrid">Description</th>
+
+
+          <th class="datagrid">Price</th>
+
+
+        
+</tr>
+        
+      
+        
+        
+<tr class="datagrid-even">
+          <td class="datagrid"><span>1</span></td>
+
+          <td class="datagrid"><span>dog</span></td>
+
+          <td class="datagrid"><span>white</span></td>
+
+          <td class="datagrid"><span>10.00</span></td>
+
+        
+</tr>
+<tr class="datagrid-odd">
+          <td class="datagrid"><span>2</span></td>
+
+          <td class="datagrid"><span>dog</span></td>
+
+          <td class="datagrid"><span>purple</span></td>
+
+          <td class="datagrid"><span>10.00</span></td>
+
+        
+</tr>
+      </table>
+
+
+      <input type="submit" name="actionOverride:save" value="save">
+    </form>
+  </body>
+
+</html>]]>
+</responseBody>
+</response>
+</test>
+<test>
+<testNumber>2</testNumber>
+<request>
+<protocol>HTTP</protocol>
+<protocolVersion>1.1</protocolVersion>
+<host>localhost</host>
+<port>8080</port>
+<uri>/coreWeb/databinding/datagrid/j1120/submit.do</uri>
+<method>POST</method>
+<parameters>
+<parameter>
+<name>actionOverride:save</name>
+<value>save</value>
+</parameter>
+</parameters>
+<cookies>
+<cookie>
+<name>JSESSIONID</name>
+<value>537016EE529DDAC7CBD338EE4577CB0D</value>
+</cookie>
+<cookie>
+<name>JSESSIONID</name>
+<value>RwWhFzzR2w2x8kd21PN5rh01RLf6KrYWJhv8G0lGcChLh13mWkL1!1387151114</value>
+</cookie>
+<cookie>
+<name>ADMINCONSOLESESSION</name>
+<value>zvsjFn7dG12Zfgqv0TnQM8hJqngRNCfrWmPdpyFsmT1bqlf4rGlQ!536404599</value>
+</cookie>
+</cookies>
+<headers>
+<header>
+<name>---------------</name>
+<value>------------</value>
+</header>
+<header>
+<name>accept</name>
+<value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</value>
+</header>
+<header>
+<name>accept-charset</name>
+<value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</value>
+</header>
+<header>
+<name>accept-language</name>
+<value>en-us,en;q=0.5</value>
+</header>
+<header>
+<name>connection</name>
+<value>keep-alive</value>
+</header>
+<header>
+<name>content-length</name>
+<value>26</value>
+</header>
+<header>
+<name>content-type</name>
+<value>application/x-www-form-urlencoded</value>
+</header>
+<header>
+<name>cookie</name>
+<value>JSESSIONID=537016EE529DDAC7CBD338EE4577CB0D; JSESSIONID=RwWhFzzR2w2x8kd21PN5rh01RLf6KrYWJhv8G0lGcChLh13mWkL1!1387151114; ADMINCONSOLESESSION=zvsjFn7dG12Zfgqv0TnQM8hJqngRNCfrWmPdpyFsmT1bqlf4rGlQ!536404599</value>
+</header>
+<header>
+<name>host</name>
+<value>localhost:8080</value>
+</header>
+<header>
+<name>keep-alive</name>
+<value>300</value>
+</header>
+<header>
+<name>referer</name>
+<value>http://localhost:8080/coreWeb/databinding/datagrid/j1120/index.jsp</value>
+</header>
+<header>
+<name>user-agent</name>
+<value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.7) Gecko/20060909 Firefox/1.5.0.7</value>
+</header>
+</headers>
+</request>
+<response>
+<statusCode>200</statusCode>
+<reason></reason>
+<responseBody>
+<![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+	"http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+
+  <head>
+    <title>Test for Jira-1120 Fix</title>
+    <base href="http://localhost:8080/coreWeb/databinding/datagrid/j1120/index.jsp">
+  </head>
+  <body>
+
+    <p>
+      Click the save button, then click the sort column link.
+      The sort column link should cause the column to be re-sorted.
+    </p>
+    <form action="/coreWeb/databinding/datagrid/j1120/submit.do" method="post">
+      Page 1 of 1&nbsp;&nbsp;&nbsp;
+<table class="datagrid">
+
+        
+        
+      
+        
+<tr class="datagrid-header">
+          <th class="datagrid-sortable datagrid">Pet ID&nbsp;<a href="/coreWeb/databinding/datagrid/j1120/sortingAction.do?netui_sort=petGrid%3Bpetid"><img src="/coreWeb/resources/beehive/version1/images/sortable.gif" border="false"></a></th>
+
+
+          <th class="datagrid">Name</th>
+
+
+          <th class="datagrid">Description</th>
+
+
+          <th class="datagrid">Price</th>
+
+
+        
+</tr>
+        
+      
+        
+        
+<tr class="datagrid-even">
+          <td class="datagrid"><span>1</span></td>
+
+          <td class="datagrid"><span>dog</span></td>
+
+          <td class="datagrid"><span>white</span></td>
+
+          <td class="datagrid"><span>10.00</span></td>
+
+        
+</tr>
+<tr class="datagrid-odd">
+          <td class="datagrid"><span>2</span></td>
+
+          <td class="datagrid"><span>dog</span></td>
+
+          <td class="datagrid"><span>purple</span></td>
+
+          <td class="datagrid"><span>10.00</span></td>
+
+        
+</tr>
+      </table>
+
+
+      <input type="submit" name="actionOverride:save" value="save">
+    </form>
+  </body>
+
+</html>]]>
+</responseBody>
+</response>
+</test>
+<test>
+<testNumber>3</testNumber>
+<request>
+<protocol>HTTP</protocol>
+<protocolVersion>1.1</protocolVersion>
+<host>localhost</host>
+<port>8080</port>
+<uri>/coreWeb/databinding/datagrid/j1120/sortingAction.do</uri>
+<method>GET</method>
+<parameters>
+<parameter>
+<name>netui_sort</name>
+<value>petGrid;petid</value>
+</parameter>
+</parameters>
+<cookies>
+<cookie>
+<name>JSESSIONID</name>
+<value>537016EE529DDAC7CBD338EE4577CB0D</value>
+</cookie>
+<cookie>
+<name>JSESSIONID</name>
+<value>RwWhFzzR2w2x8kd21PN5rh01RLf6KrYWJhv8G0lGcChLh13mWkL1!1387151114</value>
+</cookie>
+<cookie>
+<name>ADMINCONSOLESESSION</name>
+<value>zvsjFn7dG12Zfgqv0TnQM8hJqngRNCfrWmPdpyFsmT1bqlf4rGlQ!536404599</value>
+</cookie>
+</cookies>
+<headers>
+<header>
+<name>---------------</name>
+<value>------------</value>
+</header>
+<header>
+<name>accept</name>
+<value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</value>
+</header>
+<header>
+<name>accept-charset</name>
+<value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</value>
+</header>
+<header>
+<name>accept-language</name>
+<value>en-us,en;q=0.5</value>
+</header>
+<header>
+<name>connection</name>
+<value>keep-alive</value>
+</header>
+<header>
+<name>cookie</name>
+<value>JSESSIONID=537016EE529DDAC7CBD338EE4577CB0D; JSESSIONID=RwWhFzzR2w2x8kd21PN5rh01RLf6KrYWJhv8G0lGcChLh13mWkL1!1387151114; ADMINCONSOLESESSION=zvsjFn7dG12Zfgqv0TnQM8hJqngRNCfrWmPdpyFsmT1bqlf4rGlQ!536404599</value>
+</header>
+<header>
+<name>host</name>
+<value>localhost:8080</value>
+</header>
+<header>
+<name>keep-alive</name>
+<value>300</value>
+</header>
+<header>
+<name>referer</name>
+<value>http://localhost:8080/coreWeb/databinding/datagrid/j1120/submit.do</value>
+</header>
+<header>
+<name>user-agent</name>
+<value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.7) Gecko/20060909 Firefox/1.5.0.7</value>
+</header>
+</headers>
+</request>
+<response>
+<statusCode>200</statusCode>
+<reason></reason>
+<responseBody>
+<![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+	"http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+
+  <head>
+    <title>Test for Jira-1120 Fix</title>
+    <base href="http://localhost:8080/coreWeb/databinding/datagrid/j1120/index.jsp">
+  </head>
+  <body>
+
+    <p>
+      Click the save button, then click the sort column link.
+      The sort column link should cause the column to be re-sorted.
+    </p>
+    <form action="/coreWeb/databinding/datagrid/j1120/submit.do" method="post">
+      Page 1 of 1&nbsp;&nbsp;&nbsp;
+<table class="datagrid">
+
+        
+        
+      
+        
+<tr class="datagrid-header">
+          <th class="datagrid-sorted datagrid-sortable datagrid">Pet ID&nbsp;<a href="/coreWeb/databinding/datagrid/j1120/sortingAction.do?netui_sort=petGrid%3B-petid"><img src="/coreWeb/resources/beehive/version1/images/sortdown.gif" border="false"></a></th>
+
+
+          <th class="datagrid">Name</th>
+
+
+          <th class="datagrid">Description</th>
+
+
+          <th class="datagrid">Price</th>
+
+
+        
+</tr>
+        
+      
+        
+        
+<tr class="datagrid-even">
+          <td class="datagrid"><span>2</span></td>
+
+          <td class="datagrid"><span>dog</span></td>
+
+          <td class="datagrid"><span>purple</span></td>
+
+          <td class="datagrid"><span>10.00</span></td>
+
+        
+</tr>
+<tr class="datagrid-odd">
+          <td class="datagrid"><span>1</span></td>
+
+          <td class="datagrid"><span>dog</span></td>
+
+          <td class="datagrid"><span>white</span></td>
+
+          <td class="datagrid"><span>10.00</span></td>
+
+        
+</tr>
+      </table>
+
+
+      <input type="submit" name="actionOverride:save" value="save">
+    </form>
+  </body>
+
+</html>]]>
+</responseBody>
+</response>
+</test>
+</tests>
+<endDate>16 Oct 2006, 04:35:57.724 PM MDT</endDate>
+<testCount>3</testCount>
+</recorderSession>

Added: beehive/trunk/netui/test/webapps/drt/web/databinding/datagrid/j1120/index.jsp
URL: http://svn.apache.org/viewvc/beehive/trunk/netui/test/webapps/drt/web/databinding/datagrid/j1120/index.jsp?view=auto&rev=464944
==============================================================================
--- beehive/trunk/netui/test/webapps/drt/web/databinding/datagrid/j1120/index.jsp (added)
+++ beehive/trunk/netui/test/webapps/drt/web/databinding/datagrid/j1120/index.jsp Tue Oct 17 08:42:22 2006
@@ -0,0 +1,56 @@
+<%--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+   $Header:$
+--%>
+<%@ page language="java" contentType="text/html;charset=UTF-8"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-databinding-1.0" prefix="netui-data"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-html-1.0" prefix="netui"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-template-1.0" prefix="netui-template"%>
+<netui:html>
+  <head>
+    <title>Test for Jira-1120 Fix</title>
+    <netui:base/>
+  </head>
+  <netui:body>
+
+    <p>
+      Click the save button, then click the sort column link.
+      The sort column link should cause the column to be re-sorted.
+    </p>
+    <netui:form action="submit">
+      <netui-data:dataGrid dataSource="pageFlow.pets" name="petGrid">
+        <netui-data:header>
+          <netui-data:headerCell sortAction="sortingAction"
+                                 sortExpression="petid"
+                                 headerText="Pet ID">
+              Pet ID
+          </netui-data:headerCell>
+          <netui-data:headerCell headerText="Name"/>
+          <netui-data:headerCell headerText="Description"/>
+          <netui-data:headerCell headerText="Price"/>
+        </netui-data:header>
+        <netui-data:rows>
+          <netui-data:spanCell value="${container.item.petId}"/>
+          <netui-data:spanCell value="${container.item.name}"/>
+          <netui-data:spanCell value="${container.item.description}"/>
+          <netui-data:spanCell value="${container.item.price}"/>
+        </netui-data:rows>
+      </netui-data:dataGrid>
+      <netui:button action="save" value="save"/>
+    </netui:form>
+  </netui:body>
+</netui:html>