Hello Noam Slomianko,

I'd like you to do a code review.  Please visit

    http://gerrit.ovirt.org/18553

to review the following change.

Change subject: engine: add enabled column to policy_units
......................................................................

engine: add enabled column to policy_units

As part of the External scheduler integration:
- Added "enabled" field to policy unit object, dao, and db

This patch is meant to decrease the size and simplify
the External Scheduler integration patch

Change-Id: I6be407297c259aedf17283d2f674021cf0e4a135
Signed-off-by: Noam Slomianko <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/PolicyUnitImpl.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/scheduling/PolicyUnit.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/scheduling/PolicyUnitDaoImpl.java
M packaging/dbscripts/policy_unit_sp.sql
A packaging/dbscripts/upgrade/03_03_0660_add_enabled_column_to_policy_unit.sql
5 files changed, 40 insertions(+), 7 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/53/18553/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/PolicyUnitImpl.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/PolicyUnitImpl.java
index 3158093..dcb64e5 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/PolicyUnitImpl.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/PolicyUnitImpl.java
@@ -131,6 +131,17 @@
         policyUnit.setParameterRegExMap(parameterRegExMap);
     }
 
+    @Override
+    public final boolean isEnabled() {
+        return policyUnit.isEnabled();
+    }
+
+    @Override
+    public final void setEnabled(boolean enabled) {
+        // TODO Auto-generated method stub
+        policyUnit.setEnabled(enabled);
+    }
+
     public final PolicyUnit getPolicyUnit() {
         return policyUnit;
     }
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/scheduling/PolicyUnit.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/scheduling/PolicyUnit.java
index f3d8ca8..ea188a7 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/scheduling/PolicyUnit.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/scheduling/PolicyUnit.java
@@ -33,6 +33,10 @@
      * policy unit acceptable custom parameters; format <parameterName, regex>
      */
     private Map<String, String> parameterRegExMap;
+    /**
+     * only for external units, marks if it exists on disk
+     */
+    private boolean enabled = true;
 
     @Override
     public Object getQueryableId() {
@@ -81,6 +85,14 @@
         this.parameterRegExMap = parameterRegExMap;
     }
 
+    public boolean isEnabled() {
+        return enabled;
+    }
+
+    public void setEnabled(boolean enabled) {
+        this.enabled = enabled;
+    }
+
     @Override
     public int hashCode() {
         final int prime = 31;
@@ -90,6 +102,7 @@
         result = prime * result + (internal ? 1231 : 1237);
         result = prime * result + ((name == null) ? 0 : name.hashCode());
         result = prime * result + ((parameterRegExMap == null) ? 0 : 
parameterRegExMap.hashCode());
+        result = prime * result + (enabled ? 1231 : 1237);
         return result;
     }
 
@@ -121,7 +134,9 @@
             return false;
         if (policyUnitType != other.policyUnitType)
             return false;
+        if (enabled != other.enabled) {
+            return false;
+        }
         return true;
     }
-
 }
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/scheduling/PolicyUnitDaoImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/scheduling/PolicyUnitDaoImpl.java
index bd572f4..7620825 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/scheduling/PolicyUnitDaoImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/scheduling/PolicyUnitDaoImpl.java
@@ -28,7 +28,8 @@
                                 : entity.getPolicyUnitType()
                                 .getValue())
                 .addValue("custom_properties_regex",
-                        
SerializationFactory.getSerializer().serialize(entity.getParameterRegExMap()));
+                        
SerializationFactory.getSerializer().serialize(entity.getParameterRegExMap()))
+                .addValue("enabled", entity.isEnabled());
     }
 
     @Override
@@ -49,6 +50,7 @@
                 
policyUnit.setPolicyUnitType(PolicyUnitType.forValue(rs.getInt("type")));
                 
policyUnit.setParameterRegExMap(SerializationFactory.getDeserializer()
                         
.deserializeOrCreateNew(rs.getString("custom_properties_regex"), 
LinkedHashMap.class));
+                policyUnit.setEnabled(rs.getBoolean("enabled"));
                 return policyUnit;
             }
         };
diff --git a/packaging/dbscripts/policy_unit_sp.sql 
b/packaging/dbscripts/policy_unit_sp.sql
index bfd9db3..12cc972 100644
--- a/packaging/dbscripts/policy_unit_sp.sql
+++ b/packaging/dbscripts/policy_unit_sp.sql
@@ -27,7 +27,8 @@
     v_name VARCHAR(128),
     v_is_internal BOOLEAN,
     v_type SMALLINT,
-    v_custom_properties_regex text)
+    v_custom_properties_regex text,
+    v_enabled BOOLEAN)
 RETURNS VOID
 AS $procedure$
 BEGIN
@@ -36,24 +37,27 @@
         name,
         is_internal,
         type,
-        custom_properties_regex)
+        custom_properties_regex,
+        enabled)
     VALUES(
         v_id,
         v_name,
         v_is_internal,
         v_type,
-        v_custom_properties_regex);
+        v_custom_properties_regex,
+        v_enabled);
 END; $procedure$
 LANGUAGE plpgsql;
 
 Create or replace FUNCTION UpdatePolicyUnit(
     v_id UUID,
-    v_custom_properties_regex text)
+    v_custom_properties_regex text,
+    v_enabled BOOLEAN)
 RETURNS VOID
 AS $procedure$
 BEGIN
     UPDATE policy_units
-    SET    custom_properties_regex = v_custom_properties_regex
+    SET    custom_properties_regex = v_custom_properties_regex, enabled = 
v_enabled
     WHERE  id = v_id;
 END; $procedure$
 LANGUAGE plpgsql;
diff --git 
a/packaging/dbscripts/upgrade/03_03_0660_add_enabled_column_to_policy_unit.sql 
b/packaging/dbscripts/upgrade/03_03_0660_add_enabled_column_to_policy_unit.sql
new file mode 100644
index 0000000..101050f
--- /dev/null
+++ 
b/packaging/dbscripts/upgrade/03_03_0660_add_enabled_column_to_policy_unit.sql
@@ -0,0 +1 @@
+SELECT fn_db_add_column('policy_units', 'enabled', 'boolean default TRUE NOT 
NULL');


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I6be407297c259aedf17283d2f674021cf0e4a135
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: ovirt-engine-3.3
Gerrit-Owner: Gilad Chaplik <[email protected]>
Gerrit-Reviewer: Noam Slomianko <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to