Changeset 12561
- Timestamp:
- 2006-08-25T14:14:02+12:00 (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gli/src/org/greenstone/gatherer/gui/MetadataSetDialog.java
r12241 r12561 8 8 import java.util.Vector; 9 9 import java.io.File; 10 import java.util.Observer; 11 import java.util.Observable; 10 12 11 13 import org.greenstone.gatherer.Configuration; … … 15 17 import org.greenstone.gatherer.metadata.MetadataSet; 16 18 import org.greenstone.gatherer.metadata.MetadataSetManager; 19 import org.greenstone.gatherer.gems.*; 17 20 18 21 public class MetadataSetDialog … … 34 37 private MetadataSetDialog set_dialog = null; 35 38 private boolean sets_changed = false; 39 40 private GEMS gems = null; 36 41 37 42 public MetadataSetDialog() { … … 123 128 public void actionPerformed(ActionEvent event) { 124 129 // do a pop up message 125 JOptionPane.showMessageDialog(Gatherer.g_man, Dictionary.get("MetadataSetDialog.Edit_Message"), Dictionary.get("MetadataSetDialog.Edit_Message_Title"), JOptionPane.INFORMATION_MESSAGE); 130 MetadataSet metadata_set = (MetadataSet) current_set_list.getSelectedValue(); 131 String metadata_path = metadata_set.getMetadataSetFile().toString(); 132 if (gems == null){ 133 gems = new GEMS(Configuration.gsdl_path,"",false,false); 134 } 135 gems.displayMetadataSet(metadata_path); 136 126 137 } 127 138 } … … 166 177 167 178 private class AddMetadataSetPrompt 168 extends ModalDialog {179 extends ModalDialog implements GEMSListener{ 169 180 170 181 private JDialog add_set_dialog; … … 175 186 176 187 private JButton add_button; 188 189 private JButton new_button; 190 191 private GEMSListener self; 177 192 178 193 public AddMetadataSetPrompt() { … … 183 198 setSize(ADD_SIZE); 184 199 setTitle(Dictionary.get("MetadataSetDialog.Add_Title")); 185 186 // Show the metadata sets (except extracted, exploded, and currently assigned sets) in the GLI metadata folder 187 ArrayList all_metadata_sets = MetadataSetManager.listMetadataSets(new File(Gatherer.getGLIMetadataDirectoryPath())); 188 ArrayList current_metadata_sets = MetadataSetManager.getMetadataSets(); 189 DynamicListModel valid_sets_model = new DynamicListModel(); 190 for (int i=0; i<all_metadata_sets.size(); i++) { 191 MetadataSet set = (MetadataSet) all_metadata_sets.get(i); 192 if (set.getNamespace().equals(MetadataSetManager.EXTRACTED_METADATA_NAMESPACE) || set.getNamespace().equals(MetadataSetManager.EXPLODED_METADATA_NAMESPACE)) { 193 continue; 194 } 195 // indexOf uses the equals() method, which for MetadataSets compares the toString() output, not the objects 196 if (current_metadata_sets.indexOf(set)!=-1) { 197 continue; 198 } 199 valid_sets_model.addElement(set); 200 } 200 self = this; 201 201 202 202 203 JPanel center_pane = new JPanel(); … … 205 206 sets_label.setOpaque(false); 206 207 207 available_sets_list = new JList( valid_sets_model);208 available_sets_list = new JList(getValidSetModel()); 208 209 available_sets_list.addListSelectionListener(new AvailableSetListSelectionListener()); 209 210 available_sets_list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); … … 221 222 add_button = new GLIButton(Dictionary.get("MetadataSetDialog.Add_Set"), Dictionary.get("MetadataSetDialog.Add_Set_Tooltip")); 222 223 add_button.setEnabled(false); 224 225 new_button = new GLIButton(Dictionary.get("MetadataSetDialog.New_Set"), Dictionary.get("MetadataSetDialog.New_Set_Tooltip")); 226 223 227 JButton browse_button = new GLIButton(Dictionary.get("MetadataSetDialog.Browse"), Dictionary.get("MetadataSetDialog.Browse_Tooltip")); 224 228 browse_button.setEnabled(true); … … 230 234 public void actionPerformed(ActionEvent event) { 231 235 cancelled = true; 236 if (gems != null) 237 gems.removeGEMSListener(self); 232 238 add_set_dialog.dispose(); 233 239 } 234 240 }); 235 241 242 new_button.addActionListener(new ActionListener() { 243 public void actionPerformed(ActionEvent event) { 244 if (gems == null){ 245 gems = new GEMS(Configuration.gsdl_path,"",false,false); 246 } 247 gems.newMetadataSet(); 248 gems.addGEMSListener(self); 249 } 250 }); 251 252 236 253 // Layout 237 254 sets_pane.setLayout(new BorderLayout()); … … 249 266 250 267 button_pane.setBorder(BorderFactory.createEmptyBorder(5,0,0,0)); 251 button_pane.setLayout(new GridLayout(1, 3,5,0));268 button_pane.setLayout(new GridLayout(1,4,5,0)); 252 269 button_pane.add(add_button); 270 button_pane.add(new_button); 253 271 button_pane.add(browse_button); 254 272 button_pane.add(cancel_button); … … 267 285 268 286 287 } 288 289 public DynamicListModel getValidSetModel(){ 290 // Show the metadata sets (except extracted, exploded, and currently assigned sets) in the GLI metadata folder 291 ArrayList all_metadata_sets = MetadataSetManager.listMetadataSets(new File(Gatherer.getGLIMetadataDirectoryPath())); 292 ArrayList current_metadata_sets = MetadataSetManager.getMetadataSets(); 293 DynamicListModel valid_sets_model = new DynamicListModel(); 294 for (int i=0; i<all_metadata_sets.size(); i++) { 295 MetadataSet set = (MetadataSet) all_metadata_sets.get(i); 296 if (set.getNamespace().equals(MetadataSetManager.EXTRACTED_METADATA_NAMESPACE) || set.getNamespace().equals(MetadataSetManager.EXPLODED_METADATA_NAMESPACE)) { 297 continue; 298 } 299 // indexOf uses the equals() method, which for MetadataSets compares the toString() output, not the objects 300 if (current_metadata_sets.indexOf(set)!=-1) { 301 continue; 302 } 303 valid_sets_model.addElement(set); 304 } 305 306 return valid_sets_model; 307 } 308 309 310 public void gemsIsClosed(){ 311 available_sets_list.setModel(getValidSetModel()); 269 312 } 270 313
Note:
See TracChangeset
for help on using the changeset viewer.