Changeset 3966


Ignore:
Timestamp:
2003-03-25T09:40:12+12:00 (21 years ago)
Author:
kjdon
Message:

process id att and param now pid instead of handle/id, tidied up params sent to service

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/gsdl3/src/java/org/greenstone/gsdl3/action/ProcessAction.java

    r3868 r3966  
    7070        mr_query_message.appendChild(mr_query_request);
    7171       
    72         if (request_type.equals("s")) { // status
    73         mr_query_request.setAttribute(GSXML.TYPE_ATT, GSXML.REQUEST_TYPE_STATUS);
    74         } else {
    75         mr_query_request.setAttribute(GSXML.TYPE_ATT, GSXML.REQUEST_TYPE_PROCESS);
    76         }
    7772        mr_query_request.setAttribute(GSXML.LANG_ATT, page.getAttribute(GSXML.LANG_ATT));
    7873        mr_query_request.setAttribute(GSXML.TO_ATT, to);
    7974       
    80         // add the param list as is
    81         Element query_param_list = (Element)doc_.importNode(cgi_param_list, true);
    82         mr_query_request.appendChild(query_param_list);
     75        Element param_list;
     76        if (request_type.equals("s")) { // status
     77        mr_query_request.setAttribute(GSXML.TYPE_ATT, GSXML.REQUEST_TYPE_STATUS);
     78        // only need the handle param
     79        param_list = doc_.createElement(GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER);
     80        Element param = doc_.createElement(GSXML.PARAM_ELEM);
     81        param.setAttribute(GSXML.NAME_ATT, GSCGI.PROCESS_ID_ARG);
     82        param.setAttribute(GSXML.VALUE_ATT, (String)params.get(GSCGI.PROCESS_ID_ARG));
     83        param_list.appendChild(param);
     84        } else {
     85        mr_query_request.setAttribute(GSXML.TYPE_ATT, GSXML.REQUEST_TYPE_PROCESS);
     86        // add in the params - except the ones only used by the action
     87        param_list = getServiceParamList(cgi_param_list);
     88       
     89        }
     90        mr_query_request.appendChild(param_list);
     91   
    8392       
    8493        Element mr_query_response = (Element)mr_.process(mr_query_message);
     
    150159    }
    151160
    152    
     161    protected Element getServiceParamList(Element cgi_param_list) {
     162
     163    Element new_param_list = doc_.createElement(GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER);
     164    Element param;
     165    NodeList cgi_params = cgi_param_list.getChildNodes();
     166    for (int i=0; i<cgi_params.getLength(); i++) {
     167        Element p = (Element) cgi_params.item(i);
     168        String name = p.getAttribute(GSXML.NAME_ATT);
     169        if (name.equals(GSCGI.SERVICE_ARG) || name.equals(GSCGI.REQUEST_TYPE_ARG) || name.equals(GSCGI.CLUSTER_ARG)) {
     170        continue;
     171        }
     172        // esle add it in to the list
     173        new_param_list.appendChild(doc_.importNode(p, true));
     174    }
     175    return new_param_list;
     176    }
    153177}
Note: See TracChangeset for help on using the changeset viewer.