source: branches/PublicaMundi_David-devel/docs/api/examples.rst @ 710

Last change on this file since 710 was 696, checked in by djay, 9 years ago

Small fixes in the main documentation.

  • Property svn:keywords set to Date Author
File size: 2.4 KB

Examples

This section gathers sample scripts using :ref:`ZOO-API <api-what>`, the ZOO-Project server-side JavaScript API.

?

ZOO-API contains many classes and functions. You can find the description list :ref:`here <api-classes>`.

?

ZOO.Process example

function SampleService(conf,inputs,outputs){
   var myProcess = new ZOO.Process('http://localhost/cgi-bin-new1/zoo_loader_new1.cgi','Boundary');
   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"} };
   var myExecuteResult=myProcess.Execute(myInputs);
   return {result: ZOO.SERVICE_SUCCEEDED, outputs: [ {name:"Result", value: myExecuteResult} ] };
}

In this really short example you can see how to create ZOO.Process class instance and call the Execute method on such an instance. Then you'll just need to return a JavaScript object containing the attributes result and outputs, which I'm sure you already know what is about. The first is about the status of the process (can be ZOO.SERVICE_SUCEEDED, ZOO.SERVICE_FAILED and so on), the last is obviously the resulting maps (take a look at the maps internal data structure used by ZOO Kernel in service.h).

ZOO.UpdateStatus example

?
ZOO.UpdateStatus example
-----------------------
function SampleLongService(conf,inputs,outputs){
   var my_i=0;
   while(my_i<100){
       try{
         conf["lenv"]["status"]=my_i;
       }
       catch(e){
       }
       ZOOUpdateStatus(conf,my_i);
       SampleService(conf,inputs,outputs);
       my_i+=10;
   }
   return SampleService(conf,inputs,outputs);
}

You can see in this sample code how to use the ZOOUpdateStatus function to update the current status of your running process. This information will be really helpfull when the ZOO Kernel will run your JavaScript Service in background mode (if the user set to true the storeExecuteResponse parameter in his request).

Note: See TracBrowser for help on using the repository browser.

Search

Context Navigation

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