heikkidoeleman

RootRequestMapper

Nov 4th, 2011
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.02 KB | None | 0 0
  1. package mypackage.wicket.util;
  2.  
  3. import mypackage.wicket.page.IndexPage;
  4. import mypackage.wicket.page.AnotherPage;
  5. import org.apache.wicket.request.IRequestHandler;
  6. import org.apache.wicket.request.Request;
  7. import org.apache.wicket.request.component.IRequestablePage;
  8. import org.apache.wicket.request.handler.PageProvider;
  9. import org.apache.wicket.request.handler.RenderPageRequestHandler;
  10. import org.apache.wicket.request.mapper.MountedMapper;
  11. import org.apache.wicket.request.mapper.parameter.IPageParametersEncoder;
  12. import org.apache.wicket.request.mapper.parameter.PageParameters;
  13. import org.apache.wicket.util.ClassProvider;
  14.  
  15. import java.util.List;
  16.  
  17. public class RootRequestMapper extends MountedMapper {
  18.     public RootRequestMapper(String mountPath, Class<? extends IRequestablePage> pageClass) {
  19.         super(mountPath, pageClass);
  20.  
  21.     }
  22.  
  23.     public RootRequestMapper(String mountPath, ClassProvider<? extends IRequestablePage> pageClassProvider) {
  24.         super(mountPath, pageClassProvider);
  25.     }
  26.  
  27.     public RootRequestMapper(String mountPath, Class<? extends IRequestablePage> pageClass, IPageParametersEncoder pageParametersEncoder) {
  28.         super(mountPath, pageClass, pageParametersEncoder);
  29.     }
  30.  
  31.     public RootRequestMapper(String mountPath, ClassProvider<? extends IRequestablePage> pageClassProvider, IPageParametersEncoder pageParametersEncoder) {
  32.         super(mountPath, pageClassProvider, pageParametersEncoder);
  33.     }
  34.  
  35.  
  36.     @Override
  37.     public IRequestHandler mapRequest(Request request) {
  38.         List<String> segments = request.getUrl().getSegments();
  39.         if(CollectionUtils.isEmpty(segments)) {
  40.             System.out.println("mapRequest to Index page");
  41.             return new RenderPageRequestHandler(new PageProvider(IndexPage.class));
  42.         }
  43.         else {
  44.             System.out.println("mapRequest to Another page");
  45.             return new RenderPageRequestHandler(new PageProvider(AnotherPage.class, new PageParameters().add("param", segments.get(0))));
  46.         }
  47.     }
  48.  
  49. }
  50.  
Advertisement
Add Comment
Please, Sign In to add comment