/* (c) 2015 Open Source Geospatial Foundation - all rights reserved
* This code is licensed under the GPL 2.0 license, available at the root
* application directory.
*/
package org.geoserver.ows;
import org.geoserver.platform.Operation;
import org.geoserver.platform.Service;
import org.geoserver.platform.ServiceException;
public class TestDispatcherCallback implements DispatcherCallback {
public enum Status {
INIT, SERVICE_DISPATCHED, OPERATION_DISPATCHED, OPERATION_EXECUTED, RESPONSE_DISPATCHED, FINISHED
}
public ThreadLocal<Status> dispatcherStatus = new ThreadLocal<Status>();
@Override
public Request init(Request request) {
dispatcherStatus.set(Status.INIT);
return request;
}
@Override
public Service serviceDispatched(Request request, Service service) throws ServiceException {
dispatcherStatus.set(Status.SERVICE_DISPATCHED);
return service;
}
@Override
public Operation operationDispatched(Request request, Operation operation) {
dispatcherStatus.set(Status.OPERATION_DISPATCHED);
return operation;
}
@Override
public Object operationExecuted(Request request, Operation operation, Object result) {
dispatcherStatus.set(Status.OPERATION_EXECUTED);
return result;
}
@Override
public Response responseDispatched(Request request, Operation operation, Object result, Response response) {
dispatcherStatus.set(Status.RESPONSE_DISPATCHED);
return response;
}
@Override
public void finished(Request request) {
dispatcherStatus.set(Status.FINISHED);
}
}