commit-gnue
[Top][All Lists]
Advanced

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

gnue/appserver/src/_featuretest thekitchensink....


From: Daniel E. Baumann
Subject: gnue/appserver/src/_featuretest thekitchensink....
Date: Mon, 02 Sep 2002 06:35:43 -0400

CVSROOT:        /cvsroot/gnue
Module name:    gnue
Changes by:     Daniel E. Baumann <address@hidden>      02/09/02 06:35:43

Modified files:
        appserver/src/_featuretest: thekitchensink.godl 
                                    thekitchensink.odl 

Log message:
        Done.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/appserver/src/_featuretest/thekitchensink.godl.diff?tr1=1.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/appserver/src/_featuretest/thekitchensink.odl.diff?tr1=1.6&tr2=1.7&r1=text&r2=text

Patches:
Index: gnue/appserver/src/_featuretest/thekitchensink.godl
diff -c gnue/appserver/src/_featuretest/thekitchensink.godl:1.5 
gnue/appserver/src/_featuretest/thekitchensink.godl:1.6
*** gnue/appserver/src/_featuretest/thekitchensink.godl:1.5     Sat Aug 31 
14:35:13 2002
--- gnue/appserver/src/_featuretest/thekitchensink.godl Mon Sep  2 06:35:42 2002
***************
*** 1,3 ****
--- 1,15 ----
+ <!--
+ This file serves no real functional purpose other than to amuse
+ and to present various markup allowed in GODL which will be used to
+ test the various parsers.
+ 
+ 
+ Stuff that belongs to the 'default' module. It is used to show you do
+ not need to declare things in a module to have valid GODL. Also helps
+ in determining how to handle things that are not contained in a
+ module.
+ -->
+ 
  <?xml version="1.0"?>
  <odl_specification>
    <odl_definition>
***************
*** 42,49 ****
        </declarators>
      </typedef>
  
!     <struct>
!       <id>Bar</id>
        <members>
          <member>
            <type_spec>string</type_spec>
--- 54,60 ----
        </declarators>
      </typedef>
  
!     <struct id="Bar">
        <members>
          <member>
            <type_spec>string</type_spec>
***************
*** 84,91 ****
        </members>
      </struct>
  
!     <union>
!       <id>Trout</id>
        <switch>
          <type_spec>boolean</type_spec>
          <case>
--- 95,101 ----
        </members>
      </struct>
  
!     <union id="Trout">
        <switch>
          <type_spec>boolean</type_spec>
          <case>
***************
*** 105,112 ****
        </switch>
      </union>
  
!     <enum>
!       <id>TroutType</id>
        <enumerator>brown</enumerator>
        <enumerator>rainbow</enumerator>
        <enumerator>lake</enumerator>
--- 115,121 ----
        </switch>
      </union>
  
!     <enum id="TroutType">
        <enumerator>brown</enumerator>
        <enumerator>rainbow</enumerator>
        <enumerator>lake</enumerator>
***************
*** 177,198 ****
      </typedef>
  
      <!-- Forward declarations -->
!     <interface>
!       <id>GNUe::Sadist</id>
!     </interface>
!     <class>
!       <id>GNUe::Goats::Chillywilly</id>
!     </interface>
  
!     <const>
!       <id>BIGINT</id>
        <type_spec>
          <unsigned_long>10000L</unsigned_long>
        </type_spec>
      </const>
  
!     <exception>
!       <id>NoModuleError</id>
        <members>
          <member>
            <type_spec>string</type_spec>
--- 186,201 ----
      </typedef>
  
      <!-- Forward declarations -->
!     <interface id="GNUe::Sadist"/>
!     <class id="GNUe::Goats::Chillywilly"/>
  
!     <const id="BIGINT">
        <type_spec>
          <unsigned_long>10000L</unsigned_long>
        </type_spec>
      </const>
  
!     <exception id="NoModuleError">
        <members>
          <member>
            <type_spec>string</type_spec>
***************
*** 211,252 ****
  
      <exception id="FubarError"/>
  
!     <interface>
!       <id>KungFu</id>
!       <operation>
!         <type_spec>void</type_spec>
!         <id>Kick</id>
!       </operation>
!       <operation>
!         <type_spec>void</type_spec>
!         <id>Punch</id>
!       </operation>
      </interface>
  
