summaryrefslogtreecommitdiff
path: root/misc/openlayers/lib/OpenLayers/WPSClient.js
diff options
context:
space:
mode:
Diffstat (limited to 'misc/openlayers/lib/OpenLayers/WPSClient.js')
-rw-r--r--misc/openlayers/lib/OpenLayers/WPSClient.js223
1 files changed, 0 insertions, 223 deletions
diff --git a/misc/openlayers/lib/OpenLayers/WPSClient.js b/misc/openlayers/lib/OpenLayers/WPSClient.js
deleted file mode 100644
index e0c8c49..0000000
--- a/misc/openlayers/lib/OpenLayers/WPSClient.js
+++ /dev/null
@@ -1,223 +0,0 @@
-/* Copyright (c) 2006-2013 by OpenLayers Contributors (see authors.txt for
- * full list of contributors). Published under the 2-clause BSD license.
- * See license.txt in the OpenLayers distribution or repository for the
- * full text of the license. */
-
-/**
- * @requires OpenLayers/SingleFile.js
- */
-
-/**
- * @requires OpenLayers/Events.js
- * @requires OpenLayers/WPSProcess.js
- * @requires OpenLayers/Format/WPSDescribeProcess.js
- * @requires OpenLayers/Request.js
- */
-
-/**
- * Class: OpenLayers.WPSClient
- * High level API for interaction with Web Processing Services (WPS).
- * An <OpenLayers.WPSClient> instance is used to create <OpenLayers.WPSProcess>
- * instances for servers known to the WPSClient. The WPSClient also caches
- * DescribeProcess responses to reduce the number of requests sent to servers
- * when processes are created.
- */
-OpenLayers.WPSClient = OpenLayers.Class({
-
- /**
- * Property: servers
- * {Object} Service metadata, keyed by a local identifier.
- *
- * Properties:
- * url - {String} the url of the server
- * version - {String} WPS version of the server
- * processDescription - {Object} Cache of raw DescribeProcess
- * responses, keyed by process identifier.
- */
- servers: null,
-
- /**
- * Property: version
- * {String} The default WPS version to use if none is configured. Default
- * is '1.0.0'.
- */
- version: '1.0.0',
-
- /**
- * Property: lazy
- * {Boolean} Should the DescribeProcess be deferred until a process is
- * fully configured? Default is false.
- */
- lazy: false,
-
- /**
- * Property: events
- * {<OpenLayers.Events>}
- *
- * Supported event types:
- * describeprocess - Fires when the process description is available.
- * Listeners receive an object with a 'raw' property holding the raw
- * DescribeProcess response, and an 'identifier' property holding the
- * process identifier of the described process.
- */
- events: null,
-
- /**
- * Constructor: OpenLayers.WPSClient
- *
- * Parameters:
- * options - {Object} Object whose properties will be set on the instance.
- *
- * Avaliable options:
- * servers - {Object} Mandatory. Service metadata, keyed by a local
- * identifier. Can either be a string with the service url or an
- * object literal with additional metadata:
- *
- * (code)
- * servers: {
- * local: '/geoserver/wps'
- * }, {
- * opengeo: {
- * url: 'http://demo.opengeo.org/geoserver/wps',
- * version: '1.0.0'
- * }
- * }
- * (end)
- *
- * lazy - {Boolean} Optional. Set to true if DescribeProcess should not be
- * requested until a process is fully configured. Default is false.
- */
- initialize: function(options) {
- OpenLayers.Util.extend(this, options);
- this.events = new OpenLayers.Events(this);
- this.servers = {};
- for (var s in options.servers) {
- this.servers[s] = typeof options.servers[s] == 'string' ? {
- url: options.servers[s],
- version: this.version,
- processDescription: {}
- } : options.servers[s];
- }
- },
-
- /**
- * APIMethod: execute
- * Shortcut to execute a process with a single function call. This is
- * equivalent to using <getProcess> and then calling execute on the
- * process.
- *
- * Parameters:
- * options - {Object} Options for the execute operation.
- *
- * Available options:
- * server - {String} Mandatory. One of the local identifiers of the
- * configured servers.
- * process - {String} Mandatory. A process identifier known to the
- * server.
- * inputs - {Object} The inputs for the process, keyed by input identifier.
- * For spatial data inputs, the value of an input is usually an
- * <OpenLayers.Geometry>, an <OpenLayers.Feature.Vector> or an array of
- * geometries or features.
- * output - {String} The identifier of an output to parse. Optional. If not
- * provided, the first output will be parsed.
- * success - {Function} Callback to call when the process is complete.
- * This function is called with an outputs object as argument, which
- * will have a property with the identifier of the requested output
- * (e.g. 'result'). For processes that generate spatial output, the
- * value will either be a single <OpenLayers.Feature.Vector> or an
- * array of features.
- * scope - {Object} Optional scope for the success callback.
- */
- execute: function(options) {
- var process = this.getProcess(options.server, options.process);
- process.execute({
- inputs: options.inputs,
- success: options.success,
- scope: options.scope
- });
- },
-
- /**
- * APIMethod: getProcess
- * Creates an <OpenLayers.WPSProcess>.
- *
- * Parameters:
- * serverID - {String} Local identifier from the servers that this instance
- * was constructed with.
- * processID - {String} Process identifier known to the server.
- *
- * Returns:
- * {<OpenLayers.WPSProcess>}
- */
- getProcess: function(serverID, processID) {
- var process = new OpenLayers.WPSProcess({
- client: this,
- server: serverID,
- identifier: processID
- });
- if (!this.lazy) {
- process.describe();
- }
- return process;
- },
-
- /**
- * Method: describeProcess
- *
- * Parameters:
- * serverID - {String} Identifier of the server
- * processID - {String} Identifier of the requested process
- * callback - {Function} Callback to call when the description is available
- * scope - {Object} Optional execution scope for the callback function
- */
- describeProcess: function(serverID, processID, callback, scope) {
- var server = this.servers[serverID];
- if (!server.processDescription[processID]) {
- if (!(processID in server.processDescription)) {
- // set to null so we know a describeFeature request is pending
- server.processDescription[processID] = null;
- OpenLayers.Request.GET({
- url: server.url,
- params: {
- SERVICE: 'WPS',
- VERSION: server.version,
- REQUEST: 'DescribeProcess',
- IDENTIFIER: processID
- },
- success: function(response) {
- server.processDescription[processID] = response.responseText;
- this.events.triggerEvent('describeprocess', {
- identifier: processID,
- raw: response.responseText
- });
- },
- scope: this
- });
- } else {
- // pending request
- this.events.register('describeprocess', this, function describe(evt) {
- if (evt.identifier === processID) {
- this.events.unregister('describeprocess', this, describe);
- callback.call(scope, evt.raw);
- }
- });
- }
- } else {
- window.setTimeout(function() {
- callback.call(scope, server.processDescription[processID]);
- }, 0);
- }
- },
-
- /**
- * Method: destroy
- */
- destroy: function() {
- this.events.destroy();
- this.events = null;
- this.servers = null;
- },
-
- CLASS_NAME: 'OpenLayers.WPSClient'
-
-});