commit-gnue
[Top][All Lists]
Advanced

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

r5469 - in trunk/gnue-appserver: samples src/classrep


From: johannes
Subject: r5469 - in trunk/gnue-appserver: samples src/classrep
Date: Mon, 22 Mar 2004 14:51:26 -0600 (CST)

Author: johannes
Date: 2004-03-22 14:51:25 -0600 (Mon, 22 Mar 2004)
New Revision: 5469

Added:
   trunk/gnue-appserver/samples/classrepository.gfd
   trunk/gnue-appserver/src/classrep/Parameter.py
Modified:
   trunk/gnue-appserver/samples/base.gsd
   trunk/gnue-appserver/samples/sample.gsd
   trunk/gnue-appserver/src/classrep/Procedure.py
   trunk/gnue-appserver/src/classrep/repository.ini
   trunk/gnue-appserver/src/classrep/test.py
Log:
Added gnue_parameter to the class repository and created a better form for
modification of the class repository.


Modified: trunk/gnue-appserver/samples/base.gsd
===================================================================
--- trunk/gnue-appserver/samples/base.gsd       2004-03-22 19:55:40 UTC (rev 
5468)
+++ trunk/gnue-appserver/samples/base.gsd       2004-03-22 20:51:25 UTC (rev 
5469)
@@ -88,6 +88,29 @@
         <pkfield name="gnue_id"/>
       </primarykey>
     </table>
+    <table name="gnue_parameter">
+      <fields>
+        <field name="gnue_comment" description="Comment" length="70"
+               type="string"/>
+        <field name="gnue_id" description="Object ID" length="32" nullable="N"
+               type="string"/>
+        <field name="gnue_length" description="Lenght of the parameter"
+               length="6" type="number"/>
+        <field name="gnue_name" description="Name of the parameter"
+               length="35" nullable="N" type="string"/>
+        <field name="gnue_procedure"
+               description="Procedure the parameter belongs to" length="32" 
nullable="N" type="string"/>
+        <field name="gnue_scale" description="Scale of numeric data"
+               length="4" type="number"/>
+        <field name="gnue_type" description="Parameter type" length="35"
+               nullable="N" type="string"/>
+      </fields>
+      <constraints/>
+      <indexes/>
+      <primarykey name="gnue_id_pk_gnue_parameter">
+        <pkfield name="gnue_id"/>
+      </primarykey>
+    </table>
   </tables>
   <data>
     <tabledata name="gnue_module_dump" tablename="gnue_module">
@@ -136,6 +159,12 @@
           <value field="gnue_name">procedure</value>
           <value field="gnue_comment">GNU Enterprise Business Object 
Procedure</value>
         </row>
+        <row>
+          <value field="gnue_id">00000000000000000000000000000050</value>
+          <value field="gnue_module">00000000000000000000000000000000</value>
+          <value field="gnue_name">parameter</value>
+          <value field="gnue_comment">GNU Enterprise Business Object Procedure 
Parameter</value>
+        </row>
       </rows>
     </tabledata>
     <tabledata name="gnue_property_dump" tablename="gnue_property">
@@ -379,6 +408,74 @@
           <value field="gnue_comment">Procedurename without modulename</value>
           <value field="gnue_nullable">FALSE</value>
         </row>
