From db20e7bba8b7001ea86dcd5d2754c1de31add29b Mon Sep 17 00:00:00 2001 From: gpawel <gpawel> Date: Wed, 13 Feb 2013 14:40:03 +0000 Subject: [PATCH] SP-485 BIS-286 : Java plugins for managed/dynamic properties and validation SVN: 28368 --- .../PredeployedPluginSelectionWidget.java | 14 ++++++++++++++ .../ui/script/AbstractScriptEditRegisterForm.java | 8 +++++--- .../DynamicPropertyCalculatorFactory.java | 2 +- .../entity_validation/EntityValidatorFactory.java | 2 +- .../ManagedPropertyEvaluatorFactory.java | 2 +- 5 files changed, 22 insertions(+), 6 deletions(-) diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/property_type/PredeployedPluginSelectionWidget.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/property_type/PredeployedPluginSelectionWidget.java index ee1aa14b2a1..18b9012dab7 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/property_type/PredeployedPluginSelectionWidget.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/property_type/PredeployedPluginSelectionWidget.java @@ -45,6 +45,8 @@ public class PredeployedPluginSelectionWidget extends "plugin", "plugins"); this.viewContext = viewContext; + + setAutoSelectFirst(false); } @Override @@ -90,9 +92,21 @@ public class PredeployedPluginSelectionWidget extends public void setSelectedValue(String value) { + clearSelections(); setSelection(convertItems(Collections.singletonList(value))); } + public String tryGetSelectedValue() + { + SimpleComboValue<String> selection = getValue(); + if (selection != null) + { + return selection.getValue(); + } + + return null; + } + private class ListPredeployedPluginsCallback extends PredeployedPluginSelectionWidget.ListItemsCallback { diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/script/AbstractScriptEditRegisterForm.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/script/AbstractScriptEditRegisterForm.java index 8a40225eb3e..64a4b5af8f0 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/script/AbstractScriptEditRegisterForm.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/script/AbstractScriptEditRegisterForm.java @@ -177,14 +177,14 @@ abstract public class AbstractScriptEditRegisterForm extends AbstractRegistratio .getSimpleValue(); } scriptExecution.update(nameField.isVisible() ? nameField.getValue() - : predeployedPluginsWidget.getValue().getValue(), scriptField + : predeployedPluginsWidget.tryGetSelectedValue(), scriptField .getValue(), pluginTypeOrNull); } }; scriptField.addListener(Events.Change, scriptParametersListener); nameField.addListener(Events.Change, scriptParametersListener); - predeployedPluginsWidget.addListener(Events.Change, scriptParametersListener); + predeployedPluginsWidget.addListener(Events.SelectionChange, scriptParametersListener); } private SelectionChangedListener<SimpleComboValue<ScriptType>> createScriptTypeChangedListener() @@ -241,7 +241,9 @@ abstract public class AbstractScriptEditRegisterForm extends AbstractRegistratio scriptField.setValidator(null); } - scriptExecution.update(nameField.getValue(), scriptField.getValue(), pluginType); + scriptExecution.update(nameField.isVisible() ? nameField.getValue() + : predeployedPluginsWidget.tryGetSelectedValue(), scriptField.getValue(), + pluginType); } private IValidable asValidable(final FormPanel panel) diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/dynamic_property/calculator/DynamicPropertyCalculatorFactory.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/dynamic_property/calculator/DynamicPropertyCalculatorFactory.java index 67ddea02c23..c95900ae58e 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/dynamic_property/calculator/DynamicPropertyCalculatorFactory.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/dynamic_property/calculator/DynamicPropertyCalculatorFactory.java @@ -42,9 +42,9 @@ public class DynamicPropertyCalculatorFactory implements IDynamicPropertyCalcula { if (false == StringUtils.isBlank(pluginDirectoryPath)) { - hotDeploymentController.addPluginDirectory(new File(pluginDirectoryPath)); this.predeployedPlugins = hotDeploymentController.getPluginMap(IDynamicPropertyCalculator.class); + hotDeploymentController.addPluginDirectory(new File(pluginDirectoryPath)); } else { this.predeployedPlugins = null; diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/entity_validation/EntityValidatorFactory.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/entity_validation/EntityValidatorFactory.java index b7757df6ee2..45a639fd2d6 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/entity_validation/EntityValidatorFactory.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/entity_validation/EntityValidatorFactory.java @@ -44,8 +44,8 @@ public class EntityValidatorFactory implements IEntityValidatorFactory { if (false == StringUtils.isBlank(pluginDirectoryPath)) { - hotDeploymentController.addPluginDirectory(new File(pluginDirectoryPath)); this.predeployedPlugins = hotDeploymentController.getPluginMap(IEntityValidator.class); + hotDeploymentController.addPluginDirectory(new File(pluginDirectoryPath)); } else { this.predeployedPlugins = null; diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/managed_property/ManagedPropertyEvaluatorFactory.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/managed_property/ManagedPropertyEvaluatorFactory.java index 6e7e7ceedb3..c9c55530a52 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/managed_property/ManagedPropertyEvaluatorFactory.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/managed_property/ManagedPropertyEvaluatorFactory.java @@ -49,9 +49,9 @@ public class ManagedPropertyEvaluatorFactory implements IManagedPropertyEvaluato { if (false == StringUtils.isBlank(pluginDirectoryPath)) { - hotDeploymentController.addPluginDirectory(new File(pluginDirectoryPath)); this.predeployedPlugins = hotDeploymentController.getPluginMap(IManagedPropertyEvaluator.class); + hotDeploymentController.addPluginDirectory(new File(pluginDirectoryPath)); } else { this.predeployedPlugins = null; -- GitLab