!     <class>
!       <id>Dragon</id>
        <inherits>
          <interface>KungFu</interface>
        </inherits>
        <attribute>
          <type_spec>string</type_spec>
          <name>sensai</name>
        </attribute>
!       <operation>
!         <type_spec>void</type_spec>
!         <id>dragonKick</id>
!       </operation>
!       <operation>
!         <type_spec>void</type_spec>
!         <id>dragonPunch</id>
!       </operation>
      </class>
  
!     <module>
!       <id>GNUe</id>
        <odl_specification>
          <odl_definition>
  
            <!-- base types -->
            <typedef>
              <type_spec>float</type_spec>
--- 214,247 ----
  
      <exception id="FubarError"/>
  
!     <interface id="KungFu">
!       <operation id="Kick"/>
! 
!       <operation id="Punch"/>
! 
      </interface>
  
!     <class id="Dragon">
        <inherits>
          <interface>KungFu</interface>
        </inherits>
+ 
        <attribute>
          <type_spec>string</type_spec>
          <name>sensai</name>
        </attribute>
! 
!       <operation id="dragonKick"/>
! 
!       <operation id="dragonPunch"/>
      </class>
  
!     <module id="GNUe">
        <odl_specification>
          <odl_definition>
  
+           <!-- Tyep declarations -->
+    
            <!-- base types -->
            <typedef>
              <type_spec>float</type_spec>
***************
*** 346,352 ****
              </declarators>
            </typedef>
  
!            <!-- array types -->
            <typedef>
              <type_spec>
                <array><type_spec>float</type_spec></array>
--- 341,347 ----
              </declarators>
            </typedef>
  
!           <!-- array types -->
            <typedef>
              <type_spec>
                <array><type_spec>float</type_spec></array>
***************
*** 635,642 ****
              </declarators>
            </typedef>
  
!           <struct>
!             <id>Foo</id>
              <members>
                <member>
                  <type_spec>short</type_spec>
--- 630,636 ----
              </declarators>
            </typedef>
  
!           <struct id="Foo">
              <members>
                <member>
                  <type_spec>short</type_spec>
***************
*** 659,670 ****
              </members>
            </struct>
  
!           <!-- 
!            I am not sure I am to happy with the markup for a 'union',
!            need to look into it further
!           -->
!           <union>
!             <id>MyUnion</id>
              <switch>
                <type_spec>long</type_spec>
                <case>
--- 653,659 ----
              </members>
            </struct>
  
!           <union id="MyUnion">
              <switch>
                <type_spec>long</type_spec>
                <case>
***************
*** 679,686 ****
              </switch>
            </union>
  
!           <enum>
!             <id>FooType</id>
              <enumerator>bar</enumerator>
              <enumerator>biz</enumerator>
              <enumerator>bazz</enumerator>
--- 668,674 ----
              </switch>
            </union>
  
!           <enum id="FooType">
              <enumerator>bar</enumerator>
              <enumerator>biz</enumerator>
              <enumerator>bazz</enumerator>
***************
*** 745,770 ****
           </typedef>
  
           <!-- Forward declarations -->
!          <interface>
!            <id>CodeSlave</id>
!          </interface>
!          <class>
!            <id>Goats::Goat</id>
!          </class>
  
!          <const>
!            <id>MADGOATS</id>
             <type_spec>
               <boolean>TRUE</boolean>
             </type_spec>
           </const>
  
!          <exception>
!            <id>FooError</id>
!          </exception>
  
!          <exception>
!            <id>BarError</id>
             <members>
               <member>
                 <type_spec>string</type_spec>
--- 733,751 ----
           </typedef>
  
           <!-- Forward declarations -->
!          <interface id="CodeSlave"/>
!          <class id="Goats::Goat"/>
  
!          <const id="MADGOATS"/>
             <type_spec>
               <boolean>TRUE</boolean>
             </type_spec>
           </const>
  
!          <!-- Exception declarations -->
!          <exception id="FooError"/>
  
!          <exception id="BarError">
             <members>
               <member>
                 <type_spec>string</type_spec>
***************
*** 787,816 ****
             </members>
           </exception>
  
