[jboss-svn-commits] JBL Code SVN: r15915 - in labs/jbossrules/trunk/drools-analytics/src: main/java/org/drools/analytics/report/components and 6 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Oct 18 09:20:58 EDT 2007


Author: Rikkola
Date: 2007-10-18 09:20:58 -0400 (Thu, 18 Oct 2007)
New Revision: 15915

Added:
   labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/Consequence.drl
   labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/report/html/basic.css
   labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/ConsequenceTest.java
   labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/ConsequenceTest.drl
Removed:
   labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/report/html/basic.css
   labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/report/html/relationsDetails.css
   labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/report/html/relationsList.css
Modified:
   labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/RuleLoader.java
   labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/AnalyticsMessage.java
   labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/AnalyticsMessageBase.java
   labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/ComponentsReportModeller.java
   labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/MissingRangesReportVisitor.java
   labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/ReportModeller.java
   labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/UrlFactory.java
   labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Notes.drl
   labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/report/html/analyticsMessage.htm
   labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/AnalyticsTestStandalone.java
Log:
Rule that informs when rule has no RHS and fixed css for html reports.

Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/RuleLoader.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/RuleLoader.java	2007-10-18 13:13:37 UTC (rev 15914)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/RuleLoader.java	2007-10-18 13:20:58 UTC (rev 15915)
@@ -55,6 +55,9 @@
 		list.add(new InputStreamReader(RuleLoader.class
 				.getResourceAsStream("rangeChecks/Clean.drl")));
 
+		list.add(new InputStreamReader(RuleLoader.class
+				.getResourceAsStream("Consequence.drl")));
+
 		// list.add(new InputStreamReader(RuleLoader.class
 		// .getResourceAsStream("redundancy/Possibilities.drl")));
 		//

Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/AnalyticsMessage.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/AnalyticsMessage.java	2007-10-18 13:13:37 UTC (rev 15914)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/AnalyticsMessage.java	2007-10-18 13:20:58 UTC (rev 15915)
@@ -1,6 +1,7 @@
 package org.drools.analytics.report.components;
 
 import java.util.Collection;
