[jboss-svn-commits] JBL Code SVN: r12901 - labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Jun 27 17:14:23 EDT 2007


Author: tirelli
Date: 2007-06-27 17:14:23 -0400 (Wed, 27 Jun 2007)
New Revision: 12901

Modified:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DrlDumper.java
Log:
JBRULES-546: fixing DRLDumper 

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DrlDumper.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DrlDumper.java	2007-06-27 20:37:19 UTC (rev 12900)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DrlDumper.java	2007-06-27 21:14:23 UTC (rev 12901)
@@ -106,20 +106,25 @@
     }
 
     public void visitPatternDescr(final PatternDescr descr) {
-        this.template = new String();
+        StringBuffer buf = new StringBuffer();
+        buf.append( "\t\t" );
+        if ( descr.getIdentifier() != null ) {
+            buf.append(  descr.getIdentifier() );
+            buf.append( " : " );
+            
+        }
+        buf.append( descr.getObjectType() );
+        buf.append( "( " );
         if ( !descr.getConstraint().getDescrs().isEmpty() ) {
-            if ( descr.getIdentifier() != null ) {
-                this.template = "\t\t" + descr.getIdentifier() + " : " + descr.getObjectType() + "( " + processColoumnConstraintList( descr.getConstraint().getDescrs() ) + ")";
-            } else {
-                this.template = "\t\t" + descr.getObjectType() + "( " + processColoumnConstraintList( descr.getConstraint().getDescrs() ) + ")";
-            }
-        } else {
-            if ( descr.getIdentifier() != null ) {
-                this.template = "\t\t" + descr.getIdentifier() + " : " + descr.getObjectType() + "( )";
-            } else {
-                this.template = "\t\t" + descr.getObjectType() + "( )";
-            }
+            buf.append( processColoumnConstraintList( descr.getConstraint().getDescrs() ) );
         }
+        buf.append( " )" );
+        if( descr.getSource() != null ) {
+            buf.append( " from " );
+            this.template = buf.toString();
+            visit( descr.getSource() );
+        }
+        this.template = buf.toString();
     }
 
     public void visitEvalDescr(final EvalDescr descr) {
@@ -138,8 +143,7 @@
 
     public void visitCollectDescr(final CollectDescr descr) {
         String tmpstr = new String();
-        //visitPatternDescr( descr.getOutputPattern() );
-        tmpstr += this.template + " from collect (";
+        tmpstr += this.template + " collect (";
         visitPatternDescr( descr.getInputPattern() );
         tmpstr += this.template.substring( 2 );
         this.template = tmpstr + ");";
@@ -147,23 +151,24 @@
 
     public void visitAccumulateDescr(final AccumulateDescr descr) {
         String tmpstr = new String();
-        //visitPatternDescr( descr.getOutputPattern() );
-        tmpstr += this.template + " from accumulate (";
+        tmpstr += this.template + " accumulate (";
         visitPatternDescr( descr.getInputPattern() );
         tmpstr += this.template.substring( 2 );
 
-        if ( descr.isExternalFunction() ) tmpstr += "," + descr.getFunctionIdentifier() + "(" + descr.getExpression() + ")";
-        else {
+        if ( descr.isExternalFunction() ) {
+            tmpstr += "," + descr.getFunctionIdentifier() + "(" + descr.getExpression() + ")";
+        } else {
             tmpstr += ", init(" + descr.getInitCode() + "), ";
             tmpstr += "action(" + descr.getActionCode() + "), ";
+            if( descr.getReverseCode() != null ) {
+                tmpstr += " reverse(" + descr.getReverseCode() +"), ";
+            }
             tmpstr += "result(" + descr.getResultCode() + ")";
         }
         this.template = tmpstr + ");";
     }
 
     public void visitFromDescr(final FromDescr descr) {
-        //visitPatternDescr( descr.getOutputPattern() );
-        this.template += " from ";
         this.template += descr.getDataSource();
     }
 




More information about the jboss-svn-commits mailing list