!          <interface>
!            <id>Sadist</id>
!            <operation>
!              <type_spec>void</type_spec>
!              <id>torture</id>
!            </operation>
           </interface>
  
!          <interface>
!            <id>Masochist</id>
!            <operation>
!              <type_spec>void</type_spec>
!              <id>suffer</id>
!            </operation>
           </interface>
  
!          <interface>
!            <id>DaMasta</id>
             <inherits>
               <interface>Sadist</interface>
             </inherits>
  
!            <enum>
!              <id>BeatingType</id>
               <enumeration>mild</enumeration>
               <enumeration>profuse</enumeration>
             </enum>
--- 768,789 ----
             </members>
           </exception>
  
!          <interface id="Sadist">
! 
!            <operation id="torture"/>
! 
           </interface>
  
!          <interface id="Masochist">
!            <operation id="suffer"/>
           </interface>
  
!          <interface id="DaMasta">
             <inherits>
               <interface>Sadist</interface>
             </inherits>
  
!            <enum id="BeatingType">
               <enumeration>mild</enumeration>
               <enumeration>profuse</enumeration>
             </enum>
***************
*** 822,839 ****
               </declarators>
             </typedef>
  
!            <const>
!              <id>FAVCOLOR</id>
               <type_spec><string>red</string></type_spec>
             </const>
  
!            <exception>
!              <id>CodeSlaveAway</id>
!            </exception>
  
!            <exception>
!              <id>NoTicketsAssigned</id>
!            </exception>
  
             <attribute readonly="1">
               <type_sepc>string</type_spec>
--- 795,807 ----
               </declarators>
             </typedef>
  
!            <const id="FAVCOLOR">
               <type_spec><string>red</string></type_spec>
             </const>
  
!            <exception id="CodeSlaveAway"/>
  
!            <exception id="NoTicketsAssigned"/>
  
             <attribute readonly="1">
               <type_sepc>string</type_spec>
***************
*** 850,942 ****
               <name>beating</name>
             </attribute>
  
!            <relationship>
               <target>
                 <type_spec><set>CodeSlave</set></type_spec>
               </target>
-              <id>beats</id>
               <inverse>
!                <id>CodeSlave::isBeaten</id>
               </inverse>
             </relationship>
  
!            <relationship>
               <target>
                 <type_spec><scoped_name>Hacker</scoped_name></type_spec>
               </target>
-              <id>assignsTicket</id>
               <inverse>
!                <id>Hacker::isAssignedTicketBy</id>
               </inverse>
             </relationship>
  
!            <operation oneway="1">
!              <type_spec>void</type_spec>
!              <id>speakInIRCChannel</id>
!            </operation>
  
!            <operaion>
!              <type_spec>boolean</type_spec>
!              <id>isWatching</id>
               <parameters>
!                <parameter>
!                  <attribute>in</attribute>
                   <type_spec><scoped_name>CodeSlave</scoped_name></type_spec>
                   <declarator>cslave</declarator>
                 </paramter>
               <parameters>
             </operation>
  
!            <operation>
!              <type_spec>void</type_spec>
!              <id>beatCodeSlave</id>
               <parameters>
!                <parameter>
!                  <attribute>in</attribute>
                   <type_spec><scoped_name>CodeSlave</scped_name</type_spec>
                   <declarator>cslave</declarator>
                 </parameter>
!                <parameter>
!                  <attribute>inout</attribute>
                   <type_spec>beating_t</type_spec>
                   <declarator>severity</declarator>
                 <parameter>
               </parameters>
               <raises>
!                <scoped_name>CodeSlaveAway</scoped_name>
               </raises>
             </operation>
  
!            <operation>
!              <type_spec>boolean</type_spec>
!              <id>getTickets</id>
               <parameters>
!                <parameter>
!                  <attribute>in</attribute>
                   <type_spec><scoped_name>Hacker<scoped_name></type_spec>
                   <declarator>goat</declarator>
                 </parameter>
!                <parameter>
!                  <attribute>out</attribute>
                   <type_spec>unsigned short</type_spec>
                   <declarator>tickets</declarator>
                 </parameter>
               <parameters>
               <raises>
!                <scoped_name>NoTickestAssigned</scoped_name>
               </raises>
             </operation>
  
           </interface>
  