+import java.util.Collections;
 
 /**
  * 
@@ -18,6 +19,13 @@
 		this.causes = causes;
 	}
 
+	public AnalyticsMessage(Severity severity, MessageType messageType,
+			Cause faulty, String message) {
+		super(severity, messageType, faulty, message);
+
+		this.causes = Collections.emptyList();
+	}
+
 	public Collection<Cause> getCauses() {
 		return causes;
 	}

Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/AnalyticsMessageBase.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/AnalyticsMessageBase.java	2007-10-18 13:13:37 UTC (rev 15914)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/components/AnalyticsMessageBase.java	2007-10-18 13:20:58 UTC (rev 15915)
@@ -39,7 +39,7 @@
 	}
 
 	public static enum MessageType {
-		NOT_SPECIFIED, RANGE_CHECK, REDUNDANCY, SUBSUMPTION
+		NOT_SPECIFIED, RANGE_CHECK, REDUNDANCY, SUBSUMPTION, MISSING_COMPONENT
 	}
 
 	protected Severity severity;

Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/ComponentsReportModeller.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/ComponentsReportModeller.java	2007-10-18 13:13:37 UTC (rev 15914)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/ComponentsReportModeller.java	2007-10-18 13:20:58 UTC (rev 15915)
@@ -78,10 +78,8 @@
 				+ UrlFactory.CSS_FOLDER;
 		File cssesFolder = new File(cssFolder);
 		cssesFolder.mkdir();
-		writeToFile(cssFolder + File.separator + UrlFactory.CSS_FILE_DETAILS,
-				ComponentsReportVisitor.getCss(UrlFactory.CSS_FILE_DETAILS));
-		writeToFile(cssFolder + File.separator + UrlFactory.CSS_FILE_LIST,
-				ComponentsReportVisitor.getCss(UrlFactory.CSS_FILE_LIST));
+		writeToFile(cssFolder + File.separator + UrlFactory.CSS_BASIC,
+				ComponentsReportVisitor.getCss(UrlFactory.CSS_BASIC));
 
 		// Image files
 		String imagesFolder = path + UrlFactory.SOURCE_FOLDER + File.separator

Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/MissingRangesReportVisitor.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/MissingRangesReportVisitor.java	2007-10-18 13:13:37 UTC (rev 15914)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/MissingRangesReportVisitor.java	2007-10-18 13:20:58 UTC (rev 15915)
@@ -137,7 +137,7 @@
 				.put("packageFolder", sourceFolder + "/"
 						+ UrlFactory.PACKAGE_FOLDER);
 		map.put("cssStyle", createStyleTag(sourceFolder + "/"
-				+ UrlFactory.CSS_FOLDER + "/" + UrlFactory.CSS_FILE_LIST));
+				+ UrlFactory.CSS_FOLDER + "/" + UrlFactory.CSS_BASIC));
 
 		map.put("field", field);
 		map.put("objectType", data.getClassById(field.getClassId()));

Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/ReportModeller.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/ReportModeller.java	2007-10-18 13:13:37 UTC (rev 15914)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/ReportModeller.java	2007-10-18 13:20:58 UTC (rev 15915)
@@ -20,7 +20,7 @@
 		String myTemplate = AnalyticsMessagesVisitor.readFile("frame.htm");
 
 		map.put("cssStyle", ReportVisitor.createStyleTag(sourceFolder + "/"
-				+ UrlFactory.CSS_FOLDER + "/" + UrlFactory.CSS_FILE_LIST));
+				+ UrlFactory.CSS_FOLDER + "/" + UrlFactory.CSS_BASIC));
 		map.put("sourceFolder", sourceFolder);
 		map.put("header", ReportVisitor.processHeader(sourceFolder));
 		map.put("content", content);

Modified: labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/UrlFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/UrlFactory.java	2007-10-18 13:13:37 UTC (rev 15914)
+++ labs/jbossrules/trunk/drools-analytics/src/main/java/org/drools/analytics/report/html/UrlFactory.java	2007-10-18 13:20:58 UTC (rev 15915)
@@ -18,8 +18,7 @@
 	public static final String PACKAGE_FOLDER = "packages";
 	public static final String CSS_FOLDER = "css";
 
-	public static final String CSS_FILE_LIST = "relationsList.css";
-	public static final String CSS_FILE_DETAILS = "relationsDetails.css";
+	public static final String CSS_BASIC = "basic.css";
 
 	public static final String IMAGES_FOLDER = "images";
 

Added: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/Consequence.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/Consequence.drl	                        (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/Consequence.drl	2007-10-18 13:20:58 UTC (rev 15915)
@@ -0,0 +1,24 @@
+#created on: 18.10.2007
+package org.drools.analytics.consequence
+
+#list any import classes here.
+import org.drools.analytics.components.AnalyticsRule;  
+import org.drools.analytics.report.components.AnalyticsMessage;  
+import org.drools.analytics.dao.AnalyticsResult;
+
+#declare any global variables here
+global AnalyticsResult result;
+
+
+rule "No action - possibly commented out"
+	when
+		$r :AnalyticsRule(
+			( consequence == null || consequence matches "" )
+		)
+	then 
+		result.save( new AnalyticsMessage( 
+								AnalyticsMessage.Severity.WARNING,
+								AnalyticsMessage.MessageType.MISSING_COMPONENT,
+								$r, 
+								$r + " has no RHS." ) );
+end

Modified: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Notes.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Notes.drl	2007-10-18 13:13:37 UTC (rev 15914)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/redundancy/Notes.drl	2007-10-18 13:20:58 UTC (rev 15915)
@@ -19,6 +19,7 @@
 
 
 rule "Find redundant restrictions from pattern possibilities"
+	salience -100
 	when
 		$r :Redundancy()
 		PatternPossibility(

Modified: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/report/html/analyticsMessage.htm
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/report/html/analyticsMessage.htm	2007-10-18 13:13:37 UTC (rev 15914)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/report/html/analyticsMessage.htm	2007-10-18 13:20:58 UTC (rev 15915)
@@ -1,5 +1,5 @@
 
-	<table>
+	<table class="message">
 		<tr>
 			<th><h3>@{title}</h3></th>
 		</tr>
@@ -7,12 +7,14 @@
 			<td>
 				@{message}<br/>
 				Reason: @{reason}<br/>
-				<span>Causes:</span>
-				<ul>	
-				@foreach{causes as cause}
-					<li>@{cause}</li>
+				@if{ causes != null && !causes.isEmpty() }
+					<span>Causes:</span>
+					<ul>	
+					@foreach{causes as cause}
+						<li>@{cause}</li>
+					@end{}
+					</ul>
 				@end{}
-				</ul>
 			</td>
 		</tr>
 	</table>
\ No newline at end of file

Deleted: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/report/html/basic.css
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/report/html/basic.css	2007-10-18 13:13:37 UTC (rev 15914)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/report/html/basic.css	2007-10-18 13:20:58 UTC (rev 15915)
@@ -1,56 +0,0 @@
-
-
-table
-{
-	background-color: #d2d7db;
-	text-align: left;
-	border-spacing: 0px;
-	border: 1px solid #aeb3b6;
-	border-collapse: collapse;
-}
-
-table a, table, tbody, tfoot, tr, th, td
-{
-	font-family: georgia, "times new roman", serif;
-	line-height: 1.5em;
-	font-size: 13px;
-	color: #55595c;
-}
-
-table caption
-{
-	border-top: 1px solid #aeb3b6;
-	padding: .5em 0;
-	font-size: 240%;
-	font-style: italic;
-	color: #d2d7db;
-}
-
-table th
-{
-	width: 200px;
-}
-
-tbody th
-{
-	color: #25c1e2;
-	font-style: italic;
-	background-color: #fff;
-	border-bottom: 1px solid #aeb3b6;
-}
-
-td
-{
-	border: 1px dotted #fff;
-	padding: 0 2px;
-}
-
-ul
-{
-	padding:0px 0px 0px 20px;
-	width:600px;
-}
-
-li
-{
-}

Copied: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/report/html/basic.css (from rev 15908, labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/report/html/relationsDetails.css)
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/report/html/basic.css	                        (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/report/html/basic.css	2007-10-18 13:20:58 UTC (rev 15915)
@@ -0,0 +1,93 @@
+/* JBoss Drools Analytics Style Sheet */
+/* Website: http://labs.jboss.com/jbossrules/ */
+
+ul,p,table
+{
+	padding:0px 0px 0px 20px;
+	width:600px;
+	background-color: #d2d7db;
+	text-align: left;
+	border-spacing: 0px;
+	border: 1px solid #aeb3b6;
+	border-collapse: collapse;
+}
+
+body {
+	font-size:smaller;
+	font-family:"bitstream vera sans","dejavu sans" verdana,helvetica,sans-serif;
+	line-height:1.5em;
+	color:#444;
+	margin:0;
+	padding:0;
+	background:#FFF;
+}
+
+.content
+{
+	padding:0px 0px 10px 10px;
+}
+
+.headerBarBlue {
+	height:60px;
+	background:url(../images/jbossrules_hdrbkg_blue.gif) repeat-x;
+}
+
+table.message
+{
+	width: 628px;
+}
+
+table
+{
+	background-color: #d2d7db;
+	text-align: left;
+	border-spacing: 0px;
+	border: 1px solid #aeb3b6;
+	border-collapse: collapse;
+}
+
+table a, table, tbody, tfoot, tr, th, td
+{
+	font-family: georgia, "times new roman", serif;
+	line-height: 1.5em;
+	font-size: 13px;
+	color: #55595c;
+}
+
+table caption
+{
+	border-top: 1px solid #aeb3b6;
+	padding: .5em 0;
+	font-size: 240%;
+	font-style: italic;
+	color: #d2d7db;
+}
+
+table th
+{
+	width: 200px;
+}
+
+tbody th
+{
+	color: #25c1e2;
+	font-style: italic;
+	background-color: #fff;
+	border-bottom: 1px solid #aeb3b6;
+}
+
+td
+{
+	border: 1px dotted #fff;
+	padding: 0 2px;
+}
+
+ul
+{
+	padding:0px 0px 0px 20px;
+	width:600px;
+}
+
+li
+{
+}
\ No newline at end of file

