commit-gnue
[Top][All Lists]
Advanced

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

gnue/appserver/src/classrep Module.py test.py


From: Johannes Vetter
Subject: gnue/appserver/src/classrep Module.py test.py
Date: Mon, 24 Feb 2003 11:44:35 -0500

CVSROOT:        /cvsroot/gnue
Module name:    gnue
Changes by:     Johannes Vetter <address@hidden>        03/02/24 11:44:34

Modified files:
        appserver/src/classrep: Module.py test.py 

Log message:
        Keep track of sessions

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/appserver/src/classrep/Module.py.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/appserver/src/classrep/test.py.diff?tr1=1.1&tr2=1.2&r1=text&r2=text

Patches:
Index: gnue/appserver/src/classrep/Module.py
diff -c gnue/appserver/src/classrep/Module.py:1.1 
gnue/appserver/src/classrep/Module.py:1.2
*** gnue/appserver/src/classrep/Module.py:1.1   Sun Feb 16 18:10:12 2003
--- gnue/appserver/src/classrep/Module.py       Mon Feb 24 11:44:34 2003
***************
*** 19,30 ****
  # write to the Free Software Foundation, Inc., 59 Temple Place 
  # - Suite 330, Boston, MA 02111-1307, USA.
  #
! # $Id: Module.py,v 1.1 2003/02/16 23:10:12 reinhard Exp $
  
  # 
=============================================================================
  # A List Of Business Object Modules
  # 
=============================================================================
  class ModuleDict:
    # 
---------------------------------------------------------------------------
    # This class behaves like a dictionary of all available modules with the
    # keys being the module names and the values being Module objects.
--- 19,33 ----
  # write to the Free Software Foundation, Inc., 59 Temple Place 
  # - Suite 330, Boston, MA 02111-1307, USA.
  #
! # $Id: Module.py,v 1.2 2003/02/24 16:44:34 jvetter Exp $
! 
! from Class import ClassDict
  
  # 
=============================================================================
  # A List Of Business Object Modules
  # 
=============================================================================
  class ModuleDict:
+ 
    # 
---------------------------------------------------------------------------
    # This class behaves like a dictionary of all available modules with the
    # keys being the module names and the values being Module objects.
***************
*** 38,43 ****
--- 41,52 ----
    # otherwise
    # 
---------------------------------------------------------------------------
    def get (self, name, default = None):
+     # is the requested module in the cache ?
+     for module in self._list:
+       if module.gnue_name == name:
+       return Module (self._session, module)
+ 
+     # since it isn't cached we've to ask for it
      list = self._session.find ("gnue_module",
                                 [["eq", ""], ["field", "gnue_name"],
                                  ["const", name]],
***************
*** 45,78 ****
      if len (list) <> 1:
        return default
      else:
!       return Module (list [0])
  
    # 
---------------------------------------------------------------------------
    # Get the keys
    # 
---------------------------------------------------------------------------
    def keys (self):
!     result = []
!     for mod in self._list:
!       result.append (mod.gnue_name)
!     return result
  
    # 
---------------------------------------------------------------------------
    # Get the values
    # 
---------------------------------------------------------------------------
    def values (self):
!     result = []
!     for mod in self._list:
!       result.append (Module (mod))
!     return result
  
    # 
---------------------------------------------------------------------------
    # Get the (key, value) pairs
    # 
---------------------------------------------------------------------------
    def items (self):
!     result = []
!     for mod in self._list:
!       result.append ((mod.gnue_name, Module (mod)))
!     return result
  
    # 
---------------------------------------------------------------------------
    # Return whether the given key exists
--- 54,81 ----
      if len (list) <> 1:
        return default
      else:
!       # extend the cache and return the requested instance
!       self._list.append (list [0])
!       return Module (self._session, list [0])
! 
  
    # 
---------------------------------------------------------------------------
    # Get the keys
    # 
---------------------------------------------------------------------------
    def keys (self):
!     return [module.gnue_name for module in self._list]
  
    # 
---------------------------------------------------------------------------
    # Get the values
    # 
---------------------------------------------------------------------------
    def values (self):
!     return [Module (self._session, module) for module in self._list]
  
    # 
---------------------------------------------------------------------------
    # Get the (key, value) pairs
    # 
---------------------------------------------------------------------------
    def items (self):
!     return [(mod.gnue_name, Module (self._session, mod)) for mod in 
self._list]
  
    # 
---------------------------------------------------------------------------
    # Return whether the given key exists
***************
*** 96,111 ****
      else:
        raise KeyError, name
  
  # 
=============================================================================
  # A Business Object Module
  # 
=============================================================================
  class Module:
!   def __init__ (self, object):
      # _object is the underlying business object
!     self._object = object
  
    # 
---------------------------------------------------------------------------
    # Return an attribute's value
    # 
---------------------------------------------------------------------------
    def __getattr__ (self, attr):
      return getattr (self._object, "gnue_" + attr)
--- 99,124 ----
      else:
        raise KeyError, name
  
+ 
  # 
=============================================================================
  # A Business Object Module
  # 
=============================================================================
  class Module:
! 
!   def __init__ (self, session, object):
!     # _session is a valid LI session
      # _object is the underlying business object
!     self._session = session
!     self._object  = object
  
    # 
---------------------------------------------------------------------------
    # Return an attribute's value
    # 
---------------------------------------------------------------------------
    def __getattr__ (self, attr):
      return getattr (self._object, "gnue_" + attr)
+ 
+   # 
---------------------------------------------------------------------------
+   # Return a dictionary with all classes associated with this instance
+   # 
---------------------------------------------------------------------------
+   def classes (self):
+     return ClassDict (self._session, self)
Index: gnue/appserver/src/classrep/test.py
diff -c gnue/appserver/src/classrep/test.py:1.1 
gnue/appserver/src/classrep/test.py:1.2
*** gnue/appserver/src/classrep/test.py:1.1     Sun Feb 16 18:10:12 2003
--- gnue/appserver/src/classrep/test.py Mon Feb 24 11:44:34 2003
***************
*** 9,14 ****
--- 9,22 ----
  m = mod ["address"]
  print m.name + ": " + m.comment
  
+ print "\nClasses of the gnue-module:"
+ m = mod ["gnue"]
+ cDict = m.classes ()
+ 
+ for key in m.classes ().keys ():
+   aClass = cDict [key]
+   print "has class", aClass.name, "aka", aClass.fqName
+ 
  print
  print "Number of modules: %d" % len (mod)
  




reply via email to

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