You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by jk...@apache.org on 2006/08/02 06:25:56 UTC

svn commit: r427884 - in /tapestry/tapestry4/trunk/tapestry-framework/src: java/org/apache/tapestry/ java/org/apache/tapestry/dojo/form/ test/org/apache/tapestry/dojo/form/

Author: jkuhnert
Date: Tue Aug  1 21:25:55 2006
New Revision: 427884

URL: http://svn.apache.org/viewvc?rev=427884&view=rev
Log:
Fix for TAPESTRY-1036. The new Autocompleter component wasn't using the DataSqueezer pipeline to set/retrieve values.

Modified:
    tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/Framework.library
    tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/Autocompleter.java
    tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/Autocompleter.jwc
    tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/dojo/form/TestAutocompleter.java

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/Framework.library
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/Framework.library?rev=427884&r1=427883&r2=427884&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/Framework.library (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/Framework.library Tue Aug  1 21:25:55 2006
@@ -93,4 +93,4 @@
     <page name="WMLStaleLink" specification-path="wml/pages/WMLStaleLink.page"/>
     <page name="WMLStaleSession" specification-path="wml/pages/WMLStaleSession.page"/>
 	
-</library-specification>
\ No newline at end of file
+</library-specification>

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/Autocompleter.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/Autocompleter.java?rev=427884&r1=427883&r2=427884&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/Autocompleter.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/Autocompleter.java Tue Aug  1 21:25:55 2006
@@ -35,6 +35,7 @@
 import org.apache.tapestry.form.ValidatableFieldSupport;
 import org.apache.tapestry.json.IJSONWriter;
 import org.apache.tapestry.json.JSONObject;
+import org.apache.tapestry.services.DataSqueezer;
 import org.apache.tapestry.valid.ValidatorException;
 
 /**
@@ -98,7 +99,7 @@
         
         if (value != null && key != null) {
             
-            json.put("value", key);
+            json.put("value", getDataSqueezer().squeeze(key));
             json.put("label", model.getLabelFor(value));
         }
         
@@ -106,7 +107,7 @@
         parms.put("form", getForm().getName());
         
         PageRenderSupport prs = TapestryUtils.getPageRenderSupport(cycle, this);
-        getScript().execute(cycle, prs, parms);
+        getScript().execute(this, cycle, prs, parms);
     }
     
     /**
@@ -131,7 +132,7 @@
             
             key = it.next();
             
-            writer.put(key.toString(), filteredValues.get(key));
+            writer.put(getDataSqueezer().squeeze(key), filteredValues.get(key));
         }
         
     }
@@ -143,7 +144,7 @@
     {
         String value = cycle.getParameter(getName());
         
-        Object object = getModel().getValue(value);
+        Object object = getModel().getValue(getDataSqueezer().unsqueeze(value));
         
         try
         {
@@ -203,6 +204,9 @@
     
     /** @since 4.1 */
     public abstract String getFilter();
+    
+    /** Injected. */
+    public abstract DataSqueezer getDataSqueezer();
     
     /**
      * Injected.

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/Autocompleter.jwc
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/Autocompleter.jwc?rev=427884&r1=427883&r2=427884&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/Autocompleter.jwc (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/Autocompleter.jwc Tue Aug  1 21:25:55 2006
@@ -52,6 +52,8 @@
   
   <inject property="validatableFieldSupport" object="service:tapestry.form.ValidatableFieldSupport"/>
   
+  <inject property="dataSqueezer" object="service:tapestry.data.DataSqueezer"/>
+  
   <inject property="directService" object="service:tapestry.services.Direct"/>
   <inject property="script" type="script" object="Autocompleter.script"/>
   

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/dojo/form/TestAutocompleter.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/dojo/form/TestAutocompleter.java?rev=427884&r1=427883&r2=427884&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/dojo/form/TestAutocompleter.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/dojo/form/TestAutocompleter.java Tue Aug  1 21:25:55 2006
@@ -36,6 +36,7 @@
 import org.apache.tapestry.form.MockDelegate;
 import org.apache.tapestry.form.ValidatableFieldSupport;
 import org.apache.tapestry.json.IJSONWriter;
+import org.apache.tapestry.services.DataSqueezer;
 import org.apache.tapestry.valid.IValidationDelegate;
 import org.apache.tapestry.valid.ValidatorException;
 import org.testng.annotations.Test;
@@ -64,13 +65,15 @@
         return new DefaultAutocompleteModel(values, "id", "label");
     }
     
-    public void testRewind()
+    public void test_Rewind()
     {
         IAutocompleteModel model = createModel();
         ValidatableFieldSupport vfs = newMock(ValidatableFieldSupport.class);
+        DataSqueezer ds = newMock(DataSqueezer.class);
         
         Autocompleter component = newInstance(Autocompleter.class, 
-                new Object[] { "model", model, "validatableFieldSupport", vfs});
+                new Object[] { "model", model, "validatableFieldSupport", vfs,
+            "dataSqueezer", ds});
         
         IRequestCycle cycle = newMock(IRequestCycle.class);
         IForm form = newMock(IForm.class);
@@ -90,6 +93,8 @@
         
         trainGetParameter(cycle, "barney", "1");
         
+        expect(ds.unsqueeze("1")).andReturn(new Integer(1));
+        
         SimpleBean match = new SimpleBean(new Integer(1), null, -1);
         
         try
@@ -110,7 +115,7 @@
         assertEquals(match, component.getValue());
     }
     
-    public void testRewindNotForm()
+    public void test_Rewind_NotForm()
     {
         Autocompleter component = (Autocompleter) newInstance(Autocompleter.class);
         
@@ -138,10 +143,11 @@
         verify();
     }
     
-    public void testRender()
+    public void test_Render()
     {
         IAutocompleteModel model = createModel();
         ValidatableFieldSupport vfs = newMock(ValidatableFieldSupport.class);
+        DataSqueezer ds = newMock(DataSqueezer.class);
         
         IRequestCycle cycle = newMock(IRequestCycle.class);
         IForm form = newMock(IForm.class);
@@ -168,7 +174,8 @@
             "directService", engine,
             "script", script,
             "validatableFieldSupport", vfs, 
-            "value", match
+            "value", match,
+            "dataSqueezer", ds
         });
         
         DirectServiceParameter dsp = 
@@ -196,7 +203,9 @@
         PageRenderSupport prs = newPageRenderSupport();
         trainGetPageRenderSupport(cycle, prs);
         
-        script.execute(eq(cycle), eq(prs), isA(Map.class));
+        expect(ds.squeeze(2)).andReturn("2p");
+        
+        script.execute(eq(component), eq(cycle), eq(prs), isA(Map.class));
         
         replay();
         
@@ -207,16 +216,21 @@
         assertBuffer("<span class=\"prefix\"><select name=\"fred\" class=\"validation-delegate\"></select></span>");
     }
     
-    public void testRenderJSON()
+    public void test_Render_JSON()
     {
         IAutocompleteModel model = createModel();
         IRequestCycle cycle = newMock(IRequestCycle.class);
+        DataSqueezer ds = newMock(DataSqueezer.class);
         
         IJSONWriter json = newBufferJSONWriter();
         
         Autocompleter component = newInstance(Autocompleter.class, new Object[]
         { "name", "fred", "model", model,
-            "filter", "l" });
+            "filter", "l", "dataSqueezer", ds });
+        
+        expect(ds.squeeze(1)).andReturn("1");
+        expect(ds.squeeze(2)).andReturn("2");
+        expect(ds.squeeze(3)).andReturn("3");
         
         replay();
         
@@ -230,7 +244,7 @@
         assertEquals(json.get("3"), "Simple 3");
     }
     
-    public void testIsRequired()
+    public void test_Is_Required()
     {
         ValidatableFieldSupport support = newMock(ValidatableFieldSupport.class);