Deleted: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/report/html/relationsDetails.css
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/report/html/relationsDetails.css	2007-10-18 13:13:37 UTC (rev 15914)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/report/html/relationsDetails.css	2007-10-18 13:20:58 UTC (rev 15915)
@@ -1,88 +0,0 @@
-/* JBoss Drools Analytics Style Sheet */
-/* Website: http://labs.jboss.com/jbossrules/ */
-
-ul,p,table
-{
-	padding:0px 0px 0px 20px;
-	width:600px;
-	background-color: #d2d7db;
-	text-align: left;
-	border-spacing: 0px;
-	border: 1px solid #aeb3b6;
-	border-collapse: collapse;
-}
-
-body {
-	font-size:smaller;
-	font-family:"bitstream vera sans","dejavu sans" verdana,helvetica,sans-serif;
-	line-height:1.5em;
-	color:#444;
-	margin:0;
-	padding:0;
-	background:#FFF;
-}
-
-.content
-{
-	padding:0px 0px 10px 10px;
-}
-
-.headerBarBlue {
-	height:60px;
-	background:url(../images/jbossrules_hdrbkg_blue.gif) repeat-x;
-}
-
-table
-{
-	background-color: #d2d7db;
-	text-align: left;
-	border-spacing: 0px;
-	border: 1px solid #aeb3b6;
-	border-collapse: collapse;
-}
-
-table a, table, tbody, tfoot, tr, th, td
-{
-	font-family: georgia, "times new roman", serif;
-	line-height: 1.5em;
-	font-size: 13px;
-	color: #55595c;
-}
-
-table caption
-{
-	border-top: 1px solid #aeb3b6;
-	padding: .5em 0;
-	font-size: 240%;
-	font-style: italic;
-	color: #d2d7db;
-}
-
-table th
-{
-	width: 200px;
-}
-
-tbody th
-{
-	color: #25c1e2;
-	font-style: italic;
-	background-color: #fff;
-	border-bottom: 1px solid #aeb3b6;
-}
-
-td
-{
-	border: 1px dotted #fff;
-	padding: 0 2px;
-}
-
-ul
-{
-	padding:0px 0px 0px 20px;
-	width:600px;
-}
-
-li
-{
-}
\ No newline at end of file

