Changeset 10971
- Timestamp:
- 2005-12-02T15:11:04+13:00 (18 years ago)
- Location:
- trunk/gli/src/org/greenstone/gatherer/metadata
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gli/src/org/greenstone/gatherer/metadata/MetadataElement.java
r9551 r10971 31 31 import org.greenstone.gatherer.Configuration; 32 32 import org.greenstone.gatherer.util.XMLTools; 33 import org.greenstone.gatherer.util.StaticStrings; 33 34 import org.w3c.dom.*; 34 35 … … 41 42 private Element metadata_element_element = null; 42 43 private MetadataValueTreeModel metadata_value_tree_model = null; 43 44 /* this is true if the metadata element comes with a pre defined set of values */ 45 private boolean predefined_values = false; 46 /* This restricts the user to only the predefined values */ 47 private boolean restricted_values = false; 44 48 45 49 public MetadataElement(String metadata_element_name_full, Element metadata_element_element) … … 48 52 this.metadata_element_element = metadata_element_element; 49 53 this.metadata_value_tree_model = new MetadataValueTreeModel(this); 50 } 51 52 54 if (metadata_element_element.getAttribute(StaticStrings.PREDEFINED_METADATA_ATTRIBUTE).equals("true")) { 55 predefined_values = true; 56 loadOptionList(); 57 if (metadata_element_element.getAttribute(StaticStrings.RESTRICTED_METADATA_ATTRIBUTE).equals("true")) { 58 // cant have restricted values if no predefined values 59 restricted_values = true; 60 } 61 } 62 } 63 64 // do this better 65 protected boolean loadOptionList() { 66 NodeList values = metadata_element_element.getElementsByTagName("Value"); 67 for (int i=0; i<values.getLength(); i++) { 68 String val = XMLTools.getValue(values.item(i)); 69 addMetadataValue(val); 70 } 71 return true; 72 } 53 73 public MetadataValueTreeNode addMetadataValue(String metadata_value) 54 74 { … … 170 190 } 171 191 192 public boolean isPredefined() { 193 return predefined_values; 194 } 195 196 public boolean isRestricted() { 197 return restricted_values; 198 } 172 199 173 200 public boolean isSubelement() -
trunk/gli/src/org/greenstone/gatherer/metadata/MetadataValueTableModel.java
r10612 r10971 220 220 Gatherer.g_man.wait(true); 221 221 222 223 // Check for a restricted metadata element 224 MetadataElement metadata_element = metadata_value_table_entry.getMetadataElement(); 225 if (!new_metadata_value.equals("") && metadata_element.isRestricted()) { 226 if (metadata_element.getMetadataValueTreeNode((String)new_metadata_value)==null) { 227 WarningDialog dialog = new WarningDialog("warning.InvalidMetadata", "InvalidMetadata.Title", Dictionary.get("InvalidMetadata.Message"), null, false); 228 int dialog_result = dialog.display(); 229 dialog.dispose(); 230 Gatherer.g_man.wait(false); 231 return; 232 233 } 234 } 235 222 236 // Metadata value added 223 if (old_metadata_value.equals("") && !new_metadata_value.equals("")) { 224 237 if (old_metadata_value.equals("") && !new_metadata_value.equals("")) { 238 // If we're adding metadata to folders display the warning 225 239 if (!file_nodes[0].isLeaf()) { 226 240 WarningDialog dialog = new WarningDialog("warning.DirectoryLevelMetadata", "DirectoryLevelMetadata.Title", Dictionary.get("DirectoryLevelMetadata.Message"), null, true); … … 233 247 } 234 248 235 MetadataElement metadata_element = metadata_value_table_entry.getMetadataElement();236 249 MetadataValueTreeNode metadata_value_tree_node = metadata_element.addMetadataValue((String) new_metadata_value); 237 250 MetadataValue metadata_value = new MetadataValue(metadata_element, metadata_value_tree_node); … … 247 260 // Metadata value replaced 248 261 else { 249 MetadataElement metadata_element = metadata_value_table_entry.getMetadataElement();250 262 MetadataValueTreeNode metadata_value_tree_node = metadata_element.addMetadataValue((String) new_metadata_value); 251 263 MetadataValue metadata_value = new MetadataValue(metadata_element, metadata_value_tree_node);
Note:
See TracChangeset
for help on using the changeset viewer.