Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.greenstone.gatherer.cdm
Class CollectionConfiguration  view CollectionConfiguration download CollectionConfiguration.java

java.lang.Object
  extended byorg.greenstone.gatherer.util.StaticStrings
      extended byorg.greenstone.gatherer.cdm.CollectionConfiguration

public class CollectionConfiguration
extends org.greenstone.gatherer.util.StaticStrings

This class provides either access to a pseudo-G3 document, or parses a collect.cfg file in such a way as to provide an xml-type view of its content. This later version is useful as it allows the manipulation and free form editing of a legacy collect.cfg file while still allowing the various CDM data managers to base themselves directly on this model (whereas they used to be independant ListModels which clobbered the ordering of unparsed commands).

Version:
2.3d

Field Summary
private  java.io.File collect_config_file
          Private Data Members
private static java.lang.String[] COMMAND_ORDER
          Gives the preferred ordering of commands
static org.w3c.dom.Document document
           
private static java.lang.String EXTRACTED_PREFIX
           
private static java.util.ArrayList known_metadata
           
private static CollectionConfiguration self
           
 
Fields inherited from class org.greenstone.gatherer.util.StaticStrings
ABSTRACT_ELEMENT, ALLFIELDS_STR, ARCPLUG_STR, ASSIGNED_ATTRIBUTE, AT_CHARACTER, BACKSLASH_CHAR, BUILD_TYPE_STR, CCS_STR, CLASSES_FOLDER, CLASSIFY_ELEMENT, CLASSIFY_STR, CLOSE_PARENTHESIS_CHARACTER, CLOSEBRACKET_CHAR, COLLECT_CFG, COLLECTCONFIGURATION_XML, COLLECTION_ELEMENT, COLLECTIONMETADATA_BETA_ELEMENT, COLLECTIONMETADATA_BETA_STR, COLLECTIONMETADATA_COLLECTIONEXTRA_STR, COLLECTIONMETADATA_COLLECTIONNAME_STR, COLLECTIONMETADATA_CREATOR_ELEMENT, COLLECTIONMETADATA_CREATOR_STR, COLLECTIONMETADATA_ELEMENT, COLLECTIONMETADATA_ICONCOLLECTION_STR, COLLECTIONMETADATA_ICONCOLLECTIONSMALL_STR, COLLECTIONMETADATA_MAINTAINER_ELEMENT, COLLECTIONMETADATA_MAINTAINER_STR, COLLECTIONMETADATA_PUBLIC_ELEMENT, COLLECTIONMETADATA_PUBLIC_STR, COLLECTIONMETADATA_STR, COLNAME_PATTERN, COLON_CHARACTER, COMMA_CHARACTER, COMMENTED_INDEX_DEFAULT_STR, COMMENTED_INDEXES_STR, COMMENTED_LEVELS_STR, CONTENT_ATTRIBUTE, CONTENT_ELEMENT, CUSTOM_ATTRIBUTE, DEBUG_ARGUMENT, DICTIONARY_FILENAME, DIRECTORY_MAPPINGS_ELEMENT, DOUBLEQUOTE_CHAR, EMPTY_STR, ENGLISH_LANGUAGE_STR, ENUM_STR, EQUALS_CHARACTER, ERROR_STR, ESCAPE_PATTERN, ESCAPE_STR, ETC_FOLDER, EXCLAIMATION_CHARACTER, EXCLUDE_STR, EXTRACTED_METADATA_ELEMENT, EXTRACTED_NAMESPACE, FALSE_STR, FILE_ATTRIBUTE, FILENAME_STR, FLAG_STR, FORMAT_ELEMENT, FORMAT_STR, FORWARDSLASH_CHAR, GSDL_ARGUMENT, HELP_ARGUMENT, HFILE_ARGUMENT, HIERARCHY_ATTRIBUTE, HIERARCHY_CLASSIFIER, HIERARCHY_STR, HTTP_PROTOCOL_STR, IMAGES_FOLDER, IMAGES_PATH_RELATIVE_TO_COLLECTION_PREFIX, IMAGES_PATH_RELATIVE_TO_GSDL_PREFIX, IMPORT_FOLDER, INCLUDE_STR, INDEX_DEFAULT_ELEMENT, INDEX_DEFAULT_STR, INDEX_ELEMENT, INDEX_STR, INDEXES_ELEMENT, INT_STR, LANGUAGE_ARGUMENT, LANGUAGE_ATTRIBUTE, LANGUAGE_DEFAULT_ELEMENT, LANGUAGE_DEFAULT_STR, LANGUAGE_ELEMENT, LANGUAGE_STR, LANGUAGES_ELEMENT, LANGUAGES_STR, LBRACKET_CHARACTER, LBRACKET_PATTERN, LEVEL_ATTRIBUTE, LEVELS_ELEMENT, LEVELS_STR, LIBRARY_ARGUMENT, LIBRARY_STR, LOAD_ARGUMENT, MAPPING_ELEMENT, MARC_EXTENSION, METADATA_ARGUMENT, METADATA_BAK, METADATA_ELEMENT, METADATA_SET_EXTENSION, METADATA_STR, METADATA_TYPE_STR, METADATA_XML, METADATUM_STR, METADATUM_TYPE_STR, MGPP_ATTRIBUTE, MINUS_CHARACTER, MODEL_COLLECTION_NAME, NAME_ATTRIBUTE, NEW_LINE_CHAR, NEWLINE_CHARACTER, NEWLINE_ELEMENT, NO_LOAD_ARGUMENT, OPEN_PARENTHESIS_CHARACTER, OPENBRACKET_CHAR, OPTION_ELEMENT, OPTIONS_ATTRIBUTE, PERL_ARGUMENT, PHIND_CLASSIFIER, PIPE_CHAR, PIPE_STR, PLUGIN_ELEMENT, PLUGIN_STR, PROPERTIES_FILE_EXTENSION, PSEUDO_COLLECTCONFIGURATION_XML, RANGE_ELEMENT, RBRACKET_CHARACTER, RBRACKET_PATTERN, RECPLUG_STR, SEARCHTYPE_ELEMENT, SEARCHTYPE_STR, SEPARATOR_ATTRIBUTE, SEPARATOR_CHARACTER, SHOW_PROGRESS_ARGUMENT, SINGLE_ESCAPE_ONLY_PATTERN, SINGLEQUOTE_CHAR, SKIN_ARGUMENT, SOURCESEGMENT_VALUE, SPACE_CHAR, SPACE_CHARACTER, SPECIAL_ATTRIBUTE, SPEECH_CHARACTER, STAR_CHAR, STOP_CHARACTER, STRING_STR, SUBCOLLECTION_DEFAULT_INDEX_ELEMENT, SUBCOLLECTION_DEFAULT_INDEX_STR, SUBCOLLECTION_ELEMENT, SUBCOLLECTION_INDEX_STR, SUBCOLLECTION_INDEXES_ELEMENT, SUBCOLLECTION_STR, SUPERCOLLECTION_ELEMENT, SUPERCOLLECTION_STR, TAB_CHARACTER, TEXT_NODE, TEXT_STR, TIMESTAMP_ARGUMENT, TRUE_STR, TRUNCATED_STRING, TYPE_ATTRIBUTE, UNDERSCORE_CHARACTER, UNKNOWN_ELEMENT, UNKNOWNPLUG_STR, URL_SEPARATOR_CHARACTER, USE_METADATA_FILES_ARGUMENT, VALUE_ATTRIBUTE, VALUE_TREE_ATTRIBUTE, YES_STR
 
