[jboss-svn-commits] JBL Code SVN: r12367 - in labs/jbossrules/trunk: drools-compiler/src/main/java/org/drools/brms/server/util and 8 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Jun 7 03:12:19 EDT 2007


Author: michael.neale at jboss.com
Date: 2007-06-07 03:12:19 -0400 (Thu, 07 Jun 2007)
New Revision: 12367

Modified:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brxml/ActionFieldValue.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brxml/ActionSetField.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brxml/RuleModel.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/server/util/BRDRLPersistence.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/brms/client/modeldriven/SuggestionCompletionTest.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/brms/modeldriven/RuleModelTest.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/brms/server/util/BRDRLPersistenceTest.java
   labs/jbossrules/trunk/drools-jbrms/JBRMS.launch
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/ActionAssertFactWidget.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/ActionSetFieldWidget.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/ConstraintValueEditor.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/FactPatternWidget.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/packages/PackageEditor.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/RuleValidatorWrapper.java
   labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/ServiceImplementationTest.java
Log:
JBRULES-911, JBRULES-903 bugs and a few tweaks

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brxml/ActionFieldValue.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brxml/ActionFieldValue.java	2007-06-07 05:45:26 UTC (rev 12366)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brxml/ActionFieldValue.java	2007-06-07 07:12:19 UTC (rev 12367)
@@ -13,7 +13,7 @@
     public String value;
     
     /**
-     * This is the datatype.
+     * This is the datatype archectype (eg String, Numeric etc).
      */
     public String type;
 

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brxml/ActionSetField.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brxml/ActionSetField.java	2007-06-07 05:45:26 UTC (rev 12366)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brxml/ActionSetField.java	2007-06-07 07:12:19 UTC (rev 12367)
@@ -14,7 +14,8 @@
     }
 
     /**
-     * This is used mainly for display purposes. 
+     * This is used mainly for display purposes.
+     * It indicates that it is a "set". 
      */
     public String getType() {
         return "set";

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brxml/RuleModel.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brxml/RuleModel.java	2007-06-07 05:45:26 UTC (rev 12366)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/brxml/RuleModel.java	2007-06-07 07:12:19 UTC (rev 12367)
@@ -247,8 +247,9 @@
                 if (fact.isBound()) {
                     result.add( fact.boundName );
                 }
-                for ( int j = 0; j < fact.constraintList.constraints.length; j++ ) {
-                    FieldConstraint fc = fact.constraintList.constraints[j];
+                
+                for ( int j = 0; j < fact.getFieldConstraints().length; j++ ) {
+                    FieldConstraint fc = fact.getFieldConstraints()[j];
                     if (fc instanceof SingleFieldConstraint) {
                         SingleFieldConstraint con = (SingleFieldConstraint) fc;
                         if (con.isBound()) {

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/server/util/BRDRLPersistence.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/server/util/BRDRLPersistence.java	2007-06-07 05:45:26 UTC (rev 12366)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/server/util/BRDRLPersistence.java	2007-06-07 07:12:19 UTC (rev 12367)
@@ -196,7 +196,7 @@
         }
 
         private void generateConstraints(FactPattern pattern) {
-            for ( int i = 0; i < pattern.constraintList.constraints.length; i++ ) {
+            for ( int i = 0; i < pattern.getFieldConstraints().length; i++ ) {
                 if ( i > 0 ) {
                     buf.append( ", " );
                 }
@@ -279,7 +279,7 @@
             switch ( type ) {
                 case ISingleFieldConstraint.TYPE_RET_VALUE :
                     buf.append( "( " );
-                    buf.append( operator );
+                    buf.append( value );
                     buf.append( " )" );
                     break;
                 case ISingleFieldConstraint.TYPE_LITERAL :

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/brms/client/modeldriven/SuggestionCompletionTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/brms/client/modeldriven/SuggestionCompletionTest.java	2007-06-07 05:45:26 UTC (rev 12366)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/brms/client/modeldriven/SuggestionCompletionTest.java	2007-06-07 07:12:19 UTC (rev 12367)
@@ -143,6 +143,8 @@
                                         "wankle" );
         assertEquals( 2,
                       c.length );
+        
+        assertEquals("Numeric", com.getFieldType( "Person", "age" ));
 
     }
 

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/brms/modeldriven/RuleModelTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/brms/modeldriven/RuleModelTest.java	2007-06-07 05:45:26 UTC (rev 12366)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/brms/modeldriven/RuleModelTest.java	2007-06-07 07:12:19 UTC (rev 12367)
@@ -222,6 +222,22 @@
         assertTrue(model.isVariableNameUsed( "field2" ));
         
     }
+    
+    public void testGetVariableNameForRHS() {
+        RuleModel m = new RuleModel();
+        m.name = "blah";
+        
+        FactPattern pat = new FactPattern();
+        pat.boundName = "pat";
+        pat.factType = "Person";
+        
+        m.addLhsItem( pat );
+        
+        List l = m.getAllVariables();
+        assertEquals( 1, l.size() );
+        assertEquals("pat", l.get( 0 ));
+        
+    }
 
     public void testRemoveItemLhs() {
         final RuleModel model = new RuleModel();

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/brms/server/util/BRDRLPersistenceTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/brms/server/util/BRDRLPersistenceTest.java	2007-06-07 05:45:26 UTC (rev 12366)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/brms/server/util/BRDRLPersistenceTest.java	2007-06-07 07:12:19 UTC (rev 12367)
@@ -344,6 +344,35 @@
                       cleanActual );
     }
     
+    public void testReturnValueConstraint() {
+        RuleModel m = new RuleModel();
+        m.name = "yeah";
+        
+        FactPattern p = new FactPattern();
+        
+        SingleFieldConstraint con = new SingleFieldConstraint();
+        con.constraintValueType = SingleFieldConstraint.TYPE_RET_VALUE;
+        con.value = "someFunc(x)";
+        con.operator = "==";
+        con.fieldName = "goo";
+        p.factType = "Goober";
+        
+        p.addConstraint( con );
+        m.addLhsItem( p );
+        
+        String actual = BRDRLPersistence.getInstance().marshal( m );
+        System.err.println(actual);
+        
+        
+        String expected = "rule \"yeah\" " +
+                            " when " + 
+                                    "Goober( goo == ( someFunc(x) ) )" + 
+                            " then " + 
+                            "end";
+        assertEqualsIgnoreWhitespace( expected, actual);
+    }
+    
+    
     public void testConnective() {
         
         RuleModel m = new RuleModel();

Modified: labs/jbossrules/trunk/drools-jbrms/JBRMS.launch
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/JBRMS.launch	2007-06-07 05:45:26 UTC (rev 12366)
+++ labs/jbossrules/trunk/drools-jbrms/JBRMS.launch	2007-06-07 07:12:19 UTC (rev 12367)
@@ -44,7 +44,7 @@
 <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry path=&quot;3&quot; projectName=&quot;drools-decisiontables&quot; type=&quot;1&quot;/&gt;&#10;"/>
 <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-jbrms/target/drools-jbrms/WEB-INF/lib/jxl-2.4.2.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
 <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-jbrms/target/drools-jbrms/WEB-INF/lib/janino-2.5.7.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
-<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-jbrms/target/drools-jbrms/WEB-INF/lib/mvel14-1.2beta22.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/drools-jbrms/target/drools-jbrms/WEB-INF/lib/mvel14-1.2beta23.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#10;"/>
 </listAttribute>
 <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-out www org.drools.brms.JBRMS/JBRMS.html"/>
 <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="drools-jbrms"/>

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/ActionAssertFactWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/ActionAssertFactWidget.java	2007-06-07 05:45:26 UTC (rev 12366)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/ActionAssertFactWidget.java	2007-06-07 07:12:19 UTC (rev 12367)
@@ -18,6 +18,7 @@
 import com.google.gwt.user.client.ui.FlexTable;
 import com.google.gwt.user.client.ui.HorizontalPanel;
 import com.google.gwt.user.client.ui.Image;
+import com.google.gwt.user.client.ui.KeyboardListener;
 import com.google.gwt.user.client.ui.Label;
 import com.google.gwt.user.client.ui.ListBox;
 import com.google.gwt.user.client.ui.TextBox;
@@ -94,6 +95,25 @@
                 modeller.refreshWidget();
             }            
         });
+        
+        if (val.type.equals( SuggestionCompletionEngine.TYPE_NUMERIC )) {
+            box.addKeyboardListener( new KeyboardListener() {
+    
+                public void onKeyDown(Widget arg0, char arg1, int arg2) {
+
+                }
+    
+                public void onKeyPress(Widget w, char c, int i) {
+                    if (Character.isLetter( c )) {
+                        ((TextBox) w).cancelKey();
+                    } 
+                }
+    
+                public void onKeyUp(Widget arg0, char arg1, int arg2) {
+                }
+                
+            });
+        }        
         return box;
     }
 
@@ -137,7 +157,7 @@
         box.addChangeListener( new ChangeListener() {
             public void onChange(Widget w) {
                 String fieldName = box.getItemText( box.getSelectedIndex() );
-                String fieldType = completions.getFieldType( model.getType(), fieldName );
+                String fieldType = completions.getFieldType( model.factType, fieldName );
                 model.addFieldValue( new ActionFieldValue( fieldName, "", fieldType ) );
                 modeller.refreshWidget();
                 popup.hide();

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/ActionSetFieldWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/ActionSetFieldWidget.java	2007-06-07 05:45:26 UTC (rev 12366)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/ActionSetFieldWidget.java	2007-06-07 07:12:19 UTC (rev 12367)
@@ -21,6 +21,7 @@
 import com.google.gwt.user.client.ui.FlexTable;
 import com.google.gwt.user.client.ui.HorizontalPanel;
 import com.google.gwt.user.client.ui.Image;
+import com.google.gwt.user.client.ui.KeyboardListener;
 import com.google.gwt.user.client.ui.Label;
 import com.google.gwt.user.client.ui.ListBox;
 import com.google.gwt.user.client.ui.SimplePanel;
@@ -41,6 +42,7 @@
     
     final private String[] fieldCompletions;
     private RuleModeller modeller;
+    private String variableClass;
     
     
     public ActionSetFieldWidget(RuleModeller mod, RuleModel rule, ActionSetField set, SuggestionCompletionEngine com) {
@@ -50,10 +52,12 @@
         this.modeller = mod;
         layout.setStyleName( "model-builderInner-Background" );
         if (completions.isGlobalVariable( set.variable )) {
-            this.fieldCompletions = completions.getFieldCompletionsForGlobalVariable( set.variable );            
+            this.fieldCompletions = completions.getFieldCompletionsForGlobalVariable( set.variable );  
+            this.variableClass = (String) completions.globalTypes.get( set.variable );
         } else {
             FactPattern pattern = rule.getBoundFact( set.variable );
             this.fieldCompletions = completions.getFieldCompletions( pattern.factType );
+            this.variableClass = pattern.factType;
             this.isBoundFact = true;
         }
         
@@ -133,7 +137,8 @@
         box.addChangeListener( new ChangeListener() {
             public void onChange(Widget w) {
                 String fieldName = box.getItemText( box.getSelectedIndex() );
-                String fieldType = completions.getFieldType( model.getType(), fieldName );
+                
+                String fieldType = completions.getFieldType( variableClass, fieldName );
                 model.addFieldValue( new ActionFieldValue( fieldName, "", fieldType ) );
                 modeller.refreshWidget();
                 popup.hide();
@@ -159,6 +164,25 @@
             box.setVisibleLength( val.value.length() );
         }
         
+        if (val.type.equals( SuggestionCompletionEngine.TYPE_NUMERIC )) {
+            box.addKeyboardListener( new KeyboardListener() {
+    
+                public void onKeyDown(Widget arg0, char arg1, int arg2) {
+
+                }
+    
+                public void onKeyPress(Widget w, char c, int i) {
+                    if (Character.isLetter( c )) {
+                        ((TextBox) w).cancelKey();
+                    } 
+                }
+    
+                public void onKeyUp(Widget arg0, char arg1, int arg2) {
+                }
+                
+            });
+        }
+        
         box.addChangeListener( new ChangeListener() {
             public void onChange(Widget w) {
                 val.value = box.getText();

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/ConstraintValueEditor.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/ConstraintValueEditor.java	2007-06-07 05:45:26 UTC (rev 12366)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/ConstraintValueEditor.java	2007-06-07 07:12:19 UTC (rev 12367)
@@ -88,10 +88,10 @@
         }
         for ( int i = 0; i < vars.size(); i++ ) {
             String var = (String) vars.get( i );
+            box.addItem( var );
             if (this.constraint.value != null && this.constraint.value.equals( var )) {
                 box.setSelectedIndex( i );
             }
-            box.addItem( var );
         }
         
         box.addChangeListener( new ChangeListener() {

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/FactPatternWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/FactPatternWidget.java	2007-06-07 05:45:26 UTC (rev 12366)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/FactPatternWidget.java	2007-06-07 07:12:19 UTC (rev 12367)
@@ -271,8 +271,8 @@
         
         final ListBox composites = new ListBox();
         composites.addItem("...");
-        composites.addItem( "All of the constraints must be true (And)", CompositeFieldConstraint.COMPOSITE_TYPE_AND );
-        composites.addItem( "Any of the constraints can be true (Or)", CompositeFieldConstraint.COMPOSITE_TYPE_OR );
+        composites.addItem( "All of (And)", CompositeFieldConstraint.COMPOSITE_TYPE_AND );
+        composites.addItem( "Any of (Or)", CompositeFieldConstraint.COMPOSITE_TYPE_OR );
         composites.setSelectedIndex( 0 );
         
         composites.addChangeListener( new ChangeListener() {
@@ -291,7 +291,7 @@
         HorizontalPanel horiz = new HorizontalPanel();
         horiz.add( composites );
         horiz.add( infoComp );
-        popup.addAttribute( "Add a constraint that combines other constraints", horiz );
+        popup.addAttribute( "Multiple field constraint", horiz );
         
         popup.setPopupPosition( w.getAbsoluteLeft(), w.getAbsoluteTop() );
         popup.show();        
@@ -326,8 +326,8 @@
         
         final ListBox composites = new ListBox();
         composites.addItem("...");
-        composites.addItem( "All of the constraints must be true (And)", CompositeFieldConstraint.COMPOSITE_TYPE_AND );
-        composites.addItem( "Any of the constraints can be true (Or)", CompositeFieldConstraint.COMPOSITE_TYPE_OR );
+        composites.addItem( "All of (And)", CompositeFieldConstraint.COMPOSITE_TYPE_AND );
+        composites.addItem( "Any of (Or)", CompositeFieldConstraint.COMPOSITE_TYPE_OR );
         composites.setSelectedIndex( 0 );
         
         composites.addChangeListener( new ChangeListener() {
@@ -346,7 +346,7 @@
         HorizontalPanel horiz = new HorizontalPanel();
         horiz.add( composites );
         horiz.add( infoComp );
-        popup.addAttribute( "Add a constraint that combines other constraints", horiz );
+        popup.addAttribute( "Multiple field constraint", horiz );
         
         
         popup.addRow( new HTML("<hr/>") );

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/packages/PackageEditor.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/packages/PackageEditor.java	2007-06-07 05:45:26 UTC (rev 12366)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/packages/PackageEditor.java	2007-06-07 07:12:19 UTC (rev 12367)
@@ -352,7 +352,7 @@
             }
         });
         newFactTemplate.setTitle( "Add a new fact template." );
-        vert.add( newFactTemplate );
+        //vert.add( newFactTemplate );
         
         panel.setWidth( "100%" );
         

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/RuleValidatorWrapper.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/RuleValidatorWrapper.java	2007-06-07 05:45:26 UTC (rev 12366)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/RuleValidatorWrapper.java	2007-06-07 07:12:19 UTC (rev 12367)
@@ -123,12 +123,14 @@
                 
             }
             ScrollPanel scroll = new ScrollPanel(errTable);
-            scroll.setAlwaysShowScrollBars(true);
-            scroll.setSize("100%","25em");
-                        
+            //scroll.setAlwaysShowScrollBars(true);
+            //scroll.setSize("100%","25em");
+            scroll.setWidth( "100%" );
             //scroll.setScrollPosition( 100 );
-            errTable.setWidth( "100%" );
+            //errTable.setWidth( "60%" );
             pop.addRow( scroll );
+            pop.setWidth( "70%" );
+            pop.setHeight( "50%" );
             
         }
         pop.setPopupPosition( 100, 100 );

Modified: labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/ServiceImplementationTest.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/ServiceImplementationTest.java	2007-06-07 05:45:26 UTC (rev 12366)
+++ labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/ServiceImplementationTest.java	2007-06-07 07:12:19 UTC (rev 12367)
@@ -17,6 +17,7 @@
 import org.drools.brms.client.modeldriven.brxml.ActionSetField;
 import org.drools.brms.client.modeldriven.brxml.FactPattern;
 import org.drools.brms.client.modeldriven.brxml.RuleModel;
+import org.drools.brms.client.modeldriven.brxml.SingleFieldConstraint;
 import org.drools.brms.client.rpc.BuilderResult;
 import org.drools.brms.client.rpc.PackageConfigData;
 import org.drools.brms.client.rpc.RepositoryService;
@@ -1256,6 +1257,59 @@
         
     }
     
+    public void testBuildAssetBRXML() throws Exception {
+        ServiceImplementation impl = getService();
+        RulesRepository repo = impl.repository;
+        
+        //create our package
+        PackageItem pkg = repo.createPackage( "testBuildAssetBRXML", "" );
+        AssetItem model = pkg.addAsset( "MyModel", "" );
+        model.updateFormat( AssetFormats.MODEL );
+        model.updateBinaryContentAttachment( this.getClass().getResourceAsStream( "/billasurf.jar" ) );
+        model.checkin( "" );
+        
+        pkg.updateHeader( "import com.billasurf.Person" );
+        impl.createCategory( "/", "brxml", "" );
+
+        String uuid = impl.createNewRule( "testBRXML", "", "brxml", "testBuildAssetBRXML", AssetFormats.BUSINESS_RULE );
+        
+        
+        RuleAsset rule = impl.loadRuleAsset( uuid );
+        
+        RuleModel m = (RuleModel) rule.content;
+        assertNotNull(m);
+        m.name = "testBRXML";
+        
+        FactPattern p = new FactPattern("Person");
+        p.boundName = "p";
+        SingleFieldConstraint con = new SingleFieldConstraint();
+        con.fieldName = "name";
+        con.value = "mark";
+        con.operator = "==";
+        con.constraintValueType = SingleFieldConstraint.TYPE_LITERAL;
+        
+        p.addConstraint( con );
+        
+        m.addLhsItem( p );
+        
+        ActionSetField set = new ActionSetField("p");
+        ActionFieldValue f = new ActionFieldValue("name", "42-ngoo", SuggestionCompletionEngine.TYPE_STRING);
+        set.addFieldValue( f );
+        
+        m.addRhsItem( set );
+        
+        impl.checkinVersion( rule );
+        
+        //check its all OK
+        BuilderResult[] result = impl.buildAsset( rule );
+        if (result != null) {
+            for ( int i = 0; i < result.length; i++ ) {
+                System.err.println(result[i].message);
+            }
+        }
+        assertNull(result);        
+    }
+    
     public void testBuildAssetWithPackageConfigError() throws Exception {
         ServiceImplementation impl = getService();
         RulesRepository repo = impl.repository;




More information about the jboss-svn-commits mailing list