Martin Peřina has uploaded a new change for review. Change subject: tools: Adds UserDefinedVMProperties validator to engine-config ......................................................................
tools: Adds UserDefinedVMProperties validator to engine-config Adds validator of UserDefinedVMProperties validator to engine-config to ensure that only valid values will be filled in UserDefinedVMProperties. Change-Id: I503c00fe005b35314af72564059242a95edb4aa6 Bug-Url: https://bugzilla.redhat.com/962666 Signed-off-by: Martin Perina <mper...@redhat.com> --- M backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/customprop/CustomPropertiesUtils.java M backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/customprop/VmPropertiesUtils.java A backend/manager/tools/src/main/java/org/ovirt/engine/core/config/entity/helper/UserDefinedVMPropertiesValueHelper.java M packaging/etc/engine-config/engine-config.properties 4 files changed, 46 insertions(+), 2 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/14/14914/1 diff --git a/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/customprop/CustomPropertiesUtils.java b/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/customprop/CustomPropertiesUtils.java index e08f2cf..e0035c6 100644 --- a/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/customprop/CustomPropertiesUtils.java +++ b/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/customprop/CustomPropertiesUtils.java @@ -98,7 +98,7 @@ return versions; } - protected boolean syntaxErrorInProperties(String properties) { + public boolean syntaxErrorInProperties(String properties) { return !VALIDATION_PATTERN.matcher(properties).matches(); } diff --git a/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/customprop/VmPropertiesUtils.java b/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/customprop/VmPropertiesUtils.java index 360d3d9..4d63929 100644 --- a/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/customprop/VmPropertiesUtils.java +++ b/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/customprop/VmPropertiesUtils.java @@ -349,4 +349,13 @@ vmStatic.setPredefinedProperties(properties.getPredefinedProperties()); vmStatic.setUserDefinedProperties(properties.getUseDefinedProperties()); } + + /** + * Returns the string describing format of VM properties specification + * + * @return the string describing format of VM properties specification + */ + public String getVmPropSpec() { + return VALIDATION_STR; + } } diff --git a/backend/manager/tools/src/main/java/org/ovirt/engine/core/config/entity/helper/UserDefinedVMPropertiesValueHelper.java b/backend/manager/tools/src/main/java/org/ovirt/engine/core/config/entity/helper/UserDefinedVMPropertiesValueHelper.java new file mode 100644 index 0000000..f2b6901 --- /dev/null +++ b/backend/manager/tools/src/main/java/org/ovirt/engine/core/config/entity/helper/UserDefinedVMPropertiesValueHelper.java @@ -0,0 +1,35 @@ +package org.ovirt.engine.core.config.entity.helper; + +import org.ovirt.engine.core.config.entity.ConfigKey; +import org.ovirt.engine.core.utils.customprop.VmPropertiesUtils; + +/** + * Validates user defined VM properties definition entered through engine-config tool + */ +public class UserDefinedVMPropertiesValueHelper extends StringValueHelper { + /** + * {@inheritDoc} + */ + @Override + public ValidationResult validate(ConfigKey key, String value) { + boolean result = true; + String errMsg = null; + + if (VmPropertiesUtils.getInstance().syntaxErrorInProperties(value)) { + result = false; + errMsg = + "Invalid syntax, user defined VM properties specification should conform to " + + VmPropertiesUtils.getInstance().getVmPropSpec(); + } + return new ValidationResult(result, errMsg); + } + + /** + * {@inheritDoc} + */ + @Override + public String getHelpNote(ConfigKey key) { + return "User defined VM properties specification should conform to " + + VmPropertiesUtils.getInstance().getVmPropSpec(); + } +} diff --git a/packaging/etc/engine-config/engine-config.properties b/packaging/etc/engine-config/engine-config.properties index 6dce4d2..43ff9b2 100644 --- a/packaging/etc/engine-config/engine-config.properties +++ b/packaging/etc/engine-config/engine-config.properties @@ -156,7 +156,7 @@ TimeToReduceFailedRunOnVdsInMinutes.description="Time to Reduce Failed Run on Host (in minutes)" TimeToReduceFailedRunOnVdsInMinutes.type=Integer UserDefinedVMProperties.description="User defined VM properties" -UserDefinedVMProperties.type=CustomProperties +UserDefinedVMProperties.type=UserDefinedVMProperties UserRefreshRate.description="Refresh Rate of Users Data from Active Directory (in seconds)" UserRefreshRate.type=Integer UtilizationThresholdInPercent.description="The Utilization Threshold (in percent)" -- To view, visit http://gerrit.ovirt.org/14914 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I503c00fe005b35314af72564059242a95edb4aa6 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Martin Peřina <mper...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches