Changeset 11344


Ignore:
Timestamp:
2006-03-13T15:26:05+13:00 (18 years ago)
Author:
mdewsnip
Message:

Added an empty metadata set for putting exploded metadata into, and added the "-metadata_set" option into the Explode Metadata Database prompt.

Location:
trunk/gli
Files:
1 added
3 edited

Legend:

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

    r11283 r11344  
    6969    /** An element of the argument type enumeration specifying a regular expression text field. */
    7070    static final public byte REGEXP = 8;
     71    /** An element of the argument type enumeration specifying a metadata set combobox control. */
     72    static final public byte METADATA_SET_NAMESPACE = 9;
    7173    /** true if this argument should actually be hidden within the GLI. This is important for arguments such as import dir or other location critical arguments. */
    7274    private boolean hidden_gli = false;
  • trunk/gli/src/org/greenstone/gatherer/gui/ArgumentControl.java

    r11060 r11344  
    3939import java.awt.*;
    4040import java.awt.event.*;
     41import java.io.*;
    4142import java.util.*;
    4243import javax.swing.*;
     
    4546
    4647import org.greenstone.gatherer.Configuration;
     48import org.greenstone.gatherer.Gatherer;
    4749import org.greenstone.gatherer.cdm.Argument;
     50import org.greenstone.gatherer.util.StaticStrings;
    4851import org.greenstone.gatherer.util.Utility;
     52import org.greenstone.gatherer.metadata.MetadataSet;
    4953import org.greenstone.gatherer.metadata.MetadataSetManager;
    5054
     
    181185        value_control = textfield;
    182186        break;
     187    case Argument.METADATA_SET_NAMESPACE:
     188        JComboBox metadata_sets_combobox = new JComboBox();
     189        metadata_sets_combobox.setEnabled(enable);
     190        metadata_sets_combobox.setToolTipText(tooltip);
     191        metadata_sets_combobox.setBackground(enable ? Color.white : Color.lightGray);
     192
     193        // !! Hack for exploding metadata databases: add the (empty) exploded metadata set
     194        File exploded_metadata_set_file = new File(Gatherer.getGLIMetadataDirectoryPath() + "exp" + StaticStrings.METADATA_SET_EXTENSION);
     195        MetadataSet exploded_metadata_set = new MetadataSet(exploded_metadata_set_file);
     196        Gatherer.c_man.importMetadataSet(exploded_metadata_set);
     197        metadata_sets_combobox.addItem(exploded_metadata_set);
     198
     199        // All the loaded metadata sets except the extracted metadata set are applicable
     200        ArrayList metadata_sets = MetadataSetManager.getMetadataSets();
     201        for (int i = metadata_sets.size() - 1; i >= 0; i--) {
     202        MetadataSet metadata_set = (MetadataSet) metadata_sets.get(i);
     203        if (!(metadata_set.getNamespace().equals(MetadataSetManager.EXTRACTED_METADATA_NAMESPACE))) {
     204            metadata_sets_combobox.addItem(metadata_set);
     205        }
     206        }
     207
     208        // Layout
     209        add(metadata_sets_combobox, BorderLayout.CENTER);
     210        // And remember
     211        value_control = metadata_sets_combobox;
     212        break;
    183213    }
    184214
     
    222252        Object selected_item = ((JComboBox)value_control).getSelectedItem();
    223253        if (selected_item != null) {
    224         value = selected_item.toString();
     254        if (argument.getType() == Argument.METADATA_SET_NAMESPACE) {
     255            value = ((MetadataSet) selected_item).getNamespace();
     256        }
     257        else {
     258            value = selected_item.toString();
     259        }
    225260        }
    226261    }
  • trunk/gli/src/org/greenstone/gatherer/gui/ExplodeMetadataPrompt.java

    r11060 r11344  
    193193        Argument argument = options.getArgument(i);
    194194        if(!argument.isHiddenGLI() && argument.getModeLevel() <= current_mode) {
     195        if (argument.getName().equals("metadata_set")) {
     196            argument.setType(Argument.METADATA_SET_NAMESPACE);
     197        }
    195198        // by default, all args are disabled, and no value
    196199        ArgumentControl argument_control = new ArgumentControl(argument,false, null);
Note: See TracChangeset for help on using the changeset viewer.