Constructor Summary
CollectionConfiguration(java.io.File collect_config_file)
          Public Methods
 
Method Summary
private  java.lang.String classifyToString(org.w3c.dom.Element command_element, boolean show_extracted_namespace)
          Private Methods
 void display()
          This debug facility shows the currently loaded collect.cfg or CollectConfig.xml file as a DOM tree.
static org.w3c.dom.Node findInsertionPoint(org.w3c.dom.Element target_element)
          Find the best insertion position for the given DOM Element.
private  java.lang.String formatToString(org.w3c.dom.Element command_element, boolean show_extracted_namespace)
           
 org.w3c.dom.Element getBeta()
           
 org.w3c.dom.Element getCreator()
           
 org.w3c.dom.Element getDocumentElement()
           
 java.io.File getFile()
           
 org.w3c.dom.Element getLanguages()
          Retrieve or create the languages Element.
 org.w3c.dom.Element getLevels()
           
 org.w3c.dom.Element getMaintainer()
           
 org.w3c.dom.Element getMGIndexes()
          Retrieve or create the indexes Element.
 org.w3c.dom.Element getMGPPIndexes()
           
private  org.w3c.dom.Element getOrCreateElementByTagName(java.lang.String name, java.lang.String conditional_attribute, java.lang.String required_value)
          Retrieve or create the indexes Element.
 org.w3c.dom.Element getPublic()
           
 org.w3c.dom.Element getSearchType()
          Retrieve or create the searchtype element.
 org.w3c.dom.Element getSubIndexes()
          Retrieve or create the subindexes Element.
 org.w3c.dom.Element getSuperCollection()
          Retrieve or create the supercollections Element.
private  java.lang.String indexDefaultToString(org.w3c.dom.Element command_element, boolean show_extracted_namespace)
           
private  java.lang.String indexesToString(org.w3c.dom.Element command_element, boolean show_extracted_namespace)
           
