java.lang.Object
org.greenstone.gatherer.util.StaticStrings
org.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
| 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 |
|
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 |
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
CollectionConfiguration
public CollectionConfiguration(java.io.File collect_config_file)
- Public Methods
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.