/** * This method accepts a mapping id (with or without prefix) * * @param id Mapping id * @return PrettyUrlMapping Corresponding mapping */ public PrettyUrlMapping getMappingById(String id) { if (id != null) { if (id.startsWith(PrettyContext.PRETTY_PREFIX)) { id = id.substring(PrettyContext.PRETTY_PREFIX.length()); } for (PrettyUrlMapping mapping : getMappings()) { if (mapping.getId().equals(id)) { return mapping; } } } return null; } }
public boolean isViewMapped(String viewId) { if (viewId != null) { viewId = viewId.trim(); PrettyUrlMapping needle = new PrettyUrlMapping(); needle.setViewId(viewId); if (viewId.startsWith("/")) { if (getMappings().contains(needle)) { return true; } needle.setViewId(viewId.substring(1)); } return getMappings().contains(needle); } return false; }
public PrettyUrlMapping getMappingForUrl(final String url) { for (PrettyUrlMapping mapping : getMappings()) { String urlPattern = mapping.getPattern(); UrlPatternParser um = new UrlPatternParser(urlPattern); if (um.matches(url)) { return mapping; } } return null; }
public void injectParameters(final FacesContext context) { PrettyContext prettyContext = PrettyContext.getCurrentInstance(); String url = prettyContext.stripContextPath(prettyContext.getOriginalUri()); for (PrettyUrlMapping mapping : prettyContext.getConfig().getMappings()) { UrlPatternParser parser = new UrlPatternParser(mapping.getPattern()); if (parser.matches(url)) { injectParams(context, url, mapping, parser); injectQueryParams(context, mapping); } } }