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 ee1aa14b2a12f8464b7fbd8e4e69a4611df145e9..18b9012dab78673796cfdd9d4db1ac11fcdb52ac 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 8a40225eb3e2697ed6982f2222b3c990c3c9a91f..64a4b5af8f04151ed1bcdf428648f8606d9afb5b 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 67ddea02c235f53eba49841a44298fc6ab7964f6..c95900ae58e8d5fec50495fc759ab3d038f96e36 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 b7757df6ee293b0e93e198db7fdaa8ab5ac6b6a1..45a639fd2d657299fd82c2dab6b270c02a08cd67 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 6e7e7ceedb3a23ef7417c2a24b3c545d7f2b963d..c9c55530a52227e56ba744616f75f65ed8322321 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;