/* Copyright (c) 2001 - 2007 TOPP - www.openplans.org. All rights reserved. * This code is licensed under the GPL 2.0 license, available at the root * application directory. */ package org.geoserver.wps; import java.util.ArrayList; import org.geoserver.config.GeoServer; import org.geoserver.config.util.XStreamPersister; import org.geoserver.config.util.XStreamServiceLoader; import org.geoserver.platform.GeoServerResourceLoader; import org.geotools.util.Version; /** * Service loader for the Web Processing Service * * @author Lucas Reed, Refractions Research Inc * @author Justin Deoliveira, The Open Planning Project */ public class WPSLoader extends XStreamServiceLoader<WPSInfo> { public WPSLoader(GeoServerResourceLoader resourceLoader) { super(resourceLoader, "wps"); } public String getServiceId() { return "wps"; } public Class<WPSInfo> getServiceClass() { return WPSInfo.class; } protected WPSInfo createServiceFromScratch(GeoServer gs) { WPSInfoImpl wps = new WPSInfoImpl(); wps.setId(getServiceId()); wps.setGeoServer( gs ); return wps; } @Override protected void initXStreamPersister(XStreamPersister xp, GeoServer gs) { xp.getXStream().alias( "wcs", WPSInfo.class, WPSInfoImpl.class ); } @Override protected WPSInfo initialize(WPSInfo service) { if ( service.getVersions() == null ) { ((WPSInfoImpl)service).setVersions( new ArrayList() ); } if ( service.getVersions().isEmpty() ) { service.getVersions().add( new Version( "1.0.0") ); } return service; } }