Ignore:
Timestamp:
2014-04-10T14:39:33+12:00 (10 years ago)
Author:
kjdon
Message:

Lots of changes. Mainly to do with removing this.doc from everywhere. Document is not thread safe. Now we tend to create a new Document everytime we are starting a new page/message etc. in service this.desc_doc is available as teh document to create service info stuff. But it should only be used for this and not for other messages. newDOM is now static for XMLConverter. method param changes for some GSXML methods.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone3/src/java/org/greenstone/gsdl3/service/CoverageMetadataRetrieve.java

    r25976 r28966  
    6565        // with their names and service types
    6666        // we have two services, a new textquery, and a new one of a new type
    67         //Element tq_service = this.doc.createElement(GSXML.SERVICE_ELEM);
     67        //Element tq_service = this.desc_doc.createElement(GSXML.SERVICE_ELEM);
    6868        //tq_service.setAttribute(GSXML.TYPE_ATT, GSXML.SERVICE_TYPE_QUERY);
    6969        //tq_service.setAttribute(GSXML.NAME_ATT, QUERY_SERVICE);
    7070        //this.short_service_info.appendChild(tq_service);
    7171
    72         Element diff_service = this.doc.createElement(GSXML.SERVICE_ELEM);
     72        Element diff_service = this.desc_doc.createElement(GSXML.SERVICE_ELEM);
    7373        diff_service.setAttribute(GSXML.TYPE_ATT, "retrieve");
    7474        diff_service.setAttribute(GSXML.NAME_ATT, COVERAGE_SERVICE);
     
    122122        if (format != null)
    123123        {
    124             this.format_info_map.put(COVERAGE_SERVICE, this.doc.importNode(format, true));
     124            this.format_info_map.put(COVERAGE_SERVICE, this.desc_doc.importNode(format, true));
    125125        }
    126126
     
    130130
    131131    // get the desription of a service. Could include parameter lists, displayText
    132     protected Element getServiceDescription(String service, String lang, String subset)
     132  protected Element getServiceDescription(Document doc, String service, String lang, String subset)
    133133    {
    134134
     
    141141        /*
    142142         * if (service.equals(QUERY_SERVICE)) { Element tq_service =
    143          * this.doc.createElement(GSXML.SERVICE_ELEM);
     143         * doc.createElement(GSXML.SERVICE_ELEM);
    144144         * tq_service.setAttribute(GSXML.TYPE_ATT, GSXML.SERVICE_TYPE_QUERY);
    145145         * tq_service.setAttribute(GSXML.NAME_ATT, QUERY_SERVICE); if
     
    148148         * in any <displayText> elements // name, for example - get from
    149149         * properties file
    150          * tq_service.appendChild(GSXML.createDisplayTextElement(this.doc,
     150         * tq_service.appendChild(GSXML.createDisplayTextElement(doc,
    151151         * GSXML.DISPLAY_TEXT_NAME, getTextString(QUERY_SERVICE+".name", lang)
    152152         * )); }
     
    155155         * subset.equals(GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER)) { // add in a
    156156         * param list if this service has parameters Element param_list =
    157          * this.doc.createElement(GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER);
     157         * doc.createElement(GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER);
    158158         * tq_service.appendChild(param_list); // create any params and append
    159159         * to param_list } return tq_service; }
     
    162162        if (service.equals(COVERAGE_SERVICE))
    163163        {
    164             Element diff_service = this.doc.createElement(GSXML.SERVICE_ELEM);
     164            Element diff_service = doc.createElement(GSXML.SERVICE_ELEM);
    165165            diff_service.setAttribute(GSXML.TYPE_ATT, "retrieve");
    166166            diff_service.setAttribute(GSXML.NAME_ATT, COVERAGE_SERVICE);
     
    169169                // add in any <displayText> elements
    170170                // name, for example - get from properties file
    171                 diff_service.appendChild(GSXML.createDisplayTextElement(this.doc, GSXML.DISPLAY_TEXT_NAME, getTextString(COVERAGE_SERVICE + ".name", lang)));
     171                diff_service.appendChild(GSXML.createDisplayTextElement(doc, GSXML.DISPLAY_TEXT_NAME, getTextString(COVERAGE_SERVICE + ".name", lang)));
    172172            }
    173173
     
    175175            {
    176176                // add in a param list if this service has parameters
    177                 Element param_list = this.doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER);
     177                Element param_list = doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER);
    178178                diff_service.appendChild(param_list);
    179179                // create any params and append to param_list
     
    230230
    231231        // Create response
    232         Element result = this.doc.createElement(GSXML.RESPONSE_ELEM);
     232        Document result_doc = XMLConverter.newDOM();
     233        Element result = result_doc.createElement(GSXML.RESPONSE_ELEM);
    233234        result.setAttribute(GSXML.FROM_ATT, COVERAGE_SERVICE);
    234235        result.setAttribute(GSXML.TYPE_ATT, GSXML.REQUEST_TYPE_PROCESS);
    235236
    236         Element metadataSetList = this.doc.createElement("metadataSetList");
     237        Element metadataSetList = result_doc.createElement("metadataSetList");
    237238        result.appendChild(metadataSetList);
    238239
     
    249250
    250251            // Create metadataSet using the current key and add to metadataSetList
    251             metadataSet = this.doc.createElement("metadataSet");
     252            metadataSet = result_doc.createElement("metadataSet");
    252253            if (current_key.indexOf("-") != -1)
    253254            {
     
    263264            {
    264265                value = iter2.next();
    265                 metadata = this.doc.createElement("metadata");
     266                metadata = result_doc.createElement("metadata");
    266267                metadata.setAttribute(GSXML.NAME_ATT, value);
    267268                metadataSet.appendChild(metadata);
Note: See TracChangeset for help on using the changeset viewer.