33
33
import javax .portlet .PortletSession ;
34
34
import javax .portlet .RenderRequest ;
35
35
import javax .portlet .RenderResponse ;
36
- import javax .portlet .ResourceRequest ;
37
36
import javax .portlet .ResourceResponse ;
38
37
import javax .portlet .StateAwareResponse ;
39
38
import javax .portlet .WindowState ;
@@ -704,6 +703,7 @@ protected ApplicationContext createPortletApplicationContext(ApplicationContext
704
703
// the collection with [Render,Action,Render] predicates
705
704
wac .registerSingleton ("firstController" , FirstController .class );
706
705
wac .registerSingleton ("secondController" , SecondController .class );
706
+ wac .registerSingleton ("thirdController" , ThirdController .class );
707
707
wac .registerSingleton ("handlerMapping" , DefaultAnnotationHandlerMapping .class );
708
708
wac .registerSingleton ("handlerAdapter" , AnnotationMethodHandlerAdapter .class );
709
709
wac .setPortletContext (new MockPortletContext ());
@@ -714,11 +714,44 @@ protected ApplicationContext createPortletApplicationContext(ApplicationContext
714
714
};
715
715
portlet .init (new MockPortletConfig ());
716
716
717
- // Prepare render request with 'page=baz' parameters
717
+ // Make sure all 6 annotated methods can be called
718
+
718
719
MockRenderRequest request = new MockRenderRequest (PortletMode .VIEW );
719
720
MockRenderResponse response = new MockRenderResponse ();
720
- request .addParameter ("page" , "baz" );
721
+
722
+ // renderFirst
723
+ portlet .render (request , response );
724
+ assertArrayEquals (new String [] { "renderFirst" }, response .getProperties ("RESPONSE" ));
725
+
726
+ // renderSecond
727
+ request .setWindowState (WindowState .MAXIMIZED );
728
+ request .setParameter ("report" , "second" );
729
+ portlet .render (request , response );
730
+ assertArrayEquals (new String [] { "renderSecond" }, response .getProperties ("RESPONSE" ));
731
+
732
+ // renderThirds
733
+ request .setWindowState (WindowState .MAXIMIZED );
734
+ request .setParameter ("report" , "third" );
721
735
portlet .render (request , response );
736
+ assertArrayEquals (new String [] { "renderThird" }, response .getProperties ("RESPONSE" ));
737
+
738
+ MockResourceRequest resourceRequest ;
739
+ MockResourceResponse resourceResponse = new MockResourceResponse ();
740
+
741
+ // resourceFirst
742
+ resourceRequest = new MockResourceRequest ("first" );
743
+ portlet .serveResource (resourceRequest , resourceResponse );
744
+ assertArrayEquals (new String [] { "resourceFirst" }, resourceResponse .getProperties ("RESPONSE" ));
745
+
746
+ // resourceSecond
747
+ resourceRequest = new MockResourceRequest ("second" );
748
+ portlet .serveResource (resourceRequest , resourceResponse );
749
+ assertArrayEquals (new String [] { "resourceSecond" }, resourceResponse .getProperties ("RESPONSE" ));
750
+
751
+ // resourceThirds
752
+ resourceRequest = new MockResourceRequest ("third" );
753
+ portlet .serveResource (resourceRequest , resourceResponse );
754
+ assertArrayEquals (new String [] { "resourceThird" }, resourceResponse .getProperties ("RESPONSE" ));
722
755
}
723
756
724
757
@@ -1201,28 +1234,49 @@ public void render(String viewName, Map model, PortletRequest request, MimeRespo
1201
1234
public static class FirstController {
1202
1235
1203
1236
@ RenderMapping
1204
- public String renderBar () {
1205
- throw new UnsupportedOperationException ("Should not be called" );
1237
+ public String renderFirst (RenderResponse response ) {
1238
+ response .setProperty ("RESPONSE" , "renderFirst" );
1239
+ return "renderFirst" ;
1206
1240
}
1207
1241
1208
- @ ActionMapping ("xyz" )
1209
- public void processXyz () {
1210
- throw new UnsupportedOperationException ("Should not be called" );
1242
+ @ ResourceMapping ("first" )
1243
+ public String resourceFirst (ResourceResponse response ) {
1244
+ response .setProperty ("RESPONSE" , "resourceFirst" );
1245
+ return "resourceFirst" ;
1211
1246
}
1212
1247
}
1213
1248
1214
1249
1215
1250
@ RequestMapping (value ="view" )
1216
1251
public static class SecondController {
1217
1252
1218
- @ ResourceMapping
1219
- public void processResource (ResourceRequest request , ResourceResponse response ) {
1220
- throw new UnsupportedOperationException ("Should not be called" );
1253
+ @ ResourceMapping ("second" )
1254
+ public String processResource (ResourceResponse response ) {
1255
+ response .setProperty ("RESPONSE" , "resourceSecond" );
1256
+ return "resourceSecond" ;
1257
+ }
1258
+
1259
+ @ RenderMapping (value = "MAXIMIZED" , params = "report=second" )
1260
+ public String renderSecond (RenderResponse response ) {
1261
+ response .setProperty ("RESPONSE" , "renderSecond" );
1262
+ return "renderSecond" ;
1263
+ }
1264
+ }
1265
+
1266
+
1267
+ @ RequestMapping (value ="view" )
1268
+ public static class ThirdController {
1269
+
1270
+ @ ResourceMapping ("third" )
1271
+ public String processResource (ResourceResponse response ) {
1272
+ response .setProperty ("RESPONSE" , "resourceThird" );
1273
+ return "resourceThird" ;
1221
1274
}
1222
1275
1223
- @ RenderMapping (params ="page=baz" )
1224
- public String renderBaz () {
1225
- return "SUCCESS" ;
1276
+ @ RenderMapping (value = "MAXIMIZED" , params = "report=third" )
1277
+ public String renderSecond (RenderResponse response ) {
1278
+ response .setProperty ("RESPONSE" , "renderThird" );
1279
+ return "renderThird" ;
1226
1280
}
1227
1281
}
1228
1282
0 commit comments