commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gnue] r8166 - in trunk: gnue-appserver/src gnue-common/src/datasources/


From: johannes
Subject: [gnue] r8166 - in trunk: gnue-appserver/src gnue-common/src/datasources/drivers/other gnue-common/src/rpc/drivers/xmlrpc
Date: Mon, 20 Feb 2006 11:34:11 -0600 (CST)

Author: johannes
Date: 2006-02-20 11:34:10 -0600 (Mon, 20 Feb 2006)
New Revision: 8166

Modified:
   trunk/gnue-appserver/src/geasList.py
   trunk/gnue-appserver/src/geasSession.py
   trunk/gnue-appserver/src/geasSessionManager.py
   trunk/gnue-appserver/src/test.py
   trunk/gnue-common/src/datasources/drivers/other/appserver.py
   trunk/gnue-common/src/rpc/drivers/xmlrpc/ServerAdapter.py
Log:
Improved object-dictionary destruction in xmlrpc; removed login (), 
logout () and close () from session object, as well as close () from 
list objects since they get called automatically.


Modified: trunk/gnue-appserver/src/geasList.py
===================================================================
--- trunk/gnue-appserver/src/geasList.py        2006-02-15 12:24:46 UTC (rev 
8165)
+++ trunk/gnue-appserver/src/geasList.py        2006-02-20 17:34:10 UTC (rev 
8166)
@@ -288,10 +288,10 @@
 
 
   # ---------------------------------------------------------------------------
-  # Close the list instance
+  # Destroy the list instance
   # ---------------------------------------------------------------------------
 
-  def close (self):
+  def _destroy (self):
     """
     This function closes the list by freeing all references and resources
     maintained by the list.

Modified: trunk/gnue-appserver/src/geasSession.py
===================================================================
--- trunk/gnue-appserver/src/geasSession.py     2006-02-15 12:24:46 UTC (rev 
8165)
+++ trunk/gnue-appserver/src/geasSession.py     2006-02-20 17:34:10 UTC (rev 
8166)
@@ -229,17 +229,17 @@
 
 
   # ---------------------------------------------------------------------------
-  # Log into the application server
+  # Start the session
   # ---------------------------------------------------------------------------
 
-  def login (self, user, password):
+  def _start (self, user, password):
 
     if self.locale:
       i18n.setcurrentlocale (self.locale)
 
     # This username/password is for the Application Server, not for the
     # database.
-    self.user = user
+    self.user     = user
     self.loggedIn = self.__authAdapter.authenticate (self, user,
                                                      {'password': password})
     if self.loggedIn:
@@ -247,17 +247,20 @@
 
     return self.loggedIn
 
+
   # ---------------------------------------------------------------------------
-  # Logout from the application server
+  # Close and destroy a session
   # ---------------------------------------------------------------------------
 
-  def logout (self):
+  def _destroy (self):
 
+    assert gEnter (4)
+
     if self.locale:
       i18n.setcurrentlocale (self.locale)
 
     for key in self.__lists.keys ():
-      self.__lists [key].close ()
+      self.__lists [key]._destroy ()
       del self.__lists [key]
 
     self.__dirtyInstances = {}
@@ -273,27 +276,6 @@
     self.sm               = None
     self.parameters       = None
 
-
-  # ---------------------------------------------------------------------------
-  # Close a session
-  # ---------------------------------------------------------------------------
-
-  def close (self, commit):
-    """
-    Close the session and optionally commit pending changes. The session will
-    be logged out from the application server and removed from the session
-    manager's session-dictionary.
-
-    @param commit: if True, pending changes will be commited before closing
-    """
-
-    assert gEnter (4)
-
-    if commit:
-      self.commit ()
-
-    self.logout ()
-
     assert gLeave (4)
 
 

Modified: trunk/gnue-appserver/src/geasSessionManager.py
===================================================================
--- trunk/gnue-appserver/src/geasSessionManager.py      2006-02-15 12:24:46 UTC 
(rev 8165)
+++ trunk/gnue-appserver/src/geasSessionManager.py      2006-02-20 17:34:10 UTC 
(rev 8166)
@@ -221,8 +221,7 @@
     sess = geasSession.geasSession (conn, self._authAdapter, self,
                                     parameters)
 
-    sess.login (parameters.get ('_username'),
-                parameters.get ('_password'))
+    sess._start (parameters.get ('_username'), parameters.get ('_password'))
 
     assert gLeave (4, sess)
 

Modified: trunk/gnue-appserver/src/test.py
===================================================================
--- trunk/gnue-appserver/src/test.py    2006-02-15 12:24:46 UTC (rev 8165)
+++ trunk/gnue-appserver/src/test.py    2006-02-20 17:34:10 UTC (rev 8166)
@@ -55,7 +55,7 @@
 
 
   def _ok (self):
-    print "Ok"
+    print "Ok   <Enter>"
     raw_input ()
 
   # ---------------------------------------------------------------------------
@@ -96,6 +96,10 @@
     print "  City   :", rset[0][3]
     print "  Country:", rset[0][4] + '/' + rset[0][5]
 
+    print "Closing the list ..."
+    list = None
+    self._ok ()
+
     print "Executing rollback to clear cache ...",
     session.rollback ()
     self._ok ()
@@ -127,7 +131,9 @@
       pass
 
     print "Committing and closing session ...",
-    session.close (True)
+    session.commit ()
+    session = None
+
     self._ok ()
 
 

Modified: trunk/gnue-common/src/datasources/drivers/other/appserver.py
===================================================================
--- trunk/gnue-common/src/datasources/drivers/other/appserver.py        
2006-02-15 12:24:46 UTC (rev 8165)
+++ trunk/gnue-common/src/datasources/drivers/other/appserver.py        
2006-02-20 17:34:10 UTC (rev 8166)
@@ -487,7 +487,6 @@
 
   def _close_ (self):
     if self._session is not None:
-      self._session.close (False)
       self._session = None
 
     if self._sm is not None:

Modified: trunk/gnue-common/src/rpc/drivers/xmlrpc/ServerAdapter.py
===================================================================
--- trunk/gnue-common/src/rpc/drivers/xmlrpc/ServerAdapter.py   2006-02-15 
12:24:46 UTC (rev 8165)
+++ trunk/gnue-common/src/rpc/drivers/xmlrpc/ServerAdapter.py   2006-02-20 
17:34:10 UTC (rev 8166)
@@ -148,6 +148,9 @@
 
     assert gEnter (9)
 
+    if hasattr (item, '_destroy'):
+      item._destroy ()
+
     itemId = str (id (item))
     client = self._clientPerObject.get (itemId)
 
@@ -177,6 +180,7 @@
     self._clientPerObject [itemId] = client
 
     assert gLeave (9, result)
+
     return result
 
 
@@ -202,12 +206,9 @@
 
     assert gEnter (9)
 
-    for itemId in self._objectPerClient.get (client, {}).keys ():
-      if itemId in self._clientPerObject:
-        del self._clientPerObject [itemId]
+    for item in self._objectPerClient.get (client, {}).values ():
+      self._destroy (item)
 
-      del self._objectPerClient [client] [itemId]
-
     assert gLeave (9)
 
 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]