diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/client/api/gui/DataSetMetadataPanel.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/client/api/gui/DataSetMetadataPanel.java index a9be0c569a79a55e38de8f052cb7d6101387fbbe..f6aaa6c3ff559d7d09c2c470231393c536d493c8 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/client/api/gui/DataSetMetadataPanel.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/client/api/gui/DataSetMetadataPanel.java @@ -114,7 +114,7 @@ public class DataSetMetadataPanel extends JPanel implements Observer { if (file != null) { - if (file.getFile().exists() && file.validationRequired()) + if (file.validationRequired()) { file.markValidation(); return true; @@ -162,7 +162,7 @@ public class DataSetMetadataPanel extends JPanel implements Observer private final JButton dataSetFileButton; - private final JButton dataSetFileRefreshButton; + private final JButton dataSetFileValidateButton; private final JRadioButton experimentButton; @@ -211,7 +211,7 @@ public class DataSetMetadataPanel extends JPanel implements Observer { EMPTY_FILE_SELECTION }; dataSetFileComboBox = new JComboBox(initialOptions); dataSetFileButton = new JButton("Browse..."); - dataSetFileRefreshButton = new JButton("Refresh"); + dataSetFileValidateButton = new JButton("Validate"); dataSetFileLabel = new JLabel("File:", JLabel.TRAILING); validationErrors = new ErrorsPanel(mainWindow); @@ -362,9 +362,9 @@ public class DataSetMetadataPanel extends JPanel implements Observer } } }); - dataSetFileRefreshButton.setPreferredSize(new Dimension(90, BUTTON_HEIGHT)); - dataSetFileRefreshButton.setToolTipText("File will be refreshed and revalidated"); - dataSetFileRefreshButton.addActionListener(new ActionListener() + dataSetFileValidateButton.setPreferredSize(new Dimension(90, BUTTON_HEIGHT)); + dataSetFileValidateButton.setToolTipText("File will be refreshed and revalidated"); + dataSetFileValidateButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { @@ -377,7 +377,7 @@ public class DataSetMetadataPanel extends JPanel implements Observer } }); addRow(1, dataSetFileLabel, dataSetFileComboBox, dataSetFileButton, - dataSetFileRefreshButton); + dataSetFileValidateButton); // The owner row ownerIdLabel.setPreferredSize(new Dimension(LABEL_WIDTH, BUTTON_HEIGHT)); diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/client/api/gui/ExperimentPickerPanel.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/client/api/gui/ExperimentPickerPanel.java index 41f8c71b5b2294f724eff6730bb839ef5ede16ee..91ed5dd05a99707789987d2f05e4976dae583e75 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/client/api/gui/ExperimentPickerPanel.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/client/api/gui/ExperimentPickerPanel.java @@ -37,7 +37,19 @@ public class ExperimentPickerPanel extends JPanel { private static final long serialVersionUID = -8093481985680332715L; - private final JTextField textField = new JTextField(); + private static class JTextFieldFireActionPerformedExposed extends JTextField + { + private static final long serialVersionUID = -7656053161479466883L; + + @Override + public void fireActionPerformed() + { + super.fireActionPerformed(); + } + } + + private final JTextFieldFireActionPerformedExposed textField = + new JTextFieldFireActionPerformedExposed(); private final JButton button = new JButton("..."); @@ -59,6 +71,7 @@ public class ExperimentPickerPanel extends JPanel if (experimentId != null) { textField.setText(experimentId); + textField.fireActionPerformed(); } } }); @@ -86,6 +99,7 @@ public class ExperimentPickerPanel extends JPanel public void addFocusListener(FocusListener focusListener) { textField.addFocusListener(focusListener); + button.addFocusListener(focusListener); } @Override diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/client/api/gui/ValidatedFile.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/client/api/gui/ValidatedFile.java index bad6b4b7c41345464a92d682c63514ad604249ec..75c0c21e08ee87712160aa61e3520df8ca76ee2b 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/client/api/gui/ValidatedFile.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/client/api/gui/ValidatedFile.java @@ -27,6 +27,8 @@ public class ValidatedFile private long lastValidated; + private boolean fileExisted = true; + public ValidatedFile(File file) { this.file = file; @@ -45,11 +47,18 @@ public class ValidatedFile public boolean validationRequired() { - return lastValidated < file.lastModified(); + if (fileExisted) + { + return false == file.exists() || lastValidated < file.lastModified(); + } else + { + return file.exists(); + } } public void markValidation() { + fileExisted = file.exists(); this.lastValidated = file.lastModified(); }