[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue common/src/GDataSource.py appserver/src/ge...
From: |
Jan Ischebeck |
Subject: |
gnue common/src/GDataSource.py appserver/src/ge... |
Date: |
Wed, 03 Jul 2002 11:58:32 -0400 |
CVSROOT: /cvsroot/gnue
Module name: gnue
Changes by: Jan Ischebeck <address@hidden> 02/07/03 11:58:32
Modified files:
common/src : GDataSource.py
appserver/src : geasInstance.py geasTrigger.py
common/src/dbdrivers/appserver: DBdriver.py
Log message:
- add a global 'call' function to the trigger namespace
- make appserver support that function and call the instance.call
function
of the current record
- add default datasourceEntrys entry to make not GObj based access to
datasources cleaner.
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/src/GDataSource.py.diff?tr1=1.35&tr2=1.36&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/appserver/src/geasInstance.py.diff?tr1=1.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/appserver/src/geasTrigger.py.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/src/dbdrivers/appserver/DBdriver.py.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
Patches:
Index: gnue/appserver/src/geasInstance.py
diff -c gnue/appserver/src/geasInstance.py:1.5
gnue/appserver/src/geasInstance.py:1.6
*** gnue/appserver/src/geasInstance.py:1.5 Sun May 26 17:15:29 2002
--- gnue/appserver/src/geasInstance.py Wed Jul 3 11:58:32 2002
***************
*** 19,25 ****
# write to the Free Software Foundation, Inc., 59 Temple Place
# - Suite 330, Boston, MA 02111-1307, USA.
#
! # $Id: geasInstance.py,v 1.5 2002/05/26 21:15:29 reinhard Exp $
#
=============================================================================
# Instance class
--- 19,25 ----
# write to the Free Software Foundation, Inc., 59 Temple Place
# - Suite 330, Boston, MA 02111-1307, USA.
#
! # $Id: geasInstance.py,v 1.6 2002/07/03 15:58:32 siesel Exp $
#
=============================================================================
# Instance class
***************
*** 56,64 ****
# Call a method
#
---------------------------------------------------------------------------
! def call (self, methodname):
# not yet implemented
! pass
#
---------------------------------------------------------------------------
# Delete this instance
--- 56,73 ----
# Call a method
#
---------------------------------------------------------------------------
! def call (self, methodname, params):
# not yet implemented
!
! # just containing a basic test method
! if methodname=="show":
! print "Function 'show' was called. This record contains the following
"+\
! " values:"
! for i in self._record._fields.keys():
! print "%s : %s " % (i,self._record._fields[i])
! print
! else:
! print "The method %s is not implemented." % methodname
#
---------------------------------------------------------------------------
# Delete this instance
Index: gnue/appserver/src/geasTrigger.py
diff -c gnue/appserver/src/geasTrigger.py:1.1
gnue/appserver/src/geasTrigger.py:1.2
*** gnue/appserver/src/geasTrigger.py:1.1 Thu Jun 20 20:34:33 2002
--- gnue/appserver/src/geasTrigger.py Wed Jul 3 11:58:32 2002
***************
*** 19,25 ****
# write to the Free Software Foundation, Inc., 59 Temple Place
# - Suite 330, Boston, MA 02111-1307, USA.
#
! # $Id: geasTrigger.py,v 1.1 2002/06/21 00:34:33 siesel Exp $
import geasList
import string,new
--- 19,25 ----
# write to the Free Software Foundation, Inc., 59 Temple Place
# - Suite 330, Boston, MA 02111-1307, USA.
#
! # $Id: geasTrigger.py,v 1.2 2002/07/03 15:58:32 siesel Exp $
import geasList
import string,new
***************
*** 96,102 ****
# format code
ccode=compile (code,'<string>','exec')
! myfunc=new.function(ccode, {}, triggername)
return myfunc
--- 96,102 ----
# format code
ccode=compile (code,'<string>','exec')
! myfunc=new.function(ccode, {'session':self._session}, triggername)
return myfunc
***************
*** 127,133 ****
# format code
ccode=compile (code,'<string>','exec')
! myfunc=new.function(ccode, {}, instance.get('name'))
return myfunc
--- 127,133 ----
# format code
ccode=compile (code,'<string>','exec')
! myfunc=new.function(ccode, {'session':self._session},
instance.get('name'))
return myfunc
Index: gnue/common/src/GDataSource.py
diff -c gnue/common/src/GDataSource.py:1.35 gnue/common/src/GDataSource.py:1.36
*** gnue/common/src/GDataSource.py:1.35 Mon Jul 1 19:09:14 2002
--- gnue/common/src/GDataSource.py Wed Jul 3 11:58:32 2002
***************
*** 65,70 ****
--- 65,71 ----
self._toplevelParent = self._type # Needs to be set by subclass
# so that _topObject gets set
self._topObject = None
+ self._datasourceDictionary={}
#
# trigger support
***************
*** 77,82 ****
--- 78,86 ----
'delete':{'function':self.deleteCurrentRecordsetEntry,
'global':1,
},
+
'call':{'function':self.callFuncOfCurrentRecordsetEntry,
+ 'global':1,
+ },
}
***************
*** 111,117 ****
def deleteCurrentRecordsetEntry(self):
self._currentResultSet.getPostingRecordset().delete()
!
#
# This method should be called after the object is created
# but before any other methods are called
--- 115,129 ----
def deleteCurrentRecordsetEntry(self):
self._currentResultSet.getPostingRecordset().delete()
!
! def callFuncOfCurrentRecordsetEntry(self,name,params):
! n=self._currentResultSet.getRecordNumber()
! rset=self._currentResultSet.getRecord(n)
! if hasattr(rset,'callFunc'):
! rset.callFunc(name,params)
! else:
! raise StandardError, \
! _("Backend doesn't support the trigger 'call' function")
#
# This method should be called after the object is created
# but before any other methods are called
Index: gnue/common/src/dbdrivers/appserver/DBdriver.py
diff -c gnue/common/src/dbdrivers/appserver/DBdriver.py:1.7
gnue/common/src/dbdrivers/appserver/DBdriver.py:1.8
*** gnue/common/src/dbdrivers/appserver/DBdriver.py:1.7 Wed Jun 5 15:15:58 2002
--- gnue/common/src/dbdrivers/appserver/DBdriver.py Wed Jul 3 11:58:32 2002
***************
*** 58,64 ****
self._updateFlag = 0
self._insertFlag = 0
self._deleteFlag = 0
!
# GEASv2_ResultSet
--- 58,75 ----
self._updateFlag = 0
self._insertFlag = 0
self._deleteFlag = 0
!
! # this function calls a per entry function on server side
! def callFunc(self,name,params):
! if hasattr(self,"_instance"):
! self._instance.call(name,params)
! else:
! print ("BUG: Function %s could not be called on a newly created and
not"+
! "commited object (this has to be fixed)") % name
! # at the moment newly created objects are just created localy and
! # not created on appserver too. So there is no way to call a function
! # off a newly created object/recordset at the moment.
! # this has to be changed.
# GEASv2_ResultSet
***************
*** 236,243 ****
# self._session.close()
raise GDataObjects.ConnectionError, "Error loging into appserver"
! # self.triggerExtensions = TriggerExtensions(self._dataConnection)
! self.triggerExtensions = TriggerExtensions(self._session)
except:
raise GDataObjects.ConnectionError, "Error loging into appserver"
--- 247,253 ----
# self._session.close()
raise GDataObjects.ConnectionError, "Error loging into appserver"
! self.triggerExtensions = GEASv2_TriggerExtensions(self._session)
except:
raise GDataObjects.ConnectionError, "Error loging into appserver"
***************
*** 374,380 ****
}
! class TriggerExtensions:
- def __init__(self, connection):
- pass
--- 384,411 ----
}
! #
! # Extensions to Trigger Namespaces
! #
! class GEASv2_TriggerExtensions:
!
! def __init__(self, session):
! self.__session = session
!
! # Return a sequence number from sequence 'name'
! # def getSequence(self, name):
! # !!! has to be emulated !!!
! # return self.__singleQuery("select nextval('%s')" % name)
!
! # Run the SQL statement 'statement'
! #def sql(self, statement):
! # !!! has to be emulated !!!
! # cursor = self.__connection.cursor()
! # try:
! # cursor.execute(statement)
! # cursor.close()
! # except:
! # cursor.close()
! # raise
!
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- gnue common/src/GDataSource.py appserver/src/ge...,
Jan Ischebeck <=