!          <interface>
!            <id>CodeSlave</id>
             <inherits>
               <interface>Masochist</interface>
             </inherits>
  
!            <enum>
!              <id>HackType</id>
               <enumeration>common</enumeration>
               <enumeration>forms</enumeration>
               <enumeration>appserver</enumeration>
--- 818,898 ----
               <name>beating</name>
             </attribute>
  
!            <relationship id="beats">
               <target>
                 <type_spec><set>CodeSlave</set></type_spec>
               </target>
               <inverse>
!                <scoped_name>CodeSlave::isBeaten</scoped_name>
               </inverse>
             </relationship>
  
!            <relationship id="assignsTicket">
               <target>
                 <type_spec><scoped_name>Hacker</scoped_name></type_spec>
               </target>
               <inverse>
!                <scoped_name>Hacker::isAssignedTicketBy</scoped_name>
               </inverse>
             </relationship>
  
!            <operation oneway="1" id="speakInIRCChannel"/>
  
!            <operaion id="isWatching">
!              <returns>
!                <type_spec>boolean</type_spec>
!              </returns>
               <parameters>
!                <parameter mode="in">
                   <type_spec><scoped_name>CodeSlave</scoped_name></type_spec>
                   <declarator>cslave</declarator>
                 </paramter>
               <parameters>
             </operation>
  
!            <operation id="beatCodeSlave">
               <parameters>
!                <parameter mode="in">
                   <type_spec><scoped_name>CodeSlave</scped_name</type_spec>
                   <declarator>cslave</declarator>
                 </parameter>
!                <parameter mode="inout">
                   <type_spec>beating_t</type_spec>
                   <declarator>severity</declarator>
                 <parameter>
               </parameters>
               <raises>
!                <exception>CodeSlaveAway</exception>
               </raises>
             </operation>
  
!            <operation id="getTickets">
!              <returns>
!                <type_spec>boolean</type_spec>
!              </returns>
               <parameters>
!                <parameter mode="in">
                   <type_spec><scoped_name>Hacker<scoped_name></type_spec>
                   <declarator>goat</declarator>
                 </parameter>
!                <parameter mode="out">
                   <type_spec>unsigned short</type_spec>
                   <declarator>tickets</declarator>
                 </parameter>
               <parameters>
               <raises>
!                <exception>NoTickestAssigned</exception>
               </raises>
             </operation>
  
           </interface>
  
!          <interface id="CodeSlave">
             <inherits>
               <interface>Masochist</interface>
             </inherits>
  
!            <enum id="HackType">
               <enumeration>common</enumeration>
               <enumeration>forms</enumeration>
               <enumeration>appserver</enumeration>
***************
*** 953,960 ****
               </declarators>
             </typedef>
  
!            <exception>
!              <id>WhoSaidYouCouldStopCoding</id>
               <members>
                 <member>
                   <type_spec>string</type_spec>
--- 909,915 ----
               </declarators>
             </typedef>
  
!            <exception id="WhoSaidYouCouldStopCoding">
               <members>
                 <member>
                   <type_spec>string</type_spec>
***************
*** 971,978 ****
               </members>
             </exception>
  
!            <exception>
!              <id>CVSPermissionDenied</id>
               <members>
                 <member>
                   <type_spec>string</type_spec>
--- 926,932 ----
               </members>
             </exception>
  
!            <exception id="CVSPermissionDenied">
               <members>
                 <member>
                   <type_spec>string</type_spec>
***************
*** 982,994 ****
               </members>
             </exception>
  
!            <relationship>
               <target>
!                <type_spec>GNUe::DaMasta</type_spec>
               </target>
-              <id>isBeaten</id>
               <inverse>
!                <id>GNUe::DaMasta::beats</id>
               </inverse>
             </relationship>
  
--- 936,947 ----
               </members>
             </exception>
  
!            <relationship id="isBeaten">
               <target>
!                <type_spec><scoped_name>GNUe::DaMasta</scoped_name></type_spec>
               </target>
               <inverse>
!                <scoped_name>GNUe::DaMasta::beats<scoped_name>
               </inverse>
             </relationship>
  
***************
*** 996,1002 ****
               <type_spec>void</type_spec>
               <id>stopCoding</id>
               <raises>
