Ignore:
Timestamp:
2007-03-28T16:16:49+12:00 (17 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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 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);
Note: See TracChangeset for help on using the changeset viewer.