Martin Betak has uploaded a new change for review.

Change subject: tools: Validate TimeZone values in engine-config
......................................................................

tools: Validate TimeZone values in engine-config

Added validation for DefaultWindowsTimeZone and DefaultGeneralTimeZone
keys.

Change-Id: I78c056128f1fcd607e9baa882e24544c99ad7cd2
Signed-off-by: Martin Betak <mbe...@redhat.com>
---
A 
backend/manager/tools/src/main/java/org/ovirt/engine/core/config/entity/helper/BaseTimeZoneValueHelper.java
A 
backend/manager/tools/src/main/java/org/ovirt/engine/core/config/entity/helper/GeneralTimeZoneValueHelper.java
A 
backend/manager/tools/src/main/java/org/ovirt/engine/core/config/entity/helper/WindowsTimeZoneValueHelper.java
M packaging/etc/engine-config/engine-config.properties
4 files changed, 73 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/01/20501/1

diff --git 
a/backend/manager/tools/src/main/java/org/ovirt/engine/core/config/entity/helper/BaseTimeZoneValueHelper.java
 
b/backend/manager/tools/src/main/java/org/ovirt/engine/core/config/entity/helper/BaseTimeZoneValueHelper.java
new file mode 100644
index 0000000..4b34c9a
--- /dev/null
+++ 
b/backend/manager/tools/src/main/java/org/ovirt/engine/core/config/entity/helper/BaseTimeZoneValueHelper.java
@@ -0,0 +1,41 @@
+package org.ovirt.engine.core.config.entity.helper;
+
+import org.ovirt.engine.core.common.TimeZoneType;
+import org.ovirt.engine.core.config.EngineConfigCLIParser;
+import org.ovirt.engine.core.config.entity.ConfigKey;
+
+public abstract class BaseTimeZoneValueHelper extends BaseValueHelper {
+
+    @Override
+    public String getValue(String value) throws Exception {
+        return value;
+    }
+
+    @Override
+    public String setValue(String value) throws Exception {
+        return value;
+    }
+
+    @Override
+    public ValidationResult validate(ConfigKey key, String value) {
+        if (getTimeZoneType().getTimeZoneList().containsKey(value)) {
+            return new ValidationResult(true);
+        }
+
+        return new ValidationResult(false, value + " is not a valid " + 
getHelpNoteType());
+    }
+
+    @Override
+    public void setParser(EngineConfigCLIParser parser) {
+        // NOP
+    }
+
+    @Override
+    public String getHelpNote(ConfigKey key) {
+        return getHelpNoteByType(key, getHelpNoteType());
+    }
+
+    public abstract TimeZoneType getTimeZoneType();
+
+    public abstract String getHelpNoteType();
+}
diff --git 
a/backend/manager/tools/src/main/java/org/ovirt/engine/core/config/entity/helper/GeneralTimeZoneValueHelper.java
 
b/backend/manager/tools/src/main/java/org/ovirt/engine/core/config/entity/helper/GeneralTimeZoneValueHelper.java
new file mode 100644
index 0000000..1090978
--- /dev/null
+++ 
b/backend/manager/tools/src/main/java/org/ovirt/engine/core/config/entity/helper/GeneralTimeZoneValueHelper.java
@@ -0,0 +1,15 @@
+package org.ovirt.engine.core.config.entity.helper;
+
+import org.ovirt.engine.core.common.TimeZoneType;
+
+public class GeneralTimeZoneValueHelper extends BaseTimeZoneValueHelper {
+    @Override
+    public TimeZoneType getTimeZoneType() {
+        return TimeZoneType.GENERAL_TIMEZONE;
+    }
+
+    @Override
+    public String getHelpNoteType() {
+        return "time zone";
+    }
+}
diff --git 
a/backend/manager/tools/src/main/java/org/ovirt/engine/core/config/entity/helper/WindowsTimeZoneValueHelper.java
 
b/backend/manager/tools/src/main/java/org/ovirt/engine/core/config/entity/helper/WindowsTimeZoneValueHelper.java
new file mode 100644
index 0000000..0f92d56
--- /dev/null
+++ 
b/backend/manager/tools/src/main/java/org/ovirt/engine/core/config/entity/helper/WindowsTimeZoneValueHelper.java
@@ -0,0 +1,15 @@
+package org.ovirt.engine.core.config.entity.helper;
+
+import org.ovirt.engine.core.common.TimeZoneType;
+
+public class WindowsTimeZoneValueHelper extends BaseTimeZoneValueHelper {
+    @Override
+    public TimeZoneType getTimeZoneType() {
+        return TimeZoneType.WINDOWS_TIMEZONE;
+    }
+
+    @Override
+    public String getHelpNoteType() {
+        return "time zone for Windows OS";
+    }
+}
diff --git a/packaging/etc/engine-config/engine-config.properties 
b/packaging/etc/engine-config/engine-config.properties
index c5e1792..a188725 100644
--- a/packaging/etc/engine-config/engine-config.properties
+++ b/packaging/etc/engine-config/engine-config.properties
@@ -288,9 +288,9 @@
 KeystoneAuthUrl.description="OpenStack Keystone URL (e.g. 
http://keystone-server:35357)"
 KeystoneAuthUrl.type=String
 DefaultWindowsTimeZone.description="Default time zone to be used when creating 
new Windows VMs"
-DefaultWindowsTimeZone.type=String
+DefaultWindowsTimeZone.type=WindowsTimeZone
 DefaultGeneralTimeZone.description="Default time zone to be used when creating 
Linux and Other-OS VMs"
-DefaultGeneralTimeZone.type=String
+DefaultGeneralTimeZone.type=GeneralTimeZone
 OnlyRequiredNetworksMandatoryForVdsSelection.description="If set to 'true', 
only networks marked as 'required' will be considered when determining if a 
host can run a VM. Otherwise, all the networks the VM utilizes have to be 
set-up on a host for it to be able to run the VM"
 OnlyRequiredNetworksMandatoryForVdsSelection.validValues=true,false
 MaxAverageNetworkQoSValue.description="Maximum value for Average Networks QoS 
(Mbps)"


-- 
To view, visit http://gerrit.ovirt.org/20501
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I78c056128f1fcd607e9baa882e24544c99ad7cd2
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Martin Betak <mbe...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to