Changeset 13994


Ignore:
Timestamp:
2007-03-28T16:16:49+12:00 (15 years ago)
Author:
lh92
Message:

Added code to read the pluginList from the collectConfig.xml. If tidy_html option is set then the tidy_option metadata is true

Location:
trunk/gsdl3/src/java/org/greenstone/gsdl3
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/gsdl3/src/java/org/greenstone/gsdl3/collection/Collection.java

    r13860 r13994  
    4848    static Logger logger = Logger.getLogger(org.greenstone.gsdl3.collection.Collection.class.getName());
    4949
     50    /** is this collection being tidied */
     51    protected boolean useBook = false;
    5052    /** is this collection public or private */
    5153    protected boolean is_public = true;
     
    9698    }
    9799
     100    public boolean useBook() {
     101        return useBook;
     102    }
     103   
    98104    public boolean isPublic() {
    99105    return is_public;
     
    161167    }
    162168
     169    //check whether the html are tidy or not
     170    Element import_list = (Element)GSXML.getChildByTagName(coll_config_xml, GSXML.IMPORT_ELEM);
     171    if (import_list != null) {
     172        Element plugin_list = (Element)GSXML.getChildByTagName(import_list, GSXML.PLUGIN_ELEM+GSXML.LIST_MODIFIER);
     173        addPlugins(plugin_list);
     174        if (plugin_list != null){
     175            Element plugin_elem = (Element)GSXML.getNamedElement(plugin_list, GSXML.PLUGIN_ELEM, GSXML.NAME_ATT, "HTMLPlug");
     176            if (plugin_elem != null) {
     177                //get the option
     178                Element option_elem = (Element)GSXML.getNamedElement(plugin_elem, GSXML.PARAM_OPTION_ELEM, GSXML.NAME_ATT, "-tidy_html");
     179                if (option_elem != null) {
     180                    useBook = true;
     181                }
     182            }
     183        }   
     184    }
     185    meta_list = this.doc.createElement(GSXML.METADATA_ELEM + GSXML.LIST_MODIFIER);
     186    if (useBook == true)
     187        GSXML.addMetadata(this.doc, meta_list, "tidyoption", "tidy");
     188    else
     189        GSXML.addMetadata(this.doc, meta_list, "tidyoption", "untidy");
     190    addMetadata(meta_list);
     191   
    163192    // check whether we are public or not
    164193    if (meta_list != null) {
     
    210239    }
    211240
    212     if (subset.equals(GSXML.METADATA_ELEM+GSXML.LIST_MODIFIER) || subset.equals(GSXML.DISPLAY_TEXT_ELEM+GSXML.LIST_MODIFIER)) {
     241    if (subset.equals(GSXML.METADATA_ELEM+GSXML.LIST_MODIFIER) || subset.equals(GSXML.DISPLAY_TEXT_ELEM+GSXML.LIST_MODIFIER) || subset.equals(GSXML.PLUGIN_ELEM+GSXML.LIST_MODIFIER)) {
    213242        return findAndLoadInfo(coll_config_elem, build_config_elem);
    214243       
  • trunk/gsdl3/src/java/org/greenstone/gsdl3/collection/ServiceCluster.java

    r13947 r13994  
    8888    protected Element description = null;
    8989
     90    /** list of plugin */
     91    protected Element plugin_item_list = null;
     92   
    9093    public void setSiteHome(String home) {
    9194    this.site_home = home;
     
    120123    this.display_item_list = this.doc.createElement(GSXML.DISPLAY_TEXT_ELEM+GSXML.LIST_MODIFIER);
    121124    this.metadata_list = this.doc.createElement(GSXML.METADATA_ELEM+GSXML.LIST_MODIFIER);
     125    this.plugin_item_list = this.doc.createElement(GSXML.PLUGIN_ELEM+GSXML.LIST_MODIFIER);
    122126    }
    123127
     
    185189    }
    186190   
    187 
     191    //get the plugin info
     192    Element import_list = (Element) GSXML.getChildByTagName(service_cluster_info, GSXML.IMPORT_ELEM);
     193    if (import_list != null)
     194    {
     195        Element plugin_list = (Element) GSXML.getChildByTagName(service_cluster_info, GSXML.PLUGIN_ELEM+GSXML.LIST_MODIFIER);
     196        if (plugin_list !=null) {
     197            if (!addPlugins(plugin_list)) {
     198       
     199                logger.error("couldn't configure the plugins");
     200                }
     201        }
     202    }   
     203   
    188204    // do the service racks
    189205    Element service_rack_list = (Element)GSXML.getChildByTagName(service_cluster_info, GSXML.SERVICE_CLASS_ELEM+GSXML.LIST_MODIFIER);
     
    238254       
    239255        this_item.appendChild(this.doc.importNode(d, true));
    240            
    241        
    242         }
     256        }
     257    }
     258   
     259    return true;
     260    }
     261   
     262    protected boolean addPlugins(Element plugin_list) {
     263        if (plugin_list == null) return false;
     264    NodeList pluginNodes = plugin_list.getElementsByTagName(GSXML.PLUGIN_ELEM);
     265    if (pluginNodes.getLength() > 0) {
     266        for (int k = 0; k < pluginNodes.getLength(); k++)
     267        {
     268            this.plugin_item_list.appendChild(this.doc.importNode(pluginNodes.item(k), true));
     269        }
    243270    }
    244271   
     
    448475        description.appendChild(this.service_list);
    449476        description.appendChild(this.metadata_list);
     477        description.appendChild(this.plugin_item_list);
    450478        return response;
    451479        }
     
    465493            } else if (info.equals(GSXML.DISPLAY_TEXT_ELEM+GSXML.LIST_MODIFIER)) {
    466494            addAllDisplayInfo(description, lang);
    467            
     495            } else if (info.equals(GSXML.PLUGIN_ELEM+GSXML.LIST_MODIFIER)) {
     496                description.appendChild(plugin_item_list);
    468497            }
    469498        }
     
    578607        Element metadata_list = (Element)GSXML.getChildByTagName(cluster_config_elem, GSXML.METADATA_ELEM+GSXML.LIST_MODIFIER);
    579608        return addMetadata(metadata_list);
     609    } else if (subset.equals(GSXML.PLUGIN_ELEM+GSXML.LIST_MODIFIER)) {
     610        this.plugin_item_list = this.doc.createElement(GSXML.PLUGIN_ELEM+GSXML.LIST_MODIFIER);
     611        Element import_list = (Element)GSXML.getChildByTagName(cluster_config_elem,GSXML.IMPORT_ELEM);
     612        if (import_list != null)
     613        {
     614            Element plugin_item_list = (Element)GSXML.getChildByTagName(cluster_config_elem,GSXML.PLUGIN_ELEM+GSXML.LIST_MODIFIER);
     615            return addPlugins(plugin_item_list);
     616            }
     617        else
     618            return false;
    580619    } else {
    581620        logger.error("cannot process system request, configure "+subset);
  • trunk/gsdl3/src/java/org/greenstone/gsdl3/collection/XMLCollection.java

    r13270 r13994  
    4646    }
    4747
     48    //plugin stuff
     49    Element import_list = (Element)GSXML.getChildByTagName(coll_config_xml, GSXML.IMPORT_ELEM);
     50    if (import_list != null)
     51    {
     52        Element plugin_list = (Element)GSXML.getChildByTagName(import_list, GSXML.PLUGIN_ELEM+GSXML.LIST_MODIFIER);
     53        addPlugins(plugin_list);
     54    }
     55   
    4856    Element config_doc_list = (Element)GSXML.getChildByTagName(coll_config_xml, GSXML.DOCUMENT_ELEM+GSXML.LIST_MODIFIER);
    4957    if (config_doc_list != null) {
     
    7987        description.appendChild(this.service_list);
    8088        description.appendChild(this.metadata_list);
     89        description.appendChild(this.plugin_item_list);
    8190        description.appendChild(this.document_list);
    8291        return response;
     
    100109            } else if (info.equals(GSXML.DOCUMENT_ELEM+GSXML.LIST_MODIFIER)) {
    101110            description.appendChild(this.document_list);
     111            } else if (info.equals(GSXML.PLUGIN_ELEM+GSXML.LIST_MODIFIER)) {
     112                description.appendChild(this.plugin_item_list);
    102113            }
    103114           
  • trunk/gsdl3/src/java/org/greenstone/gsdl3/util/GSXML.java

    r13989 r13994  
    189189    // some system wide param names
    190190    public static final String SUBSET_PARAM = "subset";
    191 
     191   
     192    //for plugin
     193    public static final String PLUGIN_ELEM = "plugin";
     194    public static final String IMPORT_ELEM = "import";
     195   
     196   
    192197    /** takes a list of elements, and returns an array of strings
    193198     * of the values of attribute att_name */
Note: See TracChangeset for help on using the changeset viewer.