Ignore:
Timestamp:
Aug 31, 2017, 4:14:46 PM (7 years ago)
Author:
djay
Message:

Invoke callback asynchronously. Still the ZOO-Kernel has still to wait for every requests to finish before stoping its execution.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/prototype-v0/zoo-project/zoo-kernel/service_internal_ms.c

    r850 r851  
    194194
    195195  char* webService_url=(char*)malloc((strlen(msUrl->value)+strlen(format->value)+strlen(tmpI->name)+strlen(width->value)+strlen(height->value)+strlen(extent->value)+256)*sizeof(char));
    196   map* datatype=getMap(tmpI->content,"datatype");
     196  map* datatype=getMap(tmpI->content,"geodatatype");
    197197 
    198   sprintf(webService_url,
    199           "%s?map=%s/%s_%s.map&request=%s&service=%s&version=%s&%s&format=%s&bbox=%s&crs=%s",
    200           msUrl->value,
    201           dataPath->value,
    202           tmpI->name,
    203           sid->value,
    204           options[proto][2],
    205           options[proto][0],
    206           protoVersion,
    207           layers,
    208           rformat->value,
    209           extent->value,
    210           crs->value
    211           );
    212198  if(proto>0){
    213     addToMap(tmpI->content,"Reference",webService_url);
     199    sprintf(webService_url,
     200            "%s?map=%s/%s_%s.map&request=%s&service=%s&version=%s&%s&format=%s&bbox=%s&crs=%s",
     201            msUrl->value,
     202            dataPath->value,
     203            tmpI->name,
     204            sid->value,
     205            options[proto][2],
     206            options[proto][0],
     207            protoVersion,
     208            layers,
     209            rformat->value,
     210            extent->value,
     211            crs->value
     212            );
     213    if(datatype!=NULL && strncasecmp(datatype->value,"raster",6)==0){
     214      addToMap(tmpI->content,"ref_wcs_link",webService_url);
     215    }
     216    else{
     217      addToMap(tmpI->content,"ref_wfs_link",webService_url);
     218    }
    214219    proto=0;
    215220    rformat=createMap("mimeType","image/png");
    216221  }
    217222  else{
     223    sprintf(webService_url,
     224            "%s?map=%s/%s_%s.map&request=%s&service=%s&version=%s&%s&width=%s&height=%s&format=%s&bbox=%s&crs=%s",
     225            msUrl->value,
     226            dataPath->value,
     227            tmpI->name,
     228            sid->value,
     229            options[proto][2],
     230            options[proto][0],
     231            protoVersion,
     232            layers,
     233            width->value,
     234            height->value,
     235            rformat->value,
     236            extent->value,
     237            crs->value
     238            );
     239    addToMap(tmpI->content,"ref_wms_link",webService_url);
    218240    if(datatype!=NULL && strncasecmp(datatype->value,"raster",6)==0){
    219241      proto=2;
     
    225247    }
    226248  }
    227   if(datatype!=NULL && strncasecmp(datatype->value,"raster",6)==0){
    228     addToMap(tmpI->content,"ref_wcs_link",webService_url);
    229   }
    230   else{
    231     addToMap(tmpI->content,"ref_wfs_link",webService_url);
    232   }
     249  addToMap(tmpI->content,"Reference",webService_url);
     250
    233251  protoVersion=options[proto][1];
    234252  extent=getMap(tmpI->content,options[proto][4]);
    235253  memset(webService_url,0,strlen(webService_url));
    236   sprintf(webService_url,
    237           "%s?map=%s/%s_%s.map&request=%s&service=%s&version=%s&%s&width=%s&height=%s&format=%s&bbox=%s&crs=%s",
    238           msUrl->value,
    239           dataPath->value,
    240           tmpI->name,
    241           sid->value,
    242           options[proto][2],
    243           options[proto][0],
    244           protoVersion,
    245           layers,
    246           width->value,
    247           height->value,
    248           rformat->value,
    249           extent->value,
    250           crs->value
    251           );
    252254  if(proto>0){
    253     addToMap(tmpI->content,"Reference",webService_url);
    254   }
    255   addToMap(tmpI->content,"ref_wms_link",webService_url);
     255    sprintf(webService_url,
     256            "%s?map=%s/%s_%s.map&request=%s&service=%s&version=%s&%s&format=%s&bbox=%s&crs=%s",
     257            msUrl->value,
     258            dataPath->value,
     259            tmpI->name,
     260            sid->value,
     261            options[proto][2],
     262            options[proto][0],
     263            protoVersion,
     264            layers,
     265            rformat->value,
     266            extent->value,
     267            crs->value
     268            );
     269    if(datatype!=NULL && strncasecmp(datatype->value,"raster",6)==0){
     270      addToMap(tmpI->content,"ref_wcs_link",webService_url);
     271    }
     272    else{
     273      addToMap(tmpI->content,"ref_wfs_link",webService_url);
     274    }
     275  }else{
     276    sprintf(webService_url,
     277            "%s?map=%s/%s_%s.map&request=%s&service=%s&version=%s&%s&width=%s&height=%s&format=%s&bbox=%s&crs=%s",
     278            msUrl->value,
     279            dataPath->value,
     280            tmpI->name,
     281            sid->value,
     282            options[proto][2],
     283            options[proto][0],
     284            protoVersion,
     285            layers,
     286            width->value,
     287            height->value,
     288            rformat->value,
     289            extent->value,
     290            crs->value
     291            );
     292    addToMap(tmpI->content,"ref_wms_link",webService_url);
     293  }
    256294  if(hasCRS==0){
    257295    freeMap(&crs);
    258296    free(crs);
    259297  }
     298  freeMap(&rformat);
     299  free(rformat);
    260300  free(webService_url);
     301  dumpMaps(tmpI);
    261302}
    262303
     
    552593      i++;
    553594    }
     595    OGR_DS_Destroy(poDS1);
    554596  }
    555597  free(sdsName);
     
    572614  }
    573615
    574   addToMap(output->content,"datatype","vector");
     616  addToMap(output->content,"geodatatype","vector");
    575617  int iLayer = 0;
    576618  for( iLayer=0; iLayer < OGR_DS_GetLayerCount(poDS); iLayer++ ){
     
    744786  }
    745787
    746   //OGR_DS_Destroy(poDS);
     788  OGR_DS_Destroy(poDS);
    747789  //OGRCleanupAll();
    748790
     
    774816    fprintf(stderr,"Unable to access the DataSource %s \n",pszFilename);
    775817#endif
     818    addToMap(output->content,"geodatatype","other");
    776819    setMapInMaps(conf,"lenv","message","gdalinfo failed - unable to open");
    777820    GDALDestroyDriverManager();
     
    782825#endif
    783826
    784   addToMap(output->content,"datatype","raster");
     827  addToMap(output->content,"geodatatype","raster");
    785828  /**
    786829   * Add a new layer set name, data
     
    10181061  GDALClose( hDataset );
    10191062  GDALDestroyDriverManager();
    1020 
    10211063  CPLCleanupTLS();
    10221064  return 1;
Note: See TracChangeset for help on using the changeset viewer.

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