commit-gnue
[Top][All Lists]
Advanced

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

r6256 - in trunk/gnue-appserver/src: gcd gld


From: johannes
Subject: r6256 - in trunk/gnue-appserver/src: gcd gld
Date: Mon, 6 Sep 2004 04:31:36 -0500 (CDT)

Author: johannes
Date: 2004-09-06 04:31:34 -0500 (Mon, 06 Sep 2004)
New Revision: 6256

Modified:
   trunk/gnue-appserver/src/gcd/GCParser.py
   trunk/gnue-appserver/src/gcd/readgcd.py
   trunk/gnue-appserver/src/gld/GLParser.py
   trunk/gnue-appserver/src/gld/readgld.py
Log:
*) Moved messages from gcd into gld
*) Changed toplevel object in GLD from labels to module


Modified: trunk/gnue-appserver/src/gcd/GCParser.py
===================================================================
--- trunk/gnue-appserver/src/gcd/GCParser.py    2004-09-06 09:30:17 UTC (rev 
6255)
+++ trunk/gnue-appserver/src/gcd/GCParser.py    2004-09-06 09:31:34 UTC (rev 
6256)
@@ -194,29 +194,6 @@
         },
         'ParentTags': ('procedure',)
       },
-
-      'messages': {
-        'BaseClass': GCMessages,
-        'Attributes': {
-          'language': {
-            'Required': True,
-            'Typecast': GTypecast.text}
-        }, # Attributes
-        'ParentTags': ('module',)
-      }, # messages
-
-      'message': {
-        'BaseClass': GCMessage,
-        'Attributes': {
-          'name': {
-            'Required': True,
-            'Unique': True,
-            'Typecast': GTypecast.name}
-        }, # Attributes
-        'ParentTags'    : ('messages',),
-        'MixedContent'  : True,
-        'KeepWhitespace': True,
-      }, # message
     }
 
   return GParser.buildImportableTags ('module', xmlElements)
@@ -461,40 +438,3 @@
 class GCParameter (GCTypeDefinition):
   def __init__ (self, parent):
     GCTypeDefinition.__init__ (self, parent, objType = 'GCParameter')
-
-
-# =============================================================================
-# This class implements a collection of messages
-# =============================================================================
-
-class GCMessages (GCObject):
-  def __init__ (self, parent):
-    GCObject.__init__ (self, parent, type = 'GCMessages')
-    self._inits.extend ([None, self._validate])
-
-  def _validate (self):
-    if not len (self.language):
-      raise MissingLanguageError
-
-    self.module = self._parent.name
-
-
-# =============================================================================
-# This class implements a single message
-# =============================================================================
-
-class GCMessage (GCObject):
-  def __init__ (self, parent):
-    GCObject.__init__ (self, parent, type = 'GCMessage')
-    self._inits.extend ([None, self._validate])
-
-  def _validate (self):
-    if not len (self.name):
-      raise MissingNameError, _("Message tag has an empty 'name' attribute")
-
-    if '_' in self.name:
-      self.name = self.name.split ('_') [-1]
-
-    self.language = self._parent.language
-    self.module   = self._parent.module
-    self.fullName = Namespace.createName (self._parent.module, self.name)

Modified: trunk/gnue-appserver/src/gcd/readgcd.py
===================================================================
--- trunk/gnue-appserver/src/gcd/readgcd.py     2004-09-06 09:30:17 UTC (rev 
6255)
+++ trunk/gnue-appserver/src/gcd/readgcd.py     2004-09-06 09:31:34 UTC (rev 
6256)
@@ -150,7 +150,6 @@
     self.properties = {}
     self.procedures = {}
     self.parameters = {}
-    self.messages   = {}
 
     for item in range (len (self._files)):
       print o (u_("Loading gcd file '%s' ...") % self._args [item])
@@ -184,9 +183,6 @@
     elif sObject._type == 'GCClass':
       self.__translateClass (sObject)
 
-    elif sObject._type == 'GCMessage':
-      self.__translateMessage (sObject)
-
   
 
   # ---------------------------------------------------------------------------
@@ -327,17 +323,6 @@
 
 
   # ---------------------------------------------------------------------------
