From 3703f2ca50fee37717a78a4d44ece8a459d4a796 Mon Sep 17 00:00:00 2001 From: gpawel <gpawel> Date: Wed, 6 Jul 2011 11:32:40 +0000 Subject: [PATCH] [LMS-2342] upload client: more and more intelligent triggering of Validation, refresh -> validation button renamed SVN: 22020 --- .../dss/client/api/gui/DataSetMetadataPanel.java | 14 +++++++------- .../client/api/gui/ExperimentPickerPanel.java | 16 +++++++++++++++- .../dss/client/api/gui/ValidatedFile.java | 11 ++++++++++- 3 files changed, 32 insertions(+), 9 deletions(-) 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 a9be0c569a7..f6aaa6c3ff5 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 41f8c71b5b2..91ed5dd05a9 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 bad6b4b7c41..75c0c21e08e 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(); } -- GitLab