[jboss-svn-commits] JBL Code SVN: r32016 - in labs/jbossrules/branches/factsConstraints_baunax_esteban: drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Mar 10 10:13:49 EST 2010


Author: eaa
Date: 2010-03-10 10:13:49 -0500 (Wed, 10 Mar 2010)
New Revision: 32016

Added:
   labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/FactTypeFilter.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/predefined/
Modified:
   labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-compiler/META-INF/MANIFEST.MF
   labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/SuggestionCompletionEngine.java
   labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/dataprovider/FieldDataProvider.java
Log:
Added default FieldDataProvider implementation.
 

Modified: labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-compiler/META-INF/MANIFEST.MF
===================================================================
--- labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-compiler/META-INF/MANIFEST.MF	2010-03-10 14:20:00 UTC (rev 32015)
+++ labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-compiler/META-INF/MANIFEST.MF	2010-03-10 15:13:49 UTC (rev 32016)
@@ -54,12 +54,12 @@
  lang;version="5.1.0.SNAPSHOT"
 Tool: Bnd-0.0.357
 Bundle-Name: Drools :: Compiler
-Created-By: 1.6.0_18 (Sun Microsystems Inc.)
+Created-By: 1.6.0_14 (Sun Microsystems Inc.)
 Require-Bundle: org.drools.core;bundle-version="5.1.0.SNAPSHOT"
 Bundle-Vendor: JBoss Inc.
 DynamicImport-Package: *
 Bundle-Version: 5.1.0.SNAPSHOT
-Bnd-LastModified: 1266695776762
+Bnd-LastModified: 1268231103501
 Bundle-Activator: org.drools.osgi.compiler.Activator
 Bundle-ManifestVersion: 2
 Bundle-Description: A rule production system

Added: labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/FactTypeFilter.java
===================================================================
--- labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/FactTypeFilter.java	                        (rev 0)
+++ labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/FactTypeFilter.java	2010-03-10 15:13:49 UTC (rev 32016)
@@ -0,0 +1,15 @@
+package org.drools.guvnor.client.modeldriven;
+
+/**
+ *
+ * @author esteban.aliverti at gmail.com
+ */
+public interface FactTypeFilter {
+
+    /**
+     * Indicates if a fact should be filtered or not.
+     * @param originalFact the fact.
+     * @return if a fact should be filtered or not.
+     */
+    public boolean filter(String originalFact);
+}

Modified: labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/SuggestionCompletionEngine.java
===================================================================
--- labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/SuggestionCompletionEngine.java	2010-03-10 14:20:00 UTC (rev 32015)
+++ labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/SuggestionCompletionEngine.java	2010-03-10 15:13:49 UTC (rev 32016)
@@ -662,6 +662,15 @@
         }
     }
 
+    public void filterFactTypes(FactTypeFilter filter){
+
+        for (String factType : this.getFactTypes()) {
+            if (filter.filter(factType)){
+                this.modelFields.remove(factType);
+            }
+        }
+    }
+
     public void setFieldsForTypes(Map<String,ModelField[]> fieldsForType){
     	this.modelFields.clear();
         this.modelFields.putAll(fieldsForType);

Added: 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	                        (rev 0)
+++ labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/dataprovider/DefaultFieldDataProviderImpl.java	2010-03-10 15:13:49 UTC (rev 32016)
@@ -0,0 +1,63 @@
+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);
+    }
+
+}

Modified: 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-10 14:20:00 UTC (rev 32015)
+++ labs/jbossrules/branches/factsConstraints_baunax_esteban/drools-factconstraint/src/main/java/org/drools/factconstraint/dataprovider/FieldDataProvider.java	2010-03-10 15:13:49 UTC (rev 32016)
@@ -9,6 +9,11 @@
 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();
 }



More information about the jboss-svn-commits mailing list