Deleted: labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/report/html/relationsList.css
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/report/html/relationsList.css	2007-10-18 13:13:37 UTC (rev 15914)
+++ labs/jbossrules/trunk/drools-analytics/src/main/resources/org/drools/analytics/report/html/relationsList.css	2007-10-18 13:20:58 UTC (rev 15915)
@@ -1,105 +0,0 @@
-/* JBoss Drools Analytics Style Sheet */
-/* Website: http://labs.jboss.com/jbossrules/ */
-
-.headerBarBlue {
-	height:60px;
-	background:url(../images/jbossrules_hdrbkg_blue.gif) repeat-x;
-}
-
-ul,p,table
-{
-	padding:0px 0px 0px 20px;
-	width:600px;
-	background-color: #d2d7db;
-	text-align: left;
-	border-spacing: 0px;
-	border: 1px solid #aeb3b6;
-	border-collapse: collapse;
-}
-
-
-body {
-	font-size:smaller;
-	font-family:"bitstream vera sans","dejavu sans" verdana,helvetica,sans-serif;
-	line-height:1.5em;
-	color:#444;
-	margin:0;
-	padding:0;
-	background:#FFF;
-}
-
-.content
-{
-	padding:0px 0px 10px 10px;
-}
-
-table
-{
-	background-color: #d2d7db;
-	text-align: left;
-	border-spacing: 0px;
-	border: 1px solid #aeb3b6;
-	border-collapse: collapse;
-}
-
-table a, table, tbody, tfoot, tr, th, td
-{
-	font-family: georgia, "times new roman", serif;
-	line-height: 1.5em;
-	font-size: 13px;
-	color: #55595c;
-}
-
-table caption
-{
-	border-top: 1px solid #aeb3b6;
-	padding: .5em 0;
-	font-size: 240%;
-	font-style: italic;
-	color: #d2d7db;
-}
-
-table th
-{
-	width: 200px;
-}
-
-tbody th
-{
-	color: #25c1e2;
-	font-style: italic;
-	background-color: #fff;
-	border-bottom: 1px solid #aeb3b6;
-}
-
-td
-{
-	border: 1px dotted #fff;
-	padding: 0 2px;
-}
-
-.row0
-{
-	border: 1px dotted #fff;
-	background-color: #FFFF88;
-	padding: 0 2px;
-}
-
-.row1
-{
-	border: 1px dotted #fff;
-	background-color: #EEEEEE;
-	padding: 0 2px;
-}
-
-
-
-ul
-{
-	padding:0px 0px 0px 20px;
-	width:600px;
-}
-
-li
-{
-}
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/AnalyticsTestStandalone.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/AnalyticsTestStandalone.java	2007-10-18 13:13:37 UTC (rev 15914)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/AnalyticsTestStandalone.java	2007-10-18 13:20:58 UTC (rev 15915)
@@ -33,6 +33,8 @@
 					Analyzer.class.getResourceAsStream("Misc2.drl")));
 			PackageDescr descr7 = new DrlParser().parse(new InputStreamReader(
 					Analyzer.class.getResourceAsStream("Misc3.drl")));
