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