commit-gnue
[Top][All Lists]
Advanced

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

gnue-appserver samples/setup-pgsql.sh src/front...


From: Reinhard Mueller
Subject: gnue-appserver samples/setup-pgsql.sh src/front...
Date: Tue, 12 Aug 2003 13:04:52 -0400

CVSROOT:        /cvsroot/gnue
Module name:    gnue-appserver
Branch:         
Changes by:     Reinhard Mueller <address@hidden>       03/08/12 13:04:52

Modified files:
        samples        : setup-pgsql.sh 
        src            : frontend.py geasInstance.py geasList.py 
                         geasSession.py 
        src/classrep   : Property.py repository.ini 

Log message:
        Use Class Repository to check existance of class names and property 
names
        as well as to translate class and property names into table and column 
names.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-appserver/samples/setup-pgsql.sh.diff?tr1=1.6&tr2=1.7&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-appserver/src/frontend.py.diff?tr1=1.13&tr2=1.14&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-appserver/src/geasInstance.py.diff?tr1=1.10&tr2=1.11&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-appserver/src/geasList.py.diff?tr1=1.22&tr2=1.23&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-appserver/src/geasSession.py.diff?tr1=1.29&tr2=1.30&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-appserver/src/classrep/Property.py.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-appserver/src/classrep/repository.ini.diff?tr1=1.1&tr2=1.2&r1=text&r2=text

Patches:
Index: gnue-appserver/samples/setup-pgsql.sh
diff -c gnue-appserver/samples/setup-pgsql.sh:1.6 
gnue-appserver/samples/setup-pgsql.sh:1.7
*** gnue-appserver/samples/setup-pgsql.sh:1.6   Sat Feb  1 10:00:48 2003
--- gnue-appserver/samples/setup-pgsql.sh       Tue Aug 12 13:04:52 2003
***************
*** 7,13 ****
  psql gnue << EOF
  
  -- 
============================================================================
! -- Class Repository
  -- 
============================================================================
  
  create table gnue_module
--- 7,13 ----
  psql gnue << EOF
  
  -- 
============================================================================
! -- Class Repository - TODO: Should be done by classrep
  -- 
============================================================================
  
  create table gnue_module
***************
*** 27,38 ****
  
  create table gnue_property
  (
!   gnue_id      char    (32),
!   gnue_class   char    (32),
!   gnue_module  char    (32),
!   gnue_name    varchar (35),
!   gnue_type    varchar (35),
!   gnue_comment varchar (70)
  );
  
  insert into gnue_module values
--- 27,40 ----
  
  create table gnue_property
  (
!   gnue_id        char    (32),
!   gnue_class     char    (32),
!   gnue_module    char    (32),
!   gnue_name      varchar (35),
!   gnue_type      varchar (35),
!   gnue_length    varchar (10),
!   gnue_precision varchar (10),
!   gnue_comment   varchar (70)
  );
  
  insert into gnue_module values
***************
*** 54,59 ****
--- 56,97 ----
    'GNU Enterprise Business Object Module'
  );
  
+ insert into gnue_property values
+ (
+   '00000000000000000000000000000011',
+   '00000000000000000000000000000010',
+   '00000000000000000000000000000000',
+   'id',
+   'string',
+   '32',
+   'fix',
+   'Object ID'
+ );
+ 
+ insert into gnue_property values
+ (
+   '00000000000000000000000000000012',
+   '00000000000000000000000000000010',
+   '00000000000000000000000000000000',
+   'name',
+   'string',
+   '35',
+   'var',
+   'Name'
+ );
+ 
+ insert into gnue_property values
+ (
+   '00000000000000000000000000000013',
+   '00000000000000000000000000000010',
+   '00000000000000000000000000000000',
+   'comment',
+   'string',
+   '70',
+   'var',
+   'Comment'
+ );
+ 
  -- 
----------------------------------------------------------------------------
  -- Business Object Class
  -- 
----------------------------------------------------------------------------
***************
*** 66,71 ****
--- 104,157 ----
    'GNU Enterprise Business Object Class'
  );
  
+ insert into gnue_property values
+ (
+   '00000000000000000000000000000021',
+   '00000000000000000000000000000020',
+   '00000000000000000000000000000000',
+   'id',
+   'string',
+   '32',
+   'fix',
+   'Object ID'
+ );
+ 
+ insert into gnue_property values
+ (
+   '00000000000000000000000000000022',
+   '00000000000000000000000000000020',
+   '00000000000000000000000000000000',
+   'module',
+   'string',
+   '32',
+   'fix',
+   'Module that defined this class'
+ );
+ 
+ insert into gnue_property values
+ (
+   '00000000000000000000000000000023',
+   '00000000000000000000000000000020',
+   '00000000000000000000000000000000',
+   'name',
+   'string',
+   '35',
+   'var',
+   'Classname without modulename'
+ );
+ 
+ insert into gnue_property values
+ (
+   '00000000000000000000000000000024',
+   '00000000000000000000000000000020',
+   '00000000000000000000000000000000',
+   'comment',
+   'string',
+   '70',
+   'var',
+   'Comment'
+ );
+ 
  -- 