+        <row>
+          <value field="gnue_id">00000000000000000000000000000057</value>
+          <value field="gnue_module">00000000000000000000000000000000</value>
+          <value field="gnue_class">00000000000000000000000000000050</value>
+          <value field="gnue_name">comment</value>
+          <value field="gnue_type">string</value>
+          <value field="gnue_length">70</value>
+          <value field="gnue_comment">Comment</value>
+          <value field="gnue_nullable">TRUE</value>
+        </row>
+        <row>
+          <value field="gnue_id">00000000000000000000000000000051</value>
+          <value field="gnue_module">00000000000000000000000000000000</value>
+          <value field="gnue_class">00000000000000000000000000000050</value>
+          <value field="gnue_name">id</value>
+          <value field="gnue_type">id</value>
+          <value field="gnue_comment">Object ID</value>
+          <value field="gnue_nullable">FALSE</value>
+        </row>
+        <row>
+          <value field="gnue_id">00000000000000000000000000000055</value>
+          <value field="gnue_module">00000000000000000000000000000000</value>
+          <value field="gnue_class">00000000000000000000000000000050</value>
+          <value field="gnue_name">length</value>
+          <value field="gnue_type">number</value>
+          <value field="gnue_length">6</value>
+          <value field="gnue_comment">Lenght of the parameter</value>
+          <value field="gnue_nullable">TRUE</value>
+        </row>
+        <row>
+          <value field="gnue_id">00000000000000000000000000000053</value>
+          <value field="gnue_module">00000000000000000000000000000000</value>
+          <value field="gnue_class">00000000000000000000000000000050</value>
+          <value field="gnue_name">name</value>
+          <value field="gnue_type">string</value>
+          <value field="gnue_length">35</value>
+          <value field="gnue_comment">Name of the parameter</value>
+          <value field="gnue_nullable">FALSE</value>
+        </row>
+        <row>
+          <value field="gnue_id">00000000000000000000000000000052</value>
+          <value field="gnue_module">00000000000000000000000000000000</value>
+          <value field="gnue_class">00000000000000000000000000000050</value>
+          <value field="gnue_name">procedure</value>
+          <value field="gnue_type">gnue_procedure</value>
+          <value field="gnue_comment">Procedure the parameter belongs 
to</value>
+          <value field="gnue_nullable">FALSE</value>
+        </row>
+        <row>
+          <value field="gnue_id">00000000000000000000000000000056</value>
+          <value field="gnue_module">00000000000000000000000000000000</value>
+          <value field="gnue_class">00000000000000000000000000000050</value>
+          <value field="gnue_name">scale</value>
+          <value field="gnue_type">number</value>
+          <value field="gnue_length">4</value>
+          <value field="gnue_comment">Scale of numeric data</value>
+          <value field="gnue_nullable">TRUE</value>
+        </row>
+        <row>
+          <value field="gnue_id">00000000000000000000000000000054</value>
+          <value field="gnue_module">00000000000000000000000000000000</value>
+          <value field="gnue_class">00000000000000000000000000000050</value>
+          <value field="gnue_name">type</value>
+          <value field="gnue_type">string</value>
+          <value field="gnue_length">35</value>
+          <value field="gnue_comment">Parameter type</value>
+          <value field="gnue_nullable">FALSE</value>
+        </row>
       </rows>
     </tabledata>
     <tabledata name="gnue_procedure_dump" tablename="gnue_procedure">

