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

Reply via email to