Changeset 4370
- Timestamp:
- 2003-05-27T17:00:14+12:00 (21 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gli/src/org/greenstone/gatherer/msm/GDMDocument.java
r4365 r4370 67 67 } 68 68 catch (Exception error) { 69 69 // Poorly formed, or completely invalid metadata.xml file! 70 70 } 71 71 } … … 78 78 System.err.println("Add '" + metadata + "' to " + (filename != null ? filename : "directory.")); 79 79 try { 80 80 // Retrieve the document element. 81 81 Element directorymetadata_element = base_document.getDocumentElement(); 82 82 // Iterate through the filesets looking for one that matches the given filename. 83 83 Element fileset_element = null; 84 boolean found = false; 84 85 NodeList fileset_elements = directorymetadata_element.getElementsByTagName(FILESET_ELEMENT); 85 for(int i = 0; i < fileset_elements.getLength(); i++) {86 for(int i = 0; !found && i < fileset_elements.getLength(); i++) { 86 87 fileset_element = (Element) fileset_elements.item(i); 87 88 NodeList filename_elements = fileset_element.getElementsByTagName(FILENAME_ELEMENT); 88 boolean found = false;89 89 for(int j = 0; !found && j < filename_elements.getLength(); j++) { 90 90 Element filename_element = (Element) filename_elements.item(j); … … 109 109 } 110 110 fileset_elements = null; 111 111 // If we still haven't found an existing fileset, then its time to create one. 112 112 if(fileset_element == null) { 113 113 System.err.println("Creating a new fileset."); … … 367 367 Element filename_element = (Element) filename_elements.item(j); 368 368 String filename_text = MSMUtils.getValue(filename_element); 369 if((filename != null && filename.matches(filename_text) ) || filename_text.equals(DIRECTORY_FILENAME)) {369 if((filename != null && filename.matches(filename_text) && !filename.equals(DIRECTORY_FILENAME)) || (filename == null && filename_text.equals(DIRECTORY_FILENAME))) { 370 370 // Retrieve the Metadata Element for this fileset, and iterate through them looking for the one which we are to remove. 371 371 NodeList description_elements = fileset_element.getElementsByTagName("Description"); … … 373 373 Element description_element = (Element) description_elements.item(k); 374 374 NodeList metadata_elements = description_element.getElementsByTagName("Metadata"); 375 for(int l = 0; !found && !make_next_metadata_element_overwrite&& l < metadata_elements.getLength(); l++) {375 for(int l = 0; (!found || !make_next_metadata_element_overwrite) && l < metadata_elements.getLength(); l++) { 376 376 Element metadata_element = (Element) metadata_elements.item(l); 377 377 String element = metadata_element.getAttribute("name"); … … 386 386 // If this was the first metadata with this element found, and it was set to overwrite, then we have to ensure that the next metadata with this element found (if any) is changed to be overwrite now. 387 387 if(first_metadata_element_found && !metadata.accumulates()) { 388 System.err.println("First of this element found!"); 388 389 make_next_metadata_element_overwrite = true; 389 390 } … … 391 392 // If this was the first metadata we've found with the element of the one to be removed set first found to false. 392 393 else if(first_metadata_element_found) { 394 System.err.println("Found a matching element: " + element + "=" + value); 393 395 first_metadata_element_found = false; 394 396 } 395 397 // Otherwise we should make this metadata overwrite as requested. 396 398 else if(make_next_metadata_element_overwrite) { 399 System.err.println("Changing to overwrite: " + element + "=" + value); 397 400 metadata_element.setAttribute(MODE_ATTRIBUTE, ""); 398 401 }
Note:
See TracChangeset
for help on using the changeset viewer.