-  # Translate a message into a dictionary for later classrep update
-  # ---------------------------------------------------------------------------
-
-  def __translateMessage (self, sObject):
-    self.messages [sObject.fullName] = { \
-                         'gnue_language': sObject.language,
-                         'gnue_name'    : sObject.name,
-                         'gnue_text'    : sObject.getChildrenAsContent (),
-                         'gnue_module'  : sObject.module}
-
-  # ---------------------------------------------------------------------------
   # Get a dictionary with all keys listed in tags and values from sObject
   # ---------------------------------------------------------------------------
 
@@ -410,7 +395,6 @@
     self._updateProperties ()
     self._updateProcedures ()
     self._updateParameter ()
-    self._updateMessages ()
 
 
   # ---------------------------------------------------------------------------
@@ -676,59 +660,6 @@
 
 
   # ---------------------------------------------------------------------------
-  # Update/add messages to the class repository
-  # ---------------------------------------------------------------------------
-
-  def _updateMessages (self):
-    attributes = {'name'    : "dts_gnueMessage",
-                  'database': self.OPTIONS ['connection'],
-                  'table'   : 'gnue_message'}
-
-    fieldList = ['gnue_id', 'gnue_module', 'gnue_language', 'gnue_name',
-                 'gnue_text']
-
-    self._dtsMessage = GDataSource.DataSourceWrapper (
-                            connections = self.connections,
-                            attributes  = attributes,
-                            fields      = fieldList,
-                            unicodeMode = True)
-
-    stat = [0, 0, 0]      # inserted, updated, unchanged
-
-    for message in self.messages.values ():
-
-      moduleId = self.__findModule (message ['gnue_module'])
-
-      cond = GConditions.buildConditionFromDict ( \
-          {'gnue_module'  : moduleId,
-           'gnue_language': message ['gnue_language'],
-           'gnue_name'    : message ['gnue_name']})
-      resultSet = self._dtsMessage.createResultSet (cond)
-
-      if resultSet.firstRecord () is None:
-        resultSet.insertRecord ()
-        modifier = 0
-        message ['gnue_id'] = self.__generateId ()
-      else:
-        message ['gnue_id'] = resultSet.current.getField ('gnue_id')
-        modifier = 1
-
-      message ['gnue_module'] = moduleId
-
-      if not self.doUpdate (resultSet, message):
-        modifier += 1
-
-      stat [modifier] += 1
-
-    if stat [0] + stat [1]:
-      self.connections.commitAll ()
-
-    print o (u_("  Messages  : %(ins)3d inserted, %(upd)3d updated, %(kept)3d "
-                "unchanged.") \
-              % {'ins': stat [0], 'upd': stat [1], 'kept': stat [2]})
-
-
-  # ---------------------------------------------------------------------------
   # Perform an update on the given resultset using a given data dictionary
   # ---------------------------------------------------------------------------
 

Modified: trunk/gnue-appserver/src/gld/GLParser.py
===================================================================
--- trunk/gnue-appserver/src/gld/GLParser.py    2004-09-06 09:30:17 UTC (rev 
6255)
+++ trunk/gnue-appserver/src/gld/GLParser.py    2004-09-06 09:31:34 UTC (rev 
6256)
@@ -1,4 +1,4 @@
-# GNU Enterprise Appserver - GNUe Label Definitions - XML-Parser
+# GNU Enterprise Appserver - GNUe Language Definitions - XML-Parser
 #
 # Copyright 2001-2004 Free Software Foundation
 #
@@ -52,13 +52,14 @@
           % itemname
     Error.__init__ (self, msg)
 
+
 # =============================================================================
 # load an XML object tree from a given stream and return it's root object
 # =============================================================================
 
 def loadFile (stream, initialize = True):
-  return GParser.loadXMLObject (stream, xmlSchemaHandler, 'GLLabels',
-      'labels', initialize)
+  return GParser.loadXMLObject (stream, xmlSchemaHandler, 'GLModule',
+      'module', initialize)
 
 
 # =============================================================================
