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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Oct 26 17:45:18 EDT 2010


Author: tsurdilovic
Date: 2010-10-26 17:45:18 -0400 (Tue, 26 Oct 2010)
New Revision: 35753

Modified:
   labs/jbossrules/trunk/drools-doc/src/main/java/org/drools/doc/DroolsDocsComponentFactory.java
Log:
JBRULES-2697 : Description not in documentation


Modified: labs/jbossrules/trunk/drools-doc/src/main/java/org/drools/doc/DroolsDocsComponentFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-doc/src/main/java/org/drools/doc/DroolsDocsComponentFactory.java	2010-10-26 21:44:46 UTC (rev 35752)
+++ labs/jbossrules/trunk/drools-doc/src/main/java/org/drools/doc/DroolsDocsComponentFactory.java	2010-10-26 21:45:18 UTC (rev 35753)
@@ -18,7 +18,9 @@
 
 import java.awt.Color;
 import java.util.Collection;
+import java.util.Iterator;
 import java.util.Map;
+import java.util.Vector;
 
 import org.drools.verifier.misc.DrlPackageParser;
 import org.drools.verifier.misc.DrlRuleParser;
@@ -198,7 +200,28 @@
 
         return footer;
     }
+    
+    private static String[] splitFirst(String source, String splitter) {
+        Vector rv = new Vector();
+        int last = 0;
+        int next = 0;
 
+        next = source.indexOf(splitter, last);
+        if (next != -1)
+        {
+          rv.add(source.substring(last, next));
+          last = next + splitter.length();
+        }
+
+        if (last < source.length())
+        {
+          rv.add(source.substring(last, source.length()));
+        }
+
+        return (String[]) rv.toArray(new String[rv.size()]);
+      }
+
+
     public static void newRulePage(Document document,
                                    String packageName,
                                    DrlRuleParser drlData) throws DocumentException {
@@ -220,9 +243,27 @@
             document.add( ext );
         }
 
-        // Description
-        document.add( newDescription( drlData.getDescription() ) );
-
+        // if the data came from guvnor, this will be empty
+        if(drlData.getDescription() != null && drlData.getDescription().trim().equals("")) {
+        	Iterator<String> iter = drlData.getMetadata().iterator();
+        	while(iter.hasNext()) {
+        		String nextDesc = iter.next();
+        		if(nextDesc.startsWith("Description")) {
+        			String[] parts = splitFirst(nextDesc, ":");
+        			// no description
+        			if(parts.length == 1) {
+        				// guvnor did not have it
+        				document.add( newDescription( drlData.getDescription() ) );
+        			} else {
+        				document.add(newDescription(parts[1]));
+        			}
+        		}
+        	}
+        	
+        } else {
+        	document.add( newDescription( drlData.getDescription() ) );
+        }
+        
         // DRL
         document.add( newRuleTable( drlData ) );
 



More information about the jboss-svn-commits mailing list