!                <scoped_name>WhoSaidYouCouldStopCoding</scoped_name>
               </raises>
             </operation>
  
--- 949,955 ----
               <type_spec>void</type_spec>
               <id>stopCoding</id>
               <raises>
!                <exception>WhoSaidYouCouldStopCoding</exception>
               </raises>
             </operation>
  
***************
*** 1016,1027 ****
                 </parameter>
               </parameters>
               <raises>
!                <scoped_name>CVSPermissionDenied</scoped_name>
               </raises>
             </operation>
  
!            <module>
!              <id>Goats</id>
               <odl_specification>
                 <odl_definition>
  
--- 969,984 ----
                 </parameter>
               </parameters>
               <raises>
!                <exception>CVSPermissionDenied</exception>
               </raises>
             </operation>
  
!            <!--
!            This is the fun module :). It is also used to test nesting of
!            modules and as an example to help determine how xml for nesting 
modules
!            should be done.
!            -->
!            <module id="Goats">
               <odl_specification>
                 <odl_definition>
  
***************
*** 1046,1082 ****
                       <name>FSFCopyrightAssignment</name>
                     </attribute>
  
!                    <relationship>
                       <target>
!                        <type_spec>GNUe::DaMasta</type_spec>
                       </target>
-                      <id>isAssignedTicketBy</id>
                       <inverse>
!                        <id>GNUe::DaMasta::assignsTicket</id>
                       </inverse>
                     </relationship>
                   </class>
  
!                  <class>
!                    <id>Derek</id>
                     <extends>
!                      <scoped_name>Goat</scoped_name>
                     </extends>
                     <inherits>
!                      <scoped_name>GNUe::DaMasta</scoped_name>
                     </inherits>
                     <extent>goats</extent>
  
!                    <exception>
!                      <id>BurnRoofOfMouth</id>
!                    </exception>
  
!                    <exception>
!                      <id>NeedsReheating</id>
!                    </exception>
  
!                    <exception>
!                      <id>OutofTopping</id>
                       <members>
                         <member>
                           <type_spec>string</type_spec>
--- 1003,1032 ----
                       <name>FSFCopyrightAssignment</name>
                     </attribute>
  
!                    <relationship id="isAssignedTicketBy">
                       <target>
!                        
<type_spec><scoped_name>GNUe::DaMasta</scoped_name></type_spec>
                       </target>
                       <inverse>
!                        <scoped_name>GNUe::DaMasta::assignsTicket<scoped_name>
                       </inverse>
                     </relationship>
                   </class>
  
!                  <class id="Derek">
                     <extends>
!                      <class>Goat</class>
                     </extends>
                     <inherits>
!                      <interface>GNUe::DaMasta</interface>
                     </inherits>
                     <extent>goats</extent>
  
!                    <exception id="BurnRoofOfMouth"/>
  
!                    <exception id="NeedsReheating"/>
  
!                    <exception id="OutofTopping">
                       <members>
                         <member>
                           <type_spec>string</type_spec>
***************
*** 1087,1094 ****
                       </members>
                     </exception>
  
!                    <struct>
!                      <id>PizzaType</id>
                       <members>
                         <member>
                           <type_spec>string</type_spec>
--- 1037,1043 ----
                       </members>
                     </exception>
  
!                    <struct id="PizzaType">
                       <members>
                         <member>
                           <type_spec>string</type_spec>
***************
*** 1101,1106 ****
--- 1050,1056 ----
                           <declarators>
                             <declarator>toppings</declarator>
                           </declarators>
+                          <!-- allows duplicate toppings ("extra" toppings) -->
                         </member>
                       </members>
                     </struct>
***************
*** 1127,1164 ****
                       <name>pizzas</name>
                     </attribute>
  
!                    <operation>
!                      <type_spec>boolean</type_spec>
!                      <id>orderPizza</id>
                       <parameters>
!                        <parameter>
!                          <attribute>in</attribute>
                           <type_spec><set>pizza_t</set></type_spec>
                           <declarator>pizzaPies</declarator>
                         </parameter>
                       </parameters>
                       <raises>
!                        <scoped_name>OutofTopping</scoped_name>
                       </raises>
                     </operation>
  
