[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
r5801 - in trunk/gnue-appserver: samples src src/classrep
From: |
johannes |
Subject: |
r5801 - in trunk/gnue-appserver: samples src src/classrep |
Date: |
Tue, 11 May 2004 02:20:33 -0500 (CDT) |
Author: johannes
Date: 2004-05-11 02:20:32 -0500 (Tue, 11 May 2004)
New Revision: 5801
Modified:
trunk/gnue-appserver/samples/base.gsd
trunk/gnue-appserver/samples/classrepository.gfd
trunk/gnue-appserver/samples/sample.gsd
trunk/gnue-appserver/src/classrep/Property.py
trunk/gnue-appserver/src/classrep/repository.ini
trunk/gnue-appserver/src/geasInstance.py
Log:
Added 'gnue_nullable' property to procedures, so calculated fields can result
in a NULL value.
Modified: trunk/gnue-appserver/samples/base.gsd
===================================================================
--- trunk/gnue-appserver/samples/base.gsd 2004-05-11 00:58:15 UTC (rev
5800)
+++ trunk/gnue-appserver/samples/base.gsd 2004-05-11 07:20:32 UTC (rev
5801)
@@ -89,6 +89,8 @@
description="Module that defined this procedure" length="32"
nullable="N" type="string"/>
<field name="gnue_name" description="Procedurename without modulename"
length="35" nullable="N" type="string"/>
+ <field name="gnue_nullable"
+ description="Result of the procedure can contain NULL values"
nullable="N" type="boolean"/>
<field name="gnue_scale" description="Scale of the procedures result"
length="4" type="number"/>
<field name="gnue_type" description="Type of the procedures result"
@@ -436,6 +438,15 @@
</row>
<row>
<value field="gnue_class">00000000000000000000000000000040</value>
+ <value field="gnue_comment">Result of the procedure can contain NULL
values</value>
+ <value field="gnue_id">0000000000000000000000000000004C</value>
+ <value field="gnue_module">00000000000000000000000000000000</value>
+ <value field="gnue_name">nullable</value>
+ <value field="gnue_nullable">FALSE</value>
+ <value field="gnue_type">boolean</value>
+ </row>
+ <row>
+ <value field="gnue_class">00000000000000000000000000000040</value>
<value field="gnue_comment">Scale of the procedures result</value>
<value field="gnue_id">0000000000000000000000000000004B</value>
<value field="gnue_length">4</value>
Modified: trunk/gnue-appserver/samples/classrepository.gfd
===================================================================
--- trunk/gnue-appserver/samples/classrepository.gfd 2004-05-11 00:58:15 UTC
(rev 5800)
+++ trunk/gnue-appserver/samples/classrepository.gfd 2004-05-11 07:20:32 UTC
(rev 5801)
@@ -65,6 +65,7 @@
<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="FALSE"/>
<!-- After the block got the focus (including record-moves) construct
the current classname and set it into the unbound blocks field -->
@@ -79,7 +80,7 @@
</block>
- <block name="blkParameter" datasource="dtsParameter" rows="4">
+ <block name="blkParameter" datasource="dtsParameter" rows="3">
<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"/>
@@ -173,6 +174,8 @@
text="Length"/>
<label name="lblScale" c:height="1" c:width="10" c:x="1" c:y="8"
text="Scale"/>
+ <label name="lblNullable" c:height="1" c:width="10" c:x="1" c:y="9"
+ text="Nullable"/>
<label name="lblCode" c:height="1" c:width="4" c:x="1" c:y="16"
text="Code"/>
@@ -192,31 +195,33 @@
block="blkProcedure" field="fldLength"/>
<entry name="entScale" c:height="1" c:width="10" c:x="10" c:y="8"
block="blkProcedure" field="fldScale"/>
+ <entry name="entNullable" c:height="1" c:width="2" c:x="10" c:y="9"
+ block="blkProcedure" field="fldNullable" style="checkbox"/>
<entry name="entCode" c:height="9" c:width="79" c:x="1" c:y="17"
block="blkProcedure" field="fldCode"/>
- <box name="ParameterBox" c:height="7" c:width="81" c:x="0" c:y="9"
+ <box name="ParameterBox" c:height="6" c:width="81" c:x="0" c:y="10"
label="Parameters"/>
- <label name="lblPName" c:height="1" c:width="4" c:x="14" c:y="10"
+ <label name="lblPName" c:height="1" c:width="4" c:x="14" c:y="11"
text="Name"/>
- <label name="lblPType" c:height="1" c:width="4" c:x="19" c:y="10"
+ <label name="lblPType" c:height="1" c:width="4" c:x="19" c:y="11"
text="Type"/>
- <label name="lblPLength" c:height="1" c:width="6" c:x="37" c:y="10"
+ <label name="lblPLength" c:height="1" c:width="6" c:x="37" c:y="11"
text="Length"/>
- <label name="lblPScale" c:height="1" c:width="5" c:x="44" c:y="10"
+ <label name="lblPScale" c:height="1" c:width="5" c:x="44" c:y="11"
text="Scale"/>
- <label name="lblPComment" c:height="1" c:width="7" c:x="51" c:y="10"
+ <label name="lblPComment" c:height="1" c:width="7" c:x="51" c:y="11"
text="Comment"/>
- <entry name="entPName" c:height="1" c:width="16" c:x="2" c:y="11"
+ <entry name="entPName" c:height="1" c:width="16" c:x="2" c:y="12"
block="blkParameter" field="fldName"/>
- <entry name="entPType" c:height="1" c:width="17" c:x="19" c:y="11"
+ <entry name="entPType" c:height="1" c:width="17" c:x="19" c:y="12"
block="blkParameter" field="fldType"/>
- <entry name="entPLength" c:height="1" c:width="6" c:x="37" c:y="11"
+ <entry name="entPLength" c:height="1" c:width="6" c:x="37" c:y="12"
block="blkParameter" field="fldLength"/>
- <entry name="entPScale" c:height="1" c:width="6" c:x="44" c:y="11"
+ <entry name="entPScale" c:height="1" c:width="6" c:x="44" c:y="12"
block="blkParameter" field="fldScale"/>
- <entry name="entPComment" c:height="1" c:width="28" c:x="51" c:y="11"
+ <entry name="entPComment" c:height="1" c:width="28" c:x="51" c:y="12"
block="blkParameter" field="fldComment"/>
</page>
Modified: trunk/gnue-appserver/samples/sample.gsd
===================================================================
--- trunk/gnue-appserver/samples/sample.gsd 2004-05-11 00:58:15 UTC (rev
5800)
+++ trunk/gnue-appserver/samples/sample.gsd 2004-05-11 07:20:32 UTC (rev
5801)
@@ -279,6 +279,7 @@
<column field="gnue_language" type="string(10)"/>
<column field="gnue_module" type="string(32)"/>
<column field="gnue_name" type="string(35)"/>
+ <column field="gnue_nullable" type="boolean"/>
</definition>
<rows>
<row>
@@ -289,6 +290,7 @@
<value field="gnue_language">python</value>
<value field="gnue_code">print self.address_name</value>
<value field="gnue_comment">Simple procedure to test
Appserver</value>
+ <value field="gnue_nullable">TRUE</value>
</row>
<row>
<value field="gnue_id">0000000000000000000000000000101E</value>
@@ -303,6 +305,7 @@
self.address_name = "(" + self.address_name + ")"
</value>
<value field="gnue_comment">Simple procedure to test
Appserver</value>
+ <value field="gnue_nullable">TRUE</value>
</row>
<row>
<value field="gnue_id">0000000000000000000000000000101G</value>
@@ -314,11 +317,14 @@
import mx.DateTime
last = self.address_lastmeeting
tm = self.address_meettime
-next = last + mx.DateTime.RelativeDateTime (days=+21, hour = tm.hour, minute =
tm.minute, second = tm.second)
-return next
- </value>
+if last is not None and tm is not None:
+ next = last + mx.DateTime.RelativeDateTime (days=+21, hour = tm.hour, minute
= tm.minute, second = tm.second)
+ return next
+else:
+ return None</value>
<value field="gnue_comment">Calculate the next meeting date</value>
<value field="gnue_type">datetime</value>
+ <value field="gnue_nullable">TRUE</value>
</row>
</rows>
</tabledata>
Modified: trunk/gnue-appserver/src/classrep/Property.py
===================================================================
--- trunk/gnue-appserver/src/classrep/Property.py 2004-05-11 00:58:15 UTC
(rev 5800)
+++ trunk/gnue-appserver/src/classrep/Property.py 2004-05-11 07:20:32 UTC
(rev 5801)
@@ -258,6 +258,7 @@
self.gnue_scale = aProcedure.gnue_scale
self.gnue_comment = aProcedure.gnue_comment
self.gnue_module = aProcedure.gnue_module
+ self.gnue_nullable = aProcedure.gnue_nullable
self._updateTypeInfo ()
Modified: trunk/gnue-appserver/src/classrep/repository.ini
===================================================================
--- trunk/gnue-appserver/src/classrep/repository.ini 2004-05-11 00:58:15 UTC
(rev 5800)
+++ trunk/gnue-appserver/src/classrep/repository.ini 2004-05-11 07:20:32 UTC
(rev 5801)
@@ -380,6 +380,17 @@
gnue_comment = Scale of the procedures result
gnue_nullable =
+[gnue_procedure.gnue_nullable]
+gnue_id = 0000000000000000000000000000004C
+gnue_class = 00000000000000000000000000000040
+gnue_module = 00000000000000000000000000000000
+gnue_name = nullable
+gnue_type = boolean
+gnue_length =
+gnue_scale =
+gnue_comment = Result of the procedure can contain NULL values
+gnue_nullable = FALSE
+
; -----------------------------------------------------------------------------
; parameters
; -----------------------------------------------------------------------------
Modified: trunk/gnue-appserver/src/geasInstance.py
===================================================================
--- trunk/gnue-appserver/src/geasInstance.py 2004-05-11 00:58:15 UTC (rev
5800)
+++ trunk/gnue-appserver/src/geasInstance.py 2004-05-11 07:20:32 UTC (rev
5801)
@@ -297,8 +297,9 @@
params)
result = method (**params)
if (proceduredef.gnue_type is None) != (result is None):
- raise ResultTypeError, (proceduredef.fullName, proceduredef.gnue_type,
- result)
+ if result is not None or not proceduredef.gnue_nullable:
+ raise ResultTypeError, (proceduredef.fullName, proceduredef.gnue_type,
+ result)
return result
# ---------------------------------------------------------------------------
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- r5801 - in trunk/gnue-appserver: samples src src/classrep,
johannes <=