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);