private  java.lang.String languageDefaultToString(org.w3c.dom.Element command_element)
           
private  java.lang.String languagesToString(org.w3c.dom.Element command_element)
           
private  java.lang.String levelsToString(org.w3c.dom.Element command_element)
           
static void main(java.lang.String[] args)
           
static java.lang.String metadataToString(org.w3c.dom.Element command_element, boolean text_value)
           
private  void parse(java.io.File collect_config_file)
          Parse a collect.cfg into a DOM model representation.
static java.util.HashMap parseArguments(CommandTokenizer tokenizer)
          Parses arguments from a tokenizer and returns a HashMap of mappings.
private  org.w3c.dom.Element parseClassify(java.lang.String command_str)
           
private  org.w3c.dom.Element parseFormat(CommandTokenizer tokenizer)
           
private  org.w3c.dom.Element parseIndex(java.lang.String command_str)
           
private  org.w3c.dom.Element parseIndexDefault(java.lang.String command_str)
           
private  org.w3c.dom.Element parseLanguage(java.lang.String command_str)
           
private  org.w3c.dom.Element parseLanguageDefault(java.lang.String command_str)
           
private  org.w3c.dom.Element parseLevels(java.lang.String command_str)
           
private  org.w3c.dom.Element parseMetadata(CommandTokenizer tokenizer)
           
private  org.w3c.dom.Element parseMetadataSpecial(java.lang.String command_str)
           
private  org.w3c.dom.Element parsePlugIn(java.lang.String command_str)
           
private  org.w3c.dom.Element parseSearchType(java.lang.String command_str)
           
private  org.w3c.dom.Element parseSubCollection(java.lang.String command_str)
           
private  org.w3c.dom.Element parseSubCollectionDefaultIndex(java.lang.String command_str)
           
private  org.w3c.dom.Element parseSubCollectionIndex(java.lang.String command_str)
           
private  org.w3c.dom.Element parseSuperCollection(java.lang.String command_str)
           
private  java.lang.String pluginToString(org.w3c.dom.Element command_element, boolean show_extracted_namespace)
           
 boolean ready()
           
 void save()
           
 void save(boolean force_xml)
           
private  java.lang.String searchtypeToString(org.w3c.dom.Element command_element)
           
private  java.lang.String subcollectionDefaultIndexToString(org.w3c.dom.Element command_element)
           
private  java.lang.String subcollectionIndexesToString(org.w3c.dom.Element command_element)
           
private  java.lang.String subcollectionToString(org.w3c.dom.Element command_element, boolean show_extracted_namespace)
           
private  java.lang.String supercollectionToString(org.w3c.dom.Element command_element)
           
static java.lang.String toString(org.w3c.dom.Element command_element, boolean show_extracted_namespace)
           
private  java.lang.String unknownToString(org.w3c.dom.Element command_element)
           
private  void write(java.io.BufferedWriter writer, java.lang.String str)
          Write the text to the buffer.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

document

public static org.w3c.dom.Document document

known_metadata

private static java.util.ArrayList known_metadata

self

private static CollectionConfiguration self

EXTRACTED_PREFIX

private static final java.lang.String EXTRACTED_PREFIX
See Also:
Constant Field Values

COMMAND_ORDER

private static final java.lang.String[] COMMAND_ORDER
Gives the preferred ordering of commands


collect_config_file

private java.io.File collect_config_file
Private Data Members

Constructor Detail

CollectionConfiguration

public CollectionConfiguration(java.io.File collect_config_file)
Public Methods

Method Detail

main

public static void main(java.lang.String[] args)

findInsertionPoint

public static org.w3c.dom.Node findInsertionPoint(org.w3c.dom.Element target_element)
Find the best insertion position for the given DOM Element. This should try to match command tag, and if found should then try to group by name or type (eg CollectionMeta), or append to end is no such grouping exists (eg PlugIns). Failing a command match it will check against the command order for the best insertion location.


toString

public static java.lang.String toString(org.w3c.dom.Element command_element,
                                        boolean show_extracted_namespace)

parseArguments

public static java.util.HashMap parseArguments(CommandTokenizer tokenizer)
Parses arguments from a tokenizer and returns a HashMap of mappings. The tricky bit here is that not all entries in the HashMap are name->value pairs, as some arguments are boolean and are turned on by their presence. Arguments are denoted by a '-' prefix.


display

public void display()
This debug facility shows the currently loaded collect.cfg or CollectConfig.xml file as a DOM tree.


getBeta

public org.w3c.dom.Element getBeta()

getCreator

public org.w3c.dom.Element getCreator()

getDocumentElement

public org.w3c.dom.Element getDocumentElement()

getFile

public java.io.File getFile()

getLanguages

public org.w3c.dom.Element getLanguages()
Retrieve or create the languages Element.


