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

Reply via email to