@@ -70,11 +71,11 @@
 
   if xmlElements is None:
     xmlElements = {
-      'labels': {
-        'BaseClass' : GLLabels,
+      'module': {
+        'BaseClass' : GLModule,
         'Required'  : True,
         'Attributes': {
-          'module': {
+          'name': {
             'Required': True,
             'Unique'  : True,
             'Typecast': GTypecast.name},
@@ -95,7 +96,7 @@
           'page': {
             'Typecast': GTypecast.text},
         },
-        'ParentTags': ('labels',)
+        'ParentTags': ('module',)
       },
 
       'property': {
@@ -145,9 +146,22 @@
         'KeepWhitespace': True,
         'ParentTags'    : ('class',)
       },
+
+      'message': {
+        'BaseClass': GLMessage,
+        'Attributes': {
+          'name': {
+            'Required': True,
+            'Unique'  : True,
+            'Typecast': GTypecast.name},
+        },
+        'MixedContent'  : True,
+        'KeepWhitespace': True,
+        'ParentTags'    : ('module',)
+      },
     }
 
-  return GParser.buildImportableTags ('labels', xmlElements)
+  return GParser.buildImportableTags ('module', xmlElements)
 
 
 # =============================================================================
@@ -187,7 +201,7 @@
   # ---------------------------------------------------------------------------
 
   def _validate (self):
-    self.module   = self.findParentOfType ('GLLabels').module
+    self.module   = self.findParentOfType ('GLModule').name
     self.fullName = Namespace.createName (self.module, self.name)
 
     if not hasattr (self, 'page'):
@@ -208,13 +222,13 @@
 
 
 # =============================================================================
-# The labels object, root object of a GLD tree
+# The module object, root object of a GLD tree
 # =============================================================================
 
-class GLLabels (GRootObj.GRootObj, GLObject):
+class GLModule (GRootObj.GRootObj, GLObject):
   def __init__ (self, parent = None):
-    GRootObj.GRootObj.__init__ (self, 'labels', getXMLelements, 
self.__module__)
-    GLObject.__init__ (self, parent, type = 'GLLabels')
+    GRootObj.GRootObj.__init__ (self, 'module', getXMLelements, 
self.__module__)
+    GLObject.__init__ (self, parent, type = 'GLModule')
 
 
 # =============================================================================
@@ -233,7 +247,7 @@
   # ---------------------------------------------------------------------------
 
   def _validate (self):
-    if not isinstance (self._parent, GLLabels):
+    if not isinstance (self._parent, GLModule):
       raise NoModuleError, self.name
 
     nameParts = self.name.split ('_')
@@ -244,7 +258,7 @@
       (self.module, self.name) = nameParts [:2]
 
     if not hasattr (self, 'module'):
-      self.module = self._parent.module
+      self.module = self._parent.name
 
     self.fullName = Namespace.createName (self.module, self.name)
 
@@ -265,3 +279,23 @@
   def __init__ (self, parent):
     GLClassElement.__init__ (self, parent, objType = 'GLProcedure')
 
+# =============================================================================
+# The message object
+# =============================================================================
+
+class GLMessage (GLObject):
+  def __init__ (self, parent):
+    GLObject.__init__ (self, parent, type = 'GLMessage')
+    self.fullName = None
+    self._inits.extend ([None, self._validate])
+
+
+  # ---------------------------------------------------------------------------
+  # Validate a message
+  # ---------------------------------------------------------------------------
+
+  def _validate (self):
+    parent        = self.findParentOfType ('GLModule')
+    self.module   = parent.name
+    self.language = parent.language
+    self.fullName = Namespace.createName (self.module, self.name)

Modified: trunk/gnue-appserver/src/gld/readgld.py
===================================================================
--- trunk/gnue-appserver/src/gld/readgld.py     2004-09-06 09:30:17 UTC (rev 
6255)
+++ trunk/gnue-appserver/src/gld/readgld.py     2004-09-06 09:31:34 UTC (rev 
6256)
@@ -1,4 +1,4 @@
-# GNU Enterprise Appserver - GNUe Label Definition - Import GLDs
+# GNU Enterprise Appserver - GNUe Language Definition - Import GLDs
 #
 # Copyright 2001-2004 Free Software Foundation
 #
@@ -80,7 +80,7 @@
   VERSION = VERSION
   COMMAND = "gnue-readgld"
   USAGE   = "%s %s" % (GClientApp.GClientApp.USAGE, "file file ...")
-  SUMMARY = _("Read GNUe Layout Definitions and update the class repository")
+  SUMMARY = _("Read GNUe Language Definitions and update the class repository")
 
   # ---------------------------------------------------------------------------
   # Constructor
@@ -218,8 +218,9 @@
     self.__checkOptions ()
     self.__openDatasources ()
 
-    self.modules = {}
-    self.classes = {}
+    self.modules  = {}
+    self.classes  = {}
+    self.messages = {}
 
     for item in range (len (self._files)):
       print o(u_("Loading gld file '%s' ...") % self._args [item])
@@ -232,6 +233,7 @@
         self._files [item].close ()
 
     self.updateRepository ()
+    self.updateMessages ()
 
 
   # ---------------------------------------------------------------------------
@@ -245,12 +247,15 @@
 
     @param sObject: current GLD object to be processed
     """
-    if sObject._type == 'GLLabels':
+    if sObject._type == 'GLModule':
       self.__translateModule (sObject)
 
     elif sObject._type == 'GLClass':
       self.__translateClass (sObject)
 
+    elif sObject._type == 'GLMessage':
+      self.__translateMessage (sObject)
+
   
 
   # ---------------------------------------------------------------------------
@@ -265,7 +270,7 @@
     @param aModule: GLD Layout object to be processed.
     """
 
-    mName = aModule.module
+    mName = aModule.name
     self.modules [mName] = self.fetchTags (aModule, ['language'])
     self.modules [mName] ['gnue_id'] = self.__findModule (mName)
     self.__module = self.modules [mName]
@@ -327,7 +332,18 @@
       defs ['properties'].append (pDef)
 
 
+  # ---------------------------------------------------------------------------
+  # Translate a message into a dictionary for later classrep update
+  # ---------------------------------------------------------------------------
 
+  def __translateMessage (self, sObject):
+    self.messages [sObject.fullName] = { \
+                         'gnue_language': sObject.language,
+                         'gnue_name'    : sObject.name,
+                         'gnue_text'    : sObject.getChildrenAsContent (),
+                         'gnue_module'  : sObject.module}
+
+
   # ---------------------------------------------------------------------------
   # Find a class by name and module
   # ---------------------------------------------------------------------------
@@ -448,12 +464,65 @@
     if stat [0] + stat [1]:
       self.connections.commitAll ()
 
-    print u_("  Labels: %(ins)3d inserted, %(upd)3d updated, %(kept)3d "
+    print u_("  Labels  : %(ins)3d inserted, %(upd)3d updated, %(kept)3d "
              "unchanged.") \
           % {'ins': stat [0], 'upd': stat [1], 'kept': stat [2]}
 
 
   # ---------------------------------------------------------------------------
+  # Update/add messages to the class repository
+  # ---------------------------------------------------------------------------
+
+  def updateMessages (self):
+    attributes = {'name'    : "dts_gnueMessage",
+                  'database': self.OPTIONS ['connection'],
+                  'table'   : 'gnue_message'}
+
+    fieldList = ['gnue_id', 'gnue_module', 'gnue_language', 'gnue_name',
+                 'gnue_text']
+
+    self._dtsMessage = GDataSource.DataSourceWrapper (
+                            connections = self.connections,
+                            attributes  = attributes,
+                            fields      = fieldList,
+                            unicodeMode = True)
+
+    stat = [0, 0, 0]      # inserted, updated, unchanged
+
+    for message in self.messages.values ():
+
+      moduleId = self.__findModule (message ['gnue_module'])
+
+      cond = GConditions.buildConditionFromDict ( \
+          {'gnue_module'  : moduleId,
+           'gnue_language': message ['gnue_language'],
+           'gnue_name'    : message ['gnue_name']})
+      resultSet = self._dtsMessage.createResultSet (cond)
+
+      if resultSet.firstRecord () is None:
+        resultSet.insertRecord ()
+        modifier = 0
+        message ['gnue_id'] = self.__generateId ()
+      else:
+        message ['gnue_id'] = resultSet.current.getField ('gnue_id')
+        modifier = 1
+
+      message ['gnue_module'] = moduleId
+
+      if not self.doUpdate (resultSet, message):
+        modifier += 1
+
+      stat [modifier] += 1
+
+    if stat [0] + stat [1]:
+      self.connections.commitAll ()
+
+    print o (u_("  Messages: %(ins)3d inserted, %(upd)3d updated, %(kept)3d "
+                "unchanged.") \
+              % {'ins': stat [0], 'upd': stat [1], 'kept': stat [2]})
+
+
+  # ---------------------------------------------------------------------------
   # Perform an update on the given resultset using a given data dictionary
   # ---------------------------------------------------------------------------
 





reply via email to

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