Ignore:
Timestamp:
Feb 25, 2018, 2:49:04 PM (7 years ago)
Author:
djay
Message:

Fix issue #163.

Location:
trunk/zoo-project/zoo-kernel
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/zoo-project/zoo-kernel/ZOOMakefile.opts.in

    r811 r866  
    101101MONO_FILE=@MONO_FILE@
    102102
    103 CFLAGS=@RELY_ON_DB@ @DEB_DEF@ -fpic @OPENSSL_CFLAGS@ ${FCGI_CFLAGS} ${YAML_CFLAGS} ${MACOS_CFLAGS} ${MS_CFLAGS} -I../../thirds/cgic206 -I. -DLINUX_FREE_ISSUE #-DDEBUG #-DDEBUG_SERVICE_CONF
     103CFLAGS=-Wdeclaration-after-statement @RELY_ON_DB@ @DEB_DEF@ -fpic @OPENSSL_CFLAGS@ ${FCGI_CFLAGS} ${YAML_CFLAGS} ${MACOS_CFLAGS} ${MS_CFLAGS} -I../../thirds/cgic206 -I. -DLINUX_FREE_ISSUE #-DDEBUG #-DDEBUG_SERVICE_CONF
    104104LDFLAGS=-lzoo_service @DEFAULT_LIBS@ -L../../thirds/cgic206 -lcgic ${GDAL_LIBS} ${XML2LDFLAGS} ${PYTHONLDFLAGS} ${PERLLDFLAGS}  ${PHPLDFLAGS} ${JAVALDFLAGS} ${JSLDFLAGS}  ${FCGI_LDFLAGS} @OPENSSL_LDFLAGS@ -luuid ${MS_LDFLAGS} ${MACOS_LD_FLAGS} ${MACOS_LD_NET_FLAGS} ${YAML_LDFLAGS} ${OTBLDFLAGS} ${SAGA_LDFLAGS} ${MONO_LDFLAGS}
    105105
  • trunk/zoo-project/zoo-kernel/request_parser.c

    r836 r866  
    997997                                                             &buffersize,
    998998                                                             "utf-8", 0);
     999                                  xmlFreeDoc (doc1);
    9991000                                }
    10001001                              else
     
    10121013                              addIntToMap (tmpmaps->content, "size",
    10131014                                           buffersize);
    1014                               xmlFreeDoc (doc1);
    10151015                            }else{
    1016                             xmlNodePtr cur5 = cur4->children;
    1017                             while (cur5 != NULL
    1018                                    && cur5->type != XML_CDATA_SECTION_NODE)
    1019                               cur5 = cur5->next;
    1020                             if (cur5 != NULL
    1021                                 && cur5->type == XML_CDATA_SECTION_NODE){
    1022                               xmlFree(mv);
    1023                               mv=xmlStrdup(cur5->content);
     1016                            if(xmlStrcasecmp
     1017                               (cur4->name, BAD_CAST "BoundingBoxData") == 0){
     1018                              xmlDocPtr doc1 = xmlNewDoc(BAD_CAST "1.0");
     1019                              int buffersize;
     1020                              xmlDocSetRootElement(doc1,cur4);
     1021                              xmlDocDumpFormatMemoryEnc(doc1,&mv,
     1022                                                        &buffersize,
     1023                                                        "utf-8",0);
     1024                              addIntToMap (tmpmaps->content, "size",
     1025                                           buffersize);
     1026                              xmlParseBoundingBox(main_conf,&tmpmaps->content,doc1);
     1027                            }else{
     1028                              xmlNodePtr cur5 = cur4->children;
     1029                              while (cur5 != NULL
     1030                                     && cur5->type != XML_CDATA_SECTION_NODE)
     1031                                cur5 = cur5->next;
     1032                              if (cur5 != NULL
     1033                                  && cur5->type == XML_CDATA_SECTION_NODE){
     1034                                xmlFree(mv);
     1035                                mv=xmlStrdup(cur5->content);
     1036                              }
    10241037                            }
    10251038                          }
     
    10921105    }
    10931106  return 1;
     1107}
     1108
     1109/**
     1110 * Parse a BoundingBoxData node
     1111 *
     1112 * http://schemas.opengis.net/ows/1.1.0/owsCommon.xsd: BoundingBoxType
     1113 *
     1114 * A map to store boundingbox information will contain:
     1115 *  - LowerCorner : double double (minimum within this bounding box)
     1116 *  - UpperCorner : double double (maximum within this bounding box)
     1117 *  - crs : URI (Reference to definition of the CRS)
     1118 *  - dimensions : int
     1119 *
     1120 * @param main_conf the conf maps containing the main.cfg settings
     1121 * @param request_inputs the map storing KVP raw value
     1122 * @param doc the xmlDocPtr containing the BoudingoxData node
     1123 * @return a map containing all the bounding box keys
     1124 */
     1125int xmlParseBoundingBox(maps** main_conf,map** current_input,xmlDocPtr doc){
     1126  xmlNode *root_element = xmlDocGetRootElement(doc);
     1127  for(xmlAttrPtr attr = root_element->properties; NULL != attr; attr = attr->next){
     1128    xmlChar *val = xmlGetProp (root_element, BAD_CAST attr->name);
     1129    addToMap(*current_input,(char*)attr->name,(char*)val);
     1130    xmlFree(val);
     1131    xmlNodePtr cur = root_element->children;
     1132    while(cur!=NULL && cur->type != XML_ELEMENT_NODE)
     1133      cur=cur->next;
     1134    while(cur!=NULL && cur->type==XML_ELEMENT_NODE){
     1135      xmlChar *val =
     1136        xmlNodeListGetString (doc, cur->xmlChildrenNode, 1);
     1137      addToMap(*current_input,(char*)cur->name,(char*)val);
     1138      cur=cur->next;
     1139      xmlFree(val);
     1140      while(cur!=NULL && cur->type != XML_ELEMENT_NODE)
     1141        cur=cur->next;
     1142    }
     1143  }
    10941144}
    10951145
  • trunk/zoo-project/zoo-kernel/request_parser.h

    r767 r866  
    4242  void ensureDecodedBase64(maps**);
    4343  int kvpParseInputs(maps**,service*,map*,maps**,HINTERNET*);
     44  int xmlParseBoundingBox(maps**,map**,xmlDocPtr);
    4445  int kvpParseOutputs(maps**,map *,maps**);
    4546  int xmlParseInputs(maps**,service*,maps**,xmlDocPtr,xmlNodeSet*,HINTERNET*);
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