Changeset 12838


Ignore:
Timestamp:
2006-09-25T10:15:10+12:00 (18 years ago)
Author:
kjdon
Message:

now checks for empty name and name that has already been used

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/gli/src/org/greenstone/gatherer/gems/NewMetadataElementNamePrompt.java

    r12734 r12838  
    5454    private JTextField name_textfield = null;
    5555    private JDialog prompt;
    56 
    57     public NewMetadataElementNamePrompt(Frame parent, boolean subelement) {
     56    private Object model;
     57    public NewMetadataElementNamePrompt(Frame parent, boolean subelement, Object model) {
    5858    super(parent, true);
    5959    setSize(SIZE);
    6060    prompt = this;
    61    
     61    this.model = model;
    6262    JPanel content_pane = (JPanel) getContentPane();
    6363    content_pane.setOpaque(true);
     
    7878            if (e.getKeyCode() == KeyEvent.VK_ENTER) {
    7979            //same as clicking OK button
    80             element_name = name_textfield.getText();
    81             prompt.dispose();
     80            validateElementName();
    8281            }
    8382        }
     
    9998    ok_button.addActionListener(new ActionListener() {
    10099        public void actionPerformed(ActionEvent event) {
    101             element_name = name_textfield.getText();
    102             prompt.dispose();
     100            validateElementName();
    103101        }
    104102        });
     
    129127    }
    130128
     129    private void validateElementName() {
     130    String name = name_textfield.getText();
     131    if (name.equals("")) {
     132        JOptionPane.showMessageDialog(prompt,Dictionary.get("GEMS.NewMetadataElementNamePrompt.EmptyName_Error_Message"), Dictionary.get("GEMS.NewMetadataElementNamePrompt.Name_Error"), JOptionPane.ERROR_MESSAGE);
     133        return;
     134    }
     135    boolean already_used = false;
     136    if (model instanceof MetadataSetModel) {
     137        already_used = ((MetadataSetModel)model).doesChildWithThisNameExist(name);
     138    } else if (model instanceof MetadataElementModel) {
     139        already_used = ((MetadataElementModel)model).doesChildWithThisNameExist(name);
     140    }
     141    if (!already_used) {
     142        element_name = name;
     143        prompt.dispose();
     144    } else {
     145        JOptionPane.showMessageDialog(prompt,Dictionary.get("GEMS.NewMetadataElementNamePrompt.Name_Error_Message"), Dictionary.get("GEMS.NewMetadataElementNamePrompt.Name_Error"), JOptionPane.ERROR_MESSAGE);
     146    }
     147    }
    131148}
Note: See TracChangeset for help on using the changeset viewer.