Greg Padgett has uploaded a new change for review. Change subject: webadmin: Add DC column to main tab Cluster view ......................................................................
webadmin: Add DC column to main tab Cluster view Add Data Center column to main tab Cluster view. Change-Id: I5847d234e396fe8a83017fb25a5139f552e7c61b Bug-Url: https://bugzilla.redhat.com/784521 Signed-off-by: Greg Padgett <[email protected]> --- M backend/manager/dbscripts/create_views.sql M backend/manager/dbscripts/vds_groups_sp.sql M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VDSGroup.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsGroupDAODbFacadeImpl.java M backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/SearchObjectAutoCompleter.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabClusterView.java 7 files changed, 62 insertions(+), 25 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/70/11070/1 diff --git a/backend/manager/dbscripts/create_views.sql b/backend/manager/dbscripts/create_views.sql index c01f4b3..fcf1fa1 100644 --- a/backend/manager/dbscripts/create_views.sql +++ b/backend/manager/dbscripts/create_views.sql @@ -909,9 +909,17 @@ vds_groups.cpu_over_commit_duration_minutes, vds_groups.storage_pool_id, vds_groups.max_vds_memory_over_commit, vds_groups.count_threads_as_cores, vds_groups.compatibility_version, vds_groups.transparent_hugepages, vds_groups.migrate_on_error, - storage_pool_iso_map.storage_id -FROM vds_groups LEFT JOIN -storage_pool_iso_map ON vds_groups.storage_pool_id = storage_pool_iso_map.storage_pool_id; + storage_pool_iso_map.storage_id, storage_pool.name AS storage_pool_name +FROM vds_groups +LEFT JOIN storage_pool_iso_map ON vds_groups.storage_pool_id = storage_pool_iso_map.storage_pool_id +LEFT JOIN storage_pool ON vds_groups.storage_pool_id = storage_pool.id; + +CREATE OR REPLACE VIEW vds_groups_view +AS +SELECT vds_groups.*, + storage_pool.name AS storage_pool_name +FROM vds_groups +LEFT JOIN storage_pool ON vds_groups.storage_pool_id = storage_pool.id; CREATE OR REPLACE VIEW storage_domains_with_hosts_view diff --git a/backend/manager/dbscripts/vds_groups_sp.sql b/backend/manager/dbscripts/vds_groups_sp.sql index 8235fb1..25ce5fc 100644 --- a/backend/manager/dbscripts/vds_groups_sp.sql +++ b/backend/manager/dbscripts/vds_groups_sp.sql @@ -97,11 +97,11 @@ -Create or replace FUNCTION GetAllFromVdsGroups(v_user_id UUID, v_is_filtered BOOLEAN) RETURNS SETOF vds_groups +Create or replace FUNCTION GetAllFromVdsGroups(v_user_id UUID, v_is_filtered BOOLEAN) RETURNS SETOF vds_groups_view AS $procedure$ BEGIN - RETURN QUERY SELECT vds_groups.* - FROM vds_groups + RETURN QUERY SELECT vds_groups_view.* + FROM vds_groups_view WHERE (NOT v_is_filtered OR EXISTS (SELECT 1 FROM user_vds_groups_permissions_view WHERE user_id = v_user_id and entity_id = vds_group_id)); @@ -111,11 +111,11 @@ -Create or replace FUNCTION GetVdsGroupByVdsGroupId(v_vds_group_id UUID, v_user_id UUID, v_is_filtered BOOLEAN) RETURNS SETOF vds_groups +Create or replace FUNCTION GetVdsGroupByVdsGroupId(v_vds_group_id UUID, v_user_id UUID, v_is_filtered BOOLEAN) RETURNS SETOF vds_groups_view AS $procedure$ BEGIN - RETURN QUERY SELECT vds_groups.* - FROM vds_groups + RETURN QUERY SELECT vds_groups_view.* + FROM vds_groups_view WHERE vds_group_id = v_vds_group_id AND (NOT v_is_filtered OR EXISTS (SELECT 1 FROM user_vds_groups_permissions_view @@ -127,11 +127,11 @@ -Create or replace FUNCTION GetVdsGroupByVdsGroupName(v_vds_group_name VARCHAR(40)) RETURNS SETOF vds_groups +Create or replace FUNCTION GetVdsGroupByVdsGroupName(v_vds_group_name VARCHAR(40)) RETURNS SETOF vds_groups_view AS $procedure$ BEGIN - RETURN QUERY SELECT vds_groups.* - FROM vds_groups + RETURN QUERY SELECT vds_groups_view.* + FROM vds_groups_view WHERE name = v_vds_group_name; END; $procedure$ LANGUAGE plpgsql; @@ -140,11 +140,11 @@ -Create or replace FUNCTION GetVdsGroupForUserByVdsGroupName(v_vds_group_name VARCHAR(40), v_user_id UUID, v_is_filtered BOOLEAN) RETURNS SETOF vds_groups +Create or replace FUNCTION GetVdsGroupForUserByVdsGroupName(v_vds_group_name VARCHAR(40), v_user_id UUID, v_is_filtered BOOLEAN) RETURNS SETOF vds_groups_view AS $procedure$ BEGIN - RETURN QUERY SELECT vds_groups.* - FROM vds_groups + RETURN QUERY SELECT vds_groups_view.* + FROM vds_groups_view WHERE name = v_vds_group_name AND (NOT v_is_filtered OR EXISTS (SELECT 1 FROM user_vds_groups_permissions_view @@ -155,11 +155,11 @@ -Create or replace FUNCTION GetVdsGroupsByStoragePoolId(v_storage_pool_id UUID, v_user_id UUID, v_is_filtered BOOLEAN) RETURNS SETOF vds_groups +Create or replace FUNCTION GetVdsGroupsByStoragePoolId(v_storage_pool_id UUID, v_user_id UUID, v_is_filtered BOOLEAN) RETURNS SETOF vds_groups_view AS $procedure$ BEGIN - RETURN QUERY SELECT vds_groups.* - FROM vds_groups + RETURN QUERY SELECT vds_groups_view.* + FROM vds_groups_view WHERE storage_pool_id = v_storage_pool_id AND (NOT v_is_filtered OR EXISTS (SELECT 1 FROM user_vds_groups_permissions_view @@ -173,11 +173,11 @@ --This SP returns the VDS group if it has running vms -Create or replace FUNCTION GetVdsGroupWithRunningVms(v_vds_group_id UUID) RETURNS SETOF vds_groups +Create or replace FUNCTION GetVdsGroupWithRunningVms(v_vds_group_id UUID) RETURNS SETOF vds_groups_view AS $procedure$ BEGIN - RETURN QUERY SELECT vds_groups.* - FROM vds_groups + RETURN QUERY SELECT vds_groups_view.* + FROM vds_groups_view WHERE vds_group_id = v_vds_group_id and vds_group_id in(select vds_group_id from vms where vms.status NOT IN(0,13,14)); END; $procedure$ LANGUAGE plpgsql; @@ -185,11 +185,11 @@ --This SP returns all clusters with permissions to run the given action by user -Create or replace FUNCTION fn_perms_get_vds_groups_with_permitted_action(v_user_id UUID, v_action_group_id integer) RETURNS SETOF vds_groups +Create or replace FUNCTION fn_perms_get_vds_groups_with_permitted_action(v_user_id UUID, v_action_group_id integer) RETURNS SETOF vds_groups_view AS $procedure$ BEGIN - RETURN QUERY SELECT * - FROM vds_groups + RETURN QUERY SELECT vds_groups_view.* + FROM vds_groups_view WHERE (SELECT get_entity_permissions(v_user_id, v_action_group_id, vds_groups.vds_group_id, 9)) IS NOT NULL; END; $procedure$ LANGUAGE plpgsql; diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VDSGroup.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VDSGroup.java index 9ab4165..4b06e93 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VDSGroup.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VDSGroup.java @@ -81,6 +81,9 @@ @Type(type = "guid") private NGuid storagePool; + @Size(max = BusinessEntitiesDefinitions.DATACENTER_NAME_SIZE) + @Column(name = "storage_pool_name") + private String storagePoolName; @Column(name = "max_vds_memory_over_commit") private int max_vds_memory_over_commit = 0; @@ -203,6 +206,13 @@ this.storagePool = storagePool; } + public String getStoragePoolName() { + return this.storagePoolName; + } + + public void setStoragePoolName(String value) { + this.storagePoolName = value; + } public int getmax_vds_memory_over_commit() { return this.max_vds_memory_over_commit; @@ -287,6 +297,7 @@ result = prime * result + ((name == null) ? 0 : name.hashCode()); result = prime * result + ((selection_algorithm == null) ? 0 : selection_algorithm.hashCode()); result = prime * result + ((storagePool == null) ? 0 : storagePool.hashCode()); + result = prime * result + ((storagePoolName == null) ? 0 : storagePoolName.hashCode()); result = prime * result + (transparentHugepages ? 1231 : 1237); result = prime * result + (virtService ? 1231 : 1237); result = prime * result + (glusterService ? 1231 : 1237); @@ -353,6 +364,11 @@ return false; } else if (!storagePool.equals(other.storagePool)) return false; + if (storagePoolName == null) { + if (other.storagePoolName != null) + return false; + } else if (!storagePoolName.equals(other.storagePoolName)) + return false; if (transparentHugepages != other.transparentHugepages) return false; if (virtService != other.virtService) { diff --git a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsGroupDAODbFacadeImpl.java b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsGroupDAODbFacadeImpl.java index 72e3668..6436017 100644 --- a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsGroupDAODbFacadeImpl.java +++ b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsGroupDAODbFacadeImpl.java @@ -175,6 +175,8 @@ .getInt("cpu_over_commit_duration_minutes")); entity.setStoragePoolId(NGuid.createGuidFromString(rs .getString("storage_pool_id"))); + entity.setStoragePoolName(rs + .getString("storage_pool_name")); entity.setmax_vds_memory_over_commit(rs .getInt("max_vds_memory_over_commit")); entity.setCountThreadsAsCores(rs diff --git a/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/SearchObjectAutoCompleter.java b/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/SearchObjectAutoCompleter.java index 460039c..a4bb9b0 100644 --- a/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/SearchObjectAutoCompleter.java +++ b/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/SearchObjectAutoCompleter.java @@ -198,7 +198,7 @@ "vm_name ASC ")); put(SearchObjects.VDC_CLUSTER_OBJ_NAME, new EntitySearchInfo(new ClusterCrossRefAutoCompleter(), new ClusterConditionFieldAutoCompleter(), - "vds_groups", + "vds_groups_view", "vds_groups_storage_domain", "vds_group_id", "name ASC ")); diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java index 6741404..2455808 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java @@ -970,6 +970,9 @@ @DefaultStringValue("Name") String nameCluster(); + @DefaultStringValue("Data Center") + String dcCluster(); + @DefaultStringValue("Attached Network") String attachedNetworkCluster(); diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabClusterView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabClusterView.java index cd072ef..3e12c14 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabClusterView.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabClusterView.java @@ -48,6 +48,14 @@ }; getTable().addColumn(nameColumn, constants.nameCluster(), "150px"); //$NON-NLS-1$ + TextColumnWithTooltip<VDSGroup> dataCenterColumn = new TextColumnWithTooltip<VDSGroup>() { + @Override + public String getValue(VDSGroup object) { + return object.getStoragePoolName(); + } + }; + getTable().addColumn(dataCenterColumn, constants.dcCluster(), "150px"); //$NON-NLS-1$ + TextColumnWithTooltip<VDSGroup> versionColumn = new TextColumnWithTooltip<VDSGroup>() { @Override public String getValue(VDSGroup object) { -- To view, visit http://gerrit.ovirt.org/11070 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I5847d234e396fe8a83017fb25a5139f552e7c61b Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Greg Padgett <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
