/* Copyright (c) 2001 - 2011 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.geosearch.rest; import static org.geoserver.rest.util.RESTUtils.getBaseURL; import java.util.ArrayList; import java.util.List; import org.geoserver.catalog.Catalog; import org.geoserver.rest.AbstractResource; import org.geoserver.rest.format.DataFormat; import org.restlet.Context; import org.restlet.data.Request; import org.restlet.data.Response; /** * A REST resource that uses a {@link SiteMapXMLFormat} to produce the {@code sitemap.xml} document. * * @author groldan * @see SiteMapXMLFormat */ public class SiteMap extends AbstractResource { private final Catalog catalog; public SiteMap(final Context context, final Request request, final Response response, final Catalog catalog) { super(context, request, response); this.catalog = catalog; } @Override public void handleGet() { DataFormat format = getFormatGet(); getResponse().setEntity(format.toRepresentation(catalog)); } /** * @see org.geoserver.rest.AbstractResource#createSupportedFormats(org.restlet.data.Request, * org.restlet.data.Response) */ @Override protected List<DataFormat> createSupportedFormats(final Request request, final Response response) { final List<DataFormat> siteMapFormats = new ArrayList<DataFormat>(1); final String baseURL = getBaseURL(request); siteMapFormats.add(new SiteMapXMLFormat(baseURL)); return siteMapFormats; } }