Changeset 28860

Show
Ignore:
Timestamp:
27.02.2014 14:25:44 (6 years ago)
Author:
kjdon
Message:

removed all use of this.doc. I have left the variable in though so I don't have to update all service classes at this stage. Eventually want to remove this.doc altogether, as DOM is not thread safe.

Files:
1 modified

Legend:

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

    r27087 r28860  
    7878 
    7979    /** XML element for describe requests - the container doc */ 
    80     protected Document doc = null; 
     80       protected Document doc = null; 
    8181 
    8282    /** 
     
    223223 
    224224        NodeList requests = message.getElementsByTagName(GSXML.REQUEST_ELEM); 
    225         Element mainResult = this.doc.createElement(GSXML.MESSAGE_ELEM); 
     225        Document doc = this.converter.newDOM(); 
     226        Element mainResult = doc.createElement(GSXML.MESSAGE_ELEM); 
    226227        if (requests.getLength() == 0) 
    227228        { 
     
    240241                if (response != null) 
    241242                { 
    242                     mainResult.appendChild(this.doc.importNode(response, true)); 
     243                    mainResult.appendChild(doc.importNode(response, true)); 
    243244                } 
    244245 
     
    247248            { 
    248249                Element response = processFormat(request); 
    249                 mainResult.appendChild(this.doc.importNode(response, true)); 
     250                mainResult.appendChild(doc.importNode(response, true)); 
    250251            } 
    251252            else 
     
    311312                if (response != null) 
    312313                { 
    313                     mainResult.appendChild(this.doc.importNode(response, true)); 
     314                    mainResult.appendChild(doc.importNode(response, true)); 
    314315                } 
    315316                else 
     
    317318                    // add in a dummy response 
    318319                    logger.error("adding in an error element\n"); 
    319                     response = this.doc.createElement(GSXML.RESPONSE_ELEM); 
    320                     GSXML.addError(this.doc, response, error_string.toString()); 
     320                    response = doc.createElement(GSXML.RESPONSE_ELEM); 
     321                    GSXML.addError(doc, response, error_string.toString()); 
    321322                    mainResult.appendChild(response); 
    322323 
     
    335336    protected Element processDescribe(Element request) 
    336337    { 
    337  
    338         Element response = this.doc.createElement(GSXML.RESPONSE_ELEM); 
     338      Document doc = this.converter.newDOM(); 
     339        Element response = doc.createElement(GSXML.RESPONSE_ELEM); 
    339340        response.setAttribute(GSXML.TYPE_ATT, GSXML.REQUEST_TYPE_DESCRIBE); 
    340341 
     
    343344        if (to.equals("")) 
    344345        { // return the service list 
    345             response.appendChild(getServiceList(lang)); 
     346          response.appendChild(doc.importNode(getServiceList(lang), true)); 
    346347            return response; 
    347348        } 
     
    378379        if (description != null) 
    379380        { // may be null if non-existant service 
    380             response.appendChild(description); 
     381          response.appendChild(doc.importNode(description, true)); 
    381382        } 
    382383        return response; 
     
    389390    protected Element processFormat(Element request) 
    390391    { 
    391         Element response = this.doc.createElement(GSXML.RESPONSE_ELEM); 
     392      Document doc = this.converter.newDOM(); 
     393        Element response = doc.createElement(GSXML.RESPONSE_ELEM); 
    392394        response.setAttribute(GSXML.TYPE_ATT, GSXML.REQUEST_TYPE_FORMAT); 
    393395 
     
    402404        if (this.format_info_map.containsKey(to)) 
    403405        { 
    404             response.appendChild(response.getOwnerDocument().importNode(getServiceFormat(to), true)); 
     406            response.appendChild(doc.importNode(getServiceFormat(to), true)); 
    405407            if (_globalFormat != null) 
    406408            { 
    407                 response.appendChild(response.getOwnerDocument().importNode(GSXML.duplicateWithNewName(response.getOwnerDocument(), _globalFormat, GSXML.GLOBAL_FORMAT_ELEM, false), true)); 
     409                response.appendChild(GSXML.duplicateWithNewName(doc, _globalFormat, GSXML.GLOBAL_FORMAT_ELEM, false)); 
    408410            } 
    409411            response.setAttribute(GSXML.FROM_ATT, to);