!                    <operation>
!                      <type_spec>void</type_spec>
!                      <id>eatPizza</id>
                       <parameters>
!                        <parameter>
!                          <attribute>in</attribute>
                           <type_spec>pizza_t<type_spec>
                           <declarator>pizza</declarator>
                         </parameter>
                       </parameters>
                       <raises>
!                        <scoped_name>BurnRoofofMouth</scoped_name>
!                        <scoped_name>NeedsReheating</scoped_name>
                       </raises>
                     </operation>
                   </class>
  
!                  <class>
!                    <id>Chillywilly</id>
!                    
\ No newline at end of file
--- 1077,1437 ----
                       <name>pizzas</name>
                     </attribute>
  
!                    <operation id="orderPizza">
!                      <returns>
!                        <type_spec>boolean</type_spec>
!                      </returns>
                       <parameters>
!                        <parameter mode="in">
                           <type_spec><set>pizza_t</set></type_spec>
                           <declarator>pizzaPies</declarator>
                         </parameter>
                       </parameters>
                       <raises>
!                        <exception>OutofTopping</exception>
                       </raises>
                     </operation>
  
!                    <operation id="eatPizza">
                       <parameters>
!                        <parameter mode="in">
                           <type_spec>pizza_t<type_spec>
                           <declarator>pizza</declarator>
                         </parameter>
                       </parameters>
                       <raises>
!                        <exception>BurnRoofofMouth</exception>
!                        <exception>NeedsReheating</exception>
                       </raises>
                     </operation>
                   </class>
  
