java/code

Tomas Lestach tlestach at fedoraproject.org
Fri Jun 8 12:56:07 UTC 2012


 java/code/src/com/redhat/rhn/common/db/datasource/xml/System_queries.xml |    4 ++
 java/code/src/com/redhat/rhn/domain/server/Server.java                   |    3 +-
 java/code/src/com/redhat/rhn/domain/server/VirtualInstance.hbm.xml       |    7 ++++
 java/code/src/com/redhat/rhn/domain/server/VirtualInstanceFactory.java   |   15 ++++++++++
 4 files changed, 28 insertions(+), 1 deletion(-)

New commits:
commit ede4475de461f5b94bf55a50117806d5d28470a2
Author: Tomas Lestach <tlestach at redhat.com>
Date:   Fri Jun 8 14:08:18 2012 +0200

    797124 - fix virt host icon issue on WebUI

diff --git a/java/code/src/com/redhat/rhn/common/db/datasource/xml/System_queries.xml b/java/code/src/com/redhat/rhn/common/db/datasource/xml/System_queries.xml
index a50c53a..5c85348 100644
--- a/java/code/src/com/redhat/rhn/common/db/datasource/xml/System_queries.xml
+++ b/java/code/src/com/redhat/rhn/common/db/datasource/xml/System_queries.xml
@@ -1244,6 +1244,10 @@ select distinct sgm.server_id as ID, 1 as virtual_host
 	        sgm.server_id in (%s) and
 		    (sgt.label='virtualization_host_platform' or
 		                sgt.label='virtualization_host')
+union
+select VI.host_system_id as ID, 1 as virtual_host
+    from rhnVirtualInstance VI
+        where VI.host_system_id in (%s)
 </query>
 
 <query name="system_overview_most_critical" params="">
diff --git a/java/code/src/com/redhat/rhn/domain/server/Server.java b/java/code/src/com/redhat/rhn/domain/server/Server.java
index ad68702..73726bc 100644
--- a/java/code/src/com/redhat/rhn/domain/server/Server.java
+++ b/java/code/src/com/redhat/rhn/domain/server/Server.java
@@ -1431,7 +1431,8 @@ public class Server extends BaseDomainHelper implements Identifiable {
      * @return true if the system is a virtual host
      */
     public boolean isVirtualHost() {
-        return hasVirtualizationEntitlement();
+        return (VirtualInstanceFactory.getInstance().lookupByHostId(org, id) != null) ||
+                hasVirtualizationEntitlement();
     }
 
     /**
diff --git a/java/code/src/com/redhat/rhn/domain/server/VirtualInstance.hbm.xml b/java/code/src/com/redhat/rhn/domain/server/VirtualInstance.hbm.xml
index ef2548d..1068c10 100644
--- a/java/code/src/com/redhat/rhn/domain/server/VirtualInstance.hbm.xml
+++ b/java/code/src/com/redhat/rhn/domain/server/VirtualInstance.hbm.xml
@@ -41,6 +41,13 @@ PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
     	]]>
     </query>
 
+    <query name="VirtualInstance.lookupHostBySid">
+        <![CDATA[
+      from VirtualInstance vi
+          where vi.hostSystem.id = :sid and vi.hostSystem.org = :org
+        ]]>
+    </query>
+
     <query name="VirtualInstance.isOutdatedVirtualInstance">
         <![CDATA[
         from VirtualInstance guest where guest = :guest
diff --git a/java/code/src/com/redhat/rhn/domain/server/VirtualInstanceFactory.java b/java/code/src/com/redhat/rhn/domain/server/VirtualInstanceFactory.java
index e09faae..14fbfad 100644
--- a/java/code/src/com/redhat/rhn/domain/server/VirtualInstanceFactory.java
+++ b/java/code/src/com/redhat/rhn/domain/server/VirtualInstanceFactory.java
@@ -101,6 +101,21 @@ public class VirtualInstanceFactory extends HibernateFactory {
 
     }
 
+    /**
+     * Gets the virtual Instance for a given Sid for a host
+     * @param id the system id of the host
+     * @param org the org to check against
+     * @return the virtual instance
+     */
+    public VirtualInstance lookupByHostId(Org org, Long id) {
+        Session session = HibernateFactory.getSession();
+        VirtualInstance results = (VirtualInstance) session.getNamedQuery(
+                "VirtualInstance.lookupHostBySid").
+                setParameter("org", org).setParameter("sid", id).uniqueResult();
+
+        return results;
+
+    }
 
     /**
      * Check if the given guest instance is outdated. (i.e. a newer instance




More information about the spacewalk-commits mailing list