File tree Expand file tree Collapse file tree 2 files changed +17
-4
lines changed
grails-test-suite-uber/src/test/groovy/org/codehaus/groovy/grails/web/servlet/mvc
grails-web/src/main/groovy/org/codehaus/groovy/grails/web/servlet/mvc Expand file tree Collapse file tree 2 files changed +17
-4
lines changed Original file line number Diff line number Diff line change @@ -12,6 +12,16 @@ class GrailsParameterMapTests extends GroovyTestCase {
1212 GrailsParameterMap theMap
1313 MockHttpServletRequest mockRequest = new MockHttpServletRequest ()
1414
15+ void testSubmapViaArraySubscript () {
16+ mockRequest. addParameter(" name" , " Dierk Koenig" )
17+ mockRequest. addParameter(" dob" , " 01/01/1970" )
18+ mockRequest. addParameter(" address.postCode" , " 345435" )
19+ mockRequest. addParameter(" address.town" , " Swindon" )
20+ theMap = new GrailsParameterMap (mockRequest)
21+
22+ assert theMap[' name' , ' dob' ] == [name :" Dierk Koenig" , dob :" 01/01/1970" ]
23+ }
24+
1525 void testDateMessageSourceFormat () {
1626
1727 try {
@@ -249,6 +259,8 @@ class GrailsParameterMapTests extends GroovyTestCase {
249259 String name = (String ) o
250260 params. put(name, theMap. get(name))
251261 }
262+
263+
252264 }
253265
254266 void testMultiDimensionParams () {
Original file line number Diff line number Diff line change 1818import java .io .UnsupportedEncodingException ;
1919import java .text .DateFormat ;
2020import java .text .SimpleDateFormat ;
21- import java .util .Date ;
22- import java .util .Iterator ;
23- import java .util .LinkedHashMap ;
24- import java .util .Map ;
21+ import java .util .*;
2522import java .util .concurrent .ConcurrentHashMap ;
2623
2724import javax .servlet .http .HttpServletRequest ;
3936import org .codehaus .groovy .grails .web .servlet .mvc .exceptions .ControllerExecutionException ;
4037import org .codehaus .groovy .grails .web .util .TypeConvertingMap ;
4138import org .codehaus .groovy .grails .web .util .WebUtils ;
39+ import org .codehaus .groovy .runtime .DefaultGroovyMethods ;
4240import org .grails .databinding .DataBindingSource ;
4341import org .grails .databinding .SimpleMapDataBindingSource ;
4442import org .springframework .context .ApplicationContext ;
@@ -247,6 +245,9 @@ public Object get(Object key) {
247245 returnValue = valueArray ;
248246 }
249247 }
248+ else if (returnValue == null && (key instanceof Collection )) {
249+ return DefaultGroovyMethods .subMap (wrappedMap , (Collection )key );
250+ }
250251 }
251252 if ("date.struct" .equals (returnValue )) {
252253 returnValue = lazyEvaluateDateParam (key );
You can’t perform that action at this time.
0 commit comments