----------------------------------------------------------------------------
  -- Business Object Property
  -- 
----------------------------------------------------------------------------
***************
*** 78,85 ****
    'GNU Enterprise Business Object Property'
  );
  
  -- 
============================================================================
! -- Authentication and Trigger Test Stuff
  -- 
============================================================================
  
  create table appserver_users 
--- 164,267 ----
    'GNU Enterprise Business Object Property'
  );
  
+ insert into gnue_property values
+ (
+   '00000000000000000000000000000031',
+   '00000000000000000000000000000030',
+   '00000000000000000000000000000000',
+   'id',
+   'string',
+   '32',
+   'fix',
+   'Object ID'
+ );
+ 
+ insert into gnue_property values
+ (
+   '00000000000000000000000000000032',
+   '00000000000000000000000000000030',
+   '00000000000000000000000000000000',
+   'class',
+   'string',
+   '32',
+   'fix',
+   'Class the property belongs to'
+ );
+ 
+ insert into gnue_property values
+ (
+   '00000000000000000000000000000033',
+   '00000000000000000000000000000030',
+   '00000000000000000000000000000000',
+   'module',
+   'string',
+   '32',
+   'fix',
+   'Module that defined this property'
+ );
+ 
+ insert into gnue_property values
+ (
+   '00000000000000000000000000000034',
+   '00000000000000000000000000000030',
+   '00000000000000000000000000000000',
+   'name',
+   'string',
+   '35',
+   'var',
+   'Propertyname without modulename'
+ );
+ 
+ insert into gnue_property values
+ (
+   '00000000000000000000000000000035',
+   '00000000000000000000000000000030',
+   '00000000000000000000000000000000',
+   'type',
+   'string',
+   '35',
+   'var',
+   'Data type'
+ );
+ 
+ insert into gnue_property values
+ (
+   '00000000000000000000000000000036',
+   '00000000000000000000000000000030',
+   '00000000000000000000000000000000',
+   'length',
+   'string',
+   '10',
+   'var',
+   'Data length'
+ );
+ 
+ insert into gnue_property values
+ (
+   '00000000000000000000000000000037',
+   '00000000000000000000000000000030',
+   '00000000000000000000000000000000',
+   'precision',
+   'string',
+   '10',
+   'var',
+   'Data precision'
+ );
+ 
+ insert into gnue_property values
+ (
+   '00000000000000000000000000000038',
+   '00000000000000000000000000000030',
+   '00000000000000000000000000000000',
+   'comment',
+   'string',
+   '70',
+   'var',
+   'Comment'
+ );
+ 
  -- 
============================================================================
! -- Authentication and Trigger Test Stuff - TODO: Remove this
  -- 
============================================================================
  
  create table appserver_users 
***************
*** 108,114 ****
  'person:checkAreaRichness','print "standard"');
  
  -- 
============================================================================
! -- Address Module
  -- 
============================================================================
  
  insert into gnue_module values
--- 290,296 ----
  'person:checkAreaRichness','print "standard"');
  
  -- 
============================================================================
! -- Address Module - TODO: Should be imported via XML into Appserver
  -- 
============================================================================
  
  insert into gnue_module values
***************
*** 130,135 ****
--- 312,379 ----
    'Person'
  );
  
+ insert into gnue_property values
+ (
+   '00000000000000000000000000001011',
+   '00000000000000000000000000001010',
+   '00000000000000000000000000000000',
+   'id',
+   'string',
+   '32',
+   'fix',
+   'Object ID'
+ );
+ 
+ insert into gnue_property values
+ (
+   '00000000000000000000000000001011',
+   '00000000000000000000000000001010',
+   '00000000000000000000000000001000',
+   'name',
+   'string',
+   '35',
+   'var',
+   'Name of the person'
+ );
+ 
+ insert into gnue_property values
+ (
+   '00000000000000000000000000001011',
+   '00000000000000000000000000001010',
+   '00000000000000000000000000001000',
+   'street',
+   'string',
+   '35',
+   'var',
+   'Street where the person lives'
+ );
+ 
+ insert into gnue_property values
+ (
+   '00000000000000000000000000001011',
+   '00000000000000000000000000001010',
+   '00000000000000000000000000001000',
+   'zip',
+   'string',
+   '35',
+   'var',
+   'Zip code of the city where the person lives'
+ );
+ 
+ insert into gnue_property values
+ (
+   '00000000000000000000000000001011',
+   '00000000000000000000000000001010',
+   '00000000000000000000000000001000',
+   'city',
+   'string',
+   '35',
+   'var',
+   'City where the person lives'
+ );
+ 
+ -- TODO: Should be done by appserver upon import of schema
+ 
  create table address_person
  (
    gnue_id        char    (32),
***************
*** 146,151 ****
--- 390,404 ----
    'Enterprise Road 17',
    '2002',
    'Gnutown'
+ );
+ 
+ insert into address_person values
+ (
+   '00000000000000000000000000001101',
+   'Mr. Spock',
+   'Vulc Lane 1',
+   '4711',
+   'Vulcane'
  );
  
  EOF
