[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