Mercurial Hosting > nabble
view src/global/UrlMapperImpl.java @ 4:e79c7d4dcd7a
fix email footer
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Thu, 25 Apr 2019 15:15:45 -0600 |
parents | 7ecd1a4ef557 |
children | 02b2fdfc07e2 |
line wrap: on
line source
package global; import java.util.Collections; import java.util.Map; import java.util.HashMap; import java.util.regex.Matcher; import java.util.regex.Pattern; import javax.servlet.http.HttpServletRequest; import fschmidt.util.servlet.UrlMapper; import fschmidt.util.servlet.UrlMapping; enum UrlMapperImpl implements UrlMapper { INSTANCE; private static final Pattern ROOT_FORUMS_PATTERN = Pattern.compile("/free-apps/page(\\d+)\\.html$"); public UrlMapping getUrlMapping(HttpServletRequest request) { String path = request.getServletPath(); if( path.equals("/") ) return new UrlMapping( global.web.Index.class, Collections.<String,String[]>emptyMap() ); if( path.equals("/tools/") ) return new UrlMapping( global.web.tools.Index.class, Collections.<String,String[]>emptyMap() ); Matcher m = ROOT_FORUMS_PATTERN.matcher(path); if( m.find() ) { Map<String,String[]> params = new HashMap<String,String[]>(); String s = m.group(1); if( s != null ) params.put( "page", new String[]{s} ); return new UrlMapping( global.web.RootForums.class, params ); } if( path.equals("/sitemap.txt") ) return new UrlMapping( global.web.Sitemap.class, Collections.<String,String[]>emptyMap() ); return null; } }