getLevels

public org.w3c.dom.Element getLevels()

getMaintainer

public org.w3c.dom.Element getMaintainer()

getMGIndexes

public org.w3c.dom.Element getMGIndexes()
Retrieve or create the indexes Element. Note that this method behaves differently from the other getBlah methods, in that it also has to keep in mind that indexes come in two flavours, MG and MGPP.


getMGPPIndexes

public org.w3c.dom.Element getMGPPIndexes()

getPublic

public org.w3c.dom.Element getPublic()

getSearchType

public org.w3c.dom.Element getSearchType()
Retrieve or create the searchtype element.


getSubIndexes

public org.w3c.dom.Element getSubIndexes()
Retrieve or create the subindexes Element.


getSuperCollection

public org.w3c.dom.Element getSuperCollection()
Retrieve or create the supercollections Element.


ready

public boolean ready()

save

public void save()

save

public void save(boolean force_xml)

classifyToString

private java.lang.String classifyToString(org.w3c.dom.Element command_element,
                                          boolean show_extracted_namespace)
Private Methods


formatToString

private java.lang.String formatToString(org.w3c.dom.Element command_element,
                                        boolean show_extracted_namespace)

getOrCreateElementByTagName

private org.w3c.dom.Element getOrCreateElementByTagName(java.lang.String name,
                                                        java.lang.String conditional_attribute,
                                                        java.lang.String required_value)
Retrieve or create the indexes Element.


indexesToString

private java.lang.String indexesToString(org.w3c.dom.Element command_element,
                                         boolean show_extracted_namespace)

indexDefaultToString

private java.lang.String indexDefaultToString(org.w3c.dom.Element command_element,
                                              boolean show_extracted_namespace)

languagesToString

private java.lang.String languagesToString(org.w3c.dom.Element command_element)

languageDefaultToString

private java.lang.String languageDefaultToString(org.w3c.dom.Element command_element)

levelsToString

private java.lang.String levelsToString(org.w3c.dom.Element command_element)

metadataToString

public static java.lang.String metadataToString(org.w3c.dom.Element command_element,
                                                boolean text_value)

parse

private void parse(java.io.File collect_config_file)
Parse a collect.cfg into a DOM model representation.


parseClassify

private org.w3c.dom.Element parseClassify(java.lang.String command_str)

parseFormat

private org.w3c.dom.Element parseFormat(CommandTokenizer tokenizer)

parseIndex

private org.w3c.dom.Element parseIndex(java.lang.String command_str)

parseIndexDefault

private org.w3c.dom.Element parseIndexDefault(java.lang.String command_str)

parseLanguage

private org.w3c.dom.Element parseLanguage(java.lang.String command_str)

parseLanguageDefault

private org.w3c.dom.Element parseLanguageDefault(java.lang.String command_str)

parseLevels

private org.w3c.dom.Element parseLevels(java.lang.String command_str)

parseMetadata

private org.w3c.dom.Element parseMetadata(CommandTokenizer tokenizer)

parseMetadataSpecial

private org.w3c.dom.Element parseMetadataSpecial(java.lang.String command_str)

parsePlugIn

private org.w3c.dom.Element parsePlugIn(java.lang.String command_str)

parseSearchType

private org.w3c.dom.Element parseSearchType(java.lang.String command_str)

parseSubCollection

private org.w3c.dom.Element parseSubCollection(java.lang.String command_str)

parseSubCollectionDefaultIndex

private org.w3c.dom.Element parseSubCollectionDefaultIndex(java.lang.String command_str)

parseSubCollectionIndex

private org.w3c.dom.Element parseSubCollectionIndex(java.lang.String command_str)

parseSuperCollection

private org.w3c.dom.Element parseSuperCollection(java.lang.String command_str)

pluginToString

private java.lang.String pluginToString(org.w3c.dom.Element command_element,
                                        boolean show_extracted_namespace)

searchtypeToString

private java.lang.String searchtypeToString(org.w3c.dom.Element command_element)

subcollectionToString

private java.lang.String subcollectionToString(org.w3c.dom.Element command_element,
                                               boolean show_extracted_namespace)

subcollectionDefaultIndexToString

private java.lang.String subcollectionDefaultIndexToString(org.w3c.dom.Element command_element)

subcollectionIndexesToString

private java.lang.String subcollectionIndexesToString(org.w3c.dom.Element command_element)

supercollectionToString

private java.lang.String supercollectionToString(org.w3c.dom.Element command_element)

unknownToString

private java.lang.String unknownToString(org.w3c.dom.Element command_element)

write

private void write(java.io.BufferedWriter writer,
                   java.lang.String str)
            throws java.io.IOException
Write the text to the buffer. This is used so we don't have to worry about storing intermediate String values just so we can calaulate length and offset.