Index: gnue-appserver/src/classrep/Property.py
diff -c gnue-appserver/src/classrep/Property.py:1.4 
gnue-appserver/src/classrep/Property.py:1.5
*** gnue-appserver/src/classrep/Property.py:1.4 Tue Aug 12 11:01:05 2003
--- gnue-appserver/src/classrep/Property.py     Tue Aug 12 13:04:52 2003
***************
*** 19,25 ****
  # write to the Free Software Foundation, Inc., 59 Temple Place 
  # - Suite 330, Boston, MA 02111-1307, USA.
  #
! # $Id: Property.py,v 1.4 2003/08/12 15:01:05 reinhard Exp $
  
  from Base import *
  from Namespace import *
--- 19,25 ----
  # write to the Free Software Foundation, Inc., 59 Temple Place 
  # - Suite 330, Boston, MA 02111-1307, USA.
  #
! # $Id: Property.py,v 1.5 2003/08/12 17:04:52 reinhard Exp $
  
  from Base import *
  from Namespace import *
***************
*** 132,138 ****
      self._object  = object
  
      # gnue_property.gnue_name is already a fully qualified identifier
!     self.fullName = object.gnue_name
      self.column   = self.fullName
  
    # 
---------------------------------------------------------------------------
--- 132,138 ----
      self._object  = object
  
      # gnue_property.gnue_name is already a fully qualified identifier
!     self.fullName = createName (module.gnue_name, object.gnue_name)
      self.column   = self.fullName
  
    # 
---------------------------------------------------------------------------
Index: gnue-appserver/src/classrep/repository.ini
diff -c gnue-appserver/src/classrep/repository.ini:1.1 
gnue-appserver/src/classrep/repository.ini:1.2
*** gnue-appserver/src/classrep/repository.ini:1.1      Tue May 27 10:30:57 2003
--- gnue-appserver/src/classrep/repository.ini  Tue Aug 12 13:04:52 2003
***************
*** 19,25 ****
  ; write to the Free Software Foundation, Inc., 59 Temple Place 
  ; - Suite 330, Boston, MA 02111-1307, USA.
  ;
! ; $Id: repository.ini,v 1.1 2003/05/27 14:30:57 jvetter Exp $
  
  ; 
=============================================================================
  ; Module definitions
--- 19,25 ----
  ; write to the Free Software Foundation, Inc., 59 Temple Place 
  ; - Suite 330, Boston, MA 02111-1307, USA.
  ;
! ; $Id: repository.ini,v 1.2 2003/08/12 17:04:52 reinhard Exp $
  
  ; 
=============================================================================
  ; Module definitions
***************
*** 62,219 ****
  ; modules
  ; 
-----------------------------------------------------------------------------
  [gnue_module.gnue_id]
! gnue_id        = 00000000000000000000000000000101
  gnue_class     = 00000000000000000000000000000010
  gnue_module    = 00000000000000000000000000000000
! gnue_name      = gnue_id
! gnue_comment   = ID of the module
  gnue_type      = string
  gnue_length    = 32
  gnue_precision = fix
  
  [gnue_module.gnue_name]
! gnue_id        = 00000000000000000000000000000102
  gnue_class     = 00000000000000000000000000000010
  gnue_module    = 00000000000000000000000000000000
! gnue_name      = gnue_name
! gnue_comment   = Name of the module
  gnue_type      = string
  gnue_length    = 35
  gnue_precision = var
  
  [gnue_module.gnue_comment]
! gnue_id        = 00000000000000000000000000000103
  gnue_class     = 00000000000000000000000000000010
  gnue_module    = 00000000000000000000000000000000
! gnue_name      = gnue_comment
! gnue_comment   = Comment of the module
  gnue_type      = string
  gnue_length    = 70
  gnue_precision = var
  
  ; 
-----------------------------------------------------------------------------
  ; classes
  ; 
-----------------------------------------------------------------------------
  [gnue_class.gnue_id]
! gnue_id        = 00000000000000000000000000000201
  gnue_class     = 00000000000000000000000000000020
  gnue_module    = 00000000000000000000000000000000
! gnue_name      = gnue_id
! gnue_comment   = Class id
  gnue_type      = string
  gnue_length    = 32
  gnue_precision = fix
  
  [gnue_class.gnue_module]
! gnue_id        = 00000000000000000000000000000202
  gnue_class     = 00000000000000000000000000000020
  gnue_module    = 00000000000000000000000000000000
! gnue_name      = gnue_module
! gnue_comment   = Module id
  gnue_type      = string
  gnue_length    = 32
  gnue_precision = var
  
  [gnue_class.gnue_name]
! gnue_id        = 00000000000000000000000000000203
  gnue_class     = 00000000000000000000000000000020
  gnue_module    = 00000000000000000000000000000000
! gnue_name      = gnue_name
! gnue_comment   = Classname
  gnue_type      = string
  gnue_length    = 35
  gnue_precision = var
  
  [gnue_class.gnue_comment]
