Changeset 8655


Ignore:
Timestamp:
2004-11-24T15:43:01+13:00 (19 years ago)
Author:
mdewsnip
Message:

Missed a couple of cases for escaping and unescaping square brackets in metadata elements.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/gli/src/org/greenstone/gatherer/metadata/MetadataXMLFile.java

    r8433 r8655  
    237237
    238238        // Square brackets need to be escaped because they are a special character in Greenstone
    239         String metadata_element_value = XMLTools.getElementTextValue(current_metadata_element);
    240         metadata_element_value = metadata_element_value.replaceAll("[", "[");
    241         metadata_element_value = metadata_element_value.replaceAll("]", "]");
    242 
    243         MetadataValueTreeNode metadata_value_tree_node = metadata_element.getMetadataValueTreeNode(metadata_element_value);
     239        String metadata_value_string = XMLTools.getElementTextValue(current_metadata_element);
     240        metadata_value_string = metadata_value_string.replaceAll("[", "[");
     241        metadata_value_string = metadata_value_string.replaceAll("]", "]");
     242
     243        MetadataValueTreeNode metadata_value_tree_node = metadata_element.getMetadataValueTreeNode(metadata_value_string);
    244244
    245245        // If there is no metadata value tree node for this value, create it
    246246        if (metadata_value_tree_node == null) {
    247             DebugStream.println("Note: No value tree node for metadata value \"" + metadata_element_value + "\"");
    248             metadata_element.addMetadataValue(metadata_element_value);
    249             metadata_value_tree_node = metadata_element.getMetadataValueTreeNode(metadata_element_value);
     247            DebugStream.println("Note: No value tree node for metadata value \"" + metadata_value_string + "\"");
     248            metadata_element.addMetadataValue(metadata_value_string);
     249            metadata_value_tree_node = metadata_element.getMetadataValueTreeNode(metadata_value_string);
    250250        }
    251251
     
    299299    }
    300300
     301    // Square brackets need to be escaped because they are a special character in Greenstone
     302    String metadata_value_string = metadata_value.getFullValue();
     303    metadata_value_string = metadata_value_string.replaceAll("\\[", "[");
     304    metadata_value_string = metadata_value_string.replaceAll("\\]", "]");
     305   
    301306    // Read all the FileSet elements in the file
    302307    NodeList fileset_elements_nodelist = document.getElementsByTagName(FILESET_ELEMENT);
     
    325330        // Find the Metadata element to delete from the fileset
    326331        String metadata_element_name_full = metadata_value.getMetadataElement().getFullName();
    327         String metadata_element_value = metadata_value.getFullValue();
    328332        NodeList metadata_elements_nodelist = current_fileset_element.getElementsByTagName(METADATA_ELEMENT);
    329333        for (int k = 0; k < metadata_elements_nodelist.getLength(); k++) {
     
    337341
    338342        // Check the metadata element value matches
    339         String current_metadata_element_value = XMLTools.getElementTextValue(current_metadata_element);
    340         if (!current_metadata_element_value.equals(metadata_element_value)) {
     343        String current_metadata_value_string = XMLTools.getElementTextValue(current_metadata_element);
     344        if (!current_metadata_value_string.equals(metadata_value_string)) {
    341345            continue;
    342346        }
     
    407411        }
    408412
    409         String metadata_element_value = XMLTools.getElementTextValue(current_metadata_element);
    410         metadata_element.addMetadataValue(metadata_element_value);
     413        // Square brackets need to be escaped because they are a special character in Greenstone
     414        String metadata_value_string = XMLTools.getElementTextValue(current_metadata_element);
     415        metadata_value_string = metadata_value_string.replaceAll("&#091;", "[");
     416        metadata_value_string = metadata_value_string.replaceAll("&#093;", "]");
     417
     418        metadata_element.addMetadataValue(metadata_value_string);
    411419    }
    412420
Note: See TracChangeset for help on using the changeset viewer.