/* (c) 2014 Open Source Geospatial Foundation - all rights reserved
* Copyright (C) 2007-2008-2009 GeoSolutions S.A.S.
* http://www.geo-solutions.it
* This code is licensed under the GPL 2.0 license, available at the root
* application directory.
*/
package org.geoserver.sldservice.rest.finder;
import org.geoserver.catalog.Catalog;
import org.geoserver.rest.RestletException;
import org.geoserver.sldservice.rest.resource.ListAttributesResource;
import org.restlet.Finder;
import org.restlet.data.Method;
import org.restlet.data.Request;
import org.restlet.data.Response;
import org.restlet.data.Status;
import org.restlet.resource.Resource;
public class LayerAttributesFinder extends Finder {
/**
* reference to the catalog
*/
protected Catalog catalog;
protected LayerAttributesFinder(Catalog catalog) {
this.catalog = catalog;
}
@Override
public Resource findTarget(Request request, Response response) {
String layer = (String) request.getAttributes().get("layer");
if (layer != null && request.getMethod() == Method.GET) {
return new ListAttributesResource(getContext(), request, response,
catalog);
}
throw new RestletException("No such layer: " + layer,
Status.CLIENT_ERROR_NOT_FOUND);
}
}