! gnue_id        = 00000000000000000000000000000204
  gnue_class     = 00000000000000000000000000000020
  gnue_module    = 00000000000000000000000000000000
! gnue_name      = gnue_comment
! gnue_comment   = Comments of the class
  gnue_type      = string
  gnue_length    = 70
  gnue_precision = var
  
  ; 
-----------------------------------------------------------------------------
  ; properties
  ; 
-----------------------------------------------------------------------------
  [gnue_property.gnue_id]
! gnue_id        = 00000000000000000000000000000301
  gnue_class     = 00000000000000000000000000000030
  gnue_module    = 00000000000000000000000000000000
! gnue_name      = gnue_id
! gnue_comment   = Property ID
  gnue_type      = string
  gnue_length    = 32
  gnue_precision = fix
  
  [gnue_property.gnue_class]
! gnue_id        = 00000000000000000000000000000301
  gnue_class     = 00000000000000000000000000000030
  gnue_module    = 00000000000000000000000000000000
! gnue_name      = gnue_class
! gnue_comment   = Class-ID of the property
  gnue_type      = string
  gnue_length    = 32
  gnue_precision = fix
  
  [gnue_property.gnue_module]
! gnue_id        = 00000000000000000000000000000301
  gnue_class     = 00000000000000000000000000000030
  gnue_module    = 00000000000000000000000000000000
! gnue_name      = gnue_module
! gnue_comment   = Module ID of the property
  gnue_type      = string
  gnue_length    = 32
  gnue_precision = fix
  
  [gnue_property.gnue_name]
! gnue_id        = 00000000000000000000000000000301
  gnue_class     = 00000000000000000000000000000030
  gnue_module    = 00000000000000000000000000000000
! gnue_name      = gnue_name
! gnue_comment   = Property name
  gnue_type      = string
  gnue_length    = 35
  gnue_precision = var
  
  [gnue_property.gnue_type]
! gnue_id        = 00000000000000000000000000000301
  gnue_class     = 00000000000000000000000000000030
  gnue_module    = 00000000000000000000000000000000
! gnue_name      = gnue_type
! gnue_comment   = Property type 
  gnue_type      = string
  gnue_length    = 35
  gnue_precision = var
! 
! [gnue_property.gnue_comment]
! gnue_id        = 00000000000000000000000000000301
! gnue_class     = 00000000000000000000000000000030
! gnue_module    = 00000000000000000000000000000000
! gnue_name      = gnue_comment
! gnue_comment   = Comments of the property
! gnue_type      = string
! gnue_length    = 70
! gnue_precision = var
  
  [gnue_property.gnue_length]
! gnue_id        = 00000000000000000000000000000301
  gnue_class     = 00000000000000000000000000000030
  gnue_module    = 00000000000000000000000000000000
! gnue_name      = gnue_length
! gnue_comment   = Lenght of the property 
  gnue_type      = number
  gnue_length    = 10
  gnue_precision = 0
  
  [gnue_property.gnue_precision]
! gnue_id        = 00000000000000000000000000000301
  gnue_class     = 00000000000000000000000000000030
  gnue_module    = 00000000000000000000000000000000
! gnue_name      = gnue_precision
! gnue_comment   = Precision of Property
  gnue_type      = number
  gnue_length    = 10
  gnue_precision = 0
  
--- 62,219 ----
  ; modules
  ; 
-----------------------------------------------------------------------------
  [gnue_module.gnue_id]
! gnue_id        = 00000000000000000000000000000011
  gnue_class     = 00000000000000000000000000000010
  gnue_module    = 00000000000000000000000000000000
! gnue_name      = id
  gnue_type      = string
  gnue_length    = 32
  gnue_precision = fix
+ gnue_comment   = Object ID
  
  [gnue_module.gnue_name]
! gnue_id        = 00000000000000000000000000000012
  gnue_class     = 00000000000000000000000000000010
  gnue_module    = 00000000000000000000000000000000
! gnue_name      = name
  gnue_type      = string
  gnue_length    = 35
  gnue_precision = var
+ gnue_comment   = Name
  
  [gnue_module.gnue_comment]
! gnue_id        = 00000000000000000000000000000013
  gnue_class     = 00000000000000000000000000000010
  gnue_module    = 00000000000000000000000000000000
! gnue_name      = comment
  gnue_type      = string
  gnue_length    = 70
  gnue_precision = var
+ gnue_comment   = Comment
  
  ; 
-----------------------------------------------------------------------------
  ; classes
  ; 
-----------------------------------------------------------------------------
  [gnue_class.gnue_id]
! gnue_id        = 00000000000000000000000000000021
  gnue_class     = 00000000000000000000000000000020
  gnue_module    = 00000000000000000000000000000000
! gnue_name      = id
  gnue_type      = string
  gnue_length    = 32
  gnue_precision = fix
+ gnue_comment   = Object ID
  
  [gnue_class.gnue_module]
! gnue_id        = 00000000000000000000000000000022
  gnue_class     = 00000000000000000000000000000020
  gnue_module    = 00000000000000000000000000000000
! gnue_name      = module
  gnue_type      = string
  gnue_length    = 32
  gnue_precision = var
