Ignore:
Timestamp:
Apr 23, 2014, 3:05:01 AM (10 years ago)
Author:
djay
Message:

Add the optional YAML ZCFG support #4 and the zcfg2yaml converter. Return error messages that enable the service provider to quickly identify the root cause of errors due to configuration file syntax #90. Fix logic in addMapToMap #91. Enable multiple range definition using default and supported blocks. Add the lastest revision number in version.h (available from Python ZOO-API as zoo.VERSION).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/zoo-project/zoo-kernel/zoo_service_loader.c

    r459 r465  
    239239  map* r_inputs=NULL;
    240240#ifndef WIN32
    241   char* pntmp=getcwd(ntmp,1024);
     241  getcwd(ntmp,1024);
    242242#else
    243243  _getcwd(ntmp,1024);
     
    560560  char ntmp[1024];
    561561#ifndef WIN32
    562   char *pntmp=getcwd(ntmp,1024);
     562  getcwd(ntmp,1024);
    563563#else
    564564  _getcwd(ntmp,1024);
     
    760760    while ((dp = readdir(dirp)) != NULL)
    761761      if(strstr(dp->d_name,".zcfg")!=0){
     762        int t;
    762763        memset(tmps1,0,1024);
    763764        snprintf(tmps1,1024,"%s/%s",conf_dir,dp->d_name);
     
    769770        fprintf(stderr,"#################\n%s\n#################\n",tmps1);
    770771#endif
    771         t=getServiceFromFile(tmps1,&s1);
     772        t=readServiceFile(m,tmps1,&s1,dp->d_name);
     773        if(t<0){
     774          dumpMaps(m);
     775          map* tmp00=getMapFromMaps(m,"lenv","message");
     776          char tmp01[1024];
     777          sprintf(tmp01,_("Unable to parse the ZCFG file: %s (%s)"),dp->d_name,tmp00->value);
     778          dup2(saved_stdout,fileno(stdout));
     779          errorException(m, tmp01,"InternalError",NULL);
     780          freeMaps(&m);
     781          free(m);
     782          return 1;
     783        }
     784
    772785#ifdef DEBUG
    773786        dumpService(s1);
     
    828841
    829842      r_inputs=getMap(request_inputs,"Identifier");
    830       char *tmps=strtok(r_inputs->value,",");
     843     
     844      char *saveptr;
     845      char *orig=zStrdup(r_inputs->value);
     846      char *tmps=strtok_r(orig,",",&saveptr);
    831847     
    832848      char buff[256];
     
    839855        memset(buff1,0,1024);
    840856#ifdef DEBUG
    841         printf("\n#######%s\n########\n",buff1);
     857        printf("\n#######%s\n########\n",buff);
    842858#endif
    843859        while ((dp = readdir(dirp)) != NULL)
     
    852868            }
    853869#ifdef DEBUG
    854             printf("#################\n%s\n#################\n",buff1);
    855 #endif
    856             t=getServiceFromFile(buff1,&s1);
     870            printf("#################\n(%s) %s\n#################\n",r_inputs->value,buff1);
     871#endif
     872            char *tmp0=zStrdup(dp->d_name);
     873            tmp0[strlen(tmp0)-5]=0;
     874            t=readServiceFile(m,buff1,&s1,tmp0);
     875            free(tmp0);
     876            if(t<0){
     877              map* tmp00=getMapFromMaps(m,"lenv","message");
     878              char tmp01[1024];
     879              if(tmp00!=NULL)
     880                sprintf(tmp01,_("Unable to parse the ZCFG file: %s (%s)"),dp->d_name,tmp00->value);
     881              else
     882                sprintf(tmp01,_("Unable to parse the ZCFG file: %s."),dp->d_name);
     883              dup2(saved_stdout,fileno(stdout));
     884              errorException(m, tmp01,"InternalError",NULL);
     885              freeMaps(&m);
     886              free(m);
     887              return 1;
     888            }
    857889#ifdef DEBUG
    858890            dumpService(s1);
     
    861893            freeService(&s1);
    862894            free(s1);
     895            s1=NULL;
    863896            scount++;
    864897          }
    865898        rewinddir(dirp);
    866         tmps=strtok(NULL,",");
     899        tmps=strtok_r(NULL,",",&saveptr);
    867900      }
    868901      closedir(dirp);
    869902      fflush(stdout);
    870903      dup2(saved_stdout,fileno(stdout));
     904      free(orig);
    871905      printDocument(m,doc,getpid());
    872906      freeMaps(&m);
     
    917951  int saved_stdout = dup(fileno(stdout));
    918952  dup2(fileno(stderr),fileno(stdout));
    919   t=getServiceFromFile(tmps1,&s1);
     953  t=readServiceFile(m,tmps1,&s1,r_inputs->value);
    920954  fflush(stdout);
    921955  dup2(saved_stdout,fileno(stdout));
     
    21812215  addToMap(_tmpMaps->content,"sid",tmpBuff);
    21822216  addToMap(_tmpMaps->content,"status","0");
     2217  addToMap(_tmpMaps->content,"cwd",ntmp);
    21832218  addToMap(_tmpMaps->content,"message",_("No message provided"));
    2184   addToMap(_tmpMaps->content,"cwd",ntmp);
    21852219  map* ltmp=getMap(request_inputs,"soap");
    21862220  if(ltmp!=NULL)
     
    22482282  freeMaps(&_tmpMaps);
    22492283  free(_tmpMaps);
    2250 
     2284 
    22512285#ifdef DEBUG
    22522286  dumpMap(request_inputs);
     
    22652299  }
    22662300#endif
    2267   int hrstd=-1;
    22682301  char *fbkp,*fbkp1;
    22692302  FILE *f0,*f1;
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