You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by da...@apache.org on 2008/03/09 23:20:43 UTC

svn commit: r635379 - in /tapestry/tapestry5/trunk/tapestry-hibernate/src/test: java/org/apache/tapestry/hibernate/integration/TapestryHibernateIntegrationTests.java java/org/example/app0/pages/CachedForm.java webapp/CachedForm.tml

Author: dadams
Date: Sun Mar  9 15:20:41 2008
New Revision: 635379

URL: http://svn.apache.org/viewvc?rev=635379&view=rev
Log:
Proof of using @Cached with a form and list of entities (TAPESTRY-2244)

Added:
    tapestry/tapestry5/trunk/tapestry-hibernate/src/test/java/org/example/app0/pages/CachedForm.java
    tapestry/tapestry5/trunk/tapestry-hibernate/src/test/webapp/CachedForm.tml
Modified:
    tapestry/tapestry5/trunk/tapestry-hibernate/src/test/java/org/apache/tapestry/hibernate/integration/TapestryHibernateIntegrationTests.java

Modified: tapestry/tapestry5/trunk/tapestry-hibernate/src/test/java/org/apache/tapestry/hibernate/integration/TapestryHibernateIntegrationTests.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-hibernate/src/test/java/org/apache/tapestry/hibernate/integration/TapestryHibernateIntegrationTests.java?rev=635379&r1=635378&r2=635379&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-hibernate/src/test/java/org/apache/tapestry/hibernate/integration/TapestryHibernateIntegrationTests.java (original)
+++ tapestry/tapestry5/trunk/tapestry-hibernate/src/test/java/org/apache/tapestry/hibernate/integration/TapestryHibernateIntegrationTests.java Sun Mar  9 15:20:41 2008
@@ -1,4 +1,4 @@
-// Copyright 2007 The Apache Software Foundation
+// Copyright 2008 The Apache Software Foundation
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -64,4 +64,19 @@
 		clickAndWait("link=set to transient");
 		assertTextPresent("Error persisting");
 	}
+	
+    /** TAPESTRY-2244 */
+    public void using_cached_with_form() {
+    	open("/cachedform");
+        assertTextSeries("name_%d", 0);
+        
+        type("name", "name1");
+        clickAndWait(SUBMIT);
+        assertTextSeries("name_%d", 0, "name1");
+
+        type("name", "name2");
+        clickAndWait(SUBMIT);
+        assertTextSeries("name_%d", 0, "name1", "name2");        
+    }
+
 }

Added: tapestry/tapestry5/trunk/tapestry-hibernate/src/test/java/org/example/app0/pages/CachedForm.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-hibernate/src/test/java/org/example/app0/pages/CachedForm.java?rev=635379&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-hibernate/src/test/java/org/example/app0/pages/CachedForm.java (added)
+++ tapestry/tapestry5/trunk/tapestry-hibernate/src/test/java/org/example/app0/pages/CachedForm.java Sun Mar  9 15:20:41 2008
@@ -0,0 +1,53 @@
+// Copyright 2008 The Apache Software Foundation
+//
+// Licensed 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.
+
+package org.example.app0.pages;
+
+import java.util.List;
+
+import org.apache.tapestry.annotations.Cached;
+import org.apache.tapestry.annotations.Property;
+import org.apache.tapestry.ioc.annotations.Inject;
+import org.example.app0.entities.User;
+import org.hibernate.Session;
+
+@SuppressWarnings("unused")
+public class CachedForm
+{
+    @Property
+    private String _name;
+    
+	@Property
+    private User _user;
+    
+    @Property
+    private int _index;
+    
+    @Inject
+    private Session _session;
+    
+    void onSuccess() {
+        User user = new User();
+        user.setFirstName(_name);
+        _session.save(user);
+    }
+
+    @SuppressWarnings("unchecked")
+	@Cached
+    public List<User> getUsers() {
+    	return _session.createQuery("from User").list();
+    }
+    
+    
+}

Added: tapestry/tapestry5/trunk/tapestry-hibernate/src/test/webapp/CachedForm.tml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-hibernate/src/test/webapp/CachedForm.tml?rev=635379&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-hibernate/src/test/webapp/CachedForm.tml (added)
+++ tapestry/tapestry5/trunk/tapestry-hibernate/src/test/webapp/CachedForm.tml Sun Mar  9 15:20:41 2008
@@ -0,0 +1,21 @@
+<html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
+<body>
+  <h1>@Cached with a form</h1>
+
+  <p> Entered data: </p>
+
+  <ul>
+  <t:loop index="index" source="users" value="user">
+    <li id="name_${index}">${user.firstName}</li>
+  </t:loop>
+  </ul>
+
+  <hr/>
+
+  <t:form>
+    <t:label for="name" />: <t:textfield t:id="name" t:validate="required"/>
+    <input type="submit" />
+  </t:form>
+
+</body>
+</html>