Mercurial > hg > AnnotationManagerN4J
view src/main/java/de/mpiwg/itgroup/annotations/restlet/utils/UrlPrefixFilter.java @ 101:7268c3ca025b
make admin ui view of all annotations scale better.
author | casties |
---|---|
date | Fri, 13 Feb 2015 18:10:11 +0100 |
parents | 8fefa4651d00 |
children |
line wrap: on
line source
package de.mpiwg.itgroup.annotations.restlet.utils; /* * #%L * AnnotationManager * %% * Copyright (C) 2012 - 2015 MPIWG Berlin * %% * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Lesser Public License for more details. * * You should have received a copy of the GNU General Lesser Public * License along with this program. If not, see * <http://www.gnu.org/licenses/lgpl-3.0.html>. * #L% */ import org.restlet.Request; import org.restlet.Response; import org.restlet.data.Reference; import org.restlet.routing.Filter; /** * Filter that adds a prefix path to all internally generated URLs. * * @author casties * */ public class UrlPrefixFilter extends Filter { private String prefix = null; /** * Set the prefix to add. * * @param prefix */ public void setPrefix(String prefix) { if (!prefix.startsWith("/")) { prefix = "/" + prefix; } this.prefix = prefix; } @Override protected int beforeHandle(Request request, Response response) { // get ref to change Reference ref = request.getResourceRef(); String path = ref.getPath(); // add prefix to path ref.setPath(prefix + path); // change baseRef as well Reference baseRef = ref.getBaseRef(); String basePath = baseRef.getPath(); // add prefix to base ref path baseRef.setPath(prefix + basePath); return super.beforeHandle(request, response); } }