+			PackageDescr descr8 = new DrlParser().parse(new InputStreamReader(
+					Analyzer.class.getResourceAsStream("ConsequenceTest.drl")));
 
 			Analyzer a = new Analyzer();
 			// a.addPackageDescr(descr);
@@ -42,6 +44,7 @@
 			a.addPackageDescr(descr5);
 			a.addPackageDescr(descr6);
 			a.addPackageDescr(descr7);
+			a.addPackageDescr(descr8);
 			a.fireAnalysis();
 			// System.out.print(a.getResultAsPlainText());
 			// System.out.print(a.getResultAsXML());

Added: labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/ConsequenceTest.java
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/ConsequenceTest.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/test/java/org/drools/analytics/ConsequenceTest.java	2007-10-18 13:20:58 UTC (rev 15915)
@@ -0,0 +1,64 @@
+package org.drools.analytics;
+
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Set;
+
+import org.drools.StatelessSession;
+import org.drools.StatelessSessionResult;
+import org.drools.analytics.components.AnalyticsRule;
+import org.drools.analytics.dao.AnalyticsDataFactory;
+import org.drools.analytics.dao.AnalyticsResult;
+import org.drools.analytics.report.components.AnalyticsMessage;
+import org.drools.analytics.report.components.AnalyticsMessageBase;
+import org.drools.analytics.report.components.Gap;
+import org.drools.base.RuleNameMatchesAgendaFilter;
+
+/**
+ * 
+ * @author Toni Rikkola
+ * 
+ */
+public class ConsequenceTest extends TestBase {
+
+	public void testMissingConsiquence() throws Exception {
+		StatelessSession session = getStatelessSession(this.getClass()
+				.getResourceAsStream("Consequence.drl"));
+
+		session.setAgendaFilter(new RuleNameMatchesAgendaFilter(
+				"No action - possibly commented out"));
+
+		Collection<? extends Object> testData = getTestData(this.getClass()
+				.getResourceAsStream("ConsequenceTest.drl"));
+
+		AnalyticsResult result = AnalyticsDataFactory.getAnalyticsResult();
+		session.setGlobal("result", result);
+
+		session.executeWithResults(testData);
+
+		Iterator<AnalyticsMessageBase> iter = result.getBySeverity(
+				AnalyticsMessageBase.Severity.WARNING).iterator();
+
+		Set<String> rulesThatHadErrors = new HashSet<String>();
+		while (iter.hasNext()) {
+			Object o = (Object) iter.next();
+			if (o instanceof AnalyticsMessage) {
+				AnalyticsRule rule = (AnalyticsRule) ((AnalyticsMessage) o)
+						.getFaulty();
+				rulesThatHadErrors.add(rule.getRuleName());
+			}
+			// System.out.println(o);
+		}
+
+		assertFalse(rulesThatHadErrors.contains("Has a consequence 1"));
+		assertFalse(rulesThatHadErrors.contains("Has a consequence 2"));
+		assertTrue(rulesThatHadErrors.remove("Missing consequence 1"));
+
+		if (!rulesThatHadErrors.isEmpty()) {
+			for (String string : rulesThatHadErrors) {
+				fail("Rule " + string + " caused an error.");
+			}
+		}
+	}
+}

Added: labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/ConsequenceTest.drl
===================================================================
--- labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/ConsequenceTest.drl	                        (rev 0)
+++ labs/jbossrules/trunk/drools-analytics/src/test/resources/org/drools/analytics/ConsequenceTest.drl	2007-10-18 13:20:58 UTC (rev 15915)
@@ -0,0 +1,23 @@
+package com.misc.someData
+
+import com.sample.DroolsTest.Message;
+
+rule "Missing consequence 1"
+	when
+		Foo()
+	then
+end
+
+rule "Has a consequence 1"
+	when
+		Foo()
+	then
+		System.out.println("Test");
+end
+
+rule "Has consequence 2"
+	when
+		Foo()
+	then
+		// System.out.println("Test");
+end
\ No newline at end of file




More information about the jboss-svn-commits mailing list