You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by jk...@apache.org on 2015/11/05 18:08:09 UTC
tapestry-5 git commit: Revert "TAP5-2490: the context values are
encoded using the encoder, so we also need to use it to decode them",
the encoder *parameter* should be used for the value,
not for the context values.
Repository: tapestry-5
Updated Branches:
refs/heads/master b72b0e100 -> 2b6debc3c
Revert "TAP5-2490: the context values are encoded using the encoder, so we also need to use it to decode them", the encoder *parameter* should be used for the value, not for the context values.
This reverts commit b72b0e100e72c482294f418919f6f4aa7f57c6d3.
Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/2b6debc3
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/2b6debc3
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/2b6debc3
Branch: refs/heads/master
Commit: 2b6debc3c5885bda4d13a7578cf7084e2aee2927
Parents: b72b0e1
Author: Jochen Kemnade <jk...@apache.org>
Authored: Thu Nov 5 18:06:32 2015 +0100
Committer: Jochen Kemnade <jk...@apache.org>
Committed: Thu Nov 5 18:06:32 2015 +0100
----------------------------------------------------------------------
.../tapestry5/corelib/components/Select.java | 7 +-
tapestry-core/src/test/app1/SelectDemo.tml | 17 +---
.../tapestry5/integration/app1/FormTests.java | 12 ---
.../integration/app1/pages/SelectDemo.java | 89 --------------------
4 files changed, 4 insertions(+), 121 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/2b6debc3/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Select.java
----------------------------------------------------------------------
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Select.java b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Select.java
index 993c3a8..3f5a7f4 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Select.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Select.java
@@ -20,7 +20,6 @@ import org.apache.tapestry5.corelib.data.SecureOption;
import org.apache.tapestry5.corelib.mixins.RenderDisabled;
import org.apache.tapestry5.internal.InternalComponentResources;
import org.apache.tapestry5.internal.TapestryInternalUtils;
-import org.apache.tapestry5.internal.services.ArrayEventContext;
import org.apache.tapestry5.internal.util.CaptureResultCallback;
import org.apache.tapestry5.internal.util.SelectModelRenderer;
import org.apache.tapestry5.ioc.Messages;
@@ -264,7 +263,7 @@ public class Select extends AbstractField
}
}
- Object onChange(final EventContext context,
+ Object onChange(final List<Object> context,
@RequestParameter(value = "t:selectvalue", allowBlank = true) final String selectValue)
throws ValidationException
{
@@ -272,11 +271,11 @@ public class Select extends AbstractField
CaptureResultCallback<Object> callback = new CaptureResultCallback<Object>();
- Object[] newContext = new Object[context.getCount() + 1];
+ Object[] newContext = new Object[context.size() + 1];
newContext[0] = newValue;
for (int i = 1; i < newContext.length; i++)
{
- newContext[i] = encoder.toValue(context.get(String.class, i - 1));
+ newContext[i] = context.get(i - 1);
}
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/2b6debc3/tapestry-core/src/test/app1/SelectDemo.tml
----------------------------------------------------------------------
diff --git a/tapestry-core/src/test/app1/SelectDemo.tml b/tapestry-core/src/test/app1/SelectDemo.tml
index 9e528a0..60a27d4 100644
--- a/tapestry-core/src/test/app1/SelectDemo.tml
+++ b/tapestry-core/src/test/app1/SelectDemo.tml
@@ -8,6 +8,7 @@
:
<t:select t:id="color" validate="required" blankOption="always"
model="literal:Red,Green,Blue" />
+
</p>
<p>
<t:label for="month" />
@@ -23,21 +24,5 @@
<p> Selected color: ${color}</p>
<p> Selected month: ${month}</p>
-
- <t:zone>
- <t:form>
-
- <p>
- <t:label for="number" />
- :
- <t:select t:id="number" zone="^"
- model="numbermodel" context="numbercontext" encoder="numberencoder" />
- </p>
-
- </t:form>
-
- <p> Selected number: ${number}</p>
- <p> Selected number context: ${selectedNumberContext}</p>
- </t:zone>
</t:border>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/2b6debc3/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/FormTests.java
----------------------------------------------------------------------
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/FormTests.java b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/FormTests.java
index 553342d..85a3690 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/FormTests.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/FormTests.java
@@ -1264,16 +1264,4 @@ public class FormTests extends App1TestCase
assertTextPresent("Selected month: August");
}
-
- @Test
- // TAP5-2490
- public void select_with_url_encoded_context() throws Exception
- {
- openLinks("Select Demo");
-
- select("number", "label=2");
-
- assertTextPresent("Selected number: 2");
- assertTextPresent("Selected number context: 23");
- }
}
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/2b6debc3/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/SelectDemo.java
----------------------------------------------------------------------
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/SelectDemo.java b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/SelectDemo.java
index dad93f0..00c5219 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/SelectDemo.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/SelectDemo.java
@@ -13,8 +13,6 @@
// limitations under the License.
package org.apache.tapestry5.integration.app1.pages;
-import java.util.List;
-
import org.apache.tapestry5.PersistenceConstants;
import org.apache.tapestry5.SelectModel;
import org.apache.tapestry5.annotations.Persist;
@@ -22,15 +20,6 @@ import org.apache.tapestry5.annotations.Property;
import org.apache.tapestry5.internal.OptionModelImpl;
import org.apache.tapestry5.internal.SelectModelImpl;
-import org.apache.tapestry5.EventConstants;
-import org.apache.tapestry5.ValueEncoder;
-import org.apache.tapestry5.annotations.InjectComponent;
-import org.apache.tapestry5.annotations.OnEvent;
-import org.apache.tapestry5.annotations.Persist;
-import org.apache.tapestry5.annotations.Property;
-import org.apache.tapestry5.corelib.components.Zone;
-import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
-
public class SelectDemo
{
@@ -41,11 +30,6 @@ public class SelectDemo
@Property
@Persist
private String month;
-
- @Property
- @Persist
- private NumberContainer number;
-
@Property
@Persist(PersistenceConstants.FLASH)
@@ -69,77 +53,4 @@ public class SelectDemo
);
}
-
- @Property
- @Persist
- private NumberContainer selectedNumberContext;
-
- @InjectComponent
- private Zone zone;
-
- public List<NumberContainer> getNumberModel(){
- return CollectionFactory.newList(new NumberContainer(1), new NumberContainer(2));
- }
-
- public ValueEncoder<NumberContainer> getNumberEncoder(){
- return new ValueEncoder<NumberContainer>() {
-
- @Override
- public String toClient(NumberContainer value) {
- return Integer.toString(value.number);
- }
-
- @Override
- public NumberContainer toValue(String clientValue) {
- return new NumberContainer(Integer.parseInt(clientValue));
- }
- };
- }
-
- public NumberContainer getNumberContext(){
- return new NumberContainer(23);
- }
-
- @OnEvent(value=EventConstants.VALUE_CHANGED, component="number")
- Object onValueChangedFromNumber(NumberContainer number, NumberContainer context){
- selectedNumberContext = context;
- return zone.getBody();
- }
-
- public static final class NumberContainer {
-
- public NumberContainer(int number) {
- this.number = number;
- }
-
- public final int number;
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + number;
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- NumberContainer other = (NumberContainer) obj;
- if (number != other.number)
- return false;
- return true;
- }
-
- @Override
- public String toString() {
- return Integer.toString(number);
- }
-
- }
}