generate <enum>'s for event fields
authorAleš Křenek <ljocha@ics.muni.cz>
Fri, 8 Jul 2005 15:12:26 +0000 (15:12 +0000)
committerAleš Křenek <ljocha@ics.muni.cz>
Fri, 8 Jul 2005 15:12:26 +0000 (15:12 +0000)
org.glite.lb.ws-interface/src/LBTypes.xml.T

index 30f1002..95a7f18 100644 (file)
                my $tn = $type;
                $tn = $1.ucfirst $2 while $tn =~ /([[:alpha:]]*)_([[:alpha:]_]*)/;
 
+               selectType $event $type;
+               for ($event->getFieldsOrdered) {
+                       my $f = selectField $event $_;
+                       if ($f->{codes}) {
+                               my $n = $tn . '_' . getName $f;
+                               $n = $1.ucfirst $2 while $n =~ /([[:alpha:]]*)_([[:alpha:]_]*)/;
+                               gen qq{
+!              <enum name="$n">
+};
+                               for (@{$f->{codes}}) {
+                                       my $uc = uc $_->{name};
+                                       gen qq{
+!                      <val name="$uc">$_->{comment}</val>
+};
+                               }
+                               gen qq{
+!              </enum>
+};
+
+                       }
+               }
+
                gen qq{
 !                      <struct name="event$tn">
 };
                        my $fn = $f->{name};
                        my $ftn = $f->getType;
 
+
                        $fn = $1.ucfirst $2 while $fn =~ /([[:alpha:]]*)_([[:alpha:]_]*)/;
+                       $ftn = $tn . '_' . $fn if ($f->{codes});
+
                        $ftn = $1.ucfirst $2 while $ftn =~ /([[:alpha:]]*)_([[:alpha:]_]*)/;
 
+
                        my $comment = getComment $f;
                        my $opt = $f->{optional} ? 'yes' : 'no';
                        gen qq{
 
                <enum name="eventSource">
                        Possible sources of LB events.
-                       <val name="userInterface"/>
-                       <val name="networkServer"/>
-                       <val name="workloadManager"/>
-                       <val name="bigHelper"/>
-                       <val name="jobSubmission"/>
-                       <val name="logMonitor"/>
+                       <val name="UserInterface"/>
+                       <val name="NetworkServer"/>
+                       <val name="WorkloadManager"/>
+                       <val name="BigHelper"/>
+                       <val name="JobSubmission"/>
+                       <val name="LogMonitor"/>
                        <val name="LRMS"/>
-                       <val name="application"/>
+                       <val name="Application"/>
                </enum>
 
                <struct name="stateEnterTimesItem">