2 commits - backend/server java/code

Tomas Lestach tlestach at fedoraproject.org
Tue Jun 12 13:34:19 UTC 2012


 backend/server/rhnServer/server_class.py                               |    8 ++++++--
 java/code/src/com/redhat/rhn/domain/server/Server.java                 |    2 +-
 java/code/src/com/redhat/rhn/domain/server/VirtualInstance.hbm.xml     |    2 +-
 java/code/src/com/redhat/rhn/domain/server/VirtualInstanceFactory.java |   10 +++-------
 4 files changed, 11 insertions(+), 11 deletions(-)

New commits:
commit 27b267351e590968692f445974e78fda47092af9
Author: Tomas Lestach <tlestach at redhat.com>
Date:   Tue Jun 12 14:59:01 2012 +0200

    804106 - do not entitle virt guests twice during registration

diff --git a/backend/server/rhnServer/server_class.py b/backend/server/rhnServer/server_class.py
index 28b6c97..15238e0 100644
--- a/backend/server/rhnServer/server_class.py
+++ b/backend/server/rhnServer/server_class.py
@@ -437,8 +437,12 @@ class Server(ServerWrapper):
                     raise server_lib.rhnNoSystemEntitlementsException, None, sys.exc_info()[2]
 
     def _entitle(self, entitlement):
-        entitle_server = rhnSQL.Procedure("rhn_entitlements.entitle_server")
-        entitle_server(self.server['id'], entitlement)
+        system_entitlements = server_lib.check_entitlement(self.server["id"])
+        system_entitlements = system_entitlements.keys()
+
+        if entitlement not in system_entitlements:
+            entitle_server = rhnSQL.Procedure("rhn_entitlements.entitle_server")
+            entitle_server(self.server['id'], entitlement)
 
     def create_perm_cache(self):
         log_debug(4)


commit c74cd9cd1d1939f7d8b85824eb980a4ece43ca88
Author: Tomas Lestach <tlestach at redhat.com>
Date:   Mon Jun 11 11:55:00 2012 +0200

    797124 - virt host may have several virtual instances

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 73726bc..0922281 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,7 @@ public class Server extends BaseDomainHelper implements Identifiable {
      * @return true if the system is a virtual host
      */
     public boolean isVirtualHost() {
-        return (VirtualInstanceFactory.getInstance().lookupByHostId(org, id) != null) ||
+        return (VirtualInstanceFactory.getInstance().listByHostId(org, id).size() > 0) ||
                 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 1068c10..9fb8595 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,7 +41,7 @@ PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
     	]]>
     </query>
 
-    <query name="VirtualInstance.lookupHostBySid">
+    <query name="VirtualInstance.listByHostId">
         <![CDATA[
       from VirtualInstance vi
           where vi.hostSystem.id = :sid and vi.hostSystem.org = :org
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 14fbfad..f539a75 100644
--- a/java/code/src/com/redhat/rhn/domain/server/VirtualInstanceFactory.java
+++ b/java/code/src/com/redhat/rhn/domain/server/VirtualInstanceFactory.java
@@ -107,14 +107,10 @@ public class VirtualInstanceFactory extends HibernateFactory {
      * @param org the org to check against
      * @return the virtual instance
      */
-    public VirtualInstance lookupByHostId(Org org, Long id) {
+    public List<VirtualInstance> listByHostId(Org org, Long id) {
         Session session = HibernateFactory.getSession();
-        VirtualInstance results = (VirtualInstance) session.getNamedQuery(
-                "VirtualInstance.lookupHostBySid").
-                setParameter("org", org).setParameter("sid", id).uniqueResult();
-
-        return results;
-
+        return session.getNamedQuery("VirtualInstance.listByHostId").
+                setParameter("org", org).setParameter("sid", id).list();
     }
 
     /**




More information about the spacewalk-commits mailing list