[jboss-svn-commits] JBL Code SVN: r31071 - 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
Wed Jan 13 16:08:44 EST 2010
Author: Rikkola
Date: 2010-01-13 16:08:44 -0500 (Wed, 13 Jan 2010)
New Revision: 31071
Removed:
labs/jbossrules/trunk/drools-doc/src/main/java/org/drools/doc/DrlPackageData.java
labs/jbossrules/trunk/drools-doc/src/main/java/org/drools/doc/DrlRuleData.java
Modified:
labs/jbossrules/trunk/drools-doc/src/main/java/org/drools/doc/DroolsDocsBuilder.java
Log:
JBRULES-2311 Group test rules for analysing just one rule, decision table, rule package and so on
Deleted: labs/jbossrules/trunk/drools-doc/src/main/java/org/drools/doc/DrlPackageData.java
===================================================================
--- labs/jbossrules/trunk/drools-doc/src/main/java/org/drools/doc/DrlPackageData.java 2010-01-13 20:25:47 UTC (rev 31070)
+++ labs/jbossrules/trunk/drools-doc/src/main/java/org/drools/doc/DrlPackageData.java 2010-01-13 21:08:44 UTC (rev 31071)
@@ -1,104 +0,0 @@
-package org.drools.doc;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-public class DrlPackageData {
- private static final String packageExpr = "(^\\s*#.*?\\n)?(^\\s*package.*?$)(.*?)";
- private static final Pattern finder = Pattern.compile( packageExpr,
- Pattern.DOTALL | Pattern.MULTILINE );
-
- private static final Pattern globalFinder = Pattern.compile( "(^\\s*global.*?$)",
- Pattern.DOTALL | Pattern.MULTILINE );
-
- final String packageName;
- final List<DrlRuleData> rules;
- final String description;
-
- public final List<String> metadata;
-
- public final Map<String, List<String>> otherInformation;
- public final List<String> globals;
-
- public DrlPackageData(String packageName,
- String description,
- List<DrlRuleData> rules,
- List<String> globals,
- List<String> metadata,
- Map<String, List<String>> otherInformation) {
- this.packageName = packageName;
- this.description = description;
- this.rules = rules;
- this.globals = globals;
- this.metadata = metadata;
- this.otherInformation = otherInformation;
- }
-
- public static DrlPackageData findPackageDataFromDrl(String drl) {
-
- final Matcher m = finder.matcher( drl );
- m.find();
-
- String packageNameRow = m.group( 2 );
-
- int indexOfPackage = packageNameRow.indexOf( "package" );
- String packageName = packageNameRow.substring( indexOfPackage + "package".length() ).trim();
-
- Comment comment = DrlRuleData.processComment( m.group( 1 ) );
-
- return new DrlPackageData( packageName,
- comment.description,
- DrlRuleData.findRulesDataFromDrl( drl ),
- findGlobals( drl ),
- comment.metadata,
- new HashMap<String, List<String>>() );
- }
-
- public static List<String> findGlobals(String drl) {
- List<String> globals = new ArrayList<String>();
- Matcher gm = globalFinder.matcher( drl );
-
- while ( gm.find() ) {
- String row = gm.group();
- globals.add( row.substring( row.indexOf( "global" ) + "global".length() ).trim() );
- }
-
- return globals;
- }
-
- static Comment processComment(String text) {
- Comment comment = new Comment();
-
- if ( text == null ) {
- comment.description = "";
- comment.metadata = new ArrayList<String>();
-
- return comment;
- }
-
- comment.description = text.replaceAll( "#",
- "" ).trim();
- comment.metadata = findMetaData( text );
-
- return comment;
- }
-
- private static List<String> findMetaData(String text) {
- List<String> list = new ArrayList<String>();
-
- while ( text.contains( "@" ) ) {
- int start = text.indexOf( '@' );
- text = text.substring( start + 1 );
- int end = text.indexOf( "\n" );
- list.add( text.substring( 0,
- end ) );
- text = text.substring( end );
- }
-
- return list;
- }
-}
Deleted: labs/jbossrules/trunk/drools-doc/src/main/java/org/drools/doc/DrlRuleData.java
===================================================================
--- labs/jbossrules/trunk/drools-doc/src/main/java/org/drools/doc/DrlRuleData.java 2010-01-13 20:25:47 UTC (rev 31070)
+++ labs/jbossrules/trunk/drools-doc/src/main/java/org/drools/doc/DrlRuleData.java 2010-01-13 21:08:44 UTC (rev 31071)
@@ -1,167 +0,0 @@
-package org.drools.doc;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-public class DrlRuleData {
- private static final String rulesExpr = "(^\\s*#.*?\\n)?(^\\s*rule.*?$)(.*?)(when)(.*?)(then)(.*?)(^\\s*end)";
-
- private static final Pattern finder = Pattern.compile( rulesExpr,
- Pattern.DOTALL | Pattern.MULTILINE );
-
- public final Collection<String> header;
- public final Collection<String> lhs;
- public final Collection<String> rhs;
-
- public final String ruleName;
-
- public final String description;
-
- public final Collection<String> metadata;
-
- public final Map<String, List<String>> otherInformation;
-
- private DrlRuleData(String ruleName,
- String header,
- String lhs,
- String rhs,
- String description,
- List<String> metadata,
- Map<String, List<String>> otherInformation) {
- this.ruleName = ruleName;
- this.header = asList( header.split( "\n" ) );
- this.lhs = asList( lhs.split( "\n" ) );
- this.rhs = asList( rhs.split( "\n" ) );
- this.description = description;
- this.metadata = metadata;
- this.otherInformation = otherInformation;
- }
-
- private Collection<String> asList(String[] array) {
- Collection<String> list = new ArrayList<String>();
-
- for ( int i = 0; i < array.length; i++ ) {
- String string = array[i];
- if ( !string.trim().equals( "" ) ) {
- list.add( string );
- }
- }
-
- return list;
- }
-
- public static List<DrlRuleData> findRulesDataFromDrl(String drl) {
- final Matcher m = finder.matcher( drl );
- final List<DrlRuleData> list = new ArrayList<DrlRuleData>();
-
- while ( m.find() ) {
-
- // System.out.println( "1 " + m.group( 1 ) );
- // System.out.println( "2 " + m.group( 2 ) );
- // System.out.println( "3 " + m.group( 3 ) );
- // System.out.println( "4 " + m.group( 4 ) );
- // System.out.println( "5 " + m.group( 5 ) );
- // System.out.println( "6 " + m.group( 6 ) );
- // System.out.println( "7 " + m.group( 7 ) );
-
- Comment comment = processComment( m.group( 1 ) );
-
- String ruleName = m.group( 2 );
-
- ruleName = trimRuleName( ruleName );
-
- list.add( new DrlRuleData( ruleName,
- m.group( 3 ),
- m.group( 5 ),
- m.group( 7 ),
- comment.description,
- comment.metadata,
- new HashMap<String, List<String>>() ) );
- }
-
- return list;
- }
-
- private static String trimRuleName(String ruleName) {
- ruleName = ruleName.substring( ruleName.indexOf( "rule" ) + "rule".length() ).trim();
-
- if ( ruleName.indexOf( "\"" ) == 0 ) {
- ruleName = ruleName.substring( 1 );
- }
-
- if ( ruleName.lastIndexOf( "\"" ) == (ruleName.length() - 1) ) {
- ruleName = ruleName.substring( 0,
- ruleName.length() - 1 );
- }
-
- return ruleName;
- }
-
- static Comment processComment(String text) {
- Comment comment = new Comment();
-
- if ( text == null ) {
- comment.description = "";
- comment.metadata = new ArrayList<String>();
-
- return comment;
- }
-
- // Sometimes the first rule in a file gets the package imports and
- // comments included.
- // Checking for that and fixing the description if this did happen.
-
- StringBuilder description = new StringBuilder();
- String[] commentLines = text.split( "\n" );
- for ( int i = 0; i < commentLines.length; i++ ) {
- String line = commentLines[i].trim();
-
- if ( line.startsWith( "#" ) ) {
- while ( line.startsWith( "#" ) ) {
- line = line.substring( 1 );
- }
-
- line = line.trim();
-
- if ( !line.startsWith( "@" ) ) {
- description.append( line );
- description.append( "\n" );
- }
- } else {
- description.delete( 0,
- description.length() );
- }
-
- }
- comment.description = description.toString();
-
- comment.metadata = findMetaData( text );
-
- return comment;
- }
-
- private static List<String> findMetaData(String text) {
- List<String> list = new ArrayList<String>();
-
- while ( text.contains( "@" ) ) {
- int start = text.indexOf( '@' );
- text = text.substring( start + 1 );
- int end = text.indexOf( "\n" );
- list.add( text.substring( 0,
- end ) );
- text = text.substring( end );
- }
-
- return list;
- }
-}
-
-class Comment {
- String description;
- List<String> metadata;
-}
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-doc/src/main/java/org/drools/doc/DroolsDocsBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-doc/src/main/java/org/drools/doc/DroolsDocsBuilder.java 2010-01-13 20:25:47 UTC (rev 31070)
+++ labs/jbossrules/trunk/drools-doc/src/main/java/org/drools/doc/DroolsDocsBuilder.java 2010-01-13 21:08:44 UTC (rev 31071)
@@ -36,11 +36,6 @@
this.packageData = DrlPackageParser.findPackageDataFromDrl( packageDrl );
}
- protected DroolsDocsBuilder(DrlPackageData packageData) {
- // @ FIXME
- throw new UnsupportedOperationException( "Waiting for Rikkola to fix his bad commit" );
- }
-
protected DroolsDocsBuilder(DrlPackageParser packageData) {
this.packageData = packageData;
}
More information about the jboss-svn-commits
mailing list