Muli Salem has uploaded a new change for review. Change subject: engine: Add Network Search for Host Name ......................................................................
engine: Add Network Search for Host Name This patch adds the network_vds_view, to be used by the tree search for Networks by Host name. It also joins the network table with this new view. Change-Id: I4567828abdba27f50f40e75a7989da965f475417 Signed-off-by: Muli Salem <[email protected]> --- M backend/manager/dbscripts/create_views.sql M backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/NetworkCrossRefAutoCompleter.java A backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/NetworkHostConditionFieldAutoCompleter.java M backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/SearchObjectAutoCompleter.java M backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/SearchObjects.java M frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/core/SearchBackend.gwt.xml 6 files changed, 57 insertions(+), 0 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/65/9265/1 diff --git a/backend/manager/dbscripts/create_views.sql b/backend/manager/dbscripts/create_views.sql index af73e5b..4d11af6 100644 --- a/backend/manager/dbscripts/create_views.sql +++ b/backend/manager/dbscripts/create_views.sql @@ -1047,6 +1047,17 @@ INNER JOIN network ON network_cluster.network_id = network.id INNER JOIN vds_groups ON network_cluster.cluster_id = vds_groups.vds_group_id; + +CREATE OR REPLACE VIEW network_vds_view +AS +SELECT network.id AS network_id, + network.name as network_name, + vds_static.vds_name as vds_name +FROM vds_interface +INNER JOIN vds_static ON vds_interface.vds_id = vds_static.vds_id +INNER JOIN network ON vds_interface.network_name = network.name; + + CREATE OR REPLACE VIEW network_view AS SELECT network.id AS id, diff --git a/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/NetworkCrossRefAutoCompleter.java b/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/NetworkCrossRefAutoCompleter.java index dda0f57..ff0e5bf 100644 --- a/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/NetworkCrossRefAutoCompleter.java +++ b/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/NetworkCrossRefAutoCompleter.java @@ -3,6 +3,7 @@ public class NetworkCrossRefAutoCompleter extends SearchObjectsBaseAutoCompleter { public NetworkCrossRefAutoCompleter() { mVerbs.put(SearchObjects.NETWORK_CLUSTER_OBJ_NAME, SearchObjects.NETWORK_CLUSTER_OBJ_NAME); + mVerbs.put(SearchObjects.NETWORK_HOST_OBJ_NAME, SearchObjects.NETWORK_HOST_OBJ_NAME); buildCompletions(); } } diff --git a/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/NetworkHostConditionFieldAutoCompleter.java b/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/NetworkHostConditionFieldAutoCompleter.java new file mode 100644 index 0000000..8d4749f --- /dev/null +++ b/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/NetworkHostConditionFieldAutoCompleter.java @@ -0,0 +1,31 @@ +package org.ovirt.engine.core.searchbackend; + +public class NetworkHostConditionFieldAutoCompleter extends BaseConditionFieldAutoCompleter { + private static final String HOST_NAME = "NAME"; + + public NetworkHostConditionFieldAutoCompleter() { + // Building the basic verbs dict. + mVerbs.put(HOST_NAME, HOST_NAME); + + // Building the autoCompletion dict. + buildCompletions(); + + // Building the types dict. + getTypeDictionary().put(HOST_NAME, String.class); + + // building the ColumnName dict. + mColumnNameDict.put(HOST_NAME, "vds_name"); + + // Building the validation dict. + buildBasicValidationTable(); + } + + @Override + public IAutoCompleter getFieldRelationshipAutoCompleter(final String fieldName) { + final Class<?> clazz = getTypeDictionary().get(fieldName); + if (clazz == Integer.class) { + return NumericConditionRelationAutoCompleter.INSTANCE; + } + return StringConditionRelationAutoCompleter.INSTANCE; + } +} 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 6556216..8a44b66 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 @@ -118,6 +118,12 @@ SearchObjects.NETWORK_CLUSTER_OBJ_NAME, "network_id"); + // network - host + addJoin(SearchObjects.NETWORK_OBJ_NAME, + "id", + SearchObjects.NETWORK_HOST_OBJ_NAME, + "network_id"); + // audit - gluster volume addJoin(SearchObjects.GLUSTER_VOLUME_OBJ_NAME, "id", SearchObjects.AUDIT_OBJ_NAME, "gluster_volume_id"); @@ -267,6 +273,12 @@ "network_cluster_view", "vds_group_id", "vds_group_name ASC")); + put(SearchObjects.NETWORK_HOST_OBJ_NAME, new EntitySearchInfo(null, + new NetworkHostConditionFieldAutoCompleter(), + "network_vds_view", + "network_vds_view", + "vds_name", + "vds_name ASC")); } }); diff --git a/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/SearchObjects.java b/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/SearchObjects.java index 886f32f..f4c156d 100644 --- a/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/SearchObjects.java +++ b/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/SearchObjects.java @@ -37,6 +37,7 @@ public static final String VDS_NETWORK_INTERFACE_OBJ_NAME = "NIC"; public static final String VM_NETWORK_INTERFACE_OBJ_NAME = "VNIC"; public static final String NETWORK_CLUSTER_OBJ_NAME = "CLUSTER_NETWORK"; + public static final String NETWORK_HOST_OBJ_NAME = "HOST_NETWORK"; //special searches private static final String ALERT = "EVENTS: severity=alert"; diff --git a/frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/core/SearchBackend.gwt.xml b/frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/core/SearchBackend.gwt.xml index f21488a..0782c11 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/core/SearchBackend.gwt.xml +++ b/frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/core/SearchBackend.gwt.xml @@ -60,6 +60,7 @@ <include name="searchbackend/SqlInjectionChecker.java" /> <include name="searchbackend/PostgresSqlInjectionChecker.java" /> <include name="searchbackend/ValueValidationFunction.java" /> + <include name="searchbackend/NetworkHostConditionFieldAutoCompleter.java" /> <!--======================SEARCHBACKEND/GLUSTER====================== --> <include name="searchbackend/gluster/GlusterVolumeConditionFieldAutoCompleter.java" /> <include name="searchbackend/gluster/GlusterVolumeCrossRefAutoCompleter.java" /> -- To view, visit http://gerrit.ovirt.org/9265 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I4567828abdba27f50f40e75a7989da965f475417 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Muli Salem <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
