/* (c) 2014 Open Source Geospatial Foundation - all rights reserved * (c) 2001 - 2013 OpenPlans * This code is licensed under the GPL 2.0 license, available at the root * application directory. */ package org.geoserver.web; import java.util.ArrayList; import java.util.List; import org.apache.wicket.Component; import org.geoserver.config.ServiceInfo; import org.geoserver.platform.GeoServerExtensions; import org.geoserver.platform.Service; import org.geoserver.web.CapabilitiesHomePagePanel.CapsInfo; /** * Contributes standard GetCapabilities links for all the versions in all the {@link ServiceInfo} * implementations available to the {@link GeoServerApplication} using the GeoServer's {@code /ows} * standard OpenGIS Web Service entry point as the root of the GetCapabilities request. * * @author Gabriel Roldan * @see CapabilitiesHomePagePanel */ public class ServiceInfoCapabilitiesProvider implements CapabilitiesHomePageLinkProvider { /** * * @see org.geoserver.web.CapabilitiesHomePageLinkProvider#getCapabilitiesComponent */ public Component getCapabilitiesComponent(final String id) { List<CapsInfo> serviceInfoLinks = new ArrayList<CapabilitiesHomePagePanel.CapsInfo>(); List<Service> extensions = GeoServerExtensions.extensions(Service.class); for (Service si : extensions) { if(si.getOperations().contains("GetCapabilities")) { String serviceId = si.getId(); String capsLink = "../ows?service=" + serviceId + "&version=" + si.getVersion().toString()+ "&request=GetCapabilities"; CapsInfo ci = new CapsInfo(serviceId, si.getVersion(), capsLink); serviceInfoLinks.add(ci); } } return new CapabilitiesHomePagePanel(id, serviceInfoLinks); } }