Changeset 5852


Ignore:
Timestamp:
2003-11-14T16:56:23+13:00 (20 years ago)
Author:
kjdon
Message:

fixed the annoying null pointer exception when there was an empty indexes line

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/gli/src/org/greenstone/gatherer/cdm/CollectionConfiguration.java

    r5832 r5852  
    568568    /** Retrieve or create the indexes Element. */
    569569    private Element getOrCreateElementByTagName(String name, String conditional_attribute, String required_value) {
    570     ///ystem.err.println("Get or create element by tag name: " + name);
    571570    Element document_element = document.getDocumentElement();
    572571    NodeList elements = document_element.getElementsByTagName(name);
     
    618617    }
    619618    NodeList index_elements = command_element.getElementsByTagName(INDEX_ELEMENT);
     619    if (index_elements.getLength() == 0) { // no indexes
     620        return "";
     621    }
    620622    // For each index, write its level, a colon, then concatenate its child content elements into a single comma separated list
    621623    int index_elements_length = index_elements.getLength();
     
    889891            command_element = document.createElement(UNKNOWN_ELEMENT);
    890892            MSMUtils.setValue(command_element, command_str);
    891             }
     893           }
    892894        }
    893895        // Or an empty line to remember for later
     
    10381040        StringTokenizer tokenizer = new StringTokenizer(command_str);
    10391041        String command = tokenizer.nextToken();
    1040         if(tokenizer.hasMoreTokens()) {
    1041         command_element = document.createElement(INDEXES_ELEMENT);
    1042         }
     1042        command_element = document.createElement(INDEXES_ELEMENT);
    10431043        command_element.setAttribute(ASSIGNED_ATTRIBUTE, (command.equals(INDEX_STR) ? TRUE_STR : FALSE_STR));
    10441044        command = null;
     1045        if(!tokenizer.hasMoreTokens()) {
     1046       
     1047        // there are no indexes
     1048        command_element.setAttribute(ASSIGNED_ATTRIBUTE, FALSE_STR);
     1049        command_element.setAttribute(MGPP_ATTRIBUTE, FALSE_STR); // for now
     1050        tokenizer = null;
     1051        return command_element;
     1052        }
     1053       
    10451054        while(tokenizer.hasMoreTokens()) {
    10461055        Element index_element = document.createElement(INDEX_ELEMENT);
Note: See TracChangeset for help on using the changeset viewer.