[jboss-svn-commits] JBL Code SVN: r12877 - labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/server/util.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Jun 26 22:35:54 EDT 2007


Author: michael.neale at jboss.com
Date: 2007-06-26 22:35:54 -0400 (Tue, 26 Jun 2007)
New Revision: 12877

Modified:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/server/util/BRDRLPersistence.java
Log:
small fix for rendering stuff

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/server/util/BRDRLPersistence.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/server/util/BRDRLPersistence.java	2007-06-26 23:14:31 UTC (rev 12876)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/server/util/BRDRLPersistence.java	2007-06-27 02:35:54 UTC (rev 12877)
@@ -150,28 +150,35 @@
             }
             if ( CompositeFactPattern.COMPOSITE_TYPE_EXISTS.equals( pattern.type ) ) {
                 buf.append( pattern.type );
-                buf.append( " " );
-                this.generateFactPattern( pattern.patterns[0] );
+                buf.append( " " );                
+                renderSubPattern( pattern );
                 buf.append( "\n" );
             } else if ( CompositeFactPattern.COMPOSITE_TYPE_NOT.equals( pattern.type ) ) {
                 buf.append( pattern.type );
                 buf.append( " " );
-                this.generateFactPattern( pattern.patterns[0] );
+                renderSubPattern( pattern );
                 buf.append( "\n" );
             } else if ( CompositeFactPattern.COMPOSITE_TYPE_OR.equals( pattern.type ) ) {
                 buf.append( "( " );
-                for ( int i = 0; i < pattern.patterns.length; i++ ) {
-                    if ( i > 0 ) {
-                        buf.append( " " );
-                        buf.append( pattern.type );
-                        buf.append( " " );
+                if (pattern.patterns != null ) {
+                    for ( int i = 0; i < pattern.patterns.length; i++ ) {
+                        if ( i > 0 ) {
+                            buf.append( " " );
+                            buf.append( pattern.type );
+                            buf.append( " " );
+                        }
+                        renderSubPattern( pattern );
                     }
-                    this.generateFactPattern( pattern.patterns[0] );
                 }
                 buf.append( " )\n" );
             }
         }
 
+        private void renderSubPattern(CompositeFactPattern pattern) {
+            if (pattern.patterns == null || pattern.patterns.length == 0) return;
+            this.generateFactPattern( pattern.patterns[0] );
+        }
+
         public void visitDSLSentence(final DSLSentence sentence) {
             buf.append( "\t\t" );
             buf.append( sentence.toString() );




More information about the jboss-svn-commits mailing list