+ gnue_comment   = Module that defined this class
  
  [gnue_class.gnue_name]
! gnue_id        = 00000000000000000000000000000023
  gnue_class     = 00000000000000000000000000000020
  gnue_module    = 00000000000000000000000000000000
! gnue_name      = name
  gnue_type      = string
  gnue_length    = 35
  gnue_precision = var
+ gnue_comment   = Classname without modulename
  
  [gnue_class.gnue_comment]
! gnue_id        = 00000000000000000000000000000024
  gnue_class     = 00000000000000000000000000000020
  gnue_module    = 00000000000000000000000000000000
! gnue_name      = comment
  gnue_type      = string
  gnue_length    = 70
  gnue_precision = var
+ gnue_comment   = Comment
  
  ; 
-----------------------------------------------------------------------------
  ; properties
  ; 
-----------------------------------------------------------------------------
  [gnue_property.gnue_id]
! gnue_id        = 00000000000000000000000000000031
  gnue_class     = 00000000000000000000000000000030
  gnue_module    = 00000000000000000000000000000000
! gnue_name      = id
  gnue_type      = string
  gnue_length    = 32
  gnue_precision = fix
+ gnue_comment   = Object ID
  
  [gnue_property.gnue_class]
! gnue_id        = 00000000000000000000000000000032
  gnue_class     = 00000000000000000000000000000030
  gnue_module    = 00000000000000000000000000000000
! gnue_name      = class
  gnue_type      = string
  gnue_length    = 32
  gnue_precision = fix
+ gnue_comment   = Class the property belongs to
  
  [gnue_property.gnue_module]
! gnue_id        = 00000000000000000000000000000033
  gnue_class     = 00000000000000000000000000000030
  gnue_module    = 00000000000000000000000000000000
! gnue_name      = module
  gnue_type      = string
  gnue_length    = 32
  gnue_precision = fix
+ gnue_comment   = Module that defined this property
  
  [gnue_property.gnue_name]
! gnue_id        = 00000000000000000000000000000034
  gnue_class     = 00000000000000000000000000000030
  gnue_module    = 00000000000000000000000000000000
! gnue_name      = name
  gnue_type      = string
  gnue_length    = 35
  gnue_precision = var
+ gnue_comment   = Propertyname without modulename
  
  [gnue_property.gnue_type]
! gnue_id        = 00000000000000000000000000000035
  gnue_class     = 00000000000000000000000000000030
  gnue_module    = 00000000000000000000000000000000
! gnue_name      = type
  gnue_type      = string
  gnue_length    = 35
  gnue_precision = var
! gnue_comment   = Property type 
  
  [gnue_property.gnue_length]
! gnue_id        = 00000000000000000000000000000036
  gnue_class     = 00000000000000000000000000000030
  gnue_module    = 00000000000000000000000000000000
! gnue_name      = length
  gnue_type      = number
  gnue_length    = 10
  gnue_precision = 0
+ gnue_comment   = Lenght of the property 
  
  [gnue_property.gnue_precision]
! gnue_id        = 00000000000000000000000000000037
  gnue_class     = 00000000000000000000000000000030
  gnue_module    = 00000000000000000000000000000000
! gnue_name      = precision
  gnue_type      = number
  gnue_length    = 10
  gnue_precision = 0
+ gnue_comment   = Precision of Property
+ 
+ [gnue_property.gnue_comment]
+ gnue_id        = 00000000000000000000000000000038
+ gnue_class     = 00000000000000000000000000000030
+ gnue_module    = 00000000000000000000000000000000
+ gnue_name      = comment
+ gnue_type      = string
+ gnue_length    = 70
+ gnue_precision = var
+ gnue_comment   = Comments of the property
  
Index: gnue-appserver/src/frontend.py
diff -c gnue-appserver/src/frontend.py:1.13 gnue-appserver/src/frontend.py:1.14
*** gnue-appserver/src/frontend.py:1.13 Mon Jul 28 17:25:01 2003
--- gnue-appserver/src/frontend.py      Tue Aug 12 13:04:52 2003
***************
*** 19,25 ****
  # write to the Free Software Foundation, Inc., 59 Temple Place 
  # - Suite 330, Boston, MA 02111-1307, USA.
  #
! # $Id: frontend.py,v 1.13 2003/07/28 21:25:01 reinhard Exp $
  
  import os, getpass
  from gnue.common.apps import GClientApp
--- 19,25 ----
  # write to the Free Software Foundation, Inc., 59 Temple Place 
  # - Suite 330, Boston, MA 02111-1307, USA.
  #
! # $Id: frontend.py,v 1.14 2003/08/12 17:04:52 reinhard Exp $
  
  import os, getpass
  from gnue.common.apps import GClientApp
***************
*** 175,180 ****
--- 175,181 ----
      # now, we have all object_ids and we can use "load" to get the data
      rset = self.server.load (self.session, self.classname, object_ids,
                               propertylist)
