[Top][All Lists]
[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)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [gnue] r8166 - in trunk: gnue-appserver/src gnue-common/src/datasources/drivers/other gnue-common/src/rpc/drivers/xmlrpc,
johannes <=