Mike Kolesnik has uploaded a new change for review. Change subject: engine: Added provider custom properties ......................................................................
engine: Added provider custom properties Added custom properties field to provider to use for installing provider on hosts, etc. Change-Id: I546c9e6a98cb83fd95a37d4799afab9359cc4900 Signed-off-by: Mike Kolesnik <mkole...@redhat.com> --- M backend/manager/dbscripts/providers_sp.sql A backend/manager/dbscripts/upgrade/03_03_0210_add_custom_properties_to_providers.sql M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/Provider.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/provider/ProviderDaoDbFacadeImpl.java 4 files changed, 40 insertions(+), 5 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/71/15671/1 diff --git a/backend/manager/dbscripts/providers_sp.sql b/backend/manager/dbscripts/providers_sp.sql index 99c0c4a..20231ae 100644 --- a/backend/manager/dbscripts/providers_sp.sql +++ b/backend/manager/dbscripts/providers_sp.sql @@ -15,7 +15,8 @@ v_provider_type VARCHAR(32), v_auth_required BOOLEAN, v_auth_username VARCHAR(64), - v_auth_password TEXT) + v_auth_password TEXT, + v_custom_properties TEXT) RETURNS VOID AS $procedure$ BEGIN @@ -27,7 +28,8 @@ provider_type, auth_required, auth_username, - auth_password) + auth_password, + custom_properties) VALUES( v_id, v_name, @@ -36,7 +38,8 @@ v_provider_type, v_auth_required, v_auth_username, - v_auth_password); + v_auth_password, + v_custom_properties); END; $procedure$ LANGUAGE plpgsql; @@ -52,7 +55,8 @@ v_provider_type VARCHAR(32), v_auth_required BOOLEAN, v_auth_username VARCHAR(64), - v_auth_password TEXT) + v_auth_password TEXT, + v_custom_properties TEXT) RETURNS VOID AS $procedure$ BEGIN @@ -64,6 +68,7 @@ auth_required = v_auth_required, auth_username = v_auth_username, auth_password = v_auth_password, + custom_properties = v_custom_properties, _update_date = NOW() WHERE id = v_id; END; $procedure$ diff --git a/backend/manager/dbscripts/upgrade/03_03_0210_add_custom_properties_to_providers.sql b/backend/manager/dbscripts/upgrade/03_03_0210_add_custom_properties_to_providers.sql new file mode 100644 index 0000000..1703b2c --- /dev/null +++ b/backend/manager/dbscripts/upgrade/03_03_0210_add_custom_properties_to_providers.sql @@ -0,0 +1 @@ +select fn_db_add_column('providers', 'custom_properties', 'TEXT'); diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/Provider.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/Provider.java index 69eb59f..d87737a 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/Provider.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/Provider.java @@ -1,5 +1,7 @@ package org.ovirt.engine.core.common.businessentities; +import java.util.Map; + import javax.validation.constraints.NotNull; import org.ovirt.engine.core.common.validation.annotation.ValidName; @@ -37,6 +39,8 @@ private String username; private String password; + + private Map<String, String> customProperties; @Override public String getName() { @@ -105,6 +109,14 @@ this.password = password; } + public Map<String, String> getCustomProperties() { + return customProperties; + } + + public void setCustomProperties(Map<String, String> customProperties) { + this.customProperties = customProperties; + } + @Override public Object getQueryableId() { return getId(); @@ -122,6 +134,7 @@ result = prime * result + ((getType() == null) ? 0 : getType().hashCode()); result = prime * result + ((getUrl() == null) ? 0 : getUrl().hashCode()); result = prime * result + ((getUsername() == null) ? 0 : getUsername().hashCode()); + result = prime * result + ((getCustomProperties() == null) ? 0 : getCustomProperties().hashCode()); return result; } @@ -185,6 +198,13 @@ } else if (!getUsername().equals(other.getUsername())) { return false; } + if (getCustomProperties() == null) { + if (other.getCustomProperties() != null) { + return false; + } + } else if (!getCustomProperties().equals(other.getCustomProperties())) { + return false; + } return true; } @@ -207,6 +227,8 @@ .append(getUsername()) .append(", password=") .append(getPassword() == null ? null : "******") + .append(", customProperties=") + .append(getCustomProperties()) .append("]"); return builder.toString(); } diff --git a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/provider/ProviderDaoDbFacadeImpl.java b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/provider/ProviderDaoDbFacadeImpl.java index 345a686..2bf4526 100644 --- a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/provider/ProviderDaoDbFacadeImpl.java +++ b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/provider/ProviderDaoDbFacadeImpl.java @@ -2,6 +2,7 @@ import java.sql.ResultSet; import java.sql.SQLException; +import java.util.HashMap; import java.util.List; import org.ovirt.engine.core.common.businessentities.Provider; @@ -10,6 +11,7 @@ import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.dal.dbbroker.DbFacadeUtils; import org.ovirt.engine.core.dao.DefaultGenericDaoDbFacade; +import org.ovirt.engine.core.utils.SerializationFactory; import org.springframework.jdbc.core.namedparam.MapSqlParameterSource; import org.springframework.jdbc.core.simple.ParameterizedRowMapper; @@ -28,7 +30,9 @@ .addValue("provider_type", EnumUtils.nameOrNull(entity.getType())) .addValue("auth_required", entity.isRequiringAuthentication()) .addValue("auth_username", entity.getUsername()) - .addValue("auth_password", DbFacadeUtils.encryptPassword(entity.getPassword())); + .addValue("auth_password", DbFacadeUtils.encryptPassword(entity.getPassword())) + .addValue("custom_properties", + SerializationFactory.getSerializer().serialize(entity.getCustomProperties())); } @Override @@ -56,6 +60,7 @@ } @Override + @SuppressWarnings("unchecked") public Provider mapRow(ResultSet rs, int index) throws SQLException { Provider entity = new Provider(); entity.setId(Guid.createGuidFromString(rs.getString("id"))); @@ -66,6 +71,8 @@ entity.setRequiringAuthentication(rs.getBoolean("auth_required")); entity.setUsername(rs.getString("auth_username")); entity.setPassword(DbFacadeUtils.decryptPassword(rs.getString("auth_password"))); + entity.setCustomProperties(SerializationFactory.getDeserializer() + .deserialize(rs.getString("custom_properties"), HashMap.class)); return entity; } } -- To view, visit http://gerrit.ovirt.org/15671 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I546c9e6a98cb83fd95a37d4799afab9359cc4900 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Mike Kolesnik <mkole...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches