Ignore:
Timestamp:
2002-11-01T09:33:34+13:00 (22 years ago)
Author:
kjdon
Message:

all modules now talk the same messages; all xml elems and atts have been made constants and moved to GSXML.java; SOAPCommunicator can be used outside a MessageRouter

Location:
trunk/gsdl3/src/java/org/greenstone/gsdl3/action
Files:
5 edited

Legend:

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

    r3491 r3512  
    2525    }
    2626
    27     Element request = (Element)message.getElementsByTagName("request").item(0);
     27    Element request = (Element)message.getElementsByTagName(GSXML.REQUEST_ELEM).item(0);
    2828
    2929    // subaction is display/request
    30     String request_type = request.getAttribute("subaction"); // should be 'd' or 'r'
     30    String request_type = request.getAttribute(GSXML.SUBACTION_ATT); // should be 'd' or 'r'
    3131    if (!request_type.equals("d")&&!request_type.equals("r")) {
    3232        return GSHTML.errorPage("the sa arg to a=a should be d or r!!");
     
    3434   
    3535    // get the collection and service param
    36     Element cgi_paramList = (Element)GSXML.getChildByTagName(request, "paramList");
     36    Element cgi_paramList = (Element)GSXML.getChildByTagName(request, GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER);
    3737    cgi_.toLong(cgi_paramList);
    3838    HashMap params = GSXML.extractParams(cgi_paramList);
     
    5858        //build up the mr request
    5959   
    60         Element mr_message = doc_.createElement("message");
    61         Element mr_request = doc_.createElement("request");
     60        Element mr_message = doc_.createElement(GSXML.MESSAGE_ELEM);
     61        Element mr_request = doc_.createElement(GSXML.REQUEST_ELEM);
    6262        mr_message.appendChild(mr_request);
    63         mr_request.setAttribute("type", "describe");
    64         mr_request.setAttribute("to", to);
    65         //mr_request.setAttribute("info", "appletInfo");
     63        mr_request.setAttribute(GSXML.TYPE_ATT, GSXML.REQUEST_TYPE_DESCRIBE);
     64        mr_request.setAttribute(GSXML.TO_ATT, to);
     65        //mr_request.setAttribute(GSXML."info", "appletInfo");
    6666       
    6767        Element mr_response = (Element)mr_.process(mr_message);
     
    7070        System.out.println(converter_.getString(mr_response));
    7171        // create the return page tree
    72         Element page = doc_.createElement("page");
    73         page.setAttribute("lang", message.getAttribute("lang"));
     72        Element page = doc_.createElement(GSXML.PAGE_ELEM);
     73        page.setAttribute(GSXML.LANG_ATT, message.getAttribute(GSXML.LANG_ATT));
    7474        // add the lang stuff from message
    75         page.appendChild(doc_.importNode(GSXML.getChildByTagName(message, "translate"), true));
     75        page.appendChild(doc_.importNode(GSXML.getChildByTagName(message, GSXML.TRANSLATION_ELEM), true));
    7676        // add the config stuff from message
    77         page.appendChild(doc_.importNode(GSXML.getChildByTagName(message, "config"), true));
     77        page.appendChild(doc_.importNode(GSXML.getChildByTagName(message, GSXML.CONFIGURATION_ELEM), true));
    7878       
    7979        page.appendChild(doc_.importNode(request, true));
    8080
    8181        // add in the applet info
    82         Element app_desc = (Element)doc_.importNode(GSXML.getNodeByPath(mr_response, "response/service/applet"), true);
     82        String path = GSXML.RESPONSE_ELEM;
     83        path = GSPath.appendLink(path, GSXML.SERVICE_ELEM);
     84        path = GSPath.appendLink(path, GSXML.APPLET_ELEM);
     85        Element app_desc = (Element)doc_.importNode(GSXML.getNodeByPath(mr_response, path), true);
    8386        // must handle any params that have values that are not
    8487        // necessarily known by the service
     
    9598        // we are processing stuff for the applet send a message to the service, type="query", and take out the something element, and return that as our result - the applet must take xml
    9699
    97         Element mr_message = doc_.createElement("message");
    98         Element mr_request = doc_.createElement("request");
     100        Element mr_message = doc_.createElement(GSXML.MESSAGE_ELEM);
     101        Element mr_request = doc_.createElement(GSXML.REQUEST_ELEM);
    99102        mr_message.appendChild(mr_request);
    100         mr_request.setAttribute("type", "query");
    101         mr_request.setAttribute("to", to);
     103        mr_request.setAttribute(GSXML.TYPE_ATT, GSXML.REQUEST_TYPE_QUERY);
     104        mr_request.setAttribute(GSXML.TO_ATT, to);
    102105       
    103106        // just append the params for now
     
    108111        // dont need to create a page, just extract the info out.
    109112        System.out.println(converter_.getString(mr_response));
    110         Element applet_info = (Element)GSXML.getNodeByPath(mr_response, "response/appletData").getFirstChild();
     113        // add in the applet data
     114        String path = GSXML.RESPONSE_ELEM;
     115        path = GSPath.appendLink(path, GSXML.APPLET_DATA_ELEM);
     116        Element applet_info = (Element)GSXML.getNodeByPath(mr_response, path).getFirstChild();
    111117        System.out.println("applet action: applet data =");
    112118        System.out.println(converter_.getString(applet_info));
  • trunk/gsdl3/src/java/org/greenstone/gsdl3/action/BrowseAction.java

    r3491 r3512  
    1616
    1717    // create the return page tree
    18     Element page = doc_.createElement("page");
    19     page.setAttribute("lang", message.getAttribute("lang"));
     18    Element page = doc_.createElement(GSXML.PAGE_ELEM);
     19    page.setAttribute(GSXML.LANG_ATT, message.getAttribute(GSXML.LANG_ATT));
    2020    // add the lang stuff from message
    21     page.appendChild(doc_.importNode(GSXML.getChildByTagName(message, "translate"), true));
     21    page.appendChild(doc_.importNode(GSXML.getChildByTagName(message, GSXML.TRANSLATION_ELEM), true));
    2222    // add the system stuff from message
    23     page.appendChild(doc_.importNode(GSXML.getChildByTagName(message, "config"), true));
     23    page.appendChild(doc_.importNode(GSXML.getChildByTagName(message, GSXML.CONFIGURATION_ELEM), true));
    2424
    25     Element request = (Element)message.getElementsByTagName("request").item(0);
     25    Element request = (Element)message.getElementsByTagName(GSXML.REQUEST_ELEM).item(0);
    2626   
    2727    // the browse type is the subaction
    28     String browse_type = request.getAttribute("subaction");
     28    String browse_type = request.getAttribute(GSXML.SUBACTION_ATT);
    2929   
    3030    if (browse_type.equals("classifier")) {
     
    4848    // extract the params from the cgi-request, and check that we have a coll specified
    4949    // first convert short to long names
    50     Element cgi_paramList = (Element)GSXML.getChildByTagName(request, "paramList");
     50    Element cgi_paramList = (Element)GSXML.getChildByTagName(request, GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER);
    5151    cgi_.toLong(cgi_paramList);
    5252    HashMap params = GSXML.extractParams(cgi_paramList);
     
    6363    // get the service info from the MR - this will probably need to be cached somehow later on. and add as a description node to the cgi-request - this doesn't work. change to add the specified value as a current attribute to the param - need to do somthing different for query
    6464
    65     Element mr_info_message = doc_.createElement("message");
    66     Element mr_info_request = doc_.createElement("request");
     65    Element mr_info_message = doc_.createElement(GSXML.MESSAGE_ELEM);
     66    Element mr_info_request = doc_.createElement(GSXML.REQUEST_ELEM);
    6767    mr_info_message.appendChild(mr_info_request);
    68     mr_info_request.setAttribute("type", "describe");
     68    mr_info_request.setAttribute(GSXML.TYPE_ATT, GSXML.REQUEST_TYPE_DESCRIBE);
    6969
    7070    String to = collection;
    7171    to = GSPath.appendLink(to, "ClassifierBrowse");
    72     mr_info_request.setAttribute("to", to);
     72    mr_info_request.setAttribute(GSXML.TO_ATT, to);
    7373
    7474    Element mr_info_response = (Element) mr_.process(mr_info_message);
    75     Element description = doc_.createElement("description");
    76     Node cl = GSXML.getNodeByPath(mr_info_response, "response/service/classifierList");
     75    Element description = doc_.createElement(GSXML.DESCRIPTION_ELEM);
     76
     77    String path = GSXML.RESPONSE_ELEM;
     78    path = GSPath.appendLink(path, GSXML.SERVICE_ELEM);
     79    path = GSPath.appendLink(path, GSXML.CLASSIFIER_ELEM+GSXML.LIST_MODIFIER);
     80    Node cl = GSXML.getNodeByPath(mr_info_response, path);
    7781
    7882    Element imported_classList = (Element)doc_.importNode(cl, true);
     
    9397   
    9498    // get the info for the selected node
    95     Element mr_query_message = doc_.createElement("message");
    96     Element mr_query_request = doc_.createElement("request");
     99    Element mr_query_message = doc_.createElement(GSXML.MESSAGE_ELEM);
     100    Element mr_query_request = doc_.createElement(GSXML.REQUEST_ELEM);
    97101    mr_query_message.appendChild(mr_query_request);
    98102
    99     mr_query_request.setAttribute("type", "query");
    100     mr_query_request.setAttribute("to", to);
     103    mr_query_request.setAttribute(GSXML.TYPE_ATT, GSXML.REQUEST_TYPE_QUERY);
     104    mr_query_request.setAttribute(GSXML.TO_ATT, to);
    101105
    102106    // paramList - empty for now
    103     Element paramList = doc_.createElement("paramList");
     107    Element paramList = doc_.createElement(GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER);
    104108    mr_query_request.appendChild(paramList);
    105109
     
    107111    // content - contains the classifier node, may be more than one
    108112    // call this resource list for now
    109     Element query_content = doc_.createElement("content");
     113    Element query_content = doc_.createElement(GSXML.CONTENT_ELEM);
    110114    mr_query_request.appendChild(query_content);
    111115   
    112     Element resource_list = doc_.createElement("resourceList");
    113     Element resource = doc_.createElement("resource");
    114     resource.setAttribute("name", node);
     116    Element resource_list = doc_.createElement(GSXML.RESOURCE_ELEM+GSXML.LIST_MODIFIER);
     117    Element resource = doc_.createElement(GSXML.RESOURCE_ELEM);
     118    resource.setAttribute(GSXML.NAME_ATT, node);
    115119    resource_list.appendChild(resource);
    116120    query_content.appendChild(resource_list);
     
    118122    Element mr_query_response = (Element)mr_.process(mr_query_message);
    119123
    120     Element response = (Element)GSXML.getChildByTagName(mr_query_response, "response");
     124    Element response = (Element)GSXML.getChildByTagName(mr_query_response, GSXML.RESPONSE_ELEM);
    121125    Node new_style = GSXML.getChildByTagName(response, "stylesheet");
    122126    if (new_style !=null) {
  • trunk/gsdl3/src/java/org/greenstone/gsdl3/action/PageAction.java

    r3491 r3512  
    1616    public String process (Element message) {
    1717   
    18     Element request = (Element)message.getElementsByTagName("request").item(0);
     18    Element request = (Element)message.getElementsByTagName(GSXML.REQUEST_ELEM).item(0);
    1919    // the page name is the subaction
    20     String page_name = request.getAttribute("subaction");
     20    String page_name = request.getAttribute(GSXML.SUBACTION_ATT);
    2121
    2222    // create the return page tree
    23     Element page = doc_.createElement("page");
    24     page.setAttribute("lang", message.getAttribute("lang"));
     23    Element page = doc_.createElement(GSXML.PAGE_ELEM);
     24    page.setAttribute(GSXML.LANG_ATT, message.getAttribute(GSXML.LANG_ATT));
    2525    // add the lang stuff from xml_in
    26     page.appendChild(doc_.importNode(GSXML.getChildByTagName(message, "translate"), true));
     26    page.appendChild(doc_.importNode(GSXML.getChildByTagName(message, GSXML.TRANSLATION_ELEM), true));
    2727    // add the system stuff from xml_in
    28     page.appendChild(doc_.importNode(GSXML.getChildByTagName(message, "config"), true));
     28    page.appendChild(doc_.importNode(GSXML.getChildByTagName(message, GSXML.CONFIGURATION_ELEM), true));
    2929
    3030    if (page_name.equals("")) {
     
    4646    // first, get the list of collections from mr
    4747   
    48     Element coll_list_message = doc_.createElement("message");
    49     coll_list_message.setAttribute("lang", page.getAttribute("lang"));
    50     Element coll_list_request = doc_.createElement("request");
     48    Element coll_list_message = doc_.createElement(GSXML.MESSAGE_ELEM);
     49    coll_list_message.setAttribute(GSXML.LANG_ATT, page.getAttribute(GSXML.LANG_ATT));
     50    Element coll_list_request = doc_.createElement(GSXML.REQUEST_ELEM);
    5151    coll_list_message.appendChild(coll_list_request);
    52     coll_list_request.setAttribute("type", "describe");
     52    coll_list_request.setAttribute(GSXML.TYPE_ATT, GSXML.REQUEST_TYPE_DESCRIBE);
    5353    //coll_list_request.setAttribute("info", "collectionList");
    5454   
     
    5959   
    6060    // second, get the metadata for each collection
    61     NodeList colls = coll_list_response.getElementsByTagName("collection");
     61    NodeList colls = coll_list_response.getElementsByTagName(GSXML.COLLECTION_ELEM);
    6262   
    63     Element metadata_message = doc_.createElement("message");
    64     metadata_message.setAttribute("lang", page.getAttribute("lang"));
    65     Element metadata_request = doc_.createElement("request");
    66     metadata_message.appendChild(metadata_request);
    67     metadata_request.setAttribute("type", "describe"); 
     63    //Element metadata_message = doc_.createElement(GSXML.MESSAGE_ELEM);
     64    //metadata_message.setAttribute(GSXML.LANG_ATT, page.getAttribute(GSXML.LANG_ATT));
     65    //Element metadata_request = doc_.createElement(GSXML.REQUEST_ELEM);
     66    //metadata_message.appendChild(metadata_request);
     67    //metadata_request.setAttribute(GSXML.TYPE_ATT, GSXML.REQUEST_TYPE_DESCRIBE);   
    6868    for (int i=0; i<colls.getLength(); i++) {
     69        Element metadata_message = doc_.createElement(GSXML.MESSAGE_ELEM);
     70        metadata_message.setAttribute(GSXML.LANG_ATT, page.getAttribute(GSXML.LANG_ATT));
     71        Element metadata_request = doc_.createElement(GSXML.REQUEST_ELEM);
     72        metadata_message.appendChild(metadata_request);
     73        metadata_request.setAttribute(GSXML.TYPE_ATT, GSXML.REQUEST_TYPE_DESCRIBE);
     74   
    6975        // get the metadata for each one
    7076        Element c = (Element)colls.item(i);
    71         String name = c.getAttribute("name");
     77        String name = c.getAttribute(GSXML.NAME_ATT);
     78        System.out.println("getting metadata for coll "+name);
    7279       
    73         metadata_request.setAttribute("to", name); // overwrites the old value
     80        metadata_request.setAttribute(GSXML.TO_ATT, name); // overwrites the old value
     81        System.out.println("metadata message = \n"+converter_.getString(metadata_message));
    7482        Element metadata_response = (Element)mr_.process(metadata_message);
    75         Element coll = (Element)metadata_response.getElementsByTagName("collection").item(0);
     83        Element coll = (Element)metadata_response.getElementsByTagName(GSXML.COLLECTION_ELEM).item(0);
     84        if (coll==null) {
     85        System.out.println("coll is null, in \n"+converter_.getString(metadata_response));
     86        }
    7687        GSXML.mergeMetadataLists(c, coll); // add the metadata to the original response
    7788    }
     
    8091
    8192    // add it in to the page xml tree
    82     page.appendChild(doc_.importNode(GSXML.getChildByTagName(coll_list_response, "response"), true));
     93    page.appendChild(doc_.importNode(GSXML.getChildByTagName(coll_list_response, GSXML.RESPONSE_ELEM), true));
    8394
    8495    String stylesheet = GSFile.stylesheetFile(config_, "home.xsl");
     
    96107    // extract the params from the cgi-request,
    97108    // first convert short to long names
    98     Element cgi_paramList = (Element)GSXML.getChildByTagName(request, "paramList");
     109    Element cgi_paramList = (Element)GSXML.getChildByTagName(request, GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER);
    99110    cgi_.toLong(cgi_paramList);
    100111    HashMap params = GSXML.extractParams(cgi_paramList);
     
    108119    }
    109120
    110     Element coll_about_message = doc_.createElement("message");
    111     coll_about_message.setAttribute("lang", page.getAttribute("lang"));
     121    Element coll_about_message = doc_.createElement(GSXML.MESSAGE_ELEM);
     122    coll_about_message.setAttribute(GSXML.LANG_ATT, page.getAttribute(GSXML.LANG_ATT));
    112123
    113     Element coll_about_request = doc_.createElement("request");
     124    Element coll_about_request = doc_.createElement(GSXML.REQUEST_ELEM);
    114125    coll_about_message.appendChild(coll_about_request);
    115     coll_about_request.setAttribute("type", "describe");
    116     coll_about_request.setAttribute("to", coll_name);
     126    coll_about_request.setAttribute(GSXML.TYPE_ATT, GSXML.REQUEST_TYPE_DESCRIBE);
     127    coll_about_request.setAttribute(GSXML.TO_ATT, coll_name);
    117128
    118129    Element coll_about_response = (Element)mr_.process(coll_about_message);
     
    121132    //System.out.println(converter_.getString(coll_about_response));
    122133    // add the response to the page
    123     page.appendChild(doc_.importNode(GSXML.getChildByTagName(coll_about_response, "response"), true));
     134    page.appendChild(doc_.importNode(GSXML.getChildByTagName(coll_about_response, GSXML.RESPONSE_ELEM), true));
    124135
    125136    // process using the stylesheet
  • trunk/gsdl3/src/java/org/greenstone/gsdl3/action/QueryAction.java

    r3491 r3512  
    2222
    2323    // create the return page tree
    24     Element page = doc_.createElement("page");
    25     page.setAttribute("lang", message.getAttribute("lang"));
     24    Element page = doc_.createElement(GSXML.PAGE_ELEM);
     25    page.setAttribute(GSXML.LANG_ATT, message.getAttribute(GSXML.LANG_ATT));
    2626    // add the lang stuff from message
    27     page.appendChild(doc_.importNode(GSXML.getChildByTagName(message, "translate"), true));
     27    page.appendChild(doc_.importNode(GSXML.getChildByTagName(message, GSXML.TRANSLATION_ELEM), true));
    2828    // add the system stuff from message
    29     page.appendChild(doc_.importNode(GSXML.getChildByTagName(message, "config"), true));
    30 
    31     Element request = (Element)message.getElementsByTagName("request").item(0);
     29    page.appendChild(doc_.importNode(GSXML.getChildByTagName(message, GSXML.CONFIGURATION_ELEM), true));
     30
     31    Element request = (Element)message.getElementsByTagName(GSXML.REQUEST_ELEM).item(0);
    3232    // query type is teh subaction
    33     String query_type = request.getAttribute("subaction");
     33    String query_type = request.getAttribute(GSXML.SUBACTION_ATT);
    3434   
    3535    if (query_type.equals("")) {
     
    5959    // extract the params from the cgi-request, and check that we have a coll specified
    6060    // first convert short to long names
    61     Element cgi_paramList = (Element)GSXML.getChildByTagName(request, "paramList");
     61    Element cgi_paramList = (Element)GSXML.getChildByTagName(request, GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER);
    6262    cgi_.toLong(cgi_paramList);
    6363    HashMap params = GSXML.extractParams(cgi_paramList);
     
    7474    // get the service info from the MR - this will probably need to be cached somehow later on. and add as a description node to the cgi-request - this doesn't work. change to add the specified value as a current attribute to the param - need to do somthing different for query
    7575
    76     Element mr_info_message = doc_.createElement("message");
    77     Element mr_info_request = doc_.createElement("request");
     76    Element mr_info_message = doc_.createElement(GSXML.MESSAGE_ELEM);
     77    Element mr_info_request = doc_.createElement(GSXML.REQUEST_ELEM);
    7878    mr_info_message.appendChild(mr_info_request);
    79     mr_info_request.setAttribute("type", "describe");
     79    mr_info_request.setAttribute(GSXML.TYPE_ATT, GSXML.REQUEST_TYPE_DESCRIBE);
    8080
    8181    String to = collection;
    8282    to = GSPath.appendLink(to, "TextQuery");
    83     mr_info_request.setAttribute("to", to);
     83    mr_info_request.setAttribute(GSXML.TO_ATT, to);
    8484
    8585    Element mr_info_response = (Element) mr_.process(mr_info_message);
    8686    System.err.println("describe response for service");
    8787    System.err.println(converter_.getString(mr_info_response));
    88     Element description = doc_.createElement("description");
     88    Element description = doc_.createElement(GSXML.DESCRIPTION_ELEM);
    8989    // just param list for now - may need content info too
    90     Node pl = GSXML.getNodeByPath(mr_info_response, "response/service/paramList");
     90    String path = GSXML.RESPONSE_ELEM;
     91    path = GSPath.appendLink(path, GSXML.SERVICE_ELEM);
     92    path = GSPath.appendLink(path, GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER);
     93    Node pl = GSXML.getNodeByPath(mr_info_response, path);
    9194    if (pl ==null) {
    9295        System.out.println("pl is null");
     
    106109        Element param = (Element)imported_paramList.getFirstChild();
    107110        while (param !=null) {
    108         if (param.getNodeName().equals("param")) { // just in case
    109             String name = param.getAttribute("name");
     111        if (param.getNodeName().equals(GSXML.PARAM_ELEM)) { // just in case
     112            String name = param.getAttribute(GSXML.NAME_ATT);
    110113            String current = (String)params.get(name);
    111114            if (current !=null && !current.equals("")) {
    112             param.setAttribute("default", current);
     115            param.setAttribute(GSXML.DEFAULT_ATT, current);
    113116            }
    114117        }
     
    119122   
    120123    // check the query string
    121     String query = (String)params.get("query");
     124    String query = (String)params.get(GSXML.REQUEST_TYPE_QUERY);
    122125
    123126    if (query==null|| query.equals("")) {
     
    130133   
    131134    // else do the request, output search box and results
    132     Element mr_query_message = doc_.createElement("message");
    133     Element mr_query_request = doc_.createElement("request");
     135    Element mr_query_message = doc_.createElement(GSXML.MESSAGE_ELEM);
     136    Element mr_query_request = doc_.createElement(GSXML.REQUEST_ELEM);
    134137    mr_query_message.appendChild(mr_query_request);
    135138
    136     mr_query_request.setAttribute("type", "query");
    137     mr_query_request.setAttribute("to", to);
     139    mr_query_request.setAttribute(GSXML.TYPE_ATT, GSXML.REQUEST_TYPE_QUERY);
     140    mr_query_request.setAttribute(GSXML.TO_ATT, to);
    138141
    139142    // paramList
    140     Element paramList = doc_.createElement("paramList");
     143    Element paramList = doc_.createElement(GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER);
    141144    mr_query_request.appendChild(paramList);
    142145
     
    148151        String value = (String)e.getValue();
    149152        // if (!name.equals("c")) {
    150         Element p = doc_.createElement("param");
    151         p.setAttribute("name", name);
    152         p.setAttribute("value", value);
     153        Element p = doc_.createElement(GSXML.PARAM_ELEM);
     154        p.setAttribute(GSXML.NAME_ATT, name);
     155        p.setAttribute(GSXML.VALUE_ATT, value);
    153156        paramList.appendChild(p);
    154157        // }
     
    157160
    158161    // content - contains the query string
    159     Element query_content = doc_.createElement("content");
     162    Element query_content = doc_.createElement(GSXML.CONTENT_ELEM);
    160163    Text query_text = doc_.createTextNode(query);
    161164    query_content.appendChild(query_text);
     
    169172
    170173    // check that there are some resources - for now check the list, but later should use a numdocs metadata elem
    171     Element resource_list = (Element)GSXML.getNodeByPath(mr_query_response, "response/content/resourceList"); // resourceList not present if no docs found
     174    path = GSXML.RESPONSE_ELEM;
     175    path = GSPath.appendLink(path, GSXML.CONTENT_ELEM);
     176    path = GSPath.appendLink(path, GSXML.RESOURCE_ELEM+GSXML.LIST_MODIFIER);
     177
     178    Element resource_list = (Element)GSXML.getNodeByPath(mr_query_response,
     179                                 path); // resourceList not present if no docs found
    172180    if (resource_list == null) {
    173181
    174         Element result_response = (Element)GSXML.getChildByTagName(mr_query_response, "response");
     182        Element result_response = (Element)GSXML.getChildByTagName(mr_query_response, GSXML.RESPONSE_ELEM);
    175183       
    176184        page.appendChild(doc_.importNode(result_response, true));
     
    185193    // can we dynamically decide what metadata to get?
    186194    // get the Title metadata
    187     Element mr_metadata_message = doc_.createElement("message");
    188     Element mr_metadata_request = doc_.createElement("request");
     195    Element mr_metadata_message = doc_.createElement(GSXML.MESSAGE_ELEM);
     196    Element mr_metadata_request = doc_.createElement(GSXML.REQUEST_ELEM);
    189197    mr_metadata_message.appendChild(mr_metadata_request);
    190198
    191     mr_metadata_request.setAttribute("type", "query");
     199    mr_metadata_request.setAttribute(GSXML.TYPE_ATT, GSXML.REQUEST_TYPE_QUERY);
    192200    to = GSPath.appendLink(collection, "MetadataRetrieve");
    193     mr_metadata_request.setAttribute("to", to);
    194    
    195     Element meta_content = doc_.createElement("content");
     201    mr_metadata_request.setAttribute(GSXML.TO_ATT, to);
     202   
     203    Element meta_content = doc_.createElement(GSXML.CONTENT_ELEM);
    196204    mr_metadata_request.appendChild(meta_content);
    197205
     
    200208
    201209    // the second part of the content is the metadata list
    202     Element metadata_list = doc_.createElement("metadataList");
    203     Element title = doc_.createElement("element");
    204     title.setAttribute("name", "Title");
     210    Element metadata_list = doc_.createElement(GSXML.METADATA_ELEM+GSXML.LIST_MODIFIER);
     211    Element title = doc_.createElement(GSXML.METADATA_ELEM);
     212    title.setAttribute(GSXML.NAME_ATT, "Title");
    205213    metadata_list.appendChild(title);
    206214    meta_content.appendChild(metadata_list);
     
    208216    Element mr_metadata_response = (Element)mr_.process(mr_metadata_message);
    209217   
    210     Element result_response = (Element)GSXML.getChildByTagName(mr_metadata_response, "response");
     218    Element result_response = (Element)GSXML.getChildByTagName(mr_metadata_response, GSXML.RESPONSE_ELEM);
    211219   
    212220    page.appendChild(doc_.importNode(result_response, true));
  • trunk/gsdl3/src/java/org/greenstone/gsdl3/action/ResourceAction.java

    r3491 r3512  
    2727    // for now, no subaction eventually we may want to have subactions such as text assoc or something ?
    2828   
    29     Element request = (Element)message.getElementsByTagName("request").item(0);
     29    Element request = (Element)message.getElementsByTagName(GSXML.REQUEST_ELEM).item(0);
    3030
    31     Element cgi_paramList = (Element)GSXML.getChildByTagName(request, "paramList");
     31    Element cgi_paramList = (Element)GSXML.getChildByTagName(request, GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER);
    3232    cgi_.toLong(cgi_paramList);
    3333    HashMap params = GSXML.extractParams(cgi_paramList);
     
    4141   
    4242    // create the return page tree
    43     Element page = doc_.createElement("page");
    44     page.setAttribute("lang", message.getAttribute("lang"));
     43    Element page = doc_.createElement(GSXML.PAGE_ELEM);
     44    page.setAttribute(GSXML.LANG_ATT, message.getAttribute(GSXML.LANG_ATT));
    4545    // add the lang stuff from message
    46     page.appendChild(doc_.importNode(GSXML.getChildByTagName(message, "translate"), true));
     46    page.appendChild(doc_.importNode(GSXML.getChildByTagName(message, GSXML.TRANSLATION_ELEM), true));
    4747    // add the config stuff from message
    48     page.appendChild(doc_.importNode(GSXML.getChildByTagName(message, "config"), true));
     48    page.appendChild(doc_.importNode(GSXML.getChildByTagName(message, GSXML.CONFIGURATION_ELEM), true));
    4949
    5050
    5151
    5252    // build up the mr request
    53     Element mr_message = doc_.createElement("message");
    54     Element mr_request = doc_.createElement("request");
     53    Element mr_message = doc_.createElement(GSXML.MESSAGE_ELEM);
     54    Element mr_request = doc_.createElement(GSXML.REQUEST_ELEM);
    5555    mr_message.appendChild(mr_request);
    56     mr_request.setAttribute("type", "query");
     56    mr_request.setAttribute(GSXML.TYPE_ATT, GSXML.REQUEST_TYPE_QUERY);
    5757    mr_request.setAttribute("resourceType", "core");
    5858    String to = (String)params.get("collection"); // collection name
    5959    to = GSPath.appendLink(to, "ResourceRetrieve");
    60     mr_request.setAttribute("to", to);
     60    mr_request.setAttribute(GSXML.TO_ATT, to);
    6161
    6262    // all query requests must have a paramList and a content
    63     Element paramList = doc_.createElement("paramList");
     63    Element paramList = doc_.createElement(GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER);
    6464    mr_request.appendChild(paramList);
    6565
    66     Element content = doc_.createElement("content");
     66    Element content = doc_.createElement(GSXML.CONTENT_ELEM);
    6767    mr_request.appendChild(content);
    6868
    69     Element resource_list = doc_.createElement("resourceList");
    70     Element resource = doc_.createElement("resource");
    71     resource.setAttribute("name", resource_name);
     69    Element resource_list = doc_.createElement(GSXML.RESOURCE_ELEM+GSXML.LIST_MODIFIER);
     70    Element resource = doc_.createElement(GSXML.RESOURCE_ELEM);
     71    resource.setAttribute(GSXML.NAME_ATT, resource_name);
    7272    resource_list.appendChild(resource);
    7373    content.appendChild(resource_list);
     
    7777    // add the results to the page
    7878    page.appendChild(doc_.importNode(request, true));
    79     page.appendChild(doc_.importNode(GSXML.getChildByTagName(mr_result, "response"), true));
     79    page.appendChild(doc_.importNode(GSXML.getChildByTagName(mr_result, GSXML.RESPONSE_ELEM), true));
    8080   
    8181    // process using the stylesheet
Note: See TracChangeset for help on using the changeset viewer.