Mercurial Hosting > nabble
view src/global/UrlMapperImpl.java @ 43:4d90d48a19ec
fix init example
author | Vadim Filimonov <fffilimonov@yandex.ru> |
---|---|
date | Fri, 11 Jun 2021 15:28:26 +0300 |
parents | 02b2fdfc07e2 |
children |
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() ); if( path.equals("/ads.txt") ) return new UrlMapping( global.web.Ads.class, Collections.<String,String[]>emptyMap() ); return null; } }