+     print rset
      for index in range (0, count):
        object = rset [index]
        print "* Object number %d with id %s:" % (start + index,
Index: gnue-appserver/src/geasInstance.py
diff -c gnue-appserver/src/geasInstance.py:1.10 
gnue-appserver/src/geasInstance.py:1.11
*** gnue-appserver/src/geasInstance.py:1.10     Tue Jan  7 16:56:56 2003
--- gnue-appserver/src/geasInstance.py  Tue Aug 12 13:04:52 2003
***************
*** 19,25 ****
  # write to the Free Software Foundation, Inc., 59 Temple Place 
  # - Suite 330, Boston, MA 02111-1307, USA.
  #
! # $Id: geasInstance.py,v 1.10 2003/01/07 21:56:56 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.11 2003/08/12 17:04:52 reinhard Exp $
  
  # 
=============================================================================
  # Instance class
***************
*** 31,56 ****
    # Initalize
    # 
---------------------------------------------------------------------------
  
!   def __init__ (self, list, record):
      self._list = list
      self._record = record
  
    # 
---------------------------------------------------------------------------
!   # Get the value of a field
    # 
---------------------------------------------------------------------------
  
!   def get (self, fieldname):
!     # TODO: look up the field type (calculated, reference etc.), translate
!     # the field name into a column name
!     return self._record.getField (fieldname)
  
    # 
---------------------------------------------------------------------------
!   # Set the value of a field
    # 
---------------------------------------------------------------------------
  
!   def put (self, fieldname, value):
!     # TODO: translate the field name into a column name
!     self._record.setField (fieldname, value)
  
    # 
---------------------------------------------------------------------------
    # Delete this instance 
--- 31,67 ----
    # Initalize
    # 
---------------------------------------------------------------------------
  
!   def __init__ (self, list, record, classdef):
      self._list = list
      self._record = record
+     self._classdef = classdef
  
    # 
---------------------------------------------------------------------------
!   # Get the value of a property
    # 
---------------------------------------------------------------------------
  
!   def get (self, propertyname):
!     propertydef = self._classdef.properties [propertyname]
!     if propertydef.gnue_type == "string" or \
!        propertydef.gnue_type == "number":
!       return self._record.getField (propertydef.column)
!     # TODO: Missing property types:
!     #       * datetime
!     #       * boolean
!     #       * refernce properties (gnue_type = classname)
!     #       * list properties
!     #       * calculated properties (must have triggers working first)
!     else:
!       raise Exception, "Field type '%s' not defined." % propertydef.gnue_type
  
    # 
---------------------------------------------------------------------------
!   # Set the value of a propertyname
    # 
---------------------------------------------------------------------------
  
!   def put (self, propertyname, value):
!     propertydef = self._classdef.properties [propertyname]
!     # TODO: from property type, check if the new value is valid
!     self._record.setField (propertydef.column, value)
  
    # 
---------------------------------------------------------------------------
    # Delete this instance 
Index: gnue-appserver/src/geasList.py
diff -c gnue-appserver/src/geasList.py:1.22 gnue-appserver/src/geasList.py:1.23
*** gnue-appserver/src/geasList.py:1.22 Mon Aug 11 11:26:54 2003
--- gnue-appserver/src/geasList.py      Tue Aug 12 13:04:52 2003
***************
*** 19,25 ****
  # write to the Free Software Foundation, Inc., 59 Temple Place 
  # - Suite 330, Boston, MA 02111-1307, USA.
  #
! # $Id: geasList.py,v 1.22 2003/08/11 15:26:54 reinhard Exp $
  
  from gnue.common.datasources import GDataSource,GConditions
  import geasInstance
--- 19,25 ----
  # write to the Free Software Foundation, Inc., 59 Temple Place 
  # - Suite 330, Boston, MA 02111-1307, USA.
  #
! # $Id: geasList.py,v 1.23 2003/08/12 17:04:52 reinhard Exp $
  
  from gnue.common.datasources import GDataSource,GConditions
  import geasInstance
***************
*** 35,58 ****
    # Initalize
    # 
---------------------------------------------------------------------------
  
!   def __init__ (self, session, classname):
      self._session = session
!     self._classname = classname
!     self._prefetch = []
!     self._conditions = []
  
    # 
---------------------------------------------------------------------------
    # Actually these 3 only set variables
    # 
---------------------------------------------------------------------------
  
    def setPrefetch (self, prefetch):
!     if type(prefetch)==type(""):
!       self._prefetch = string.split(prefetch,",")
!     elif  type(prefetch)==type([]):
        self._prefetch = prefetch
      else:
        raise Error,"Wrong format of prefetch information."
!     
  
    # conditions = an list consisting of condition elements written down in
    # prefix  notation i.e. (a=12) AND (c=121) -> AND = a 12 = c 121
--- 35,65 ----
    # Initalize
    # 
---------------------------------------------------------------------------
  
!   def __init__ (self, session, classdef):
      self._session = session
!     self._classdef = classdef
!     self._prefetch = []         # property names to be prefetched
!     self._conditions = []       # conditions using property names
!     self._sort = []             # property names to be used as sort key
!     self._prefColumns = []      # (db) column names to be prefetched
!     self._sortColumns = []      # (db) column names to be used as sort key
  
    # 
---------------------------------------------------------------------------
    # Actually these 3 only set variables
    # 
---------------------------------------------------------------------------
  
    def setPrefetch (self, prefetch):
!     if type (prefetch) == type (""):
!       self._prefetch = string.split (prefetch,",")
!     elif type (prefetch) == type ([]):
        self._prefetch = prefetch
      else:
        raise Error,"Wrong format of prefetch information."
!     # test if all properties in prefetch list are valid and find column names
!     self._prefColumns = []
!     for propertyname in self._prefetch:
!       propertydef = self._classdef.properties [propertyname]
!       self._prefColumns.append (propertydef.column)
  
    # conditions = an list consisting of condition elements written down in
    # prefix  notation i.e. (a=12) AND (c=121) -> AND = a 12 = c 121
***************
*** 61,74 ****
  
    def setConditions (self, conditions):    
      self._conditions = conditions
!     
      # now building GCondition tree
      self._conditionTree = GConditions.buildTreeFromPrefix(conditions)
  
-     
-       
    def setSort (self, sort):
      self._sort = sort
  
    # 
---------------------------------------------------------------------------
    # Populate the list with data from the database backend
--- 68,83 ----
  
    def setConditions (self, conditions):    
      self._conditions = conditions
!     # TODO: translate property names to column names
      # now building GCondition tree
      self._conditionTree = GConditions.buildTreeFromPrefix(conditions)
  
    def setSort (self, sort):
      self._sort = sort
+     # test if all properties in sort list are valid and find column names
+     for propertyname in self._sort:
+       propertydef = self._classdef.properties [propertyname]
+       self._sortColumns.append (propertydef.column)
  
    # 
---------------------------------------------------------------------------
    # Populate the list with data from the database backend
***************
*** 76,120 ****
  
    def populate (self):
      self._datasource = GDataSource.GDataSource ()
-     # TODO: get the table name from the class name
      self._datasource.buildObject (name = "",
                                  database = self._session._database,
!                                 table = self._classname)
      self._datasource.setConnectionManager (self._session._connections)
  
      # bug fix should be moved into common after the freeze
      self._datasource._datasourceDictionary={}
  
!     # set the field to sort (has to be called before phase init
!     if hasattr(self,"_sort"):
!       if self._sort!=[]:
!         self._datasource.order_by=string.joinfields(self._sort,",")
      
      self._datasource.phaseInit ()
!     # TODO: get the column names from the prefetch field names
!     for field in self._prefetch:
!       self._datasource.referenceField (field)
  
      if hasattr(self,"_conditionTree"):
!       self._resultset = self._datasource.createResultSet(self._conditionTree)
      else:
!       self._resultset = self._datasource.createResultSet()
!       
  
    # 
---------------------------------------------------------------------------
    # Get the first instance in the list
    # 
---------------------------------------------------------------------------
  
    def firstInstance (self):
! #   if self._classname != "appserver_pytrigger" \
! #      and self._classname != "gnue_module":
  #     trigger=self._session._triggerMg.getTriggerByEvent \
! #              ('%s:pre_first_inst' % self._classname)
  #     if trigger!=None:
  #       trigger()
          
      if self._resultset.firstRecord () != None:
!       return geasInstance.geasInstance (self,  self._resultset.current)
      else:
        return None
  
--- 85,127 ----
  
    def populate (self):
      self._datasource = GDataSource.GDataSource ()
      self._datasource.buildObject (name = "",
                                  database = self._session._database,
!                                 table = self._classdef.table)
      self._datasource.setConnectionManager (self._session._connections)
  
      # bug fix should be moved into common after the freeze
      self._datasource._datasourceDictionary={}
  
!     # set the property to sort (has to be called before phase init)
!     if self._sortColumns != []:
!       self._datasource.order_by = string.joinfields(self._sortColumns, ",")
      
      self._datasource.phaseInit ()
! 
!     for column in self._prefColumns:
!       self._datasource.referenceField (column)
  
      if hasattr(self,"_conditionTree"):
!       self._resultset = self._datasource.createResultSet (self._conditionTree)
      else:
!       self._resultset = self._datasource.createResultSet ()
  
    # 
---------------------------------------------------------------------------
    # Get the first instance in the list
    # 
---------------------------------------------------------------------------
  
    def firstInstance (self):
! #   if self._classdef.fullName != "appserver_pytrigger" \
! #      and self._classdef.fullName != "gnue_module":
  #     trigger=self._session._triggerMg.getTriggerByEvent \
! #              ('%s:pre_first_inst' % self._classdef.fullName)
  #     if trigger!=None:
  #       trigger()
          
      if self._resultset.firstRecord () != None:
!       return geasInstance.geasInstance (self,  self._resultset.current,
!                                         self._classdef)
      else:
        return None
  
***************
*** 124,130 ****
  
    def nextInstance (self):
      if self._resultset.nextRecord () != None:
!       return geasInstance.geasInstance (self, self._resultset.current)
      else:
        return None
  
--- 131,138 ----
  
    def nextInstance (self):
      if self._resultset.nextRecord () != None:
!       return geasInstance.geasInstance (self, self._resultset.current,
!                                         self._classdef)
      else:
        return None
  
***************
*** 167,170 ****
  
    def insertNewInstance (self):
      self._resultset.insertRecord ()
!     return geasInstance.geasInstance (self, self._resultset.current)
--- 175,179 ----
  
    def insertNewInstance (self):
      self._resultset.insertRecord ()
!     return geasInstance.geasInstance (self, self._resultset.current,
!                                       self._classdef)
Index: gnue-appserver/src/geasSession.py
diff -c gnue-appserver/src/geasSession.py:1.29 
gnue-appserver/src/geasSession.py:1.30
*** gnue-appserver/src/geasSession.py:1.29      Mon Aug 11 11:26:54 2003
--- gnue-appserver/src/geasSession.py   Tue Aug 12 13:04:52 2003
***************
*** 19,25 ****
  # write to the Free Software Foundation, Inc., 59 Temple Place 
  # - Suite 330, Boston, MA 02111-1307, USA.
  #
! # $Id: geasSession.py,v 1.29 2003/08/11 15:26:54 reinhard Exp $
  
  import geasList
  import geasTrigger 
--- 19,25 ----
  # write to the Free Software Foundation, Inc., 59 Temple Place 
  # - Suite 330, Boston, MA 02111-1307, USA.
  #
! # $Id: geasSession.py,v 1.30 2003/08/12 17:04:52 reinhard Exp $
  
  import geasList
  import geasTrigger 
***************
*** 69,75 ****
    # Get class definition from class name
    # 
---------------------------------------------------------------------------
  
!   def getClassdef (self, classname):
      return classrep.classes [classname]
  
    # 
---------------------------------------------------------------------------
--- 69,75 ----
    # Get class definition from class name
    # 
---------------------------------------------------------------------------
  
!   def _getClassdef (self, classname):
      return classrep.classes [classname]
  
    # 
---------------------------------------------------------------------------
***************
*** 98,104 ****
  
    def createList (self, classname):
      
!     classdef = self.getClassdef (classname)
  
      # check if user has access rights for this list
      if not self._authAdapter.hasAccess (self, self._user, classname):
--- 98,104 ----
  
    def createList (self, classname):
      
!     classdef = self._getClassdef (classname)
  
      # check if user has access rights for this list
      if not self._authAdapter.hasAccess (self, self._user, classname):
***************
*** 112,122 ****
  #       tr()
        
      # create new List
!     newlist=geasList.geasList (self, classname)
      # every new list will be added to the _lists list
      # which will be parsed for commit and rollback actions
!     self._listcount+=1
!     self._lists[self._listcount]=newlist
      return newlist;
    
    # 
---------------------------------------------------------------------------
--- 112,122 ----
  #       tr()
        
      # create new List
!     newlist = geasList.geasList (self, classdef)
      # every new list will be added to the _lists list
      # which will be parsed for commit and rollback actions
!     self._listcount += 1
!     self._lists [self._listcount] = newlist
      return newlist;
    
    # 
---------------------------------------------------------------------------
***************
*** 181,187 ****
  
    def load (self, classname, obj_id_list, propertylist):
      # create a temporary geasList
!     list = geasList.geasList (self, classname)
      list.setPrefetch (["gnue_id"] + propertylist)
      list.setSort (["gnue_id"])
      # Accessing the database for every single object_id is not very elegant,
--- 181,188 ----
  
    def load (self, classname, obj_id_list, propertylist):
      # create a temporary geasList
!     classdef = self._getClassdef (classname)
!     list = geasList.geasList (self, classdef)
      list.setPrefetch (["gnue_id"] + propertylist)
      list.setSort (["gnue_id"])
      # Accessing the database for every single object_id is not very elegant,
***************
*** 192,200 ****
                             ['const', object_id]])
        list.populate ()
        object = list.firstInstance ()
!       row = {}
        for property in propertylist:
!         row [property] = object.get (property)
        result.append (row)
      return result
  
--- 193,205 ----
                             ['const', object_id]])
        list.populate ()
        object = list.firstInstance ()
!       row = []
        for property in propertylist:
!         value = object.get (property)
!         ## TRANSFER None as ""
!         if value == None:
!           value = ""
!         row.append (value)
        result.append (row)
      return result
  
***************
*** 264,270 ****
  
    def call(self,classname,obj_id_list,methodname,parameters):    
      # create a temporary geasList
!     list = geasList.geasList (self, classname)
      list.setPrefetch (["gnue_id"]) # + propertylist) TODO: fetch propertylist
      list.setSort (["gnue_id"])
      # Accessing the database for every single object_id is not very elegant,
--- 269,276 ----
  
    def call(self,classname,obj_id_list,methodname,parameters):    
      # create a temporary geasList
!     classdef = self._getClassdef (classname)
!     list = geasList.geasList (self, classdef)
      list.setPrefetch (["gnue_id"]) # + propertylist) TODO: fetch propertylist
      list.setSort (["gnue_id"])
      # Accessing the database for every single object_id is not very elegant,




reply via email to

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