[jboss-svn-commits] JBL Code SVN: r32155 - in labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src: main/java/org/drools/factconstraint and 11 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Mar 19 15:59:55 EDT 2010
Author: baunax
Date: 2010-03-19 15:59:54 -0400 (Fri, 19 Mar 2010)
New Revision: 32155
Added:
labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/
labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/
labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factconstraints/
labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factconstraints/dataprovider/
labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factconstraints/dataprovider/predefined/
labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factconstraints/helper/
labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factconstraints/helper/ConstraintsContainer.java
labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factconstraints/predefined/
labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factcontraints/
labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factcontraints/ArgumentNotSetException.java
labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factcontraints/Constraint.java
labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factcontraints/DefaultConstraintImpl.java
labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factcontraints/ValidationResult.java
labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factcontraints/dataprovider/
labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factcontraints/dataprovider/DefaultFieldDataProviderImpl.java
labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factcontraints/dataprovider/FieldDataProvider.java
Removed:
labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/ArgumentNotSetException.java
labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/Constraint.java
labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/DefaultConstraintImpl.java
labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/ValidationResult.java
labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/dataprovider/DefaultFieldDataProviderImpl.java
labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/dataprovider/FieldDataProvider.java
labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/dataprovider/predefined/
labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/helper/
labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/predefined/
labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factconstraints/helper/ConstraintsConstrainer.java
Modified:
labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factconstraints/predefined/IntegerConstraint.java
labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factconstraints/predefined/NotNullConstraint.java
labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factconstraints/predefined/RangeConstraint.java
labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/test/java/org/drools/factconstraint/IntegerConstraintTest.java
labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/test/java/org/drools/factconstraint/NotNullConstraintTest.java
labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/test/java/org/drools/factconstraint/RangeConstraintTest.java
labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/test/java/org/drools/factconstraint/helper/ConstraintsConstrainerTest.java
Log:
- moved all classes to a package that can be used in guvnor.
- added getters to Constraint class
Deleted: labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/ArgumentNotSetException.java
===================================================================
--- labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/ArgumentNotSetException.java 2010-03-19 19:54:14 UTC (rev 32154)
+++ labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/ArgumentNotSetException.java 2010-03-19 19:59:54 UTC (rev 32155)
@@ -1,16 +0,0 @@
-package org.drools.factconstraint;
-
-/**
- *
- * @author esteban.aliverti at gmail.com
- */
-public class ArgumentNotSetException extends Exception {
-
- public ArgumentNotSetException(String message) {
- super(message);
- }
-
- public ArgumentNotSetException() {
- }
-
-}
Deleted: labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/Constraint.java
===================================================================
--- labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/Constraint.java 2010-03-19 19:54:14 UTC (rev 32154)
+++ labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/Constraint.java 2010-03-19 19:59:54 UTC (rev 32155)
@@ -1,19 +0,0 @@
-package org.drools.factconstraint;
-
-/**
- *
- * @author esteban.aliverti at gmail.com
- */
-public interface Constraint {
- public String getFactType();
- public void setFactType(String factType);
- public String getFieldName();
- public void setFieldName(String fieldName);
- public String[] getArgumentKeys();
- public Object getArgumentValue(String key);
- public void setArgumentValue(String key, Object value);
-
- public ValidationResult validate(Object value);
- public String getVerifierRule();
-
-}
Deleted: labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/DefaultConstraintImpl.java
===================================================================
--- labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/DefaultConstraintImpl.java 2010-03-19 19:54:14 UTC (rev 32154)
+++ labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/DefaultConstraintImpl.java 2010-03-19 19:59:54 UTC (rev 32155)
@@ -1,311 +0,0 @@
-package org.drools.factconstraint;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
-
-/**
- *
- * @author esteban.aliverti at gmail.com
- */
-public abstract class DefaultConstraintImpl implements Constraint {
-
- private String factType;
- private String fieldName;
- private Map<String, Object> arguments = new HashMap<String, Object>();
- private String verifierPackageTemplate = "";
- private String verifierImportsTemplate = "";
- private String verifierGlobalsTemplate = "";
- private String verifierRuleNameTemplate = "";
- private String verifierRuleWhenTemplate = "";
- private String verifierFieldPatternTemplate = "";
- private String verifierRestrictionPatternTemplate = "";
- private String verifierRuleThenTemplate = "";
- private String verifierActionTemplate = "";
- private String verifierRuleEndTemplate = "";
-
- /**
- * Fills the rule's template sections. Subclasses of DefaultConstraintImpl
- * can modify these templates, use the ${} or both.
- */
- public DefaultConstraintImpl() {
-
- this.verifierPackageTemplate += "package org.drools.verifier.consequence\n";
-
- this.verifierImportsTemplate += "import org.drools.verifier.components.*;\n";
- this.verifierImportsTemplate += "import java.util.Map;\n";
- this.verifierImportsTemplate += "import java.util.HashMap;\n";
- this.verifierImportsTemplate += "import org.drools.verifier.report.components.VerifierMessage;\n";
- this.verifierImportsTemplate += "import org.drools.verifier.data.VerifierReport;\n";
- this.verifierImportsTemplate += "import org.drools.verifier.report.components.Severity;\n";
- this.verifierImportsTemplate += "import org.drools.verifier.report.components.MessageType;\n";
-
-
- this.verifierGlobalsTemplate += "global VerifierReport result;\n";
-
-
- this.verifierRuleNameTemplate += "rule \"${ruleName}\"\n";
-
- this.verifierRuleWhenTemplate += " when\n";
-
- this.verifierFieldPatternTemplate += " $field :Field(\n";
- this.verifierFieldPatternTemplate += " objectTypeName == \"${factType}\",\n";
- this.verifierFieldPatternTemplate += " name == \"${fieldName}\"\n";
- this.verifierFieldPatternTemplate += " )\n";
-
- this.verifierRestrictionPatternTemplate += " $restriction :LiteralRestriction(\n";
- this.verifierRestrictionPatternTemplate += " fieldGuid == $field.guid,\n";
- this.verifierRestrictionPatternTemplate += " ${constraints}\n";
- this.verifierRestrictionPatternTemplate += " )\n";
-
- this.verifierRuleThenTemplate += " then\n";
-
- this.verifierActionTemplate += " Map<String,String> impactedRules = new HashMap<String,String>();\n";
- this.verifierActionTemplate += " impactedRules.put( $restriction.getRuleGuid(), $restriction.getRuleName());\n";
- this.verifierActionTemplate += " result.add(new VerifierMessage(\n";
- //this.verifierActionTemplate += " impactedRules,\n";
- this.verifierActionTemplate += " Severity.ERROR,\n";
- this.verifierActionTemplate += " MessageType.NOT_SPECIFIED,\n";
- this.verifierActionTemplate += " $restriction,\n";
- this.verifierActionTemplate += " \"${message}\" ) );\n";
-
- //this.verifierActionTemplate += " System.out.println(\"doubleValue= \"+$restriction.getDoubleValue());\n";
- //this.verifierActionTemplate += " System.out.println(\"intValue= \"+$restriction.getIntValue());\n";
-
- this.verifierRuleEndTemplate += "end\n";
- }
-
- private String concatRule() {
- StringBuilder rule = new StringBuilder();
-
- rule.append(this.getVerifierPackagePrefixTemplate());
- rule.append(this.getVerifierPackageTemplate());
- rule.append(this.getVerifierPackageSufixTemplate());
-
- rule.append(this.getVerifierImportsPrefixTemplate());
- rule.append(this.getVerifierImportsTemplate());
- rule.append(this.getVerifierImportsSufixTemplate());
-
- rule.append(this.getVerifierGlobalsPrefixTemplate());
- rule.append(this.getVerifierGlobalsTemplate());
- rule.append(this.getVerifierGlobalsSufixTemplate());
-
- rule.append(this.getVerifierRuleNamePrefixTemplate());
- rule.append(this.getVerifierRuleNameTemplate());
- rule.append(this.getVerifierRuleNameSufixTemplate());
-
- rule.append(this.getVerifierRuleWhenTemplate());
-
- rule.append(this.getVerifierFieldPatternPrefixTemplate());
- rule.append(this.getVerifierFieldPatternTemplate());
- rule.append(this.getVerifierFieldPatternSufixTemplate());
-
- rule.append(this.getVerifierRestrictionPatternPrefixTemplate());
- rule.append(this.getVerifierRestrictionPatternTemplate());
- rule.append(this.getVerifierRestrictionPatternSufixTemplate());
-
- rule.append(this.getVerifierRuleThenTemplate());
-
- rule.append(this.getVerifierActionPrefixTemplate());
- rule.append(this.getVerifierActionTemplate());
- rule.append(this.getVerifierActionSufixTemplate());
-
- rule.append(this.getVerifierRuleEndTemplate());
- rule.append(this.getVerifierRuleEndSufixTemplate());
-
-
- return rule.toString();
-
- }
-
- protected String createVerifierRuleTemplate(String ruleName, List<String> constraints, String message) {
- if (ruleName == null) {
- ruleName = "Constraint_rule_";
- }
- ruleName += UUID.randomUUID().toString();
-
- String rule = this.concatRule().replace("${ruleName}", ruleName);
- rule = rule.replace("${factType}", this.getFactType());
- rule = rule.replace("${fieldName}", this.getFieldName());
- if (constraints != null && !constraints.isEmpty()) {
- String constraintsTxt = "";
- String delimiter = "";
- for (String c : constraints) {
- constraintsTxt += delimiter + c + "\n";
- if (delimiter.equals("")) {
- delimiter = ",";
- }
- }
- rule = rule.replace("${constraints}", constraintsTxt);
- }
- rule = rule.replace("${message}", (message == null || message.equals("")) ? "Invalid Value" : message);
-
- return rule;
- }
-
- protected Object getMandatoryArgument(String key) throws ArgumentNotSetException {
- if (!this.arguments.containsKey(key)) {
- throw new ArgumentNotSetException("The argument " + key + " doesn't exist.");
- }
-
- Object value = this.getArgumentValue(key);
-
- if (value == null) {
- throw new ArgumentNotSetException("The argument " + key + " is null.");
- }
-
- return value;
- }
-
- public void setFactType(String factType) {
- this.factType = factType;
- }
-
- public void setFieldName(String fieldName) {
- this.fieldName = fieldName;
- }
-
- public String getFactType() {
- return factType;
- }
-
- public String getFieldName() {
- return fieldName;
- }
-
- public String[] getArgumentKeys() {
- return this.arguments.keySet().toArray(new String[this.arguments.size()]);
- }
-
- public Object getArgumentValue(String key) {
- return this.arguments.get(key);
- }
-
- public void setArgumentValue(String key, Object value) {
- this.arguments.put(key, value);
- }
-
- public ValidationResult validate(Object value) {
- ValidationResult result = new ValidationResult();
- result.setSuccess(true);
-
- return result;
- }
-
- public String getVerifierRule() {
- return null;
- }
-
- /* Action */
- protected String getVerifierActionTemplate() {
- return verifierActionTemplate;
- }
-
- protected String getVerifierActionPrefixTemplate() {
- return "";
- }
-
- protected String getVerifierActionSufixTemplate() {
- return "";
- }
-
- /* Field Pattern */
- protected String getVerifierFieldPatternTemplate() {
- return verifierFieldPatternTemplate;
- }
-
- protected String getVerifierFieldPatternPrefixTemplate() {
- return "";
- }
-
- protected String getVerifierFieldPatternSufixTemplate() {
- return "";
- }
-
- /* Globals*/
- protected String getVerifierGlobalsTemplate() {
- return verifierGlobalsTemplate;
- }
-
- protected String getVerifierGlobalsPrefixTemplate() {
- return "";
- }
-
- protected String getVerifierGlobalsSufixTemplate() {
- return "";
- }
-
- /* Imports */
- protected String getVerifierImportsTemplate() {
- return verifierImportsTemplate;
- }
-
- protected String getVerifierImportsPrefixTemplate() {
- return "";
- }
-
- protected String getVerifierImportsSufixTemplate() {
- return "";
- }
-
- /* Package (mmmh... sounds useless) */
- protected String getVerifierPackageTemplate() {
- return verifierPackageTemplate;
- }
-
- protected String getVerifierPackagePrefixTemplate() {
- return "";
- }
-
- protected String getVerifierPackageSufixTemplate() {
- return "";
- }
-
- /* Restriction Pattern */
- protected String getVerifierRestrictionPatternTemplate() {
- return verifierRestrictionPatternTemplate;
- }
-
- protected String getVerifierRestrictionPatternPrefixTemplate() {
- return "";
- }
-
- protected String getVerifierRestrictionPatternSufixTemplate() {
- return "";
- }
-
- /* end */
- protected String getVerifierRuleEndTemplate() {
- return verifierRuleEndTemplate;
- }
-
- protected String getVerifierRuleEndSufixTemplate() {
- return "";
- }
-
- /* Rule Name */
- protected String getVerifierRuleNameTemplate() {
- return verifierRuleNameTemplate;
- }
-
- protected String getVerifierRuleNamePrefixTemplate() {
- return "";
- }
-
- protected String getVerifierRuleNameSufixTemplate() {
- return "";
- }
-
- /* then */
- protected String getVerifierRuleThenTemplate() {
- return verifierRuleThenTemplate;
- }
-
- /* when */
- protected String getVerifierRuleWhenTemplate() {
- return verifierRuleWhenTemplate;
- }
-
-
-}
Deleted: labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/ValidationResult.java
===================================================================
--- labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/ValidationResult.java 2010-03-19 19:54:14 UTC (rev 32154)
+++ labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/ValidationResult.java 2010-03-19 19:59:54 UTC (rev 32155)
@@ -1,30 +0,0 @@
-package org.drools.factconstraint;
-
-/**
- *
- * @author esteban.aliverti at gmail.com
- */
-public class ValidationResult {
- private boolean success;
- private String message;
-
- public boolean isSuccess() {
- return success;
- }
-
- public void setSuccess(boolean success) {
- this.success = success;
- }
-
- public String getMessage() {
- return message;
- }
-
- public void setMessage(String message) {
- this.message = message;
- }
-
-
-
-
-}
Deleted: labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/dataprovider/DefaultFieldDataProviderImpl.java
===================================================================
--- labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/dataprovider/DefaultFieldDataProviderImpl.java 2010-03-19 19:54:14 UTC (rev 32154)
+++ labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/dataprovider/DefaultFieldDataProviderImpl.java 2010-03-19 19:59:54 UTC (rev 32155)
@@ -1,63 +0,0 @@
-package org.drools.factconstraint.dataprovider;
-
-import org.drools.factconstraint.*;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- *
- * @author esteban.aliverti at gmail.com
- */
-public abstract class DefaultFieldDataProviderImpl implements FieldDataProvider {
-
- private String factType;
- private String fieldName;
- private Map<String, Object> arguments = new HashMap<String, Object>();
-
- public DefaultFieldDataProviderImpl() {
-
- }
-
- protected Object getMandatoryArgument(String key) throws ArgumentNotSetException {
- if (!this.arguments.containsKey(key)) {
- throw new ArgumentNotSetException("The argument " + key + " doesn't exist.");
- }
-
- Object value = this.getArgumentValue(key);
-
- if (value == null) {
- throw new ArgumentNotSetException("The argument " + key + " is null.");
- }
-
- return value;
- }
-
- public void setFactType(String factType) {
- this.factType = factType;
- }
-
- public void setFieldName(String fieldName) {
- this.fieldName = fieldName;
- }
-
- public String getFactType() {
- return factType;
- }
-
- public String getFieldName() {
- return fieldName;
- }
-
- public String[] getArgumentKeys() {
- return this.arguments.keySet().toArray(new String[this.arguments.size()]);
- }
-
- public Object getArgumentValue(String key) {
- return this.arguments.get(key);
- }
-
- public void setArgumentValue(String key, Object value) {
- this.arguments.put(key, value);
- }
-
-}
Deleted: labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/dataprovider/FieldDataProvider.java
===================================================================
--- labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/dataprovider/FieldDataProvider.java 2010-03-19 19:54:14 UTC (rev 32154)
+++ labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/dataprovider/FieldDataProvider.java 2010-03-19 19:59:54 UTC (rev 32155)
@@ -1,19 +0,0 @@
-package org.drools.factconstraint.dataprovider;
-
-import java.util.Map;
-
-/**
- *
- * @author esteban.aliverti at gmail.com
- */
-public interface FieldDataProvider {
- public void setFactTYpe(String factType);
- public void setFieldName(String fieldName);
-
- public String[] getArgumentKeys();
- public Object getArgumentValue(String key);
- public void setArgumentValue(String key, Object value);
-
- public Map<Object,String> getData();
- public Object getDefault();
-}
Copied: labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factconstraints/dataprovider/predefined (from rev 32116, labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/dataprovider/predefined)
Copied: labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factconstraints/helper (from rev 32120, labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/helper)
Deleted: labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factconstraints/helper/ConstraintsConstrainer.java
===================================================================
--- labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/helper/ConstraintsConstrainer.java 2010-03-16 18:52:10 UTC (rev 32120)
+++ labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factconstraints/helper/ConstraintsConstrainer.java 2010-03-19 19:59:54 UTC (rev 32155)
@@ -1,40 +0,0 @@
-package org.drools.factconstraint.helper;
-
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-import org.drools.factconstraint.Constraint;
-
-public class ConstraintsConstrainer {
- Map<String, List<Constraint>> constraints = new HashMap<String, List<Constraint>>();
-
- public ConstraintsConstrainer(Collection<Constraint> constraints) {
- for (Constraint c : constraints) {
- addConstraint(c);
- }
- }
-
- public ConstraintsConstrainer() {
-
- }
-
- public void addConstraint(Constraint c) {
- List<Constraint> list = constraints.get(c.getFactType());
- if (list == null) {
- list = new LinkedList<Constraint>();
- constraints.put(c.getFactType(), list);
- }
- list.add(c);
- }
-
- public List<Constraint> getConstraints(String FactType) {
- return constraints.get(FactType);
- }
-
- public boolean hasConstraints(String FactType) {
- return constraints.containsKey(FactType);
- }
-}
Copied: labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factconstraints/helper/ConstraintsContainer.java (from rev 32120, labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/helper/ConstraintsConstrainer.java)
===================================================================
--- labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factconstraints/helper/ConstraintsContainer.java (rev 0)
+++ labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factconstraints/helper/ConstraintsContainer.java 2010-03-19 19:59:54 UTC (rev 32155)
@@ -0,0 +1,63 @@
+package org.drools.guvnor.client.factconstraints.helper;
+
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+
+import org.drools.guvnor.client.factcontraints.Constraint;
+
+public class ConstraintsContainer {
+ Map<String, List<Constraint>> constraints = new HashMap<String, List<Constraint>>();
+
+ public ConstraintsContainer(Constraint[] constraints) {
+ this(Arrays.asList(constraints));
+ }
+
+ public ConstraintsContainer(Collection<Constraint> constraints) {
+ if (constraints != null && !constraints.isEmpty()) {
+ for (Constraint c : constraints) {
+ addConstraint(c);
+ }
+ }
+ }
+
+ public ConstraintsContainer() {
+
+ }
+
+ public void addConstraint(Constraint c) {
+ List<Constraint> list = constraints.get(c.getFactType());
+ if (list == null) {
+ list = new LinkedList<Constraint>();
+ constraints.put(c.getFactType(), list);
+ }
+ list.add(c);
+ }
+
+ public List<Constraint> getConstraints(String factType) {
+ return Collections.unmodifiableList(constraints.get(factType));
+ }
+
+ public List<Constraint> getConstraints(String factType, String fieldName) {
+
+ List<Constraint> list = constraints.get(factType);
+ if (list == null || list.isEmpty()) {
+ return Collections.emptyList();
+ }
+ List<Constraint> res = new LinkedList<Constraint>();
+ for (Constraint c : list) {
+ if (fieldName.equals(c.getFieldName())) {
+ res.add(c);
+ }
+ }
+ return res;
+ }
+
+ public boolean hasConstraints(String FactType) {
+ return constraints.containsKey(FactType);
+ }
+}
Copied: labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factconstraints/predefined (from rev 32116, labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/predefined)
Modified: labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factconstraints/predefined/IntegerConstraint.java
===================================================================
--- labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/predefined/IntegerConstraint.java 2010-03-16 16:47:39 UTC (rev 32116)
+++ labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factconstraints/predefined/IntegerConstraint.java 2010-03-19 19:59:54 UTC (rev 32155)
@@ -1,10 +1,11 @@
-package org.drools.factconstraint.predefined;
+package org.drools.guvnor.client.factconstraints.predefined;
import java.util.ArrayList;
import java.util.List;
-import org.drools.factconstraint.DefaultConstraintImpl;
-import org.drools.factconstraint.ValidationResult;
+import org.drools.guvnor.client.factcontraints.DefaultConstraintImpl;
+import org.drools.guvnor.client.factcontraints.ValidationResult;
+
/**
*
* @author esteban.aliverti at gmail.com
Modified: labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factconstraints/predefined/NotNullConstraint.java
===================================================================
--- labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/predefined/NotNullConstraint.java 2010-03-16 16:47:39 UTC (rev 32116)
+++ labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factconstraints/predefined/NotNullConstraint.java 2010-03-19 19:59:54 UTC (rev 32155)
@@ -1,10 +1,11 @@
-package org.drools.factconstraint.predefined;
+package org.drools.guvnor.client.factconstraints.predefined;
import java.util.ArrayList;
import java.util.List;
-import org.drools.factconstraint.DefaultConstraintImpl;
-import org.drools.factconstraint.ValidationResult;
+import org.drools.guvnor.client.factcontraints.DefaultConstraintImpl;
+import org.drools.guvnor.client.factcontraints.ValidationResult;
+
/**
*
* @author esteban.aliverti at gmail.com
Modified: labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factconstraints/predefined/RangeConstraint.java
===================================================================
--- labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/predefined/RangeConstraint.java 2010-03-16 16:47:39 UTC (rev 32116)
+++ labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factconstraints/predefined/RangeConstraint.java 2010-03-19 19:59:54 UTC (rev 32155)
@@ -1,8 +1,8 @@
-package org.drools.factconstraint.predefined;
+package org.drools.guvnor.client.factconstraints.predefined;
-import org.drools.factconstraint.ArgumentNotSetException;
-import org.drools.factconstraint.DefaultConstraintImpl;
-import org.drools.factconstraint.ValidationResult;
+import org.drools.guvnor.client.factcontraints.ArgumentNotSetException;
+import org.drools.guvnor.client.factcontraints.DefaultConstraintImpl;
+import org.drools.guvnor.client.factcontraints.ValidationResult;
/**
*
@@ -10,26 +10,18 @@
*/
public class RangeConstraint extends DefaultConstraintImpl {
- public static final String RANGE_CONSTRAINT_MIN = "Min. value";
- public static final String RANGE_CONSTRAINT_MAX = "Max. value";
+ public static final String RANGE_CONSTRAINT_MIN = "Min.value";
+ public static final String RANGE_CONSTRAINT_MAX = "Max.value";
public RangeConstraint() {
//set default values
- this.setArgumentValue(RANGE_CONSTRAINT_MIN, 0);
- this.setArgumentValue(RANGE_CONSTRAINT_MAX, 0);
+ this.setArgumentValue(RANGE_CONSTRAINT_MIN, "0");
+ this.setArgumentValue(RANGE_CONSTRAINT_MAX, "0");
}
@Override
public String getVerifierRule() {
-
- try {
- double min = Double.parseDouble(this.getMandatoryArgument(RANGE_CONSTRAINT_MIN).toString());
- double max = Double.parseDouble(this.getMandatoryArgument(RANGE_CONSTRAINT_MAX).toString());
-
- return this.createVerifierRuleTemplate("Range_Field_Constraint", null, "The value must be between " + min + " and " + max); //I18N
- } catch (ArgumentNotSetException ex) {
- throw new IllegalStateException("Some arguments are missing");
- }
+ return this.createVerifierRuleTemplate("Range_Field_Constraint", null, "The value must be between " + getMin() + " and " + getMax()); //I18N
}
@Override
@@ -45,10 +37,10 @@
result.setMessage("Invalid value type " + value.getClass().getName()); //TODO: I18N
}
} else {
- double min = Double.parseDouble(this.getMandatoryArgument(RANGE_CONSTRAINT_MIN).toString());
- double max = Double.parseDouble(this.getMandatoryArgument(RANGE_CONSTRAINT_MAX).toString());
+ double min = Double.parseDouble(getMin()) ;
+ double max = Double.parseDouble(getMax());
double d = Double.parseDouble(value.toString());
- result.setSuccess((d > min && d < max));
+ result.setSuccess(d > min && d < max);
if (!result.isSuccess()) {
result.setMessage("The value should be between " + min + " and " + max); //TODO: I18N
}
@@ -61,29 +53,35 @@
return result;
}
+ public String getMin() {
+ try {
+ return (String) this.getMandatoryArgument(RANGE_CONSTRAINT_MIN);
+ } catch (ArgumentNotSetException e) {
+ throw new IllegalStateException(e);
+ }
+ }
+
+ public String getMax() {
+ try {
+ return (String) this.getMandatoryArgument(RANGE_CONSTRAINT_MAX);
+ } catch (ArgumentNotSetException e) {
+ throw new IllegalStateException(e);
+ }
+ }
+
@Override
protected String getVerifierRestrictionPatternTemplate() {
-
- double min;
- double max;
- try {
- min = Double.parseDouble(this.getMandatoryArgument(RANGE_CONSTRAINT_MIN).toString());
- max = Double.parseDouble(this.getMandatoryArgument(RANGE_CONSTRAINT_MAX).toString());
- } catch (ArgumentNotSetException ex) {
- throw new IllegalStateException("Some arguments are missing");
- }
-
StringBuilder restrictionPattern = new StringBuilder();
restrictionPattern.append(" ($restriction :LiteralRestriction(\n");
restrictionPattern.append(" fieldGuid == $field.guid,\n");
restrictionPattern.append(" valueType == Field.INT,\n");
- restrictionPattern.append(" intValue < " + min + " || > " + max + "\n");
+ restrictionPattern.append(" intValue < " + getMin() + " || > " + getMax() + "\n");
restrictionPattern.append(" ) OR\n");
restrictionPattern.append(" $restriction :LiteralRestriction(\n");
restrictionPattern.append(" fieldGuid == $field.guid,\n");
restrictionPattern.append(" valueType == Field.DOUBLE,\n");
- restrictionPattern.append(" doubleValue < " + min + " || > " + max + "\n");
+ restrictionPattern.append(" doubleValue < " + getMin() + " || > " + getMax() + "\n");
restrictionPattern.append(" ))\n");
return restrictionPattern.toString();
Copied: labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factcontraints/ArgumentNotSetException.java (from rev 32116, labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/ArgumentNotSetException.java)
===================================================================
--- labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factcontraints/ArgumentNotSetException.java (rev 0)
+++ labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factcontraints/ArgumentNotSetException.java 2010-03-19 19:59:54 UTC (rev 32155)
@@ -0,0 +1,16 @@
+package org.drools.guvnor.client.factcontraints;
+
+/**
+ *
+ * @author esteban.aliverti at gmail.com
+ */
+public class ArgumentNotSetException extends Exception {
+
+ public ArgumentNotSetException(String message) {
+ super(message);
+ }
+
+ public ArgumentNotSetException() {
+ }
+
+}
Copied: labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factcontraints/Constraint.java (from rev 32121, labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/Constraint.java)
===================================================================
--- labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factcontraints/Constraint.java (rev 0)
+++ labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factcontraints/Constraint.java 2010-03-19 19:59:54 UTC (rev 32155)
@@ -0,0 +1,23 @@
+package org.drools.guvnor.client.factcontraints;
+
+import java.io.Serializable;
+import java.util.Set;
+
+/**
+ *
+ * @author esteban.aliverti at gmail.com
+ * @author baunax at gmail.com
+ */
+public interface Constraint extends Serializable {
+ public String getFactType();
+ public void setFactType(String factType);
+ public String getFieldName();
+ public void setFieldName(String fieldName);
+ public Set<String> getArgumentKeys();
+ public Object getArgumentValue(String key);
+ public void setArgumentValue(String key, String value);
+
+ public ValidationResult validate(Object value);
+ public String getVerifierRule();
+ public String getConstraintName();
+}
Copied: labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factcontraints/DefaultConstraintImpl.java (from rev 32116, labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/DefaultConstraintImpl.java)
===================================================================
--- labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factcontraints/DefaultConstraintImpl.java (rev 0)
+++ labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factcontraints/DefaultConstraintImpl.java 2010-03-19 19:59:54 UTC (rev 32155)
@@ -0,0 +1,316 @@
+package org.drools.guvnor.client.factcontraints;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ *
+ * @author esteban.aliverti at gmail.com
+ * @author baunax at gmail.com
+ */
+public abstract class DefaultConstraintImpl implements Constraint {
+ private long ruleNum = 0;
+ private String factType;
+ private String fieldName;
+ private Map<String, String> arguments = new HashMap<String, String>();
+ private String verifierPackageTemplate = "";
+ private String verifierImportsTemplate = "";
+ private String verifierGlobalsTemplate = "";
+ private String verifierRuleNameTemplate = "";
+ private String verifierRuleWhenTemplate = "";
+ private String verifierFieldPatternTemplate = "";
+ private String verifierRestrictionPatternTemplate = "";
+ private String verifierRuleThenTemplate = "";
+ private String verifierActionTemplate = "";
+ private String verifierRuleEndTemplate = "";
+
+ /**
+ * Fills the rule's template sections. Subclasses of DefaultConstraintImpl
+ * can modify these templates, use the ${} or both.
+ */
+ public DefaultConstraintImpl() {
+
+ this.verifierPackageTemplate += "package org.drools.verifier.consequence\n";
+
+ this.verifierImportsTemplate += "import org.drools.verifier.components.*;\n";
+ this.verifierImportsTemplate += "import java.util.Map;\n";
+ this.verifierImportsTemplate += "import java.util.HashMap;\n";
+ this.verifierImportsTemplate += "import org.drools.verifier.report.components.VerifierMessage;\n";
+ this.verifierImportsTemplate += "import org.drools.verifier.data.VerifierReport;\n";
+ this.verifierImportsTemplate += "import org.drools.verifier.report.components.Severity;\n";
+ this.verifierImportsTemplate += "import org.drools.verifier.report.components.MessageType;\n";
+
+
+ this.verifierGlobalsTemplate += "global VerifierReport result;\n";
+
+
+ this.verifierRuleNameTemplate += "rule \"${ruleName}\"\n";
+
+ this.verifierRuleWhenTemplate += " when\n";
+
+ this.verifierFieldPatternTemplate += " $field :Field(\n";
+ this.verifierFieldPatternTemplate += " objectTypeName == \"${factType}\",\n";
+ this.verifierFieldPatternTemplate += " name == \"${fieldName}\"\n";
+ this.verifierFieldPatternTemplate += " )\n";
+
+ this.verifierRestrictionPatternTemplate += " $restriction :LiteralRestriction(\n";
+ this.verifierRestrictionPatternTemplate += " fieldGuid == $field.guid,\n";
+ this.verifierRestrictionPatternTemplate += " ${constraints}\n";
+ this.verifierRestrictionPatternTemplate += " )\n";
+
+ this.verifierRuleThenTemplate += " then\n";
+
+ this.verifierActionTemplate += " Map<String,String> impactedRules = new HashMap<String,String>();\n";
+ this.verifierActionTemplate += " impactedRules.put( $restriction.getRuleGuid(), $restriction.getRuleName());\n";
+ this.verifierActionTemplate += " result.add(new VerifierMessage(\n";
+ //this.verifierActionTemplate += " impactedRules,\n";
+ this.verifierActionTemplate += " Severity.ERROR,\n";
+ this.verifierActionTemplate += " MessageType.NOT_SPECIFIED,\n";
+ this.verifierActionTemplate += " $restriction,\n";
+ this.verifierActionTemplate += " \"${message}\" ) );\n";
+
+ //this.verifierActionTemplate += " System.out.println(\"doubleValue= \"+$restriction.getDoubleValue());\n";
+ //this.verifierActionTemplate += " System.out.println(\"intValue= \"+$restriction.getIntValue());\n";
+
+ this.verifierRuleEndTemplate += "end\n";
+ }
+
+ private String concatRule() {
+ StringBuilder rule = new StringBuilder();
+
+ rule.append(this.getVerifierPackagePrefixTemplate());
+ rule.append(this.getVerifierPackageTemplate());
+ rule.append(this.getVerifierPackageSufixTemplate());
+
+ rule.append(this.getVerifierImportsPrefixTemplate());
+ rule.append(this.getVerifierImportsTemplate());
+ rule.append(this.getVerifierImportsSufixTemplate());
+
+ rule.append(this.getVerifierGlobalsPrefixTemplate());
+ rule.append(this.getVerifierGlobalsTemplate());
+ rule.append(this.getVerifierGlobalsSufixTemplate());
+
+ rule.append(this.getVerifierRuleNamePrefixTemplate());
+ rule.append(this.getVerifierRuleNameTemplate());
+ rule.append(this.getVerifierRuleNameSufixTemplate());
+
+ rule.append(this.getVerifierRuleWhenTemplate());
+
+ rule.append(this.getVerifierFieldPatternPrefixTemplate());
+ rule.append(this.getVerifierFieldPatternTemplate());
+ rule.append(this.getVerifierFieldPatternSufixTemplate());
+
+ rule.append(this.getVerifierRestrictionPatternPrefixTemplate());
+ rule.append(this.getVerifierRestrictionPatternTemplate());
+ rule.append(this.getVerifierRestrictionPatternSufixTemplate());
+
+ rule.append(this.getVerifierRuleThenTemplate());
+
+ rule.append(this.getVerifierActionPrefixTemplate());
+ rule.append(this.getVerifierActionTemplate());
+ rule.append(this.getVerifierActionSufixTemplate());
+
+ rule.append(this.getVerifierRuleEndTemplate());
+ rule.append(this.getVerifierRuleEndSufixTemplate());
+
+
+ return rule.toString();
+
+ }
+
+ protected String createVerifierRuleTemplate(String ruleName, List<String> constraints, String message) {
+ if (ruleName == null) {
+ ruleName = "Constraint_rule";
+
+ }
+ ruleName += "_" + ruleNum++;
+ String rule = this.concatRule().replace("${ruleName}", ruleName);
+ rule = rule.replace("${factType}", this.getFactType());
+ rule = rule.replace("${fieldName}", this.getFieldName());
+ if (constraints != null && !constraints.isEmpty()) {
+ String constraintsTxt = "";
+ String delimiter = "";
+ for (String c : constraints) {
+ constraintsTxt += delimiter + c + "\n";
+ if (delimiter.equals("")) {
+ delimiter = ",";
+ }
+ }
+ rule = rule.replace("${constraints}", constraintsTxt);
+ }
+ rule = rule.replace("${message}", (message == null || message.equals("")) ? "Invalid Value" : message);
+
+ return rule;
+ }
+
+ protected Object getMandatoryArgument(String key) throws ArgumentNotSetException {
+ if (!this.arguments.containsKey(key)) {
+ throw new ArgumentNotSetException("The argument " + key + " doesn't exist.");
+ }
+
+ Object value = this.getArgumentValue(key);
+
+ if (value == null) {
+ throw new ArgumentNotSetException("The argument " + key + " is null.");
+ }
+
+ return value;
+ }
+
+ public void setFactType(String factType) {
+ this.factType = factType;
+ }
+
+ public void setFieldName(String fieldName) {
+ this.fieldName = fieldName;
+ }
+
+ public String getFactType() {
+ return factType;
+ }
+
+ public String getFieldName() {
+ return fieldName;
+ }
+
+ public Set<String> getArgumentKeys() {
+ return this.arguments.keySet();
+ }
+
+ public Object getArgumentValue(String key) {
+ return this.arguments.get(key);
+ }
+
+ public void setArgumentValue(String key, String value) {
+ this.arguments.put(key, value);
+ }
+
+ public ValidationResult validate(Object value) {
+ ValidationResult result = new ValidationResult();
+ result.setSuccess(true);
+
+ return result;
+ }
+
+ public String getVerifierRule() {
+ return null;
+ }
+
+ public String getConstraintName() {
+ return getClass().getName().substring(getClass().getName().lastIndexOf('.') + 1);
+ }
+
+ /* Action */
+ protected String getVerifierActionTemplate() {
+ return verifierActionTemplate;
+ }
+
+ protected String getVerifierActionPrefixTemplate() {
+ return "";
+ }
+
+ protected String getVerifierActionSufixTemplate() {
+ return "";
+ }
+
+ /* Field Pattern */
+ protected String getVerifierFieldPatternTemplate() {
+ return verifierFieldPatternTemplate;
+ }
+
+ protected String getVerifierFieldPatternPrefixTemplate() {
+ return "";
+ }
+
+ protected String getVerifierFieldPatternSufixTemplate() {
+ return "";
+ }
+
+ /* Globals*/
+ protected String getVerifierGlobalsTemplate() {
+ return verifierGlobalsTemplate;
+ }
+
+ protected String getVerifierGlobalsPrefixTemplate() {
+ return "";
+ }
+
+ protected String getVerifierGlobalsSufixTemplate() {
+ return "";
+ }
+
+ /* Imports */
+ protected String getVerifierImportsTemplate() {
+ return verifierImportsTemplate;
+ }
+
+ protected String getVerifierImportsPrefixTemplate() {
+ return "";
+ }
+
+ protected String getVerifierImportsSufixTemplate() {
+ return "";
+ }
+
+ /* Package (mmmh... sounds useless) */
+ protected String getVerifierPackageTemplate() {
+ return verifierPackageTemplate;
+ }
+
+ protected String getVerifierPackagePrefixTemplate() {
+ return "";
+ }
+
+ protected String getVerifierPackageSufixTemplate() {
+ return "";
+ }
+
+ /* Restriction Pattern */
+ protected String getVerifierRestrictionPatternTemplate() {
+ return verifierRestrictionPatternTemplate;
+ }
+
+ protected String getVerifierRestrictionPatternPrefixTemplate() {
+ return "";
+ }
+
+ protected String getVerifierRestrictionPatternSufixTemplate() {
+ return "";
+ }
+
+ /* end */
+ protected String getVerifierRuleEndTemplate() {
+ return verifierRuleEndTemplate;
+ }
+
+ protected String getVerifierRuleEndSufixTemplate() {
+ return "";
+ }
+
+ /* Rule Name */
+ protected String getVerifierRuleNameTemplate() {
+ return verifierRuleNameTemplate;
+ }
+
+ protected String getVerifierRuleNamePrefixTemplate() {
+ return "";
+ }
+
+ protected String getVerifierRuleNameSufixTemplate() {
+ return "";
+ }
+
+ /* then */
+ protected String getVerifierRuleThenTemplate() {
+ return verifierRuleThenTemplate;
+ }
+
+ /* when */
+ protected String getVerifierRuleWhenTemplate() {
+ return verifierRuleWhenTemplate;
+ }
+
+
+}
Copied: labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factcontraints/ValidationResult.java (from rev 32116, labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/ValidationResult.java)
===================================================================
--- labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factcontraints/ValidationResult.java (rev 0)
+++ labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factcontraints/ValidationResult.java 2010-03-19 19:59:54 UTC (rev 32155)
@@ -0,0 +1,30 @@
+package org.drools.guvnor.client.factcontraints;
+
+/**
+ *
+ * @author esteban.aliverti at gmail.com
+ */
+public class ValidationResult {
+ private boolean success;
+ private String message;
+
+ public boolean isSuccess() {
+ return success;
+ }
+
+ public void setSuccess(boolean success) {
+ this.success = success;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+
+
+
+}
Added: labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factcontraints/dataprovider/DefaultFieldDataProviderImpl.java
===================================================================
--- labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factcontraints/dataprovider/DefaultFieldDataProviderImpl.java (rev 0)
+++ labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factcontraints/dataprovider/DefaultFieldDataProviderImpl.java 2010-03-19 19:59:54 UTC (rev 32155)
@@ -0,0 +1,64 @@
+package org.drools.guvnor.client.factcontraints.dataprovider;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.drools.guvnor.client.factcontraints.ArgumentNotSetException;
+
+/**
+ *
+ * @author esteban.aliverti at gmail.com
+ */
+public abstract class DefaultFieldDataProviderImpl implements FieldDataProvider {
+
+ private String factType;
+ private String fieldName;
+ private Map<String, Object> arguments = new HashMap<String, Object>();
+
+ public DefaultFieldDataProviderImpl() {
+
+ }
+
+ protected Object getMandatoryArgument(String key) throws ArgumentNotSetException {
+ if (!this.arguments.containsKey(key)) {
+ throw new ArgumentNotSetException("The argument " + key + " doesn't exist.");
+ }
+
+ Object value = this.getArgumentValue(key);
+
+ if (value == null) {
+ throw new ArgumentNotSetException("The argument " + key + " is null.");
+ }
+
+ return value;
+ }
+
+ public void setFactType(String factType) {
+ this.factType = factType;
+ }
+
+ public void setFieldName(String fieldName) {
+ this.fieldName = fieldName;
+ }
+
+ public String getFactType() {
+ return factType;
+ }
+
+ public String getFieldName() {
+ return fieldName;
+ }
+
+ public String[] getArgumentKeys() {
+ return this.arguments.keySet().toArray(new String[this.arguments.size()]);
+ }
+
+ public Object getArgumentValue(String key) {
+ return this.arguments.get(key);
+ }
+
+ public void setArgumentValue(String key, Object value) {
+ this.arguments.put(key, value);
+ }
+
+}
Added: labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factcontraints/dataprovider/FieldDataProvider.java
===================================================================
--- labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factcontraints/dataprovider/FieldDataProvider.java (rev 0)
+++ labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/guvnor/client/factcontraints/dataprovider/FieldDataProvider.java 2010-03-19 19:59:54 UTC (rev 32155)
@@ -0,0 +1,19 @@
+package org.drools.guvnor.client.factcontraints.dataprovider;
+
+import java.util.Map;
+
+/**
+ *
+ * @author esteban.aliverti at gmail.com
+ */
+public interface FieldDataProvider {
+ public void setFactTYpe(String factType);
+ public void setFieldName(String fieldName);
+
+ public String[] getArgumentKeys();
+ public Object getArgumentValue(String key);
+ public void setArgumentValue(String key, Object value);
+
+ public Map<Object,String> getData();
+ public Object getDefault();
+}
Modified: labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/test/java/org/drools/factconstraint/IntegerConstraintTest.java
===================================================================
--- labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/test/java/org/drools/factconstraint/IntegerConstraintTest.java 2010-03-19 19:54:14 UTC (rev 32154)
+++ labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/test/java/org/drools/factconstraint/IntegerConstraintTest.java 2010-03-19 19:59:54 UTC (rev 32155)
@@ -2,7 +2,9 @@
import java.util.Collection;
import org.drools.builder.ResourceType;
-import org.drools.factconstraint.predefined.IntegerConstraint;
+import org.drools.guvnor.client.factconstraints.predefined.IntegerConstraint;
+import org.drools.guvnor.client.factcontraints.Constraint;
+import org.drools.guvnor.client.factcontraints.ValidationResult;
import org.drools.io.ResourceFactory;
import org.drools.verifier.Verifier;
import org.drools.verifier.VerifierConfiguration;
Modified: labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/test/java/org/drools/factconstraint/NotNullConstraintTest.java
===================================================================
--- labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/test/java/org/drools/factconstraint/NotNullConstraintTest.java 2010-03-19 19:54:14 UTC (rev 32154)
+++ labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/test/java/org/drools/factconstraint/NotNullConstraintTest.java 2010-03-19 19:59:54 UTC (rev 32155)
@@ -2,7 +2,9 @@
import java.util.Collection;
import org.drools.builder.ResourceType;
-import org.drools.factconstraint.predefined.NotNullConstraint;
+import org.drools.guvnor.client.factconstraints.predefined.NotNullConstraint;
+import org.drools.guvnor.client.factcontraints.Constraint;
+import org.drools.guvnor.client.factcontraints.ValidationResult;
import org.drools.io.ResourceFactory;
import org.drools.verifier.Verifier;
import org.drools.verifier.VerifierConfiguration;
Modified: labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/test/java/org/drools/factconstraint/RangeConstraintTest.java
===================================================================
--- labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/test/java/org/drools/factconstraint/RangeConstraintTest.java 2010-03-19 19:54:14 UTC (rev 32154)
+++ labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/test/java/org/drools/factconstraint/RangeConstraintTest.java 2010-03-19 19:59:54 UTC (rev 32155)
@@ -2,7 +2,9 @@
import java.util.Collection;
import org.drools.builder.ResourceType;
-import org.drools.factconstraint.predefined.RangeConstraint;
+import org.drools.guvnor.client.factconstraints.predefined.RangeConstraint;
+import org.drools.guvnor.client.factcontraints.Constraint;
+import org.drools.guvnor.client.factcontraints.ValidationResult;
import org.drools.io.ResourceFactory;
import org.drools.verifier.Verifier;
import org.drools.verifier.VerifierConfiguration;
@@ -38,8 +40,8 @@
@Test
public void testValidConstraint(){
- cons.setArgumentValue(RangeConstraint.RANGE_CONSTRAINT_MIN, -0.5);
- cons.setArgumentValue(RangeConstraint.RANGE_CONSTRAINT_MAX, 100);
+ cons.setArgumentValue(RangeConstraint.RANGE_CONSTRAINT_MIN, "-0.5");
+ cons.setArgumentValue(RangeConstraint.RANGE_CONSTRAINT_MAX, "100");
ValidationResult result = cons.validate(12);
Assert.assertTrue(result.isSuccess());
@@ -64,8 +66,8 @@
@Test
public void testInvalidConstraint(){
- cons.setArgumentValue(RangeConstraint.RANGE_CONSTRAINT_MIN, -0.5);
- cons.setArgumentValue(RangeConstraint.RANGE_CONSTRAINT_MAX, 100);
+ cons.setArgumentValue(RangeConstraint.RANGE_CONSTRAINT_MIN, "-0.5");
+ cons.setArgumentValue(RangeConstraint.RANGE_CONSTRAINT_MAX, "100");
ValidationResult result = cons.validate(new Object());
Assert.assertFalse(result.isSuccess());
@@ -102,17 +104,18 @@
public void testUsingVerifier() {
//age constraint
- cons.setArgumentValue(RangeConstraint.RANGE_CONSTRAINT_MIN, 0);
- cons.setArgumentValue(RangeConstraint.RANGE_CONSTRAINT_MAX, 120);
+ cons.setArgumentValue(RangeConstraint.RANGE_CONSTRAINT_MIN, "0");
+ cons.setArgumentValue(RangeConstraint.RANGE_CONSTRAINT_MAX, "120");
+ System.out.println("Validation Rule:\n" + cons.getVerifierRule() + "\n\n");
//salary constraint
Constraint salaryCons = new RangeConstraint();
salaryCons.setFactType("Person");
salaryCons.setFieldName("salary");
- salaryCons.setArgumentValue(RangeConstraint.RANGE_CONSTRAINT_MIN, 0);
- salaryCons.setArgumentValue(RangeConstraint.RANGE_CONSTRAINT_MAX, 1000.6);
+ salaryCons.setArgumentValue(RangeConstraint.RANGE_CONSTRAINT_MIN, "0");
+ salaryCons.setArgumentValue(RangeConstraint.RANGE_CONSTRAINT_MAX, "1000.6");
- System.out.println("Validation Rule:\n" + cons.getVerifierRule() + "\n\n");
+ System.out.println("Validation Rule:\n" + salaryCons.getVerifierRule() + "\n\n");
String ruleToVerify = "";
@@ -127,7 +130,7 @@
ruleToVerify += " System.out.println(\"Rule fired\");\n";
ruleToVerify += "end\n\n";
- //FAIL
+ //FAIL - 1
ruleToVerify += "rule \"rule2\"\n";
ruleToVerify += " when\n";
ruleToVerify += " Person(age == -5)\n";
@@ -159,7 +162,7 @@
ruleToVerify += " System.out.println(\"Rule fired\");\n";
ruleToVerify += "end\n";
- //FAIL
+ //FAIL - 2
ruleToVerify += "rule \"rule6\"\n";
ruleToVerify += " when\n";
ruleToVerify += " Person(salary == 1000.7)\n";
@@ -167,7 +170,7 @@
ruleToVerify += " System.out.println(\"Rule fired\");\n";
ruleToVerify += "end\n";
- //FAIL
+ //FAIL - 3
ruleToVerify += "rule \"rule7\"\n";
ruleToVerify += " when\n";
ruleToVerify += " Person(salary == 1001)\n";
@@ -183,7 +186,7 @@
ruleToVerify += " System.out.println(\"Rule fired\");\n";
ruleToVerify += "end\n";
- //FAIL: age
+ //FAIL: age - 4
ruleToVerify += "rule \"rule9\"\n";
ruleToVerify += " when\n";
ruleToVerify += " Person(age == 400, salary == 1000)\n";
@@ -191,7 +194,7 @@
ruleToVerify += " System.out.println(\"Rule fired\");\n";
ruleToVerify += "end\n";
- //FAIL salary
+ //FAIL salary - 5
ruleToVerify += "rule \"rule10\"\n";
ruleToVerify += " when\n";
ruleToVerify += " Person(age == 40, salary == 1003)\n";
@@ -199,7 +202,7 @@
ruleToVerify += " System.out.println(\"Rule fired\");\n";
ruleToVerify += "end\n";
- //FAIL both (creates 2 warnings)
+ //FAIL both (creates 2 warnings) - 6,7
ruleToVerify += "rule \"rule11\"\n";
ruleToVerify += " when\n";
ruleToVerify += " Person(age == 400, salary == 1003)\n";
@@ -207,7 +210,7 @@
ruleToVerify += " System.out.println(\"Rule fired\");\n";
ruleToVerify += "end\n";
- //FAIL both (creates 2 warnings)
+ //FAIL both (creates 2 warnings) - 8,9
ruleToVerify += "rule \"rule11\"\n";
ruleToVerify += " when\n";
ruleToVerify += " Person(age == 400, salary == -0.69)\n";
@@ -215,9 +218,6 @@
ruleToVerify += " System.out.println(\"Rule fired\");\n";
ruleToVerify += "end\n";
-
-
-
VerifierBuilder vBuilder = VerifierBuilderFactory.newVerifierBuilder();
//VerifierConfiguration conf = new DefaultVerifierConfiguration();
@@ -247,15 +247,9 @@
Collection<VerifierMessageBase> warnings = result.getBySeverity(Severity.ERROR);
- int counter = 0;
- for (VerifierMessageBase message : warnings) {
- System.out.println(message);
- counter++;
- }
+ System.out.println(warnings);
- Assert.assertEquals(9,
- counter);
-
+ Assert.assertEquals(9, warnings.size());
verifier.dispose();
}
Modified: labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/test/java/org/drools/factconstraint/helper/ConstraintsConstrainerTest.java
===================================================================
--- labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/test/java/org/drools/factconstraint/helper/ConstraintsConstrainerTest.java 2010-03-19 19:54:14 UTC (rev 32154)
+++ labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/test/java/org/drools/factconstraint/helper/ConstraintsConstrainerTest.java 2010-03-19 19:59:54 UTC (rev 32155)
@@ -2,9 +2,10 @@
import java.util.LinkedList;
-import org.drools.factconstraint.Constraint;
-import org.drools.factconstraint.predefined.IntegerConstraint;
-import org.drools.factconstraint.predefined.NotNullConstraint;
+import org.drools.guvnor.client.factconstraints.helper.ConstraintsContainer;
+import org.drools.guvnor.client.factconstraints.predefined.IntegerConstraint;
+import org.drools.guvnor.client.factconstraints.predefined.NotNullConstraint;
+import org.drools.guvnor.client.factcontraints.Constraint;
import static org.junit.Assert.*;
import org.junit.Test;
@@ -20,7 +21,7 @@
cons.setFieldName("age");
list.add(cons);
- ConstraintsConstrainer cc = new ConstraintsConstrainer(list);
+ ConstraintsContainer cc = new ConstraintsContainer(list);
assertTrue(cc.hasConstraints("Person"));
assertFalse(cc.hasConstraints("Person3"));
More information about the jboss-svn-commits
mailing list