source: trunk/docs/api/examples.txt @ 345

Last change on this file since 345 was 272, checked in by nbozon, 13 years ago

add keywords with svn propset

  • Property svn:keywords set to HeadURL Date Author Id Rev
File size: 2.4 KB
RevLine 
[140]1.. _api-examples:
2
3Examples
4========
5
6In this page you can find some small examples on how to use the JavaScript ZOO-API
7on the server side.
8
[204]9ZOO-API contains many classes and functions. You can find the description list :ref:`here <api-classes>`.
[140]10
11ZOO.Process example of use
12--------------------------
13
14::
15
16  function SampleService(conf,inputs,outputs){
17     var myProcess = new ZOO.Process('http://localhost/cgi-bin-new1/zoo_loader_new1.cgi','Boundary');
18     var myInputs = {InputPolygon: { type: 'complex', value: '{"type":"Polygon","coordinates":[[[-106.993853,35.998758],[-107.407233,35.997524],[-107.430525,35.997726],[-107.4824,35.99878],[-108.37013,35.999472],[-109.043633,35.996652],[-109.096265,35.997817],[-109.148763,36.001751],[-109.200981,36.008442],[-109.252775,36.017871],[-109.304,36.030014],[-109.354516,36.044835],[-106.468201,35.991497],[-106.855511,35.989504],[-106.90933,35.990676],[-106.963008,35.994743],[-106.993853,35.998758]]]}', mimeType: "application/json"} };
19     var myExecuteResult=myProcess.Execute(myInputs);
20     return {result: ZOO.SERVICE_SUCCEEDED, outputs: [ {name:"Result", value: myExecuteResult} ] };
21  }
22
[259]23In this really short example you can see how to create ``ZOO.Process`` class instance and
[140]24call the Execute method on such an instance. Then you'll just need to return a JavaScript
25object containing the attributes result and outputs, which I'm sure you already know
[259]26what is about. The first is about the status of the process (can be ``ZOO.SERVICE_SUCEEDED``,
27``ZOO.SERVICE_FAILED`` and so on), the last is obviously the resulting maps (take a
28look at the maps internal data structure used by ZOO Kernel in ``service.h``).
[140]29
30ZOO.UpdateStatus
31----------------
32
33::
34
35  function SampleLongService(conf,inputs,outputs){
36     var my_i=0;
37     while(my_i<100){
38         try{
39           conf["lenv"]["status"]=my_i;
40         }
41         catch(e){
42         }
43         ZOOUpdateStatus(conf,my_i);
44         SampleService(conf,inputs,outputs);
45         my_i+=10;
46     }
47     return SampleService(conf,inputs,outputs);
48  }
49
[259]50You can see in this sample code how to use the ``ZOOUpdateStatus`` function to update the
[140]51current status of your running process. This information will be really helpfull when the
[259]52ZOO Kernel will run your JavaScript Service in background mode (if the user set to ``true``
53the ``storeExecuteResponse`` parameter in his request).
[140]54
Note: See TracBrowser for help on using the repository browser.

Search

ZOO Sponsors

http://www.zoo-project.org/trac/chrome/site/img/geolabs-logo.pnghttp://www.zoo-project.org/trac/chrome/site/img/neogeo-logo.png http://www.zoo-project.org/trac/chrome/site/img/apptech-logo.png http://www.zoo-project.org/trac/chrome/site/img/3liz-logo.png http://www.zoo-project.org/trac/chrome/site/img/gateway-logo.png

Become a sponsor !

Knowledge partners

http://www.zoo-project.org/trac/chrome/site/img/ocu-logo.png http://www.zoo-project.org/trac/chrome/site/img/gucas-logo.png http://www.zoo-project.org/trac/chrome/site/img/polimi-logo.png http://www.zoo-project.org/trac/chrome/site/img/fem-logo.png http://www.zoo-project.org/trac/chrome/site/img/supsi-logo.png http://www.zoo-project.org/trac/chrome/site/img/cumtb-logo.png

Become a knowledge partner

Related links

http://zoo-project.org/img/ogclogo.png http://zoo-project.org/img/osgeologo.png