/* Copyright (c) 2012 GeoSolutions http://www.geo-solutions.it. All rights reserved. * This code is licensed under the GPL 2.0 license, available at the root * application directory. */ package org.geoserver.wps.executor.util; import java.io.File; import org.geoserver.ows.URLMangler.URLType; import org.geoserver.ows.util.ResponseUtils; import org.geoserver.platform.ExtensionPriority; import org.geoserver.platform.GeoServerExtensions; import org.geoserver.platform.GeoServerResourceLoader; import org.geoserver.wps.resource.WPSResourceManager; import org.springframework.context.ApplicationEvent; import org.springframework.context.ApplicationListener; /** * The Class DefaultClusterFilePublisherURLMangler. * * @author "Alessio Fabiani - alessio.fabiani@geo-solutions.it" */ public class DefaultClusterFilePublisherURLMangler implements ClusterFilePublisherURLMangler, ExtensionPriority, ApplicationListener<ApplicationEvent> { /** The geoserver. */ WPSResourceManager wpsResourceManager; /** * Instantiates a new default cluster file publisher url mangler. * * @param geoserver the geoserver */ public DefaultClusterFilePublisherURLMangler(WPSResourceManager wpsResourceManager) { this.wpsResourceManager = wpsResourceManager; } /** * Gets the publishing url. * * @param file the file * @return the publishing url * @throws Exception the exception */ @Override public String getPublishingURL(File file, String baseURL) throws Exception { // relativize to temp dir directory GeoServerResourceLoader loader = GeoServerExtensions.bean(GeoServerResourceLoader.class); String path = loader.getBaseDirectory().toURI().relativize(file.toURI()).getPath(); return ResponseUtils.buildURL(baseURL, path, null, URLType.RESOURCE); } /** * On application event. * * @param event the event */ @Override public void onApplicationEvent(ApplicationEvent event) { // TODO Auto-generated method stub } /** * Gets the priority. * * @return the priority */ @Override public int getPriority() { return ExtensionPriority.LOWEST; } }