package dgm.streaming.requestmapper.handlers; import com.google.common.base.Optional; import org.jboss.netty.handler.codec.http.HttpResponseStatus; import dgm.streaming.requestmapper.ChannelContext; import dgm.streaming.requestmapper.HttpRequestMapper; import dgm.streaming.requestmapper.RequestHandlerException; import dgm.streaming.service.GraphUnfoldingService; import java.util.List; /** * @author Ernst Bunders */ public abstract class BaseGraphStreamerRequestHandler implements HttpRequestMapper.RequestHandler { private final GraphUnfoldingService graphStreamingService; private final ChannelContext channelContext; public BaseGraphStreamerRequestHandler(ChannelContext channelContext, GraphUnfoldingService graphStreamingService) { this.channelContext = channelContext; this.graphStreamingService = graphStreamingService; } protected final Optional<String> getParamOption(List<String> params, int index) { if (params.size() >= (index + 1)) return Optional.of(params.get(index)); return Optional.absent(); } protected final String getParamOrFail(List<String> params, int index, String errorMsg) throws RequestHandlerException { if (params.size() <= index) throw new RequestHandlerException(errorMsg, HttpResponseStatus.BAD_REQUEST); return params.get(index); } final GraphUnfoldingService getGraphStreamingService() { return graphStreamingService; } final ChannelContext getChannelContext() { return channelContext; } }