[jboss-svn-commits] JBL Code SVN: r9447 - labs/jbossrules/trunk/drools-decisiontables/src/main/java/org/drools/decisiontable/parser.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Feb 12 07:02:32 EST 2007
Author: stevearoonie
Date: 2007-02-12 07:02:32 -0500 (Mon, 12 Feb 2007)
New Revision: 9447
Modified:
labs/jbossrules/trunk/drools-decisiontables/src/main/java/org/drools/decisiontable/parser/ArrayColumn.java
labs/jbossrules/trunk/drools-decisiontables/src/main/java/org/drools/decisiontable/parser/Cell.java
labs/jbossrules/trunk/drools-decisiontables/src/main/java/org/drools/decisiontable/parser/Column.java
labs/jbossrules/trunk/drools-decisiontables/src/main/java/org/drools/decisiontable/parser/ColumnFactory.java
labs/jbossrules/trunk/drools-decisiontables/src/main/java/org/drools/decisiontable/parser/DefaultGenerator.java
labs/jbossrules/trunk/drools-decisiontables/src/main/java/org/drools/decisiontable/parser/DefaultTemplateRuleBase.java
labs/jbossrules/trunk/drools-decisiontables/src/main/java/org/drools/decisiontable/parser/Generator.java
labs/jbossrules/trunk/drools-decisiontables/src/main/java/org/drools/decisiontable/parser/Row.java
labs/jbossrules/trunk/drools-decisiontables/src/main/java/org/drools/decisiontable/parser/RuleTemplate.java
Log:
Add comments
Modified: labs/jbossrules/trunk/drools-decisiontables/src/main/java/org/drools/decisiontable/parser/ArrayColumn.java
===================================================================
--- labs/jbossrules/trunk/drools-decisiontables/src/main/java/org/drools/decisiontable/parser/ArrayColumn.java 2007-02-12 11:23:52 UTC (rev 9446)
+++ labs/jbossrules/trunk/drools-decisiontables/src/main/java/org/drools/decisiontable/parser/ArrayColumn.java 2007-02-12 12:02:32 UTC (rev 9447)
@@ -17,7 +17,12 @@
*/
import org.antlr.stringtemplate.StringTemplate;
import org.drools.util.StringUtils;
-
+/**
+ * @author <a href="mailto:stevearoonie at gmail.com">Steven Williams</a>
+ *
+ * A column in a decision table that represents an array (comma-delimited)
+ * of values.
+ */
public class ArrayColumn extends Column {
public void addValue(StringTemplate t, Object value) {
Modified: labs/jbossrules/trunk/drools-decisiontables/src/main/java/org/drools/decisiontable/parser/Cell.java
===================================================================
--- labs/jbossrules/trunk/drools-decisiontables/src/main/java/org/drools/decisiontable/parser/Cell.java 2007-02-12 11:23:52 UTC (rev 9446)
+++ labs/jbossrules/trunk/drools-decisiontables/src/main/java/org/drools/decisiontable/parser/Cell.java 2007-02-12 12:02:32 UTC (rev 9447)
@@ -17,6 +17,11 @@
*/
import org.antlr.stringtemplate.StringTemplate;
+/**
+ * @author <a href="mailto:stevearoonie at gmail.com">Steven Williams</a>
+ *
+ * A cell in a decision table
+ */
public class Cell {
Row row;
Modified: labs/jbossrules/trunk/drools-decisiontables/src/main/java/org/drools/decisiontable/parser/Column.java
===================================================================
--- labs/jbossrules/trunk/drools-decisiontables/src/main/java/org/drools/decisiontable/parser/Column.java 2007-02-12 11:23:52 UTC (rev 9446)
+++ labs/jbossrules/trunk/drools-decisiontables/src/main/java/org/drools/decisiontable/parser/Column.java 2007-02-12 12:02:32 UTC (rev 9447)
@@ -17,6 +17,11 @@
*/
import org.antlr.stringtemplate.StringTemplate;
+/**
+ * @author <a href="mailto:stevearoonie at gmail.com">Steven Williams</a>
+ *
+ * A column in a decision table
+ */
public class Column {
private String name;
Modified: labs/jbossrules/trunk/drools-decisiontables/src/main/java/org/drools/decisiontable/parser/ColumnFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-decisiontables/src/main/java/org/drools/decisiontable/parser/ColumnFactory.java 2007-02-12 11:23:52 UTC (rev 9446)
+++ labs/jbossrules/trunk/drools-decisiontables/src/main/java/org/drools/decisiontable/parser/ColumnFactory.java 2007-02-12 12:02:32 UTC (rev 9447)
@@ -15,6 +15,12 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+/**
+ * @author <a href="mailto:stevearoonie at gmail.com">Steven Williams</a>
+ *
+ * Factory to produce a column of the correct type based on its declaration.
+ * [] indicates a column that represents an array (comma-delimited) of values.
+ */
public class ColumnFactory {
public Column getColumn(String value) {
Modified: labs/jbossrules/trunk/drools-decisiontables/src/main/java/org/drools/decisiontable/parser/DefaultGenerator.java
===================================================================
--- labs/jbossrules/trunk/drools-decisiontables/src/main/java/org/drools/decisiontable/parser/DefaultGenerator.java 2007-02-12 11:23:52 UTC (rev 9446)
+++ labs/jbossrules/trunk/drools-decisiontables/src/main/java/org/drools/decisiontable/parser/DefaultGenerator.java 2007-02-12 12:02:32 UTC (rev 9447)
@@ -23,7 +23,11 @@
import java.util.Map;
import org.antlr.stringtemplate.StringTemplate;
-
+/**
+ * @author <a href="mailto:stevearoonie at gmail.com">Steven Williams</a>
+ *
+ * Generate the rules for a decision table row from a rule template.
+ */
public class DefaultGenerator implements Generator {
Map ruleTemplates;
Modified: labs/jbossrules/trunk/drools-decisiontables/src/main/java/org/drools/decisiontable/parser/DefaultTemplateRuleBase.java
===================================================================
--- labs/jbossrules/trunk/drools-decisiontables/src/main/java/org/drools/decisiontable/parser/DefaultTemplateRuleBase.java 2007-02-12 11:23:52 UTC (rev 9446)
+++ labs/jbossrules/trunk/drools-decisiontables/src/main/java/org/drools/decisiontable/parser/DefaultTemplateRuleBase.java 2007-02-12 12:02:32 UTC (rev 9447)
@@ -47,6 +47,15 @@
* Basically, if a rule template requires columns A and B then
* the template rule base will generate a rule with columns A and B
* as the LHS and a RHS which triggers the rule to be generated.
+ * ie.
+ * rule "template1"
+ * when
+ * r : Row()
+ * Cell(row == r, column == "column1")
+ * Cell(row == r, column == "column2")
+ * then
+ * generator.generate( "template1", r);
+ * end
*
*/
public class DefaultTemplateRuleBase implements TemplateRuleBase {
Modified: labs/jbossrules/trunk/drools-decisiontables/src/main/java/org/drools/decisiontable/parser/Generator.java
===================================================================
--- labs/jbossrules/trunk/drools-decisiontables/src/main/java/org/drools/decisiontable/parser/Generator.java 2007-02-12 11:23:52 UTC (rev 9446)
+++ labs/jbossrules/trunk/drools-decisiontables/src/main/java/org/drools/decisiontable/parser/Generator.java 2007-02-12 12:02:32 UTC (rev 9447)
@@ -15,6 +15,10 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+/**
+ * <a href="stevearoonie at gmail.com">Steven Williams</a>
+ * Generate the rules for a decision table
+ */
public interface Generator {
void generate(String templateName, Row row);
Modified: labs/jbossrules/trunk/drools-decisiontables/src/main/java/org/drools/decisiontable/parser/Row.java
===================================================================
--- labs/jbossrules/trunk/drools-decisiontables/src/main/java/org/drools/decisiontable/parser/Row.java 2007-02-12 11:23:52 UTC (rev 9446)
+++ labs/jbossrules/trunk/drools-decisiontables/src/main/java/org/drools/decisiontable/parser/Row.java 2007-02-12 12:02:32 UTC (rev 9447)
@@ -17,7 +17,11 @@
*/
import java.util.ArrayList;
import java.util.List;
-
+/**
+ * @author <a href="mailto:stevearoonie at gmail.com">Steven Williams</a>
+ *
+ * Represents a row in a decision table.
+ */
public class Row {
int rowNum;
List cells = new ArrayList();
Modified: labs/jbossrules/trunk/drools-decisiontables/src/main/java/org/drools/decisiontable/parser/RuleTemplate.java
===================================================================
--- labs/jbossrules/trunk/drools-decisiontables/src/main/java/org/drools/decisiontable/parser/RuleTemplate.java 2007-02-12 11:23:52 UTC (rev 9446)
+++ labs/jbossrules/trunk/drools-decisiontables/src/main/java/org/drools/decisiontable/parser/RuleTemplate.java 2007-02-12 12:02:32 UTC (rev 9447)
@@ -25,6 +25,13 @@
import org.drools.util.StringUtils;
+/**
+ * @author <a href="mailto:stevearoonie at gmail.com">Steven Williams</a>
+ *
+ * A rule template made up of a name, the decision table columns required,
+ * the decision table columns that must be empty and the contents of the
+ * rule.
+ */
public class RuleTemplate
{
private String name;
@@ -80,9 +87,13 @@
* @see java.lang.Object#toString()
*/
public String toString() {
- return "RuleTemplate[name,"+this.name+"notColumns,"+this.notColumns+"contents,"+this.columns+"columns";
+ return "RuleTemplate[name,"+this.name+"notColumns,"+this.notColumns+"contents,"+this.columns+"columns";
}
-
+ /*
+ * Replace the optional columns in the rule contents with an if statement.
+ * if (column is empty) do not show the line.
+ * This is based on antlr StringTemplate and should be replaced with MVEL.
+ */
private String replaceOptionals(String contents) {
try {
final Pattern pattern = Pattern.compile("\\$(.[^\\$]*)\\$");
More information about the jboss-svn-commits
mailing list