/* Copyright (c) 2001 - 2007 TOPP - www.openplans.org. All rights reserved.
* This code is licensed under the GPL 2.0 license, availible at the root
* application directory.
*/
package org.geoserver.wfs;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.geoserver.config.GeoServer;
import org.geoserver.ows.Dispatcher;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
/**
*
* Configures the dispatcher to be cite compliant based on wfs configuration.
* <p>
* TODO: Cite compliaance should be a server wide thing. This should be addressed
* when we ( if we ) refactor server configuration. When that happens this
* class can be retired.
* </p>
* @author Justin Deoliveira, The Open Planning Project, jdeolive@openplans.org
*
*/
public class CiteComplianceHack implements HandlerInterceptor {
GeoServer gs;
public CiteComplianceHack(GeoServer gs ) {
this.gs = gs;
}
public boolean preHandle(HttpServletRequest request, HttpServletResponse response,
Object handler) throws Exception {
if (handler instanceof Dispatcher) {
Dispatcher dispatcher = (Dispatcher) handler;
dispatcher.setCiteCompliant(getInfo().isCiteCompliant());
}
return true;
}
public void postHandle(HttpServletRequest request, HttpServletResponse response,
Object handler, ModelAndView modelAndView) throws Exception {
// TODO Auto-generated method stub
}
public void afterCompletion(HttpServletRequest request, HttpServletResponse response,
Object handler, Exception ex) throws Exception {
//do nothing
}
WFSInfo getInfo() {
return gs.getService( WFSInfo.class );
}
}