!                  <class id="Chillywilly">
!                    <extends>
!                      <class>Goat</class>
!                    </extends>
!                    <extent>goats</extent>
!  
!                    <exception id="OutofStock">
!                      <members>
!                        <member>
!                          <type_spec>string</type_spec>
!                          <declarators>
!                            <declarator>why</declarator>
!                          </declarators>
!                        </member>
!                      </members>
!                    </exception>
! 
!                    <exception id="GoatDucked"/>
! 
!                    <exception id="ExceededTroutLimit"
!                      <members>
!                        <member>
!                          <type_spec>unsigned short</type_spec>
!                          <declarators>
!                            <declarator>limit</declarator>
!                          </declarators>
!                        </member>
!                      </members>
!                    </exception>
! 
!                    <enum id="TroutType">
!                      <enumeration>brown</enumeration>
!                      <enumeration>rainbow</enumeration>
!                      <enumeration>lake</enumeration>
!                    </enum>
! 
!                    <typedef>
!                      <type_spec><enum>TroutType</enum></type_spec>
!                      <declarators>
!                        <declarator>trout_t</declarator>
!                      </declarators>
!                    </typedef>
! 
!                    <const id="preferredTrout">
!                      <type_spec>
!                        <trout_t>rainbow</trout_t>
!                      </type_spec>
!                    </const>
! 
!                    <attribute>
!                      <type_spec>boolean</type_spec>
!                      <name>troutslap</name>
!                    </attribute>
! 
!                    <attribute>
!                      
<type_spec><bag><type_spec>trout_t<type_spec></bag></type_spec>
!                      <name>trout</name>
!                    </attribute>
! 
!                    <relationship id="favoriteSlapee">
!                      <target>
!                        
<type_spec><scoped_name>Jcater</scoped_name></type_spec>
!                      </target>
!                      <inverse>
!                        <scoped_name>Jcater::isTroutSlappedBy</scoped_name>
!                      </inverse>
!                    </relationship>
! 
!                    <operation id="addTrout">
!                      <returns>
!                        <type_spec>boolean</type_spec>
!                      </returns>
!                      <parameters>
!                        <parameter mode="in">
!                          <type_spec>trout_t</type_spec>
!                          <declarator>trout</declarator>
!                        </parameter>
!                        <parameter mode="out">
!                          <type_spec>unsigned short</type_spec>
!                          <declarator>inStock</declarator>
!                        </parameter>
!                      <parameters>
!                      <raises>
!                        <exception>ExceededTroutLimit</exception>
!                      </raises>
!                    </operation>
! 
!                    <operation id="troutSlap">
!                      <parameters>
!                        <parameter mode="in">
!                          
<type_spec><scoped_name>Goat</scoped_name></type_spec>
!                          <declarator>slapee</declarator>
!                        </parameter>
!                        <parameter mode="in">
!                          <type_spec>trout_t</type_spec>
!                          <declarator>trout</declarator>
!                        </parameter>
!                      </parameters>
!                      <raises>
!                        <exception>OutOfStock</exception>
!                        <exception>GoatDucked</exception>
!                      </raises>
!                    </operation>
!                  </class>
! 
!                  <class id="Jcater">
!                    <extends>
!                      <class>Goat</class>
!                    </extends>
!                    <extent>goats</extent>
! 
!                    <exception id="InvalidDonutType">
!                      <members>
!                        <member>
!                          <type_spec>string</type_spec>
!                          <declarators>
!                            <declarator>what</declarator>
!                          </declarators>
!                        </member>
!                      </members>
!                    </exception>
! 
!                    <exception id="NotEnoughMoney"/>
! 
!                    <enum id="DonutType">
!                      <enumeration>glazed</enumeration>
!                      <enumeration>krispy_kreme</enumeration>
!                      <enumeration>jelly</enumeration>
!                      <enumeration>powedered</enumeration>
!                    </enum>
! 
!                    <struct id="Currency">
!                      <members>
!                        <member>
!                          <type_spec>string</type_spec>
!                          <declarators>
!                            <declarator>type</declarator>
!                          </declarators>
!                        </member>
!                        <member>
!                          <type_spec>float</type_spec>
!                          <declarators>
!                            <declarator>amount</declarator>
!                          </declarators>
!                        </member>
!                      </members>
!                    </struct>
! 
!                    <typedef>
!                      <type_spec><struct>DonutType</struct></type_spec>
!                      <declarators>
!                        <declarator>donut_t</declarator>
!                      </declarators>
!                    </typedef>
! 
!                    <const id="preferredDonut">
!                      <type_spec><donut_t>krispy_kreme</donut_t></type_spec>
!                    </const>
! 
!                    <attribute>
!                      
<type_spec><bag><type_spec>donut_t</type_spec></bag></type_spec>
!                      <name>donuts</name>
!                    </attribute>
! 
!                    <operation id="consumeDonuts">
!                      <parameters>
!                        <parameter mode="in">
!                          <type_spec>donut_t</type_spec>
!                          <declarator>donut</declarator>
!                        </parameter>
!                      </parameters>
!                      <raises>
!                        <exception>InvalidDonutType</exception>
!                      </raises>
!                    </operation>
! 
!                    <operation id="purchaseDonuts">
!                      <type_spec>boolean</type_spec>
!                      <parameters>
!                        <parameter mode="in">
!                          <type_spec><struct>Currency</struct></type_spec>
!                          <declarator>money</declarator>
!                        </parameter>
!                        <parameter mode="out">
!                          
<type_spec><bag><type_spec>donut_t</type_spec></bag></type_spec>
!                          <declarator>donuts</declarator>
!                        </parameter>
!                      </parameters>
!                      <raises>
!                        <exception>NotEnoughMoney</exception>
!                      </raises>
!                    </operation>
! 
!                  </class>
! 
!                  <class id="Jamest">
!                    <extends>
!                      <class>Goat</class>
!                    </extends>
!                    <extent>goats</extent>
! 
!                    <exception id="CrackLevelsTooLow">
!                      <members>
!                        <member>
!                          <type_spec>unsigned short</type_spec>
!                          <declarators>
!                            <declarator>level</declarator>
!                          </declarators>
!                        </member>
!                      </members>
!                    </exception>
! 
!                    <struct id="AtmosphericCrack">
!                      <members>
!                        <member>
!                          <type_spec>string</type_spec>
!                          <declarators>
!                            <declarator>kind</declarator>
!                          </declarators>
!                        </member>
!                        <member>
!                          <type_spec>unsigned long</type_spec>
!                          <declarators>
!                            <declarator>weight</declarator>
!                          </declarators>
!                        </member>
!                        <member>
!                          <type_spec>float</type_spec>
!                          <declarators>
!                            <declarator>percentage</declarator>
!                          </declarators>
!                        </member>
!                      </members>
!                    </struct>
! 
!                    <typedef>
!                      <type_spec><struct>AtmosphericCrack</struct></type_spec>
!                      <declarators>
!                        <declarator>atmoscrack_t</declarator>
!                      </declarators>
!                    </typedef>
! 
!                    <attribute>
!                      
<type_spec><bag><type_spec>atmoscrack_t</type_spec></bag></type_spec>
!                      <name>crackReserves</name>
!                    </attribute>
! 
!                    <operation id="inhaleAtmosphericCrack">
!                      <parameters>
!                        <parameter mode="in">
!                          
<type_spec><struct>AtmosphericCrack</struct></type_spec>
!                          <declarator>crack</declarator>
!                        </parameter>
!                      </parameters>
!                      <raises>
!                        <exception>CrackLevelsTooLow</exception>
!                      </raises>
!                    </operation>
!                  </class>
! 
!                  <class id="Reinhard">
!                    <extends>
!                      <class>Goat</class>
!                    </extends>
!                    <extent>goats</extent>
! 
!                    <exception id="FileDoesNotExist">
!                      <members>
!                        <member>
!                          <type_spec>string</type_spec>
!                          <declarators>
!                            <declarator>filename</declarator>
!                          </declarators>
!                        </member>
!                      </members>
!                    </exception>
! 
!                    <exception id="FileIsEmpty">
!                      <members>
!                        <member>
!                          <type_spec>string</type_spec>
!                          <declarators>
!                            <declarator>filename</declarator>
!                          </declarators>
!                        </member>
!                      </members>
!                    </exception>
! 
!                    <attribute>
!                      
<type_spec><list><type_spec>string</type_spec></list></type_spec>
!                      <name>quitMessages</name>
!                    </attribute>
! 
!                    <attribute>
!                      <type_spec>string</type_spec>
!                      <name>filename</name>
!                    </attribute>
! 
!                    <operation id="loadQuitMessage">
!                      <type_spec>boolean</type_spec>
!                      <parameters>
!                        <parameter mode="in">
!                          <type_spec>string</type_spec>
!                          <declarator>filename</declarator>
!                        </parameter>
!                      </parameters>
!                      <raises>
!                        <exception>FileDoesNotExist</exception>
!                        <exception>FileIsEmpty</exception>
!                      </raises>
!                    </operation>
! 
!                    <operation id="loadQuitMessage">
!                      <returns>
!                        <type_spec>string</type_spec>
!                      </returns>
!                    </operation>
!                  </class>
! 
!                </odl_definition>
!              </odl_specification>
!            </module>
! 
!         </odl_definition>
!       </odl_specification>
!     </module>
! 
!   </odl_definition>
! </odl_specification>
\ No newline at end of file
Index: gnue/appserver/src/_featuretest/thekitchensink.odl
diff -c gnue/appserver/src/_featuretest/thekitchensink.odl:1.6 
gnue/appserver/src/_featuretest/thekitchensink.odl:1.7
*** gnue/appserver/src/_featuretest/thekitchensink.odl:1.6      Sat Aug 31 
14:35:13 2002
--- gnue/appserver/src/_featuretest/thekitchensink.odl  Mon Sep  2 06:35:43 2002
***************
*** 308,314 ****
      class Jcater extends Goat
      ( extent goats)
      {
!       exception InvalidDonutType{donut_t donut;};
  
        enum DonutType
        {
--- 308,315 ----
      class Jcater extends Goat
      ( extent goats)
      {
!       exception InvalidDonutType{string what;};
!       exception NotEnoughMoney{};
  
        enum DonutType
        {
***************
*** 321,327 ****
        struct Currency
        {
        string type;
!       float emount;
        };
  
        typedef DonutType donut_t;
--- 322,328 ----
        struct Currency
        {
        string type;
!       float amount;
        };
  
        typedef DonutType donut_t;
***************
*** 337,343 ****
      class Jamest extends Goat
      ( extent goats)
      {
!       exception CrackLevelsTooLow{unsigned short levels};
  
        struct AtmosphericCrack
        {
--- 338,344 ----
      class Jamest extends Goat
      ( extent goats)
      {
!       exception CrackLevelsTooLow{unsigned short level};
  
        struct AtmosphericCrack
        {




reply via email to

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