Changeset 5126


Ignore:
Timestamp:
2003-08-13T09:54:20+12:00 (21 years ago)
Author:
kjdon
Message:

describe requests to services can now take a parameter 'subset' just like any other describe requests. choices are paramList and displayItem. so you can just get the display text without having to go through and create all teh parameters

Location:
trunk/gsdl3/src/java/org/greenstone/gsdl3/service
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/gsdl3/src/java/org/greenstone/gsdl3/service/GATEServices.java

    r5098 r5126  
    128128    }
    129129
    130     protected Element getServiceDescription(String service, String lang) {
     130    protected Element getServiceDescription(String service, String lang, String subset) {
    131131
    132132    if (!service.equals(GATE_POS_TAG_SERVICE)) {
     
    136136    tag_service.setAttribute(GSXML.TYPE_ATT, GSXML.SERVICE_TYPE_ENRICH);
    137137    tag_service.setAttribute(GSXML.NAME_ATT, GATE_POS_TAG_SERVICE);
    138     tag_service.appendChild(GSXML.createDisplayTextElement(this.doc, GSXML.DISPLAY_TEXT_NAME, getTextString(service+".name", lang)));
    139     tag_service.appendChild(GSXML.createDisplayTextElement(this.doc, GSXML.DISPLAY_TEXT_SUBMIT, getTextString(service+".submit", lang)));
    140     Element param_list = this.doc.createElement(GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER);
    141     createParameter(ANNOTATION_TYPE_PARAM, param_list, lang);
    142     tag_service.appendChild(param_list);
    143 
     138    if (subset==null || subset.equals(GSXML.DISPLAY_TEXT_ELEM)) {
     139        tag_service.appendChild(GSXML.createDisplayTextElement(this.doc, GSXML.DISPLAY_TEXT_NAME, getTextString(service+".name", lang)));
     140        tag_service.appendChild(GSXML.createDisplayTextElement(this.doc, GSXML.DISPLAY_TEXT_DESCRIPTION, getTextString(service+".description", lang)));
     141        tag_service.appendChild(GSXML.createDisplayTextElement(this.doc, GSXML.DISPLAY_TEXT_SUBMIT, getTextString(service+".submit", lang)));
     142    }
     143    if (subset==null || subset.equals(GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER)) {
     144        Element param_list = this.doc.createElement(GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER);
     145        createParameter(ANNOTATION_TYPE_PARAM, param_list, lang);
     146        tag_service.appendChild(param_list);
     147    }
    144148    return tag_service;
    145149    }
  • trunk/gsdl3/src/java/org/greenstone/gsdl3/service/GS2Construct.java

    r5107 r5126  
    7878
    7979    /** returns a specific service description */
    80     protected Element getServiceDescription(String service, String lang) {
     80    protected Element getServiceDescription(String service, String lang, String subset) {
    8181
    8282    Element description = this.doc.createElement(GSXML.SERVICE_ELEM);
    8383    description.setAttribute(GSXML.TYPE_ATT, GSXML.SERVICE_TYPE_PROCESS);
    8484    description.setAttribute(GSXML.NAME_ATT, service);
    85     description.appendChild(GSXML.createDisplayTextElement(this.doc, GSXML.DISPLAY_TEXT_NAME,  getTextString(service+".name", lang)));
    86     description.appendChild(GSXML.createDisplayTextElement(this.doc, GSXML.DISPLAY_TEXT_DESCRIPTION,  getTextString(service+".description", lang)));
    87     description.appendChild(GSXML.createDisplayTextElement(this.doc,  GSXML.DISPLAY_TEXT_SUBMIT, getTextString(service+".submit", lang)));
    88 
    89     Element param_list = this.doc.createElement(GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER);
    90     description.appendChild(param_list);
    91    
    92     if (service.equals(NEW_SERVICE)) {
     85    if (subset == null || subset.equals(GSXML.DISPLAY_TEXT_ELEM)) {
     86        description.appendChild(GSXML.createDisplayTextElement(this.doc, GSXML.DISPLAY_TEXT_NAME,  getTextString(service+".name", lang)));
     87        description.appendChild(GSXML.createDisplayTextElement(this.doc, GSXML.DISPLAY_TEXT_DESCRIPTION,  getTextString(service+".description", lang)));
     88        description.appendChild(GSXML.createDisplayTextElement(this.doc,  GSXML.DISPLAY_TEXT_SUBMIT, getTextString(service+".submit", lang)));
     89    }
     90    if (subset == null || subset.equals(GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER)) {
     91        Element param_list = this.doc.createElement(GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER);
     92        description.appendChild(param_list);
    9393       
    94         Element param = GSXML.createParameterDescription(this.doc, NEW_COL_TITLE_PARAM, getTextString("param."+NEW_COL_TITLE_PARAM, lang), GSXML.PARAM_TYPE_STRING, null, null, null);
    95         param_list.appendChild(param);
    96         param = GSXML.createParameterDescription(this.doc, CREATOR_PARAM, getTextString("param."+CREATOR_PARAM, lang), GSXML.PARAM_TYPE_STRING, null, null, null);
    97         param_list.appendChild(param);
    98         param = GSXML.createParameterDescription(this.doc, NEW_COL_ABOUT_PARAM, getTextString("param."+NEW_COL_ABOUT_PARAM, lang), GSXML.PARAM_TYPE_TEXT, null, null, null);
    99         param_list.appendChild(param);
    100         String[] types = {BUILDTYPE_MGPP, BUILDTYPE_MG};
    101         String[] type_texts = {getTextString("param."+BUILDTYPE_PARAM+"."+BUILDTYPE_MGPP, lang), getTextString("param."+BUILDTYPE_PARAM+"."+BUILDTYPE_MG, lang)};
     94        if (service.equals(NEW_SERVICE)) {
     95       
     96        Element param = GSXML.createParameterDescription(this.doc, NEW_COL_TITLE_PARAM, getTextString("param."+NEW_COL_TITLE_PARAM, lang), GSXML.PARAM_TYPE_STRING, null, null, null);
     97        param_list.appendChild(param);
     98        param = GSXML.createParameterDescription(this.doc, CREATOR_PARAM, getTextString("param."+CREATOR_PARAM, lang), GSXML.PARAM_TYPE_STRING, null, null, null);
     99        param_list.appendChild(param);
     100        param = GSXML.createParameterDescription(this.doc, NEW_COL_ABOUT_PARAM, getTextString("param."+NEW_COL_ABOUT_PARAM, lang), GSXML.PARAM_TYPE_TEXT, null, null, null);
     101        param_list.appendChild(param);
     102        String[] types = {BUILDTYPE_MGPP, BUILDTYPE_MG};
     103        String[] type_texts = {getTextString("param."+BUILDTYPE_PARAM+"."+BUILDTYPE_MGPP, lang), getTextString("param."+BUILDTYPE_PARAM+"."+BUILDTYPE_MG, lang)};
     104       
     105        param = GSXML.createParameterDescription(this.doc, BUILDTYPE_PARAM, getTextString("param."+BUILDTYPE_PARAM, lang), GSXML.PARAM_TYPE_ENUM_SINGLE, BUILDTYPE_MGPP, types, type_texts);
     106        param_list.appendChild(param);
     107        }
     108        else if (service.equals(ACTIVATE_SERVICE) || service.equals(IMPORT_SERVICE) || service.equals(BUILD_SERVICE) || service.equals(RELOAD_SERVICE) || service.equals(DELETE_SERVICE)) {
    102109       
    103         param = GSXML.createParameterDescription(this.doc, BUILDTYPE_PARAM, getTextString("param."+BUILDTYPE_PARAM, lang), GSXML.PARAM_TYPE_ENUM_SINGLE, BUILDTYPE_MGPP, types, type_texts);
    104         param_list.appendChild(param);
    105         return description;
    106     }
    107    
    108    
    109     if (service.equals(ACTIVATE_SERVICE) || service.equals(IMPORT_SERVICE) || service.equals(BUILD_SERVICE) || service.equals(RELOAD_SERVICE) || service.equals(DELETE_SERVICE)) {
    110        
    111         this.collection_list = getCollectionList();
    112         Element param = GSXML.createParameterDescription(this.doc, COL_PARAM, getTextString("param."+COL_PARAM, lang), GSXML.PARAM_TYPE_ENUM_SINGLE, null, this.collection_list, this.collection_list);
    113         param_list.appendChild(param);
    114        
    115         return description;
    116     }
    117     // invalid service name
    118     return null;
    119    
     110        this.collection_list = getCollectionList();
     111        Element param = GSXML.createParameterDescription(this.doc, COL_PARAM, getTextString("param."+COL_PARAM, lang), GSXML.PARAM_TYPE_ENUM_SINGLE, null, this.collection_list, this.collection_list);
     112        param_list.appendChild(param);
     113        } else {
     114        // invalid service name
     115        return null;
     116        }
     117    }
     118    return description;
    120119    }
    121120
  • trunk/gsdl3/src/java/org/greenstone/gsdl3/service/GS2MGPPSearch.java

    r5098 r5126  
    147147    }
    148148
    149     protected Element getServiceDescription(String service_id, String lang) {
     149    protected Element getServiceDescription(String service_id, String lang, String subset) {
    150150   
    151151    if (!service_id.equals(FIELD_QUERY_SERVICE) && !service_id.equals(ADVANCED_FIELD_QUERY_SERVICE)) {
    152         return super.getServiceDescription(service_id, lang);
     152        return super.getServiceDescription(service_id, lang, subset);
    153153    }
    154154   
     
    156156    service.setAttribute(GSXML.TYPE_ATT, GSXML.SERVICE_TYPE_QUERY);
    157157    service.setAttribute(GSXML.NAME_ATT, service_id);
    158     service.appendChild(GSXML.createDisplayTextElement(this.doc, GSXML.DISPLAY_TEXT_NAME, getTextString(service_id+".name", lang)));
    159     service.appendChild(GSXML.createDisplayTextElement(this.doc, GSXML.DISPLAY_TEXT_SUBMIT, getTextString(service_id+".submit", lang)));
    160     service.appendChild(GSXML.createDisplayTextElement(this.doc, GSXML.DISPLAY_TEXT_DESCRIPTION, getTextString(service_id+".description", lang)));
    161     Element param_list = this.doc.createElement(GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER); 
    162     service.appendChild(param_list);
    163     if (service_id.equals(FIELD_QUERY_SERVICE)) {
    164        
    165         createFieldQueryParamList(param_list, lang);
    166     } else {
    167         createAdvancedFieldQueryParamList(param_list, lang);
    168     }
     158    if (subset == null || subset.equals(GSXML.DISPLAY_TEXT_ELEM)) {
     159        service.appendChild(GSXML.createDisplayTextElement(this.doc, GSXML.DISPLAY_TEXT_NAME, getTextString(service_id+".name", lang)));
     160        service.appendChild(GSXML.createDisplayTextElement(this.doc, GSXML.DISPLAY_TEXT_SUBMIT, getTextString(service_id+".submit", lang)));
     161        service.appendChild(GSXML.createDisplayTextElement(this.doc, GSXML.DISPLAY_TEXT_DESCRIPTION, getTextString(service_id+".description", lang)));
     162   
     163    }
     164    if (subset == null || subset.equals(GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER)) {
     165        Element param_list = this.doc.createElement(GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER); 
     166        service.appendChild(param_list);
     167        if (service_id.equals(FIELD_QUERY_SERVICE)) {
     168       
     169        createFieldQueryParamList(param_list, lang);
     170        } else {
     171        createAdvancedFieldQueryParamList(param_list, lang);
     172        }
     173    }
    169174    return service;
    170175   
  • trunk/gsdl3/src/java/org/greenstone/gsdl3/service/GS2Retrieve.java

    r5107 r5126  
    180180    }
    181181
    182     protected Element getServiceDescription(String service_id, String lang) {
     182    protected Element getServiceDescription(String service_id, String lang, String subset) {
    183183
    184184    if (service_id.equals(CLASSIFIER_SERVICE)) {
  • trunk/gsdl3/src/java/org/greenstone/gsdl3/service/GS2Search.java

    r5107 r5126  
    123123    }
    124124
    125     protected Element getServiceDescription(String service, String lang) {
     125    protected Element getServiceDescription(String service, String lang, String subset) {
    126126   
    127127    if (!service.equals(TEXT_QUERY_SERVICE)) {
     
    131131    tq_service.setAttribute(GSXML.TYPE_ATT, GSXML.SERVICE_TYPE_QUERY);
    132132    tq_service.setAttribute(GSXML.NAME_ATT, TEXT_QUERY_SERVICE);
    133     tq_service.appendChild(GSXML.createDisplayTextElement(this.doc, GSXML.DISPLAY_TEXT_NAME, getTextString(TEXT_QUERY_SERVICE+".name", lang)));
    134     tq_service.appendChild(GSXML.createDisplayTextElement(this.doc, GSXML.DISPLAY_TEXT_SUBMIT, getTextString(TEXT_QUERY_SERVICE+".submit", lang)));
    135     tq_service.appendChild(GSXML.createDisplayTextElement(this.doc, GSXML.DISPLAY_TEXT_DESCRIPTION, getTextString(TEXT_QUERY_SERVICE+".description", lang)));
    136     Element param_list = this.doc.createElement(GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER);
    137     createTextQueryParamList(param_list, lang);
    138     tq_service.appendChild(param_list);
     133    if (subset==null || subset.equals(GSXML.DISPLAY_TEXT_ELEM)) {
     134        tq_service.appendChild(GSXML.createDisplayTextElement(this.doc, GSXML.DISPLAY_TEXT_NAME, getTextString(TEXT_QUERY_SERVICE+".name", lang)));
     135        tq_service.appendChild(GSXML.createDisplayTextElement(this.doc, GSXML.DISPLAY_TEXT_SUBMIT, getTextString(TEXT_QUERY_SERVICE+".submit", lang)));
     136        tq_service.appendChild(GSXML.createDisplayTextElement(this.doc, GSXML.DISPLAY_TEXT_DESCRIPTION, getTextString(TEXT_QUERY_SERVICE+".description", lang)));
     137    }
     138    if (subset==null || subset.equals(GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER)) {
     139        Element param_list = this.doc.createElement(GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER);
     140        createTextQueryParamList(param_list, lang);
     141        tq_service.appendChild(param_list);
     142    }
    139143    return tq_service;
    140144   
  • trunk/gsdl3/src/java/org/greenstone/gsdl3/service/PhindPhraseBrowse.java

    r5107 r5126  
    9595    }
    9696
    97     protected Element getServiceDescription(String service, String lang) {
     97    protected Element getServiceDescription(String service, String lang, String subset) {
    9898    if (!service.equals(PHIND_SERVICE)) {
    9999        return null;
  • trunk/gsdl3/src/java/org/greenstone/gsdl3/service/ServiceRack.java

    r5098 r5126  
    249249        return response;
    250250    }
    251    
    252     // describe a particular service   
    253     //if (service_info_map_.containsKey(to)) {
    254     Element description = getServiceDescription(to, lang);
     251    Element param_list = (Element)GSXML.getChildByTagName(request, GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER);
     252    Element description = null;
     253    if (param_list == null) {
     254        description = getServiceDescription(to, lang, null);
     255    } else {
     256        NodeList params = param_list.getElementsByTagName(GSXML.PARAM_ELEM);
     257        for (int i=0; i<params.getLength(); i++) {
     258       
     259        Element param = (Element)params.item(i);
     260        // Identify the structure information desired
     261        if (param.getAttribute(GSXML.NAME_ATT) == GSXML.SUBSET_PARAM ) {
     262            String info = param.getAttribute(GSXML.VALUE_ATT);
     263
     264            if (description == null) {
     265             description = getServiceDescription(to, lang, info);
     266            } else {
     267            Element temp = getServiceDescription(to, lang, info);
     268            GSXML.mergeElements(description, temp);
     269            }
     270        }
     271        }
     272    }
    255273    if (description != null) { // may be null if non-existant service
    256274        response.appendChild(description);
     
    292310   
    293311    /** returns a specific service description */
    294     abstract protected Element getServiceDescription(String service, String lang);
     312    abstract protected Element getServiceDescription(String service, String lang, String subset);
    295313
    296314    protected Element getServiceFormat(String service) {
  • trunk/gsdl3/src/java/org/greenstone/gsdl3/service/XSLTServices.java

    r5098 r5126  
    119119  }
    120120
    121     protected Element getServiceDescription(String service, String lang) {
     121    protected Element getServiceDescription(String service, String lang, String subset) {
    122122
    123123    return null;
Note: See TracChangeset for help on using the changeset viewer.