commit-gnue
[Top][All Lists]
Advanced

[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.



reply via email to

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