Added: trunk/gnue-appserver/samples/classrepository.gfd
===================================================================
--- trunk/gnue-appserver/samples/classrepository.gfd    2004-03-22 19:55:40 UTC 
(rev 5468)
+++ trunk/gnue-appserver/samples/classrepository.gfd    2004-03-22 20:51:25 UTC 
(rev 5469)
@@ -0,0 +1,220 @@
+<?xml version="1.0" encoding="iso8859-1"?>
+
+<form title="GNUe Class Repository">
+  <options>
+    <option name="version" value="0.0.6"/>
+    <option name="description" value="Class repository modification form"/>
+  </options>
+
+  <datasource name="dtsModule" connection="appserver" table="gnue_module"/>
+  <datasource name="dtsModuleLKP" connection="appserver" table="gnue_module"/>
+
+  <datasource name="dtsClass" connection="appserver" table="gnue_class"/>
+  <datasource name="dtsProperty" connection="appserver" table="gnue_property"
+    master="dtsClass" masterlink="gnue_id" detaillink="gnue_class"/>
+  <datasource name="dtsProcedure" connection="appserver" table="gnue_procedure"
+    master="dtsClass" masterlink="gnue_id" detaillink="gnue_class"/>
+  <datasource name="dtsParameter" connection="appserver" table="gnue_parameter"
+    master="dtsProcedure" masterlink="gnue_id" detaillink="gnue_procedure"/>
+
+  <logic>
+
+    <block name="blkModule" datasource="dtsModule" rows="10">
+      <field name="fldName" field="gnue_name" max_length="35" required="Y"/>
+      <field name="fldComment" field="gnue_comment" max_length="70"/>
+
+      <!-- After a commit to gnue_module make sure all referencing dropdowns
+           have an updated list of values. -->
+      <trigger name="updateRefs" type="POST-COMMIT"><![CDATA[
+        blkClass.fldModule.resetForeignKey ()
+        blkProperty.fldModule.resetForeignKey ()
+        blkProcedure.fldModule.resetForeignKey ()
+        ]]>
+      </trigger>
+    </block>
+
+    <block name="blkClass" datasource="dtsClass">
+      <field name="fldName" field="gnue_name" max_length="35"/>
+      <field name="fldComment" field="gnue_comment" max_length="70"/>
+      <field name="fldModule" field="gnue_module" fk_source="dtsModuleLKP"
+        fk_key="gnue_id" fk_description="gnue_name"/>
+
+      <!-- if a new class is created, reset the fullClassName field to it's
+           default value -->
+      <trigger name="newClass" type="ON-NEWRECORD"><![CDATA[
+        blkUnbound.fullClassName.set ("not set")
+        ]]>
+      </trigger>
+    </block>
+
+    <block name="blkUnbound">
+      <field name="fullClassName" max_length="70" default="not set"/>
+    </block>
+
+    <block name="blkProperty" datasource="dtsProperty">
+      <field name="fldModule" field="gnue_module" fk_source="dtsModuleLKP"
+        fk_key="gnue_id" fk_description="gnue_name"/>
+      <field name="fldName" field="gnue_name" max_length="35"/>
+      <field name="fldType" field="gnue_type" max_length="35"/>
+      <field name="fldLength" field="gnue_length" typecast="number"/>
+      <field name="fldScale" field="gnue_scale" typecast="number"/>
+      <field name="fldNullable" field="gnue_nullable" default="TRUE"/>
+      <field name="fldComment" field="gnue_comment" max_length="70"/>
+    </block>
+
+    <block name="blkProcedure" datasource="dtsProcedure">
+      <field name="fldModule" field="gnue_module" fk_source="dtsModuleLKP"
+        fk_key="gnue_id" fk_description="gnue_name"/>
+      <field name="fldName" field="gnue_name" max_length="35"/>
+      <field name="fldLanguage" field="gnue_language" max_length="10"/>
+      <field name="fldCode" field="gnue_code"/>
+      <field name="fldComment" field="gnue_comment" max_length="70"/>
+
+      <!-- After the block got the focus (including record-moves) construct
+           the current classname and set it into the unbound blocks field -->
+      <trigger name="setClassName" type="POST-FOCUSIN"><![CDATA[
+        moduleId = blkClass.fldModule.get ()
+        classname= blkClass.fldName.get ()
+        if len (classname) and len (moduleId):
+          module = blkClass.fldModule.allowedValues () [0] [moduleId]
+          blkUnbound.fullClassName.set ("%s_%s" % (module, classname))
+        ]]>
+      </trigger>
+    </block>
+
+
+    <block name="blkParameter" datasource="dtsParameter" rows="5">
+      <field name="fldName" field="gnue_name" max_length="35"/>
+      <field name="fldType" field="gnue_type" max_length="35"/>
+      <field name="fldLength" field="gnue_length" typecast="number"/>
+      <field name="fldScale" field="gnue_scale" typecast="number"/>
+      <field name="fldComment" field="gnue_comment" max_length="70"/>
+    </block>
+
+  </logic>
+
+  <layout xmlns:c="GNUe:Layout:Char" c:height="25" c:width="80" tabbed="top">
+
+    <page name="Modules">
+      <label name="lblName" c:height="1" c:width="4" c:x="1" c:y="1"
+        text="Name"/>
+      <label name="lblComment" c:height="1" c:width="7" c:x="37" c:y="1"
+        text="Comment"/>
+
+      <entry name="entName" c:height="1" c:width="35" c:x="1" c:y="2"
+        block="blkModule" field="fldName"/>
+      <entry name="entComment" c:height="1" c:width="43" c:x="37" c:y="2"
+        block="blkModule" field="fldComment"/>
+    </page>
+
+
+    <page name="Classes">
+      <label name="lblModule" c:height="1" c:width="6" c:x="1" c:y="1"
+        text="Module"/>
+      <label name="lblName" c:height="1" c:width="4" c:x="1" c:y="2"
+        text="Name"/>
+      <label name="lblComment" c:height="1" c:width="7" c:x="1" c:y="3"
+        text="Comment"/>
+
+      <entry name="entModule" c:height="1" c:width="35" c:x="10" c:y="1"
+        block="blkClass" field="fldModule" style="dropdown"/>
+      <entry name="entName" c:height="1" c:width="35" c:x="10" c:y="2"
+        block="blkClass" field="fldName"/>
+      <entry name="entComment" c:height="1" c:width="68" c:x="10" c:y="3"
+        block="blkClass" field="fldComment"/>
+
+
+      <box name="PropertyBox" c:x="0" c:y="4" c:width="81" c:height="18"
+        label="Properties"/>
+      <label name="lblPModule" c:height="1" c:width="6" c:x="2" c:y="6"
+        text="Module"/>
+      <label name="lblPName" c:height="1" c:width="4" c:x="20" c:y="6"
+        text="Name"/>
+      <label name="lblPType" c:height="1" c:width="4" c:x="38" c:y="6"
+        text="Type"/>
+      <label name="lblPLength" c:height="1" c:width="6" c:x="61" c:y="6"
+        text="Length"/>
+      <label name="lblPScale" c:height="1" c:width="5" c:x="68" c:y="6"
+        text="Scale"/>
+      <label name="lblPNullable" c:height="1" c:width="4" c:x="75" c:y="6"
+        text="Null"/>
+      <label name="lblPComment" c:height="1" c:width="7" c:x="2" c:y="18"
+        text="Comment"/>
+      <label name="lblPHint" c:height="1" c:width="75" c:x="2" c:y="20"
+        text="Note: Please be sure to commit new classes before adding 
properties"/>
+
+      <entry name="entPModule" c:height="1" c:width="17" c:x="2" c:y="7"
+        block="blkProperty" field="fldModule" style="dropdown" rows="10"/>
+      <entry name="entPName" c:height="1" c:width="17" c:x="20" c:y="7"
+        block="blkProperty" field="fldName" rows="10"/>
+      <entry name="entPType" c:height="1" c:width="22" c:x="38" c:y="7"
+        block="blkProperty" field="fldType" rows="10"/>
+      <entry name="entPLength" c:height="1" c:width="6" c:x="61" c:y="7"
+        block="blkProperty" field="fldLength" rows="10"/>
+      <entry name="entPScale" c:height="1" c:width="6" c:x="68" c:y="7"
+        block="blkProperty" field="fldScale" rows="10"/>
+      <entry name="entPNullable" c:height="1" c:width="2" c:x="75" c:y="7"
+        block="blkProperty" field="fldNullable" style="checkbox" rows="10"/>
+      <entry name="entPComment" c:height="1" c:width="68" c:x="10" c:y="18"
+        block="blkProperty" field="fldComment"/>
+    </page>
+
+
+    <page name="Procedures">
+      <label name="lblClassname" c:height="1" c:width="5" c:x="1" c:y="1"
+        text="Class"/>
+      <label name="lblModule" c:height="1" c:width="6" c:x="1" c:y="2"
+        text="Module"/>
+      <label name="lblName" c:height="1" c:width="4" c:x="1" c:y="3"
+        text="Name"/>
+      <label name="lblLanguage" c:height="1" c:width="8" c:x="1" c:y="4"
+        text="Language"/>
+      <label name="lblComment" c:height="1" c:width="7" c:x="1" c:y="5"
+        text="Comment"/>
+      <label name="lblCode" c:height="1" c:width="4" c:x="1" c:y="15"
+        text="Code"/>
+
+      <entry name="entClassname" c:height="1" c:width="70" c:x="10" c:y="1"
+        block="blkUnbound" field="fullClassName" style="label"/>
+      <entry name="entModule" c:height="1" c:width="35" c:x="10" c:y="2"
+        block="blkProcedure" field="fldModule" style="dropdown"/>
+      <entry name="entName" c:height="1" c:width="35" c:x="10" c:y="3"
+        block="blkProcedure" field="fldName"/>
+      <entry name="entLanguage" c:height="1" c:width="10" c:x="10" c:y="4"
+        block="blkProcedure" field="fldLanguage"/>
+      <entry name="entComment" c:height="1" c:width="68" c:x="10" c:y="5"
+        block="blkProcedure" field="fldComment"/>
+      <entry name="entCode" c:height="10" c:width="79" c:x="1" c:y="16"
+        block="blkProcedure" field="fldCode"/>
+
+      <box name="ParameterBox" c:height="9" c:width="81" c:x="0" c:y="6"
+        label="Parameters"/>
+      <label name="lblPName" c:height="1" c:width="4" c:x="14" c:y="7"
+        text="Name"/>
+      <label name="lblPType" c:height="1" c:width="4" c:x="19" c:y="7"
+        text="Type"/>
+      <label name="lblPLength" c:height="1" c:width="6" c:x="37" c:y="7"
+        text="Length"/>
+      <label name="lblPScale" c:height="1" c:width="5" c:x="44" c:y="7"
+        text="Scale"/>
+      <label name="lblPComment" c:height="1" c:width="7" c:x="51" c:y="7"
+        text="Comment"/>
+      <label name="lblPHint" c:height="1" c:width="71" c:x="2" c:y="13"
+        text="Note: Please be sure to commit new procedures before adding 
parameters!"/>
+
+      <entry name="entPName" c:height="1" c:width="16" c:x="2" c:y="8"
+        block="blkParameter" field="fldName"/>
+      <entry name="entPType" c:height="1" c:width="17" c:x="19" c:y="8"
+        block="blkParameter" field="fldType"/>
+      <entry name="entPLength" c:height="1" c:width="6" c:x="37" c:y="8"
+        block="blkParameter" field="fldLength"/>
+      <entry name="entPScale" c:height="1" c:width="6" c:x="44" c:y="8"
+        block="blkParameter" field="fldScale"/>
+      <entry name="entPComment" c:height="1" c:width="28" c:x="51" c:y="8"
+        block="blkParameter" field="fldComment"/>
+
+    </page>
+
+  </layout>
+</form>
+

