[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue/appserver/src/_featuretest geasMetaObject....
From: |
Jan Ischebeck |
Subject: |
gnue/appserver/src/_featuretest geasMetaObject.... |
Date: |
Mon, 15 Jul 2002 05:43:59 -0400 |
CVSROOT: /cvsroot/gnue
Module name: gnue
Changes by: Jan Ischebeck <address@hidden> 02/07/15 05:43:59
Modified files:
appserver/src/_featuretest: geasMetaObject.py
geasObjectServer.py godlParser.py
atest.py
Log message:
included basic godlParser into test run
improved the loading of Namespaces etc, which have not commited
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/appserver/src/_featuretest/geasMetaObject.py.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/appserver/src/_featuretest/geasObjectServer.py.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/appserver/src/_featuretest/godlParser.py.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/appserver/src/_featuretest/atest.py.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
Patches:
Index: gnue/appserver/src/_featuretest/atest.py
diff -c gnue/appserver/src/_featuretest/atest.py:1.4
gnue/appserver/src/_featuretest/atest.py:1.5
*** gnue/appserver/src/_featuretest/atest.py:1.4 Fri Jun 21 10:34:34 2002
--- gnue/appserver/src/_featuretest/atest.py Mon Jul 15 05:43:59 2002
***************
*** 19,25 ****
# write to the Free Software Foundation, Inc., 59 Temple Place
# - Suite 330, Boston, MA 02111-1307, USA.
#
! # $Id: atest.py,v 1.4 2002/06/21 14:34:34 siesel Exp $
import os
from gnue.common import GClientApp
--- 19,25 ----
# write to the Free Software Foundation, Inc., 59 Temple Place
# - Suite 330, Boston, MA 02111-1307, USA.
#
! # $Id: atest.py,v 1.5 2002/07/15 09:43:59 siesel Exp $
import os
from gnue.common import GClientApp
***************
*** 27,32 ****
--- 27,33 ----
import geasObjectServer
import GEDI
import geasConnectionPool
+ import geasTools
import sys, string, os
***************
*** 103,108 ****
--- 104,119 ----
instance=self.sess.Address.newInstance()
instance.showNamespace()
print "-"*30
+
+ def loadClassDefFromODLfile(self):
+ print "-"*30
+ print "Load an class definitions out of an ODL file"
+ print "-"*30
+ print "loading from thekitchensink.godl"
+ odlimport=geasTools.geasGODLimport(22222,22222);
+ godlFile=__file__[:string.rfind(__file__,'/')]+"/thekitchensink.godl"
+ odlimport.importGODL(godlFile)
+ print "-"*30
def execMenu(self,menu,default):
print
***************
*** 117,122 ****
--- 128,134 ----
while res!='9':
menu = {'0':'Show all classes','1':'show object server cache',
'2':'basic test run','3':'Show Namespace of a method',
+ '4':'import an ODL file',
'9':'end'}
res=self.execMenu(menu,'2')
if res=='0':
***************
*** 156,161 ****
--- 168,175 ----
self.basictest()
elif res=='3':
self.showMethodNamespace()
+ elif res=='4':
+ self.loadClassDefFromODLfile()
Index: gnue/appserver/src/_featuretest/geasMetaObject.py
diff -c gnue/appserver/src/_featuretest/geasMetaObject.py:1.4
gnue/appserver/src/_featuretest/geasMetaObject.py:1.5
*** gnue/appserver/src/_featuretest/geasMetaObject.py:1.4 Wed Jun 19
16:42:17 2002
--- gnue/appserver/src/_featuretest/geasMetaObject.py Mon Jul 15 05:43:59 2002
***************
*** 19,25 ****
# write to the Free Software Foundation, Inc., 59 Temple Place
# - Suite 330, Boston, MA 02111-1307, USA.
#
! # $Id: geasMetaObject.py,v 1.4 2002/06/19 20:42:17 siesel Exp $
from gnue.common import GDebug
import geasObject
--- 19,25 ----
# write to the Free Software Foundation, Inc., 59 Temple Place
# - Suite 330, Boston, MA 02111-1307, USA.
#
! # $Id: geasMetaObject.py,v 1.5 2002/07/15 09:43:59 siesel Exp $
from gnue.common import GDebug
import geasObject
***************
*** 32,43 ****
def __init__ (self, OID, parent_OID):
self._OID = OID
self._parent_OID = parent_OID
def getChildByOID(self,OID):
return None
def getAllChildren(self):
! return None
def newChild(self):
pass
--- 32,51 ----
def __init__ (self, OID, parent_OID):
self._OID = OID
self._parent_OID = parent_OID
+ self._childrenOIDlist = []
def getChildByOID(self,OID):
return None
def getAllChildren(self):
! # at the moment a dictonary (indexed by OIDs) is returned,
! # later, an object of type objectlist should be returned
! # this objectlist should be sortable and searchable and be
! # threadsafe and implement locking
! list={}
! for i in self._childrenOIDlist:
! list[i]=getObject(i)
! return list
def newChild(self):
pass
***************
*** 79,84 ****
--- 87,95 ----
def getChildByOID(self,OID):
+ if isObjectinCache(OID):
+ return getObject(OID)
+
data=self._datasource.getIndexedRowData(OID,self._tablename,
self._oidrow,self._rownames)
if data and len(data)>0:
***************
*** 102,135 ****
def getAllChildren(self):
# load all possible children / attention, there is no search in the cache
# at the moment
objects={}
data=self._datasource.getWholeRowData(self._tablename,
self._rownames+[self._oidrow])
if data:
for record in data:
-
- OID=record[self._oidrow]
- if not objects.has_key(OID):
- # build new object
- objects[OID] = self._objclass(OID,self._OID)
- # save object into cache
- registerObject(objects[OID])
- # print "Create object with OID %s" % OID
-
- populate = getattr(objects[OID],self._populatefunction)
- params=[]
- for i in self._rownames:
- params.append(record[i])
- populate(*params)
!
return objects
def newChild(self):
! pass
def _saveChild(self, c):
pass
--- 113,155 ----
def getAllChildren(self):
# load all possible children / attention, there is no search in the cache
# at the moment
+ objInCache=geasMetaObject.getAllChildren(self)
objects={}
data=self._datasource.getWholeRowData(self._tablename,
self._rownames+[self._oidrow])
if data:
for record in data:
+ OID=record[self._oidrow]
! # just build object which are not already cached
! if not objInCache.has_key(OID):
!
! if not objects.has_key(OID):
! # build new object
! objects[OID] = self._objclass(OID,self._OID)
! # save object into cache
! registerObject(objects[OID])
! # print "Create object with OID %s" % OID
!
! populate = getattr(objects[OID],self._populatefunction)
! params=[]
! for i in self._rownames:
! params.append(record[i])
! populate(*params)
!
! # merge objects and objInCache
! for i in objInCache.keys():
! objects[i]=objInCache[i]
return objects
def newChild(self):
! o = self._objclass(OID,self._OID)
! # save object into cache
! registerObject(o)
! return o
def _saveChild(self, c):
pass
***************
*** 224,235 ****
pass
def getChildByOID(self,OID):
! ## not implemented yet
! pass
def getAllInstances(self):
# list has to check for any new still uncommited instances too
try:
list = geasList.geasList(self,self._classAttribs["_tablename"])
except KeyError:
--- 244,276 ----
pass
def getChildByOID(self,OID):
! if isObjectinCache(OID):
! return getObject(OID)
!
! data=self._datasource.getIndexedRowData(OID,self._tablename,
! self._oidrow,self._rownames)
! if data and len(data)>0:
! # build new object
! o = self._objclass(OID,self._OID)
! populate = getattr(o,self._populatefunction)
! for record in data:
! params=[]
! for i in self._rownames:
! params.append(record[i])
! populate(*params)
!
! # save object into cache
! registerObject(o)
!
! # return new object
! return o
! else:
! return None
def getAllInstances(self):
# list has to check for any new still uncommited instances too
+
try:
list = geasList.geasList(self,self._classAttribs["_tablename"])
except KeyError:
Index: gnue/appserver/src/_featuretest/geasObjectServer.py
diff -c gnue/appserver/src/_featuretest/geasObjectServer.py:1.2
gnue/appserver/src/_featuretest/geasObjectServer.py:1.3
*** gnue/appserver/src/_featuretest/geasObjectServer.py:1.2 Wed Jun 19
16:42:17 2002
--- gnue/appserver/src/_featuretest/geasObjectServer.py Mon Jul 15 05:43:59 2002
***************
*** 19,25 ****
# write to the Free Software Foundation, Inc., 59 Temple Place
# - Suite 330, Boston, MA 02111-1307, USA.
#
! # $Id: geasObjectServer.py,v 1.2 2002/06/19 20:42:17 siesel Exp $
from gnue.common import GDataSource
import thread
--- 19,25 ----
# write to the Free Software Foundation, Inc., 59 Temple Place
# - Suite 330, Boston, MA 02111-1307, USA.
#
! # $Id: geasObjectServer.py,v 1.3 2002/07/15 09:43:59 siesel Exp $
from gnue.common import GDataSource
import thread
***************
*** 54,59 ****
--- 54,60 ----
# register global functions
import __builtin__
+ __builtin__.__dict__["isObjectinCache"]=self.isObjectinCache
__builtin__.__dict__["getObject"]=self.getObject
__builtin__.__dict__["registerObject"]=self.registerObject
__builtin__.__dict__["getNewOID"]=self.getNewOID
***************
*** 63,68 ****
--- 64,71 ----
# Object (cache) management functions
#
# ========================================================================
+ def isObjectinCache(self,OID):
+ return self._object_cache.has_key(OID)
def getObject(self,OID):
if self._object_cache.has_key(OID):
Index: gnue/appserver/src/_featuretest/godlParser.py
diff -c gnue/appserver/src/_featuretest/godlParser.py:1.1
gnue/appserver/src/_featuretest/godlParser.py:1.2
*** gnue/appserver/src/_featuretest/godlParser.py:1.1 Mon Jul 15 02:11:24 2002
--- gnue/appserver/src/_featuretest/godlParser.py Mon Jul 15 05:43:59 2002
***************
*** 19,27 ****
# write to the Free Software Foundation, Inc., 59 Temple Place
# - Suite 330, Boston, MA 02111-1307, USA.
#
! # $Id: godlParser.py,v 1.1 2002/07/15 06:11:24 baumannd Exp $
! import Objects
import copy, types
from gnue.common import GTypecast, GParser
--- 19,27 ----
# write to the Free Software Foundation, Inc., 59 Temple Place
# - Suite 330, Boston, MA 02111-1307, USA.
#
! # $Id: godlParser.py,v 1.2 2002/07/15 09:43:59 siesel Exp $
! # import Objects
import copy, types
from gnue.common import GTypecast, GParser
***************
*** 36,42 ****
#######################################################
def loadDefinition(URL, initialize=0):
! return GParser.loadXMLObject (URL, xmlHandler, "RpGnuRpc", 'gnurpc',
initialize, attributes={})
--- 36,42 ----
#######################################################
def loadDefinition(URL, initialize=0):
! return GParser.loadXMLObject (URL, xmlGodlHandler, "RpGnuRpc", 'gnurpc',
initialize, attributes={})
***************
*** 153,159 ****
#######################################################
#
! # xmlHandler
#
# This class is called by the XML parser to
# process the xml file.
--- 153,159 ----
#######################################################
#
! # xmlGodlHandler
#
# This class is called by the XML parser to
# process the xml file.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- gnue/appserver/src/_featuretest geasMetaObject....,
Jan Ischebeck <=