From f03279fc1ae1524272b08a4d5e031f7304ea05c5 Mon Sep 17 00:00:00 2001 From: Lukasz Lenart Date: Wed, 23 Nov 2016 11:43:05 +0100 Subject: [PATCH 1/3] WW-4570 Cleans up ASM and assemblies --- assembly/src/main/assembly/all.xml | 1 + assembly/src/main/assembly/lib.xml | 1 + assembly/src/main/assembly/min-lib.xml | 5 +---- pom.xml | 7 +++---- 4 files changed, 6 insertions(+), 8 deletions(-) diff --git a/assembly/src/main/assembly/all.xml b/assembly/src/main/assembly/all.xml index 8a0503087..6d8fefb69 100644 --- a/assembly/src/main/assembly/all.xml +++ b/assembly/src/main/assembly/all.xml @@ -31,6 +31,7 @@ + false lib runtime diff --git a/assembly/src/main/assembly/lib.xml b/assembly/src/main/assembly/lib.xml index 7aa42ddf1..e25418d12 100644 --- a/assembly/src/main/assembly/lib.xml +++ b/assembly/src/main/assembly/lib.xml @@ -31,6 +31,7 @@ + false lib runtime diff --git a/assembly/src/main/assembly/min-lib.xml b/assembly/src/main/assembly/min-lib.xml index 10a18ff6d..f139dd07c 100644 --- a/assembly/src/main/assembly/min-lib.xml +++ b/assembly/src/main/assembly/min-lib.xml @@ -31,7 +31,7 @@ - true + false true lib @@ -40,9 +40,6 @@ org.apache.commons:commons-lang3 org.apache.logging.log4j:log4j-api ognl:ognl - org.ow2.asm:asm - org.ow2.asm:asm-tree - org.ow2.asm:asm-commons org.javassist:javassist commons-fileupload:commons-fileupload commons-io:commons-io diff --git a/pom.xml b/pom.xml index 62f8db922..7e3ed6053 100644 --- a/pom.xml +++ b/pom.xml @@ -85,8 +85,7 @@ ${project.version} 4.1.6.RELEASE 3.1.12 - 3.3 - 5.1 + 5.1 3.0.7 1.0.6 2.7 @@ -547,12 +546,12 @@ org.ow2.asm asm - ${asm5.version} + ${asm.version} org.ow2.asm asm-commons - ${asm5.version} + ${asm.version} junit From 7872fa80f957a3af72e760682c88a7283305f531 Mon Sep 17 00:00:00 2001 From: Lukasz Lenart Date: Wed, 23 Nov 2016 11:59:32 +0100 Subject: [PATCH 2/3] WW-4719 Moves DefaultClassFinder implementation into Convention and ASM dependencies --- core/pom.xml | 8 -------- plugins/convention/pom.xml | 10 ++++++++++ .../apache/struts2/convention}/DefaultClassFinder.java | 5 ++++- 3 files changed, 14 insertions(+), 9 deletions(-) rename {core/src/main/java/com/opensymphony/xwork2/util/finder => plugins/convention/src/main/java/org/apache/struts2/convention}/DefaultClassFinder.java (99%) diff --git a/core/pom.xml b/core/pom.xml index 9c59d9158..cc2065b34 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -266,14 +266,6 @@ org.apache.commons commons-lang3 - - org.ow2.asm - asm - - - org.ow2.asm - asm-commons - org.springframework spring-core diff --git a/plugins/convention/pom.xml b/plugins/convention/pom.xml index 740934bfc..199592426 100644 --- a/plugins/convention/pom.xml +++ b/plugins/convention/pom.xml @@ -32,6 +32,16 @@ org.apache.commons commons-lang3 + + org.ow2.asm + asm + + + org.ow2.asm + asm-commons + + + org.easymock easymock diff --git a/core/src/main/java/com/opensymphony/xwork2/util/finder/DefaultClassFinder.java b/plugins/convention/src/main/java/org/apache/struts2/convention/DefaultClassFinder.java similarity index 99% rename from core/src/main/java/com/opensymphony/xwork2/util/finder/DefaultClassFinder.java rename to plugins/convention/src/main/java/org/apache/struts2/convention/DefaultClassFinder.java index aed42a8b8..9412f7e0c 100644 --- a/core/src/main/java/com/opensymphony/xwork2/util/finder/DefaultClassFinder.java +++ b/plugins/convention/src/main/java/org/apache/struts2/convention/DefaultClassFinder.java @@ -13,12 +13,15 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.opensymphony.xwork2.util.finder; +package org.apache.struts2.convention; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.FileManager; import com.opensymphony.xwork2.FileManagerFactory; import com.opensymphony.xwork2.XWorkException; +import com.opensymphony.xwork2.util.finder.ClassFinder; +import com.opensymphony.xwork2.util.finder.ClassLoaderInterface; +import com.opensymphony.xwork2.util.finder.Test; import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; From 6d623ebb56a6fb801753b2c64614c6188e9c149d Mon Sep 17 00:00:00 2001 From: Lukasz Lenart Date: Wed, 23 Nov 2016 13:54:20 +0100 Subject: [PATCH 3/3] WW-4720 HttpParameters implements Map interface --- .../ParameterFilterInterceptor.java | 2 +- .../interceptor/ParametersInterceptor.java | 4 +- .../AnnotationParameterFilterInterceptor.java | 4 +- .../struts2/dispatcher/HttpParameters.java | 100 +++++++++++++++--- .../interceptor/CheckboxInterceptor.java | 2 +- .../interceptor/DateTextFieldInterceptor.java | 2 +- .../interceptor/MultiselectInterceptor.java | 2 +- .../xwork2/ActionContextTest.java | 2 +- .../ParameterFilterInterceptorTest.java | 2 +- .../ParameterRemoverInterceptorTest.java | 6 +- .../StaticParametersInterceptorTest.java | 2 +- ...otationParameterFilterInterceptorTest.java | 8 +- .../components/ActionComponentTest.java | 2 +- .../interceptor/CheckboxInterceptorTest.java | 16 +-- .../DateTextFieldInterceptorTest.java | 4 +- .../FileUploadInterceptorTest.java | 4 +- .../MultiselectInterceptorTest.java | 6 +- .../struts2/views/jsp/ActionTagTest.java | 4 +- 18 files changed, 123 insertions(+), 49 deletions(-) diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/ParameterFilterInterceptor.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/ParameterFilterInterceptor.java index 16bb897d0..cb4cd1afc 100644 --- a/core/src/main/java/com/opensymphony/xwork2/interceptor/ParameterFilterInterceptor.java +++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/ParameterFilterInterceptor.java @@ -112,7 +112,7 @@ public class ParameterFilterInterceptor extends AbstractInterceptor { Map includesExcludesMap = getIncludesExcludesMap(); - for (String param : parameters.getNames()) { + for (String param : parameters.keySet()) { boolean currentAllowed = !isDefaultBlock(); for (String currRule : includesExcludesMap.keySet()) { diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java index 6867b3d6f..c1c52d926 100644 --- a/core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java +++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java @@ -168,7 +168,7 @@ public class ParametersInterceptor extends MethodFilterInterceptor { acceptableParameters = new TreeMap<>(); } - for (String name : params.getNames()) { + for (String name : params.keySet()) { Parameter parameter = params.get(name); if (isAcceptableParameter(name, action)) { acceptableParameters.put(name, parameter); @@ -262,7 +262,7 @@ public class ParametersInterceptor extends MethodFilterInterceptor { } StringBuilder logEntry = new StringBuilder(); - for (String name : parameters.getNames()) { + for (String name : parameters.keySet()) { logEntry.append(String.valueOf(name)); logEntry.append(" => "); logEntry.append(parameters.get(name).getValue()); diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationParameterFilterInterceptor.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationParameterFilterInterceptor.java index 3898a5bc4..b7c6e0e0f 100644 --- a/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationParameterFilterInterceptor.java +++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationParameterFilterInterceptor.java @@ -54,7 +54,7 @@ public class AnnotationParameterFilterInterceptor extends AbstractInterceptor { AnnotationUtils.addAllFields(Allowed.class, model.getClass(), annotatedFields); } - for (String paramName : parameters.getNames()) { + for (String paramName : parameters.keySet()) { boolean allowed = false; for (Field field : annotatedFields) { @@ -76,7 +76,7 @@ public class AnnotationParameterFilterInterceptor extends AbstractInterceptor { AnnotationUtils.addAllFields(Blocked.class, model.getClass(), annotatedFields); } - for (String paramName : parameters.getNames()) { + for (String paramName : parameters.keySet()) { for (Field field : annotatedFields) { //TODO only matches exact field names. need to change to it matches start of ognl expression //i.e take param name up to first . (period) and match against that diff --git a/core/src/main/java/org/apache/struts2/dispatcher/HttpParameters.java b/core/src/main/java/org/apache/struts2/dispatcher/HttpParameters.java index 360bb8fcd..6c00ca581 100644 --- a/core/src/main/java/org/apache/struts2/dispatcher/HttpParameters.java +++ b/core/src/main/java/org/apache/struts2/dispatcher/HttpParameters.java @@ -1,7 +1,28 @@ +/* + * 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. + */ + package org.apache.struts2.dispatcher; import org.apache.struts2.interceptor.ParameterAware; +import java.util.Collection; +import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.HashSet; @@ -10,7 +31,8 @@ import java.util.Set; import java.util.TreeMap; import java.util.TreeSet; -public class HttpParameters implements Cloneable { +@SuppressWarnings("unchecked") +public class HttpParameters implements Map, Cloneable { private Map parameters; @@ -26,18 +48,6 @@ public class HttpParameters implements Cloneable { return new Builder(new HashMap()); } - public Parameter get(String name) { - if (parameters.containsKey(name)) { - return parameters.get(name); - } else { - return new Parameter.Empty(name); - } - } - - public Set getNames() { - return new TreeSet<>(parameters.keySet()); - } - public HttpParameters remove(Set paramsToRemove) { for (String paramName : paramsToRemove) { parameters.remove(paramName); @@ -78,6 +88,70 @@ public class HttpParameters implements Cloneable { parameterAware.setParameters(toMap()); } + @Override + public int size() { + return parameters.size(); + } + + @Override + public boolean isEmpty() { + return parameters.isEmpty(); + } + + @Override + public boolean containsKey(Object key) { + return parameters.containsKey(key); + } + + @Override + public boolean containsValue(Object value) { + return parameters.containsValue(value); + } + + @Override + public Parameter get(Object key) { + if (parameters.containsKey(key)) { + return parameters.get(key); + } else { + return new Parameter.Empty(String.valueOf(key)); + } + } + + @Override + public Parameter put(String key, Parameter value) { + throw new IllegalAccessError("HttpParameters are immutable, you cannot put value directly!"); + } + + @Override + public Parameter remove(Object key) { + throw new IllegalAccessError("HttpParameters are immutable, you cannot remove object directly!"); + } + + @Override + public void putAll(Map m) { + throw new IllegalAccessError("HttpParameters are immutable, you cannot put values directly!"); + } + + @Override + public void clear() { + throw new IllegalAccessError("HttpParameters are immutable, you cannot clear values directly!"); + } + + @Override + public Set keySet() { + return Collections.unmodifiableSet(new TreeSet<>(parameters.keySet())); + } + + @Override + public Collection values() { + return Collections.unmodifiableCollection(parameters.values()); + } + + @Override + public Set> entrySet() { + return Collections.unmodifiableSet(parameters.entrySet()); + } + public static class Builder { private Map requestParameterMap; private HttpParameters parent; diff --git a/core/src/main/java/org/apache/struts2/interceptor/CheckboxInterceptor.java b/core/src/main/java/org/apache/struts2/interceptor/CheckboxInterceptor.java index 369f81e2f..ee57dc5c8 100644 --- a/core/src/main/java/org/apache/struts2/interceptor/CheckboxInterceptor.java +++ b/core/src/main/java/org/apache/struts2/interceptor/CheckboxInterceptor.java @@ -63,7 +63,7 @@ public class CheckboxInterceptor extends AbstractInterceptor { HttpParameters parameters = ai.getInvocationContext().getParameters(); Map extraParams = new HashMap<>(); - for (String name : parameters.getNames()) { + for (String name : parameters.keySet()) { if (name.startsWith("__checkbox_")) { String checkboxName = name.substring("__checkbox_".length()); diff --git a/core/src/main/java/org/apache/struts2/interceptor/DateTextFieldInterceptor.java b/core/src/main/java/org/apache/struts2/interceptor/DateTextFieldInterceptor.java index acadde2e7..d6a82126f 100644 --- a/core/src/main/java/org/apache/struts2/interceptor/DateTextFieldInterceptor.java +++ b/core/src/main/java/org/apache/struts2/interceptor/DateTextFieldInterceptor.java @@ -70,7 +70,7 @@ public class DateTextFieldInterceptor implements Interceptor { DateWord[] dateWords = DateWord.getAll(); // Get all the values of date type - Set names = parameters.getNames(); + Set names = parameters.keySet(); for (String name : names) { for (DateWord dateWord : dateWords) { diff --git a/core/src/main/java/org/apache/struts2/interceptor/MultiselectInterceptor.java b/core/src/main/java/org/apache/struts2/interceptor/MultiselectInterceptor.java index a62de226d..0d9f285c5 100644 --- a/core/src/main/java/org/apache/struts2/interceptor/MultiselectInterceptor.java +++ b/core/src/main/java/org/apache/struts2/interceptor/MultiselectInterceptor.java @@ -50,7 +50,7 @@ public class MultiselectInterceptor extends AbstractInterceptor { HttpParameters parameters = ai.getInvocationContext().getParameters(); Map newParams = new HashMap<>(); - for (String name : parameters.getNames()) { + for (String name : parameters.keySet()) { if (name.startsWith("__multiselect_")) { String key = name.substring("__multiselect_".length()); diff --git a/core/src/test/java/com/opensymphony/xwork2/ActionContextTest.java b/core/src/test/java/com/opensymphony/xwork2/ActionContextTest.java index c8b8d5dbe..fdefc25e1 100644 --- a/core/src/test/java/com/opensymphony/xwork2/ActionContextTest.java +++ b/core/src/test/java/com/opensymphony/xwork2/ActionContextTest.java @@ -90,7 +90,7 @@ public class ActionContextTest extends XWorkTestCase { public void testParameters() { context.setParameters(HttpParameters.create().build()); - assertEquals(0, context.getParameters().getNames().size()); + assertEquals(0, context.getParameters().keySet().size()); } public void testConversionErrors() { diff --git a/core/src/test/java/com/opensymphony/xwork2/interceptor/ParameterFilterInterceptorTest.java b/core/src/test/java/com/opensymphony/xwork2/interceptor/ParameterFilterInterceptorTest.java index 798f1353b..bd470e6ac 100644 --- a/core/src/test/java/com/opensymphony/xwork2/interceptor/ParameterFilterInterceptorTest.java +++ b/core/src/test/java/com/opensymphony/xwork2/interceptor/ParameterFilterInterceptorTest.java @@ -116,7 +116,7 @@ public class ParameterFilterInterceptorTest extends XWorkTestCase { } private Collection getParameterNames() { - return ((HttpParameters)contextMap.get(ActionContext.PARAMETERS)).getNames(); + return ((HttpParameters)contextMap.get(ActionContext.PARAMETERS)).keySet(); } public void runAction() throws Exception { diff --git a/core/src/test/java/com/opensymphony/xwork2/interceptor/ParameterRemoverInterceptorTest.java b/core/src/test/java/com/opensymphony/xwork2/interceptor/ParameterRemoverInterceptorTest.java index 854aed602..2bfceacfc 100644 --- a/core/src/test/java/com/opensymphony/xwork2/interceptor/ParameterRemoverInterceptorTest.java +++ b/core/src/test/java/com/opensymphony/xwork2/interceptor/ParameterRemoverInterceptorTest.java @@ -50,7 +50,7 @@ public class ParameterRemoverInterceptorTest extends TestCase { interceptor.intercept(actionInvocation); HttpParameters params = (HttpParameters) contextMap.get(ActionContext.PARAMETERS); - assertEquals(params.getNames().size(), 2); + assertEquals(params.keySet().size(), 2); assertTrue(params.contains("param3")); assertTrue(params.contains("param")); assertEquals(params.get("param3").getValue(), "paramValue3"); @@ -76,7 +76,7 @@ public class ParameterRemoverInterceptorTest extends TestCase { interceptor.intercept(actionInvocation); HttpParameters params = (HttpParameters) contextMap.get(ActionContext.PARAMETERS); - assertEquals(params.getNames().size(), 0); + assertEquals(params.keySet().size(), 0); verify(actionInvocation); } @@ -98,7 +98,7 @@ public class ParameterRemoverInterceptorTest extends TestCase { interceptor.intercept(actionInvocation); HttpParameters params = (HttpParameters) contextMap.get(ActionContext.PARAMETERS); - assertEquals(params.getNames().size(), 2); + assertEquals(params.keySet().size(), 2); assertTrue(params.contains("param1")); assertTrue(params.contains("param2")); assertEquals(params.get("param1").getValue(), "paramValueOne"); diff --git a/core/src/test/java/com/opensymphony/xwork2/interceptor/StaticParametersInterceptorTest.java b/core/src/test/java/com/opensymphony/xwork2/interceptor/StaticParametersInterceptorTest.java index fad3655dc..dea1ef46d 100644 --- a/core/src/test/java/com/opensymphony/xwork2/interceptor/StaticParametersInterceptorTest.java +++ b/core/src/test/java/com/opensymphony/xwork2/interceptor/StaticParametersInterceptorTest.java @@ -133,7 +133,7 @@ public class StaticParametersInterceptorTest extends XWorkTestCase { assertEquals(before, ActionContext.getContext().getValueStack().size()); assertEquals("${top.hero}", user.getName()); - assertEquals(0, ActionContext.getContext().getParameters().getNames().size()); + assertEquals(0, ActionContext.getContext().getParameters().keySet().size()); } public void testFewParametersParse() throws Exception { diff --git a/core/src/test/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationParameterFilterInterceptorTest.java b/core/src/test/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationParameterFilterInterceptorTest.java index 1e271f498..04b878c7b 100644 --- a/core/src/test/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationParameterFilterInterceptorTest.java +++ b/core/src/test/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationParameterFilterInterceptorTest.java @@ -59,7 +59,7 @@ public class AnnotationParameterFilterInterceptorTest extends TestCase { interceptor.intercept(invocation); HttpParameters parameters = invocation.getInvocationContext().getParameters(); - assertEquals("Parameter map should contain one entry", 1, parameters.getNames().size()); + assertEquals("Parameter map should contain one entry", 1, parameters.keySet().size()); assertFalse(parameters.get("job").isDefined()); assertTrue(parameters.get("name").isDefined()); @@ -97,7 +97,7 @@ public class AnnotationParameterFilterInterceptorTest extends TestCase { interceptor.intercept(invocation); HttpParameters parameters = invocation.getInvocationContext().getParameters(); - assertEquals("Paramwter map should contain one entry", 1, parameters.getNames().size()); + assertEquals("Paramwter map should contain one entry", 1, parameters.keySet().size()); assertTrue(parameters.get("job").isDefined()); assertFalse(parameters.get("name").isDefined()); @@ -135,7 +135,7 @@ public class AnnotationParameterFilterInterceptorTest extends TestCase { interceptor.intercept(invocation); HttpParameters parameters = invocation.getInvocationContext().getParameters(); - assertEquals("Parameter map should contain two entries", 2, parameters.getNames().size()); + assertEquals("Parameter map should contain two entries", 2, parameters.keySet().size()); assertFalse(parameters.get("job").isDefined()); assertTrue(parameters.get("name").isDefined()); assertTrue(parameters.get("m1").isDefined()); @@ -175,7 +175,7 @@ public class AnnotationParameterFilterInterceptorTest extends TestCase { interceptor.intercept(invocation); HttpParameters parameters = invocation.getInvocationContext().getParameters(); - assertEquals("Parameter map should contain two entries", 2, parameters.getNames().size()); + assertEquals("Parameter map should contain two entries", 2, parameters.keySet().size()); assertTrue(parameters.get("job").isDefined()); assertFalse(parameters.get("name").isDefined()); assertFalse(parameters.get("m1").isDefined()); diff --git a/core/src/test/java/org/apache/struts2/components/ActionComponentTest.java b/core/src/test/java/org/apache/struts2/components/ActionComponentTest.java index 1af2e6f12..5d12b1bbb 100644 --- a/core/src/test/java/org/apache/struts2/components/ActionComponentTest.java +++ b/core/src/test/java/org/apache/struts2/components/ActionComponentTest.java @@ -47,7 +47,7 @@ public class ActionComponentTest extends StrutsInternalTestCase { comp.addParameter("baz", new String[]{"jim", "sarah"}); HttpParameters params = comp.createParametersForContext(); assertNotNull(params); - assertEquals(2, params.getNames().size()); + assertEquals(2, params.keySet().size()); assertEquals("bar", params.get("foo").getValue()); assertEquals(2, params.get("baz").getMultipleValues().length); mockValueStack.verify(); diff --git a/core/src/test/java/org/apache/struts2/interceptor/CheckboxInterceptorTest.java b/core/src/test/java/org/apache/struts2/interceptor/CheckboxInterceptorTest.java index c7f201031..e63d1336a 100644 --- a/core/src/test/java/org/apache/struts2/interceptor/CheckboxInterceptorTest.java +++ b/core/src/test/java/org/apache/struts2/interceptor/CheckboxInterceptorTest.java @@ -72,7 +72,7 @@ public class CheckboxInterceptorTest extends StrutsInternalTestCase { interceptor.intercept(ai); interceptor.destroy(); - assertEquals(1, ai.getInvocationContext().getParameters().getNames().size()); + assertEquals(1, ai.getInvocationContext().getParameters().keySet().size()); } public void testPassthroughTwo() throws Exception { @@ -85,7 +85,7 @@ public class CheckboxInterceptorTest extends StrutsInternalTestCase { interceptor.intercept(ai); interceptor.destroy(); - assertEquals(2, ai.getInvocationContext().getParameters().getNames().size()); + assertEquals(2, ai.getInvocationContext().getParameters().keySet().size()); } public void testOneCheckboxTrue() throws Exception { @@ -103,7 +103,7 @@ public class CheckboxInterceptorTest extends StrutsInternalTestCase { HttpParameters parameters = ai.getInvocationContext().getParameters(); assertFalse(parameters.contains("__checkbox_superpower")); - assertEquals(3, parameters.getNames().size()); // should be 3 as __checkbox_ should be removed + assertEquals(3, parameters.keySet().size()); // should be 3 as __checkbox_ should be removed assertEquals("true", parameters.get("superpower").getValue()); } @@ -121,7 +121,7 @@ public class CheckboxInterceptorTest extends StrutsInternalTestCase { HttpParameters parameters = ai.getInvocationContext().getParameters(); assertFalse(parameters.contains("__checkbox_superpower")); - assertEquals(3, parameters.getNames().size()); // should be 3 as __checkbox_ should be removed + assertEquals(3, parameters.keySet().size()); // should be 3 as __checkbox_ should be removed assertEquals("false", parameters.get("superpower").getValue()); } @@ -140,7 +140,7 @@ public class CheckboxInterceptorTest extends StrutsInternalTestCase { HttpParameters parameters = ai.getInvocationContext().getParameters(); assertFalse(parameters.contains("__checkbox_superpower")); - assertEquals(3, parameters.getNames().size()); // should be 3 as __checkbox_ should be removed + assertEquals(3, parameters.keySet().size()); // should be 3 as __checkbox_ should be removed assertEquals("off", parameters.get("superpower").getValue()); } @@ -157,7 +157,7 @@ public class CheckboxInterceptorTest extends StrutsInternalTestCase { HttpParameters parameters = ai.getInvocationContext().getParameters(); assertFalse(parameters.contains("__checkbox_superpower")); - assertEquals(2, parameters.getNames().size()); // should be 2 as __checkbox_ should be removed + assertEquals(2, parameters.keySet().size()); // should be 2 as __checkbox_ should be removed assertFalse(parameters.get("superpower").isDefined()); } @@ -179,7 +179,7 @@ public class CheckboxInterceptorTest extends StrutsInternalTestCase { HttpParameters parameters = ai.getInvocationContext().getParameters(); assertFalse(parameters.contains("__checkbox_superpower")); assertFalse(parameters.contains("__checkbox_cool")); - assertEquals(4, parameters.getNames().size()); // should be 4 as __checkbox_ should be removed + assertEquals(4, parameters.keySet().size()); // should be 4 as __checkbox_ should be removed assertEquals("yes", parameters.get("superpower").getValue()); assertEquals("false", parameters.get("cool").getValue()); // will use false as default and not 'no' } @@ -203,7 +203,7 @@ public class CheckboxInterceptorTest extends StrutsInternalTestCase { HttpParameters parameters = ai.getInvocationContext().getParameters(); assertFalse(parameters.contains("__checkbox_superpower")); assertFalse(parameters.contains("__checkbox_cool")); - assertEquals(4, parameters.getNames().size()); // should be 4 as __checkbox_ should be removed + assertEquals(4, parameters.keySet().size()); // should be 4 as __checkbox_ should be removed assertEquals("yes", parameters.get("superpower").getValue()); assertEquals("no", parameters.get("cool").getValue()); } diff --git a/core/src/test/java/org/apache/struts2/interceptor/DateTextFieldInterceptorTest.java b/core/src/test/java/org/apache/struts2/interceptor/DateTextFieldInterceptorTest.java index b68319dda..dab05717c 100644 --- a/core/src/test/java/org/apache/struts2/interceptor/DateTextFieldInterceptorTest.java +++ b/core/src/test/java/org/apache/struts2/interceptor/DateTextFieldInterceptorTest.java @@ -36,7 +36,7 @@ public class DateTextFieldInterceptorTest extends StrutsInternalTestCase { interceptor.intercept(ai); interceptor.destroy(); - assertEquals(0, ai.getInvocationContext().getParameters().getNames().size()); + assertEquals(0, ai.getInvocationContext().getParameters().keySet().size()); } public void testOneDateTextField() throws Exception { @@ -55,7 +55,7 @@ public class DateTextFieldInterceptorTest extends StrutsInternalTestCase { assertFalse(parameters.contains("__month_name")); assertFalse(parameters.contains("__day_name")); assertTrue(parameters.contains("name")); - assertEquals(1, parameters.getNames().size()); + assertEquals(1, parameters.keySet().size()); Date date = new SimpleDateFormat("yyyy-MM-dd").parse("2000-06-15"); assertEquals(date, parameters.get("name").getObject()); } diff --git a/core/src/test/java/org/apache/struts2/interceptor/FileUploadInterceptorTest.java b/core/src/test/java/org/apache/struts2/interceptor/FileUploadInterceptorTest.java index 6668b4c68..a7df38f78 100644 --- a/core/src/test/java/org/apache/struts2/interceptor/FileUploadInterceptorTest.java +++ b/core/src/test/java/org/apache/struts2/interceptor/FileUploadInterceptorTest.java @@ -262,7 +262,7 @@ public class FileUploadInterceptorTest extends StrutsInternalTestCase { assertTrue(!action.hasErrors()); HttpParameters parameters = mai.getInvocationContext().getParameters(); - assertTrue(parameters.getNames().size() == 3); + assertTrue(parameters.keySet().size() == 3); File[] files = (File[]) parameters.get("file").getObject(); String[] fileContentTypes = parameters.get("fileContentType").getMultipleValues(); String[] fileRealFilenames = parameters.get("fileFileName").getMultipleValues(); @@ -322,7 +322,7 @@ public class FileUploadInterceptorTest extends StrutsInternalTestCase { interceptor.intercept(mai); HttpParameters parameters = mai.getInvocationContext().getParameters(); - assertEquals(3, parameters.getNames().size()); + assertEquals(3, parameters.keySet().size()); File[] files = (File[]) parameters.get("file").getObject(); String[] fileContentTypes = parameters.get("fileContentType").getMultipleValues(); String[] fileRealFilenames = parameters.get("fileFileName").getMultipleValues(); diff --git a/core/src/test/java/org/apache/struts2/interceptor/MultiselectInterceptorTest.java b/core/src/test/java/org/apache/struts2/interceptor/MultiselectInterceptorTest.java index 31623c6fb..1121a9a0a 100644 --- a/core/src/test/java/org/apache/struts2/interceptor/MultiselectInterceptorTest.java +++ b/core/src/test/java/org/apache/struts2/interceptor/MultiselectInterceptorTest.java @@ -93,7 +93,7 @@ public class MultiselectInterceptorTest extends StrutsInternalTestCase { HttpParameters parameters = ai.getInvocationContext().getParameters(); assertFalse(parameters.contains("__multiselect_superpower")); - assertEquals(3, parameters.getNames().size()); // should be 3 as __multiselect_ should be removed + assertEquals(3, parameters.keySet().size()); // should be 3 as __multiselect_ should be removed assertEquals("robin", parameters.get("superpower").getValue()); } @@ -111,7 +111,7 @@ public class MultiselectInterceptorTest extends StrutsInternalTestCase { HttpParameters parameters = ai.getInvocationContext().getParameters(); assertFalse(parameters.contains("__multiselect_superpower")); - assertEquals(3, parameters.getNames().size()); // should be 3 as __multiselect_ should be removed + assertEquals(3, parameters.keySet().size()); // should be 3 as __multiselect_ should be removed assertFalse(parameters.get("superpower").isDefined()); } @@ -133,7 +133,7 @@ public class MultiselectInterceptorTest extends StrutsInternalTestCase { HttpParameters parameters = ai.getInvocationContext().getParameters(); assertFalse(parameters.contains("__multiselect_superpower")); assertFalse(parameters.contains("__multiselect_cool")); - assertEquals(4, parameters.getNames().size()); // should be 4 as __multiselect_ should be removed + assertEquals(4, parameters.keySet().size()); // should be 4 as __multiselect_ should be removed assertEquals("yes", parameters.get("superpower").getValue()); assertFalse(parameters.get("cool").isDefined()); } diff --git a/core/src/test/java/org/apache/struts2/views/jsp/ActionTagTest.java b/core/src/test/java/org/apache/struts2/views/jsp/ActionTagTest.java index 1ad2b790c..32a412534 100644 --- a/core/src/test/java/org/apache/struts2/views/jsp/ActionTagTest.java +++ b/core/src/test/java/org/apache/struts2/views/jsp/ActionTagTest.java @@ -227,7 +227,7 @@ public class ActionTagTest extends AbstractTagTest { // check parameters, there should be one ActionInvocation ai = component.getProxy().getInvocation(); ActionContext ac = ai.getInvocationContext(); - assertEquals(1, ac.getParameters().getNames().size()); + assertEquals(1, ac.getParameters().keySet().size()); } public void testIngoreContextParamsTrue() throws Exception { @@ -252,7 +252,7 @@ public class ActionTagTest extends AbstractTagTest { // check parameters, there should be one ActionInvocation ai = component.getProxy().getInvocation(); ActionContext ac = ai.getInvocationContext(); - assertEquals(0, ac.getParameters().getNames().size()); + assertEquals(0, ac.getParameters().keySet().size()); } public void testNoNameDefined() throws Exception {