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