Modified: trunk/gnue-appserver/samples/sample.gsd
===================================================================
--- trunk/gnue-appserver/samples/sample.gsd     2004-03-22 19:55:40 UTC (rev 
5468)
+++ trunk/gnue-appserver/samples/sample.gsd     2004-03-22 20:51:25 UTC (rev 
5469)
@@ -8,6 +8,7 @@
     <import-table library="base.gsd" name="gnue_class"/>
     <import-table library="base.gsd" name="gnue_property"/>
     <import-table library="base.gsd" name="gnue_procedure"/>
+    <import-table library="base.gsd" name="gnue_parameter"/>
     <import-table library="auth.gsd" name="gnue_useraccess"/>
     <table name="address_country">
       <fields>

Added: trunk/gnue-appserver/src/classrep/Parameter.py
===================================================================
--- trunk/gnue-appserver/src/classrep/Parameter.py      2004-03-22 19:55:40 UTC 
(rev 5468)
+++ trunk/gnue-appserver/src/classrep/Parameter.py      2004-03-22 20:51:25 UTC 
(rev 5469)
@@ -0,0 +1,107 @@
+#
+# This file is part of GNU Enterprise.
+#
+# GNU Enterprise is free software; you can redistribute it
+# and/or modify it under the terms of the GNU General Public
+# License as published by the Free Software Foundation; either
+# version 2, or (at your option) any later version.
+#
+# GNU Enterprise is distributed in the hope that it will be
+# useful, but WITHOUT ANY WARRANTY; without even the implied
+# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+# PURPOSE. See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public
+# License along with program; see the file COPYING. If not,
+# write to the Free Software Foundation, Inc., 59 Temple Place
+# - Suite 330, Boston, MA 02111-1307, USA.
+#
+# Copyright 2001-2004 Free Software Foundation
+#
+# $Id: $
+
+from Base import *
+
+# =============================================================================
+# Exceptions
+# =============================================================================
+
+class ParameterNotFoundError (ClassRepositoryError):
+  def __init__ (self, procedure, parameter):
+    msg = u_("Procedure '%(procedure)s' has no parameter '%(parameter)s'") % \
+            {"procedure": procedure,
+             "parameter": parameter}
+    ClassRepositoryError.__init__ (self, msg)
+
+
+# =============================================================================
+# Dictionary with all Parameters of a given procedure
+# =============================================================================
+
+class ParameterDict (BaseDictionary):
+
+  # ---------------------------------------------------------------------------
+  # Constructor
+  # ---------------------------------------------------------------------------
+
+  def __init__ (self, session, aProc, predefs = None):
+    BaseDictionary.__init__ (self, session, 'gnue_parameter')
+
+    self.__proc = aProc
+
+
+  # ---------------------------------------------------------------------------
+  # Create a new instance of a dictionary item
+  # ---------------------------------------------------------------------------
+
+  def _getNewItem (self, aObject):
+    return Parameter (self._session, aObject, 
+                      {"gnue_id": aObject.objectId})
+
+
+  # ---------------------------------------------------------------------------
+  # A reload returns only the parameters of the procedure 
+  # ---------------------------------------------------------------------------
+
+  def _getReloadCondition (self):
+    return [["eq", ""], ["field", "gnue_procedure"], 
+            ["const", self.__proc.gnue_id]]
+
+
+  # ---------------------------------------------------------------------------
+  # Get a condition to match a single parameter
+  # ---------------------------------------------------------------------------
+
+  def _getSingleCondition (self, key):
+    res = self._getReloadCondition ()
+    res.extend ([["eq", ""], ["field", "gnue_name"], ["const", key]])
+    return res
+
+
+  # ---------------------------------------------------------------------------
+  # Get a list of columns which should be prepared on a find ()
+  # ---------------------------------------------------------------------------
+
+  def _getColumns (self):
+    return [u"gnue_procedure", u"gnue_name", u"gnue_type", u"gnue_length",
+            u"gnue_scale"]
+
+
+  # ---------------------------------------------------------------------------
+  # Create a key-not-found exception
+  # ---------------------------------------------------------------------------
+
+  def _itemNotFoundError (self, key):
+    return ParameterNotFoundError (self.__proc.fullName, key)
+
+
+
+# =============================================================================
+# A parameter of a procedure
+# =============================================================================
+
+class Parameter (BaseObject):
+
+  def __init__ (self, session, aObject, pDefs = None):
+    BaseObject.__init__ (self, session, 'gnue_parameter', aObject, pDefs)
+    self.fullName = self.gnue_name


