Advertisement
heikkidoeleman

RootRequestMapper revisited

Nov 6th, 2011
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.67 KB | None | 0 0
  1. package my.package;
  2.  
  3. import AnotherPage;
  4. import org.apache.wicket.request.IRequestHandler;
  5. import org.apache.wicket.request.IRequestMapper;
  6. import org.apache.wicket.request.Request;
  7. import org.apache.wicket.request.Url;
  8. import org.apache.wicket.request.handler.PageProvider;
  9. import org.apache.wicket.request.handler.RenderPageRequestHandler;
  10. import org.apache.wicket.request.mapper.parameter.PageParameters;
  11.  
  12. import java.util.List;
  13.  
  14. public class RootRequestMapper implements IRequestMapper {
  15.  
  16.     private IRequestMapper defaultMapper = null;
  17.     private IRequestMapper anotherPageMapper = null;
  18.  
  19.     public RootRequestMapper(final IRequestMapper defaultMapper, final IRequestMapper anotherPageMapper) {
  20.         this.defaultMapper= defaultMapper;
  21.         this.anotherPageMapper= anotherPageMapper;
  22.     }
  23.  
  24.     private boolean useAnotherPageMapper = false;
  25.  
  26.     public IRequestHandler mapRequest(Request request) {
  27.         List<String> segments = request.getUrl().getSegments();
  28.         if(!CollectionUtils.isEmpty(segments) && segments.get(0).equals("b")) {
  29.             useAnotherPageMapper = true;
  30.             return anotherPageMapper.mapRequest(request);
  31.         }
  32.         else {
  33.             useAnotherPageMapper = false;
  34.             return defaultMapper.mapRequest(request);
  35.         }
  36.     }
  37.  
  38.     public int getCompatibilityScore(Request request) {
  39.         return 1;
  40.     }
  41.  
  42.     public Url mapHandler(IRequestHandler requestHandler) {
  43.         if(useAnotherPageMapper ) {
  44.             Url url = anotherPageMapper.mapHandler(requestHandler);
  45.         }
  46.         else {
  47.             Url url = defaultMapper.mapHandler(requestHandler);
  48.         }
  49.         return url;
  50.     }
  51. }
  52.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement