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/MapSearch.java

    r25635 r28966  
    162162    protected Element processTextQuery(Element request)
    163163    {
     164      Document result_doc = XMLConverter.newDOM();
    164165    // Create a new (empty) result message
    165     Element result = doc.createElement(GSXML.RESPONSE_ELEM);
     166    Element result = result_doc.createElement(GSXML.RESPONSE_ELEM);
    166167    result.setAttribute(GSXML.FROM_ATT, QUERY_SERVICE);
    167168    result.setAttribute(GSXML.TYPE_ATT, GSXML.REQUEST_TYPE_PROCESS);
     
    337338
    338339    // Create a metadata list to store information about the query results
    339     Element metadata_list = doc.createElement(GSXML.METADATA_ELEM+GSXML.LIST_MODIFIER);
     340    Element metadata_list = result_doc.createElement(GSXML.METADATA_ELEM+GSXML.LIST_MODIFIER);
    340341    result.appendChild(metadata_list);
    341342           
    342343    // Add a metadata element specifying the number of matching documents
    343     GSXML.addMetadata(this.doc, metadata_list, "numDocsMatched", "" + totalDocs);
    344     GSXML.addMetadata(this.doc, metadata_list, "numDocsReturned", ""+totalDocs);
     344    GSXML.addMetadata(metadata_list, "numDocsMatched", "" + totalDocs);
     345    GSXML.addMetadata(metadata_list, "numDocsReturned", ""+totalDocs);
    345346        // Create a document list to store the matching documents, and add them
    346     Element document_list = doc.createElement(GSXML.DOC_NODE_ELEM+GSXML.LIST_MODIFIER);
     347    Element document_list = result_doc.createElement(GSXML.DOC_NODE_ELEM+GSXML.LIST_MODIFIER);
    347348    result.appendChild(document_list);
    348349    for (int d = 0; d < totalDocs; d++) {
    349350        String doc_id = (String)tempList.get(d);
    350351
    351         Element doc_node = doc.createElement(GSXML.DOC_NODE_ELEM);
     352        Element doc_node = result_doc.createElement(GSXML.DOC_NODE_ELEM);
    352353        doc_node.setAttribute(GSXML.NODE_ID_ATT, doc_id);
    353354        doc_node.setAttribute(GSXML.NODE_TYPE_ATT, "thumbnail");
     
    357358           
    358359    // Create a term list to store the term information, and add it
    359     Element term_list = doc.createElement(GSXML.TERM_ELEM+GSXML.LIST_MODIFIER);
     360    Element term_list = result_doc.createElement(GSXML.TERM_ELEM+GSXML.LIST_MODIFIER);
    360361    result.appendChild(term_list); 
    361362   
     
    364365        String term = terms[t];
    365366   
    366         Element term_elem = doc.createElement(GSXML.TERM_ELEM);
     367        Element term_elem = result_doc.createElement(GSXML.TERM_ELEM);
    367368        term_elem.setAttribute(GSXML.NAME_ATT, term);
    368369        term_elem.setAttribute(FREQ_ATT, "" + terms_freq[t]);
Note: See TracChangeset for help on using the changeset viewer.