Property changes on: trunk/gnue-appserver/src/classrep/Parameter.py
___________________________________________________________________
Name: svn:keywords
   + svn:Id

Modified: trunk/gnue-appserver/src/classrep/Procedure.py
===================================================================
--- trunk/gnue-appserver/src/classrep/Procedure.py      2004-03-22 19:55:40 UTC 
(rev 5468)
+++ trunk/gnue-appserver/src/classrep/Procedure.py      2004-03-22 20:51:25 UTC 
(rev 5469)
@@ -23,6 +23,7 @@
 
 from Base import *
 from Namespace import createName, splitName
+from Parameter import *
 
 # =============================================================================
 # Exceptions
@@ -51,12 +52,24 @@
 
 
   # ---------------------------------------------------------------------------
+  # Reload the dictionary
+  # ---------------------------------------------------------------------------
+
+  def reload (self):
+    BaseDictionary.reload (self)
+    for aProc in self.values ():
+      aProc.parameters.reload ()
+
+
+  # ---------------------------------------------------------------------------
   # Create a new instance of a dictionary item
   # ---------------------------------------------------------------------------
   def _getNewItem (self, aObject):
     pMod = self.__module.modules.find (aObject.gnue_module.objectId)
-    return Procedure (self._session, pMod, aObject, 
+    aProc = Procedure (self._session, pMod, aObject, 
                       {"gnue_id": aObject.objectId})
+    aProc.parameters.reload ()
+    return aProc
 
 
   # ---------------------------------------------------------------------------
@@ -105,3 +118,5 @@
     self.module   = module
     self.fullName = createName (module.gnue_name, self.gnue_name)
 
+    self.parameters = ParameterDict (session, self)
+

Modified: trunk/gnue-appserver/src/classrep/repository.ini
===================================================================
--- trunk/gnue-appserver/src/classrep/repository.ini    2004-03-22 19:55:40 UTC 
(rev 5468)
+++ trunk/gnue-appserver/src/classrep/repository.ini    2004-03-22 20:51:25 UTC 
(rev 5469)
@@ -59,6 +59,12 @@
 gnue_name    = procedure
 gnue_comment = GNU Enterprise Business Object Procedure
 
+[gnue_parameter]
+gnue_id      = 00000000000000000000000000000050
+gnue_module  = 00000000000000000000000000000000
+gnue_name    = parameter
+gnue_comment = GNU Enterprise Business Object Procedure Parameter
+
 ; =============================================================================
 ; Property definitions
 ; =============================================================================
@@ -341,3 +347,82 @@
 gnue_comment   = Comment
 gnue_nullable  = 
 
+; -----------------------------------------------------------------------------
+; parameters
+; -----------------------------------------------------------------------------
+[gnue_parameter.gnue_id]
+gnue_id        = 00000000000000000000000000000051
+gnue_class     = 00000000000000000000000000000050
+gnue_module    = 00000000000000000000000000000000
+gnue_name      = id
+gnue_type      = id
+gnue_length    = 
+gnue_scale     = 
+gnue_comment   = Object ID
+gnue_nullable  = FALSE
+
+[gnue_parameter.gnue_procedure]
+gnue_id        = 00000000000000000000000000000052
+gnue_class     = 00000000000000000000000000000050
+gnue_module    = 00000000000000000000000000000000
+gnue_name      = procedure
+gnue_type      = gnue_procedure
+gnue_length    = 
+gnue_scale     = 
+gnue_comment   = Procedure the parameter belongs to
+gnue_nullable  = FALSE
+
+[gnue_parameter.gnue_name]
+gnue_id        = 00000000000000000000000000000053
+gnue_class     = 00000000000000000000000000000050
+gnue_module    = 00000000000000000000000000000000
+gnue_name      = name
+gnue_type      = string
+gnue_length    = 35
+gnue_scale     = 
+gnue_comment   = Name of the parameter
+gnue_nullable  = FALSE
+
+[gnue_parameter.gnue_type]
+gnue_id        = 00000000000000000000000000000054
+gnue_class     = 00000000000000000000000000000050
+gnue_module    = 00000000000000000000000000000000
+gnue_name      = type
+gnue_type      = string
+gnue_length    = 35
+gnue_scale     = 
+gnue_comment   = Parameter type 
+gnue_nullable  = FALSE
+
+[gnue_parameter.gnue_length]
+gnue_id        = 00000000000000000000000000000055
+gnue_class     = 00000000000000000000000000000050
+gnue_module    = 00000000000000000000000000000000
+gnue_name      = length
+gnue_type      = number
+gnue_length    = 6
+gnue_scale     = 
+gnue_comment   = Lenght of the parameter
+gnue_nullable  = 
+
+[gnue_parameter.gnue_scale]
+gnue_id        = 00000000000000000000000000000056
+gnue_class     = 00000000000000000000000000000050
+gnue_module    = 00000000000000000000000000000000
+gnue_name      = scale
+gnue_type      = number
+gnue_length    = 4
+gnue_scale     = 
+gnue_comment   = Scale of numeric data
+gnue_nullable  = 
+
+[gnue_parameter.gnue_comment]
+gnue_id        = 00000000000000000000000000000057
+gnue_class     = 00000000000000000000000000000050
+gnue_module    = 00000000000000000000000000000000
+gnue_name      = comment
+gnue_type      = string
+gnue_length    = 70
+gnue_scale     = 
+gnue_comment   = Comment
+gnue_nullable  = 

Modified: trunk/gnue-appserver/src/classrep/test.py
===================================================================
--- trunk/gnue-appserver/src/classrep/test.py   2004-03-22 19:55:40 UTC (rev 
5468)
+++ trunk/gnue-appserver/src/classrep/test.py   2004-03-22 20:51:25 UTC (rev 
5469)
@@ -52,6 +52,9 @@
   for pr in ap.procedures.values ():
     print "%s coded in %s" % (pr.fullName, pr.gnue_language)
 
+    for para in pr.parameters.values ():
+      print "Parameter: %s of type %s" % (para.fullName, para.gnue_type)
+
   print "Number of modules: %d\n" % len (sm.modules)
 
   print "All modules via keys ():"





reply via email to

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