[jboss-svn-commits] JBL Code SVN: r19227 - in labs/jbossrules/branches/mic_20080325: drools-compiler/src/test/java/org/drools/brms/modeldriven/dt and 13 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Mar 25 20:49:04 EDT 2008


Author: mark.proctor at jboss.com
Date: 2008-03-25 20:49:04 -0400 (Tue, 25 Mar 2008)
New Revision: 19227

Added:
   labs/jbossrules/branches/mic_20080325/drools-compiler/src/main/java/org/drools/brms/server/util/GuidedDTXMLPersistence.java
   labs/jbossrules/branches/mic_20080325/drools-compiler/src/test/java/org/drools/brms/server/util/GuidedDTXMLPersistenceTest.java
   labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/SaveEventListener.java
   labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/java/org/drools/brms/public/images/gdst.gif
   labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/GuidedDTContentHandler.java
Modified:
   labs/jbossrules/branches/mic_20080325/drools-compiler/src/main/java/org/drools/brms/server/util/GuidedDTDRLPersistence.java
   labs/jbossrules/branches/mic_20080325/drools-compiler/src/test/java/org/drools/brms/modeldriven/dt/GuidedDecisionTableTest.java
   labs/jbossrules/branches/mic_20080325/drools-compiler/src/test/java/org/drools/brms/server/util/GuidedDTDRLPersistenceTest.java
   labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/java/org/drools/brms/client/admin/CategoryManager.java
   labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/java/org/drools/brms/client/common/AssetFormats.java
   labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/java/org/drools/brms/client/decisiontable/GuidedDecisionTableWidget.java
   labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/java/org/drools/brms/client/explorer/ExplorerLayoutManager.java
   labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/EditorLauncher.java
   labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/NewAssetWizard.java
   labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/RuleValidatorWrapper.java
   labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/RuleViewer.java
   labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/java/org/drools/brms/client/rulelist/AssetItemGrid.java
   labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/resources/contenthandler.properties
   labs/jbossrules/branches/mic_20080325/drools-jbrms/src/test/java/org/drools/brms/client/common/AssetFormatsTest.java
   labs/jbossrules/branches/mic_20080325/drools-jbrms/src/test/java/org/drools/brms/server/ServiceImplementationTest.java
   labs/jbossrules/branches/mic_20080325/drools-jbrms/src/test/java/org/drools/brms/server/contenthandler/ContentHandlerTest.java
   labs/jbossrules/branches/mic_20080325/drools-jbrms/src/test/java/org/drools/brms/server/contenthandler/ContentManagerTest.java
Log:
merging changes in trunk
-JBRULES-1494 Decision table for the web revisions 19134, 19135 and 19222


Modified: labs/jbossrules/branches/mic_20080325/drools-compiler/src/main/java/org/drools/brms/server/util/GuidedDTDRLPersistence.java
===================================================================
--- labs/jbossrules/branches/mic_20080325/drools-compiler/src/main/java/org/drools/brms/server/util/GuidedDTDRLPersistence.java	2008-03-26 00:00:13 UTC (rev 19226)
+++ labs/jbossrules/branches/mic_20080325/drools-compiler/src/main/java/org/drools/brms/server/util/GuidedDTDRLPersistence.java	2008-03-26 00:49:04 UTC (rev 19227)
@@ -29,6 +29,9 @@
  */
 public class GuidedDTDRLPersistence {
 
+	public static GuidedDTDRLPersistence getInstance() {
+		return new GuidedDTDRLPersistence();
+	}
 
 	public String marshal(GuidedDecisionTable dt) {
 
@@ -133,6 +136,8 @@
 					patterns.add(fp);
 				}
 
+
+
 				//now add the constraint from this cell
 				switch (c.constraintValueType) {
 					case ISingleFieldConstraint.TYPE_LITERAL:

Copied: labs/jbossrules/branches/mic_20080325/drools-compiler/src/main/java/org/drools/brms/server/util/GuidedDTXMLPersistence.java (from rev 19136, labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/brms/server/util/GuidedDTXMLPersistence.java)
===================================================================
--- labs/jbossrules/branches/mic_20080325/drools-compiler/src/main/java/org/drools/brms/server/util/GuidedDTXMLPersistence.java	                        (rev 0)
+++ labs/jbossrules/branches/mic_20080325/drools-compiler/src/main/java/org/drools/brms/server/util/GuidedDTXMLPersistence.java	2008-03-26 00:49:04 UTC (rev 19227)
@@ -0,0 +1,44 @@
+package org.drools.brms.server.util;
+
+import org.drools.brms.client.modeldriven.dt.ActionInsertFactCol;
+import org.drools.brms.client.modeldriven.dt.ActionRetractFactCol;
+import org.drools.brms.client.modeldriven.dt.ActionSetFieldCol;
+import org.drools.brms.client.modeldriven.dt.AttributeCol;
+import org.drools.brms.client.modeldriven.dt.ConditionCol;
+import org.drools.brms.client.modeldriven.dt.GuidedDecisionTable;
+
+import com.thoughtworks.xstream.XStream;
+import com.thoughtworks.xstream.io.xml.DomDriver;
+
+public class GuidedDTXMLPersistence {
+
+    private XStream                     xt;
+    private static GuidedDTXMLPersistence INSTANCE = new GuidedDTXMLPersistence();
+
+    private GuidedDTXMLPersistence() {
+    	xt = new XStream(new DomDriver());
+    	xt.alias("decision-table", GuidedDecisionTable.class);
+    	xt.alias("attribute-column", AttributeCol.class);
+    	xt.alias("condition-column", ConditionCol.class);
+    	xt.alias("set-field-col", ActionSetFieldCol.class);
+    	xt.alias("retract-fact-column", ActionRetractFactCol.class);
+    	xt.alias("insert-fact-column", ActionInsertFactCol.class);
+    }
+
+    public static GuidedDTXMLPersistence getInstance() {
+    	return INSTANCE;
+    }
+
+    public String marshal(GuidedDecisionTable dt) {
+    	return xt.toXML(dt);
+    }
+
+    public GuidedDecisionTable unmarshal(String xml) {
+    	if (xml == null || xml.trim().equals("")) {
+    		return new GuidedDecisionTable();
+    	}
+    	return (GuidedDecisionTable) xt.fromXML(xml);
+    }
+
+
+}

Modified: labs/jbossrules/branches/mic_20080325/drools-compiler/src/test/java/org/drools/brms/modeldriven/dt/GuidedDecisionTableTest.java
===================================================================
--- labs/jbossrules/branches/mic_20080325/drools-compiler/src/test/java/org/drools/brms/modeldriven/dt/GuidedDecisionTableTest.java	2008-03-26 00:00:13 UTC (rev 19226)
+++ labs/jbossrules/branches/mic_20080325/drools-compiler/src/test/java/org/drools/brms/modeldriven/dt/GuidedDecisionTableTest.java	2008-03-26 00:49:04 UTC (rev 19227)
@@ -268,5 +268,51 @@
 
 	}
 
+	public void testNoConstraintLists() {
+		GuidedDecisionTable dt = new GuidedDecisionTable();
 
+		//add cols for LHS
+		ConditionCol c1 = new ConditionCol();
+		c1.boundName = "c1";
+		c1.factType = "Driver";
+		c1.constraintValueType = ISingleFieldConstraint.TYPE_LITERAL;
+		dt.conditionCols.add(c1);
+
+		ConditionCol c2 = new ConditionCol();
+		c2.boundName = "c2";
+		c2.factType = "Driver";
+		c2.constraintValueType = ISingleFieldConstraint.TYPE_LITERAL;
+		c2.valueList = "a,b,c";
+		dt.conditionCols.add(c2);
+
+
+		SuggestionCompletionEngine sce = new SuggestionCompletionEngine();
+		sce.dataEnumLists.put("Driver.name", new String[] {"bob", "michael"});
+
+		assertEquals(0, dt.getValueList(c1, sce).length);
+		assertEquals(3, dt.getValueList(c2, sce).length);
+
+
+	}
+
+	public void testNoConstraintsNumeric() {
+		GuidedDecisionTable dt = new GuidedDecisionTable();
+
+		//add cols for LHS
+		ConditionCol c1 = new ConditionCol();
+		c1.boundName = "c1";
+		c1.factType = "Driver";
+		c1.constraintValueType = ISingleFieldConstraint.TYPE_LITERAL;
+		dt.conditionCols.add(c1);
+
+		SuggestionCompletionEngine sce = new SuggestionCompletionEngine();
+		sce.fieldTypes = new HashMap();
+		sce.fieldTypes.put("Driver.age", SuggestionCompletionEngine.TYPE_NUMERIC);
+		sce.fieldTypes.put("Driver.name", SuggestionCompletionEngine.TYPE_STRING);
+
+		assertFalse(dt.isNumeric(c1, sce));
+
+	}
+
+
 }

Modified: labs/jbossrules/branches/mic_20080325/drools-compiler/src/test/java/org/drools/brms/server/util/GuidedDTDRLPersistenceTest.java
===================================================================
--- labs/jbossrules/branches/mic_20080325/drools-compiler/src/test/java/org/drools/brms/server/util/GuidedDTDRLPersistenceTest.java	2008-03-26 00:00:13 UTC (rev 19226)
+++ labs/jbossrules/branches/mic_20080325/drools-compiler/src/test/java/org/drools/brms/server/util/GuidedDTDRLPersistenceTest.java	2008-03-26 00:49:04 UTC (rev 19227)
@@ -92,7 +92,6 @@
 		set2.type = SuggestionCompletionEngine.TYPE_STRING;
 		dt.actionCols.add(set2);
 
-
 		dt.data = new String[][] {
 				new String[] {"1", "desc", "42", "33", "michael", "age * 0.2", "age > 7", "6.60", "true", "gooVal1", "gooVal2"},
 				new String[] {"2", "desc", "", "39", "bob", "age * 0.3", "age > 7", "6.60", "", "gooVal1", "gooVal2"}
@@ -100,12 +99,10 @@
 
 
 
+		GuidedDTDRLPersistence p = GuidedDTDRLPersistence.getInstance();
+		String drl = p.marshal(dt);
 
 
-		GuidedDTDRLPersistence p = new GuidedDTDRLPersistence();
-		String drl = p.marshal(dt);
-		System.err.println(drl);
-
 		assertTrue(drl.indexOf("from row number") > -1);
 		assertTrue(drl.indexOf("rating == ( age * 0.2 )") > 0);
 		assertTrue(drl.indexOf("f2 : Driver( eval( age > 7 ))") > 0);
@@ -312,6 +309,39 @@
 
 	}
 
+	public void testNoConstraints() {
+		GuidedDecisionTable dt = new GuidedDecisionTable();
+		ConditionCol c = new ConditionCol();
+		c.boundName = "x";
+		c.factType = "Context";
+		c.constraintValueType = ISingleFieldConstraint.TYPE_LITERAL;
+		dt.conditionCols.add(c);
+		ActionSetFieldCol asf = new ActionSetFieldCol();
+		asf.boundName = "x";
+		asf.factField = "age";
+		asf.type = "String";
+		dt.actionCols.add(asf);
 
+		String[][] data = new String[][] {
+			new String[] {"1", "desc", "y", "old"}
+		};
+		dt.data = data;
 
+		String drl = GuidedDTDRLPersistence.getInstance().marshal(dt);
+
+		assertTrue(drl.indexOf("Context( )") > -1);
+		assertTrue(drl.indexOf("x.setAge") > drl.indexOf("Context( )"));
+
+
+		dt.data = new String[][] {
+				new String[] {"1", "desc", "", "old"}
+			};
+		drl = GuidedDTDRLPersistence.getInstance().marshal(dt);
+		assertEquals(-1, drl.indexOf("Context( )"));
+
+
+	}
+
+
+
 }

Copied: labs/jbossrules/branches/mic_20080325/drools-compiler/src/test/java/org/drools/brms/server/util/GuidedDTXMLPersistenceTest.java (from rev 19136, labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/brms/server/util/GuidedDTXMLPersistenceTest.java)
===================================================================
--- labs/jbossrules/branches/mic_20080325/drools-compiler/src/test/java/org/drools/brms/server/util/GuidedDTXMLPersistenceTest.java	                        (rev 0)
+++ labs/jbossrules/branches/mic_20080325/drools-compiler/src/test/java/org/drools/brms/server/util/GuidedDTXMLPersistenceTest.java	2008-03-26 00:49:04 UTC (rev 19227)
@@ -0,0 +1,41 @@
+package org.drools.brms.server.util;
+
+import org.drools.brms.client.modeldriven.dt.ActionInsertFactCol;
+import org.drools.brms.client.modeldriven.dt.ActionSetFieldCol;
+import org.drools.brms.client.modeldriven.dt.AttributeCol;
+import org.drools.brms.client.modeldriven.dt.ConditionCol;
+import org.drools.brms.client.modeldriven.dt.GuidedDecisionTable;
+
+import junit.framework.TestCase;
+
+public class GuidedDTXMLPersistenceTest extends TestCase {
+
+	public void testRoundTrip() {
+		GuidedDecisionTable dt = new GuidedDecisionTable();
+		dt.actionCols.add(new ActionInsertFactCol());
+		dt.actionCols.add(new ActionSetFieldCol());
+		dt.attributeCols.add(new AttributeCol());
+		dt.conditionCols.add(new ConditionCol());
+		dt.data = new String[][] {
+				new String[] {"hola"}
+		};
+		dt.tableName = "blah";
+		dt.descriptionWidth = 42;
+
+		String xml = GuidedDTXMLPersistence.getInstance().marshal(dt);
+		assertNotNull(xml);
+		assertEquals(-1, xml.indexOf("ActionSetField"));
+		assertEquals(-1, xml.indexOf("ConditionCol"));
+		assertEquals(-1, xml.indexOf("GuidedDecisionTable"));
+
+		GuidedDecisionTable dt_ = GuidedDTXMLPersistence.getInstance().unmarshal(xml);
+		assertNotNull(dt_);
+		assertEquals(42, dt_.descriptionWidth);
+		assertEquals("blah", dt_.tableName);
+		assertEquals(1, dt_.attributeCols.size());
+		assertEquals(2, dt_.actionCols.size());
+		assertEquals(1, dt_.conditionCols.size());
+
+	}
+
+}

Modified: labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/java/org/drools/brms/client/admin/CategoryManager.java
===================================================================
--- labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/java/org/drools/brms/client/admin/CategoryManager.java	2008-03-26 00:00:13 UTC (rev 19226)
+++ labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/java/org/drools/brms/client/admin/CategoryManager.java	2008-03-26 00:49:04 UTC (rev 19227)
@@ -126,19 +126,19 @@
 //        a1.header = "Do something !";
 //        dt.actionCols.add(a1);
 
-        //initWidget( form );
-        final RuleAsset asset_ = new RuleAsset();
-        asset_.metaData = new MetaData();
-        asset_.metaData.packageName = "com.billasurf.manufacturing.plant";
-        asset_.content = dt;
-        initWidget( new GuidedDecisionTableWidget(asset_) );
-        SuggestionCompletionCache.getInstance().doAction("com.billasurf.manufacturing.plant", new Command() {
-			public void execute() {
-				System.err.println("loaded SCE");
+        initWidget( form );
+//        final RuleAsset asset_ = new RuleAsset();
+//        asset_.metaData = new MetaData();
+//        asset_.metaData.packageName = "com.billasurf.manufacturing.plant";
+//        asset_.content = dt;
+//        initWidget( new GuidedDecisionTableWidget(asset_) );
+//        SuggestionCompletionCache.getInstance().doAction("com.billasurf.manufacturing.plant", new Command() {
+//			public void execute() {
+//				System.err.println("loaded SCE");
+//
+//			}
+//        });
 
-			}
-        });
-
     }
 
 

Modified: labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/java/org/drools/brms/client/common/AssetFormats.java
===================================================================
--- labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/java/org/drools/brms/client/common/AssetFormats.java	2008-03-26 00:00:13 UTC (rev 19226)
+++ labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/java/org/drools/brms/client/common/AssetFormats.java	2008-03-26 00:49:04 UTC (rev 19227)
@@ -55,6 +55,8 @@
     /** Use a decision table.*/
     public static final String DECISION_SPREADSHEET_XLS = "xls";
 
+    public static final String DECISION_TABLE_GUIDED = "gdst";
+
     /** Use a ruleflow.*/
     public static final String RULE_FLOW_RF = "rf";
 
@@ -67,7 +69,7 @@
     /**
      * The following group the assets together for lists, helpers etc...
      */
-    public static final String[] BUSINESS_RULE_FORMATS = new String[] {AssetFormats.BUSINESS_RULE, AssetFormats.DSL_TEMPLATE_RULE, AssetFormats.DECISION_SPREADSHEET_XLS};
+    public static final String[] BUSINESS_RULE_FORMATS = new String[] {AssetFormats.BUSINESS_RULE, AssetFormats.DSL_TEMPLATE_RULE, AssetFormats.DECISION_SPREADSHEET_XLS, AssetFormats.DECISION_TABLE_GUIDED};
 
 
     /**

Modified: labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/java/org/drools/brms/client/decisiontable/GuidedDecisionTableWidget.java
===================================================================
--- labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/java/org/drools/brms/client/decisiontable/GuidedDecisionTableWidget.java	2008-03-26 00:00:13 UTC (rev 19226)
+++ labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/java/org/drools/brms/client/decisiontable/GuidedDecisionTableWidget.java	2008-03-26 00:49:04 UTC (rev 19227)
@@ -21,6 +21,7 @@
 import org.drools.brms.client.modeldriven.ui.ActionValueEditor;
 import org.drools.brms.client.packages.SuggestionCompletionCache;
 import org.drools.brms.client.rpc.RuleAsset;
+import org.drools.brms.client.ruleeditor.SaveEventListener;
 
 import com.google.gwt.user.client.Command;
 import com.google.gwt.user.client.ui.Button;
@@ -70,7 +71,7 @@
  * This is the new guided decision table editor for the web.
  * @author Michael Neale
  */
-public class GuidedDecisionTableWidget extends Composite {
+public class GuidedDecisionTableWidget extends Composite implements SaveEventListener {
 
     private GuidedDecisionTable dt;
 	private VerticalPanel layout;
@@ -89,6 +90,7 @@
 
     	this.dt = (GuidedDecisionTable) asset.content;
     	this.packageName = asset.metaData.packageName;
+    	this.dt.tableName = asset.metaData.name;
 
 
         layout = new VerticalPanel();
@@ -484,7 +486,8 @@
 			vp.setWidth("100%");
 			PrettyFormLayout pfl = new PrettyFormLayout();
 			pfl.startSection();
-			pfl.addRow(new HTML("<img src='images/information.gif'/>&nbsp;Configure the columns first, then add rows (rules)."));
+			pfl.addRow(new HTML("<img src='images/information.gif'/>&nbsp;Configure the columns first, then add rows (rules)." +
+					" A fact model (in the current package) will be needed to provide the facts and fields to configure this decision table."));
 
 			pfl.endSection();
 			vp.add(pfl);
@@ -704,6 +707,20 @@
         		}
         	}
         }));
+        menu.addItem(new Item("Copy selected row(s)...", new BaseItemListenerAdapter() {
+        	public void onClick(BaseItem item, EventObject e) {
+        		Record[] selected = grid.getSelectionModel().getSelections();
+    			for (int i = 0; i < selected.length; i++) {
+    				Record r = recordDef.createRecord(new Object[recordDef.getFields().length]);
+    				Record orig = selected[i];
+    				for (int j = 0; j < fds.length; j++) {
+						r.set(fds[j].getName(), orig.getAsString(fds[j].getName()));
+					}
+    				store.add(r);
+				}
+    			renumber(store.getRecords());
+        	}
+        }));
         ToolbarMenuButton tbb = new ToolbarMenuButton("Modify...", menu);
 
         tb.addButton(tbb);
@@ -820,5 +837,13 @@
 		w.show();
 	}
 
+	/**
+	 * Need to copy the data from the record store.
+	 */
+	public void onSave() {
+		System.err.println("saving event fired !");
+		this.scrapeData(-1);
+	}
 
+
 }

Modified: labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/java/org/drools/brms/client/explorer/ExplorerLayoutManager.java
===================================================================
--- labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/java/org/drools/brms/client/explorer/ExplorerLayoutManager.java	2008-03-26 00:00:13 UTC (rev 19226)
+++ labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/java/org/drools/brms/client/explorer/ExplorerLayoutManager.java	2008-03-26 00:49:04 UTC (rev 19227)
@@ -410,6 +410,12 @@
         			}
         		}, "images/spreadsheet_small.gif"));
 
+        m.addItem(new Item("New Decision Table (Web - guided editor)", new BaseItemListenerAdapter() {
+			public void onClick(BaseItem item, EventObject e) {
+				launchWizard(AssetFormats.DECISION_TABLE_GUIDED, "New Decision Table (Guided editor)", true);
+			}
+		}, "images/gdst.gif"));
+
         m.addItem(new Item("New Test Scenario", new BaseItemListenerAdapter() {
         			public void onClick(BaseItem item, EventObject e) {
         				launchWizard(AssetFormats.TEST_SCENARIO,

Modified: labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/EditorLauncher.java
===================================================================
--- labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/EditorLauncher.java	2008-03-26 00:00:13 UTC (rev 19226)
+++ labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/EditorLauncher.java	2008-03-26 00:49:04 UTC (rev 19227)
@@ -22,6 +22,7 @@
 
 import org.drools.brms.client.common.AssetFormats;
 import org.drools.brms.client.decisiontable.DecisionTableXLSWidget;
+import org.drools.brms.client.decisiontable.GuidedDecisionTableWidget;
 import org.drools.brms.client.modeldriven.ui.RuleModeller;
 import org.drools.brms.client.packages.ModelAttachmentFileWidget;
 import org.drools.brms.client.qa.ScenarioWidget;
@@ -69,6 +70,8 @@
             return new RuleValidatorWrapper(new DefaultRuleContentWidget( asset ), asset);
         } else if (asset.metaData.format.equals(AssetFormats.TEST_SCENARIO)) {
         	return new ScenarioWidget(asset);
+        } else if (asset.metaData.format.equals(AssetFormats.DECISION_TABLE_GUIDED)) {
+        	return new RuleValidatorWrapper(new GuidedDecisionTableWidget(asset), asset);
         } else {
             return new DefaultRuleContentWidget( asset );
         }
@@ -89,6 +92,7 @@
         result.put( AssetFormats.RULE_FLOW_RF, "ruleflow_small.gif" );
         result.put( AssetFormats.TEST_SCENARIO, "test_manager.gif");
         result.put( AssetFormats.ENUMERATION, "enumeration.gif");
+        result.put( AssetFormats.DECISION_TABLE_GUIDED, "gdst.gif");
 
         return result;
     }

Modified: labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/NewAssetWizard.java
===================================================================
--- labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/NewAssetWizard.java	2008-03-26 00:00:13 UTC (rev 19226)
+++ labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/NewAssetWizard.java	2008-03-26 00:49:04 UTC (rev 19227)
@@ -116,6 +116,7 @@
         box.addItem( "Business rule (using guided editor)", AssetFormats.BUSINESS_RULE );
         box.addItem( "DRL rule (technical rule - text editor)", AssetFormats.DRL );
         box.addItem( "Business rule using a DSL (text editor)", AssetFormats.DSL_TEMPLATE_RULE );
+        box.addItem( "Decision table (web - guided editor)", AssetFormats.DECISION_TABLE_GUIDED );
         box.addItem( "Decision table (spreadsheet)", AssetFormats.DECISION_SPREADSHEET_XLS );
 
         box.setSelectedIndex( 0 );

Modified: labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/RuleValidatorWrapper.java
===================================================================
--- labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/RuleValidatorWrapper.java	2008-03-26 00:00:13 UTC (rev 19226)
+++ labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/RuleValidatorWrapper.java	2008-03-26 00:49:04 UTC (rev 19227)
@@ -41,7 +41,7 @@
  * This widget wraps a rule asset widget, and provides actions to validate and view source.
  * @author Michael Neale
  */
-public class RuleValidatorWrapper extends DirtyableComposite {
+public class RuleValidatorWrapper extends DirtyableComposite implements SaveEventListener {
 
     private RuleAsset asset;
     private VerticalPanel layout = new VerticalPanel();
@@ -159,6 +159,13 @@
         LoadingPopup.close();
     }
 
+	public void onSave() {
+		if (editor instanceof SaveEventListener) {
+			SaveEventListener el = (SaveEventListener) editor;
+			el.onSave();
+		}
+	}
 
 
+
 }
\ No newline at end of file

Modified: labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/RuleViewer.java
===================================================================
--- labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/RuleViewer.java	2008-03-26 00:00:13 UTC (rev 19226)
+++ labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/RuleViewer.java	2008-03-26 00:49:04 UTC (rev 19227)
@@ -59,6 +59,7 @@
 
     private ActionToolbar toolbar;
 	private VerticalPanel layout;
+	private HorizontalPanel hsp;
 
 
     public RuleViewer(RuleAsset asset) {
@@ -97,10 +98,17 @@
     private void doWidgets() {
     	layout.clear();
 
+
+    	editor = EditorLauncher.getEditorViewer(asset, this);
+
+
         //the action widgets (checkin/close etc).
         toolbar = new ActionToolbar( asset,
                                      new Command() {
                 public void execute() {
+                	if (editor instanceof SaveEventListener) {
+                		((SaveEventListener) editor).onSave();
+                	}
                     doCheckin();
                 }
                 },
@@ -123,22 +131,17 @@
         layout.setCellHorizontalAlignment(toolbar, HasHorizontalAlignment.ALIGN_LEFT);
         layout.setCellWidth(toolbar, "100%");
 
-        metaWidget = new MetaDataWidget( this.asset.metaData, readOnly, this.asset.uuid, new Command() {
-            public void execute() {
-                refreshDataAndView();
-            }
+        doMetaWidget();
 
-        });
 
+        hsp = new HorizontalPanel();
 
-        HorizontalPanel hsp = new HorizontalPanel();
 
-
         layout.add(hsp);
 
 
-        editor = EditorLauncher.getEditorViewer(asset, this);
 
+
         //the document widget
         doco = new RuleDocumentWidget(asset.metaData);
 
@@ -156,6 +159,9 @@
         //hsp.addStyleName("HorizontalSplitPanel");
 
         hsp.add(metaWidget);
+
+
+
         hsp.setCellWidth(metaWidget, "25%");
 
         //hsp.setSplitPosition("80%");
@@ -163,8 +169,16 @@
 
     }
 
+	private void doMetaWidget() {
+		metaWidget = new MetaDataWidget( this.asset.metaData, readOnly, this.asset.uuid, new Command() {
+            public void execute() {
+                refreshMetaWidgetOnly();
+            }
+        });
+	}
 
 
+
     protected boolean hasDirty() {
     	//not sure how to implement this now.
 		return false;
@@ -189,7 +203,7 @@
     }
 
     void doCheckin() {
-        layout.clear();
+        //layout.clear();
 
         LoadingPopup.showMessage( "Saving, please wait..." );
         RepositoryServiceFactory.getService().checkinVersion( this.asset, new GenericCallback() {
@@ -217,13 +231,15 @@
 
                 doco.resetDirty();
 
-                refreshDataAndView( );
+                refreshMetaWidgetOnly();
+
             }
         });
     }
 
 
-    /**
+
+	/**
      * In some cases we will want to flush the package dependency stuff for suggestion completions.
      * The user will still need to reload the asset editor though.
      */
@@ -252,9 +268,26 @@
         });
     }
 
+    /**
+     * This will only
+     */
+    public void refreshMetaWidgetOnly() {
+    	LoadingPopup.showMessage("Refreshing item...");
+        RepositoryServiceFactory.getService().loadRuleAsset( asset.uuid, new GenericCallback() {
+            public void onSuccess(Object a) {
+                RuleAsset asset_ = (RuleAsset) a;
+                asset.metaData = asset_.metaData;
+                hsp.remove(metaWidget);
+                doMetaWidget();
+                hsp.add(metaWidget);
+                LoadingPopup.close();
+            }
+        });
+    }
 
 
 
+
     /**
      * This needs to be called to allow the opened viewer to close itself.
      * @param c

Copied: labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/SaveEventListener.java (from rev 19136, labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/SaveEventListener.java)
===================================================================
--- labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/SaveEventListener.java	                        (rev 0)
+++ labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/SaveEventListener.java	2008-03-26 00:49:04 UTC (rev 19227)
@@ -0,0 +1,12 @@
+package org.drools.brms.client.ruleeditor;
+
+/**
+ * This is used to notify that a save even is about to occur.
+ * @author Michael Neale
+ *
+ */
+public interface SaveEventListener {
+
+	void onSave();
+
+}

Modified: labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/java/org/drools/brms/client/rulelist/AssetItemGrid.java
===================================================================
--- labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/java/org/drools/brms/client/rulelist/AssetItemGrid.java	2008-03-26 00:00:13 UTC (rev 19226)
+++ labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/java/org/drools/brms/client/rulelist/AssetItemGrid.java	2008-03-26 00:49:04 UTC (rev 19227)
@@ -245,9 +245,13 @@
                                             CellMetadata cellMetadata, Record record,
                                             int rowIndex, int colNum, Store store) {
                                         String fmtIcon = "images/" + EditorLauncher.getAssetFormatIcon(record.getAsString("format"));
+                                        String desc = record.getAsString("Description");
+                                        if (desc == null) {
+                                        	desc = "";
+                                        }
                                         return Format.format("<img src='{0}'/><b>{1}</b><br/><small>{2}</small>", new String[]{fmtIcon,
                                                 (String) value,
-                                                record.getAsString("Description")});
+                                                desc});
                                     }
                                 });
                             }

Copied: labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/java/org/drools/brms/public/images/gdst.gif (from rev 19136, labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/gdst.gif)
===================================================================
(Binary files differ)

Copied: labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/GuidedDTContentHandler.java (from rev 19136, labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/GuidedDTContentHandler.java)
===================================================================
--- labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/GuidedDTContentHandler.java	                        (rev 0)
+++ labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/GuidedDTContentHandler.java	2008-03-26 00:49:04 UTC (rev 19227)
@@ -0,0 +1,83 @@
+package org.drools.brms.server.contenthandler;
+/*
+ * Copyright 2005 JBoss Inc
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+
+import java.io.IOException;
+import java.io.StringReader;
+
+import org.drools.brms.client.modeldriven.brl.RuleModel;
+import org.drools.brms.client.modeldriven.dt.GuidedDecisionTable;
+import org.drools.brms.client.rpc.RuleAsset;
+import org.drools.brms.server.builder.BRMSPackageBuilder;
+import org.drools.brms.server.builder.ContentPackageAssembler;
+import org.drools.brms.server.util.BRDRLPersistence;
+import org.drools.brms.server.util.BRXMLPersistence;
+import org.drools.brms.server.util.GuidedDTDRLPersistence;
+import org.drools.brms.server.util.GuidedDTXMLPersistence;
+import org.drools.compiler.DroolsParserException;
+import org.drools.repository.AssetItem;
+import org.drools.repository.PackageItem;
+
+import com.google.gwt.user.client.rpc.SerializableException;
+
+/**
+ * For guided decision tables.
+ *
+ * @author Michael Neale
+ */
+public class GuidedDTContentHandler extends ContentHandler implements IRuleAsset {
+
+	public void retrieveAssetContent(RuleAsset asset, PackageItem pkg,
+			AssetItem item) throws SerializableException {
+		GuidedDecisionTable model = GuidedDTXMLPersistence.getInstance().unmarshal(
+				item.getContent());
+
+		asset.content = model;
+
+	}
+
+	public void storeAssetContent(RuleAsset asset, AssetItem repoAsset)
+			throws SerializableException {
+		GuidedDecisionTable data = (GuidedDecisionTable) asset.content;
+		if (data.tableName == null) {
+			data.tableName = repoAsset.getName();
+		}
+		repoAsset.updateContent(GuidedDTXMLPersistence.getInstance().marshal(data));
+	}
+
+	public void compile(BRMSPackageBuilder builder, AssetItem asset,
+			ContentPackageAssembler.ErrorLogger logger)
+			throws DroolsParserException, IOException {
+		builder
+				.addPackageFromDrl(new StringReader(
+						getSourceDRL(asset, builder)));
+	}
+
+	public void assembleDRL(BRMSPackageBuilder builder, AssetItem asset,
+			StringBuffer buf) {
+		String drl = getSourceDRL(asset, builder);
+		buf.append(drl);
+	}
+
+	private String getSourceDRL(AssetItem asset, BRMSPackageBuilder builder) {
+		GuidedDecisionTable model = GuidedDTXMLPersistence.getInstance().unmarshal(asset.getContent());
+        model.tableName = asset.getName();
+		String drl = GuidedDTDRLPersistence.getInstance().marshal(model);
+		return drl;
+	}
+}
\ No newline at end of file

Modified: labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/resources/contenthandler.properties
===================================================================
--- labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/resources/contenthandler.properties	2008-03-26 00:00:13 UTC (rev 19226)
+++ labs/jbossrules/branches/mic_20080325/drools-jbrms/src/main/resources/contenthandler.properties	2008-03-26 00:49:04 UTC (rev 19227)
@@ -21,4 +21,6 @@
 # Content Handler for Enumeration
 enumeration=org.drools.brms.server.contenthandler.EnumerationContentHandler
 # Content handler for scenario (its just text, not part of build)
-scenario=org.drools.brms.server.contenthandler.ScenarioContentHandler
\ No newline at end of file
+scenario=org.drools.brms.server.contenthandler.ScenarioContentHandler
+# for guided decision tables
+gdst=org.drools.brms.server.contenthandler.GuidedDTContentHandler
\ No newline at end of file

Modified: labs/jbossrules/branches/mic_20080325/drools-jbrms/src/test/java/org/drools/brms/client/common/AssetFormatsTest.java
===================================================================
--- labs/jbossrules/branches/mic_20080325/drools-jbrms/src/test/java/org/drools/brms/client/common/AssetFormatsTest.java	2008-03-26 00:00:13 UTC (rev 19226)
+++ labs/jbossrules/branches/mic_20080325/drools-jbrms/src/test/java/org/drools/brms/client/common/AssetFormatsTest.java	2008-03-26 00:49:04 UTC (rev 19227)
@@ -31,6 +31,8 @@
                     fmt.equals( AssetFormats.DECISION_SPREADSHEET_XLS )
                     ||
                     fmt.equals( AssetFormats.DSL_TEMPLATE_RULE )
+                    ||
+                    fmt.equals( AssetFormats.DECISION_TABLE_GUIDED )
             ) ) {
                 fail("Incorrect grouping of business rules.");
             }
@@ -44,6 +46,7 @@
     public void testPackageDependencies() {
         assertFalse(AssetFormats.isPackageDependency(AssetFormats.BUSINESS_RULE));
         assertFalse(AssetFormats.isPackageDependency(AssetFormats.DRL));
+        assertFalse(AssetFormats.isPackageDependency(AssetFormats.DECISION_TABLE_GUIDED));
         assertFalse(AssetFormats.isPackageDependency(AssetFormats.TEST_SCENARIO));
         assertTrue(AssetFormats.isPackageDependency(AssetFormats.DSL));
         assertTrue(AssetFormats.isPackageDependency(AssetFormats.MODEL));

Modified: labs/jbossrules/branches/mic_20080325/drools-jbrms/src/test/java/org/drools/brms/server/ServiceImplementationTest.java
===================================================================
--- labs/jbossrules/branches/mic_20080325/drools-jbrms/src/test/java/org/drools/brms/server/ServiceImplementationTest.java	2008-03-26 00:00:13 UTC (rev 19226)
+++ labs/jbossrules/branches/mic_20080325/drools-jbrms/src/test/java/org/drools/brms/server/ServiceImplementationTest.java	2008-03-26 00:49:04 UTC (rev 19227)
@@ -16,36 +16,75 @@
  * limitations under the License.
  */
 
-import com.google.gwt.user.client.rpc.IsSerializable;
-import com.google.gwt.user.client.rpc.SerializableException;
+import java.io.ByteArrayInputStream;
+import java.io.ObjectInput;
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.Iterator;
+import java.util.List;
+
 import junit.framework.TestCase;
 
-import org.apache.commons.io.IOUtils;
 import org.drools.Person;
 import org.drools.RuleBase;
 import org.drools.StatelessSession;
 import org.drools.brms.client.common.AssetFormats;
 import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
-import org.drools.brms.client.modeldriven.brl.*;
-import org.drools.brms.client.modeldriven.testing.*;
-import org.drools.brms.client.rpc.*;
+import org.drools.brms.client.modeldriven.brl.ActionFieldValue;
+import org.drools.brms.client.modeldriven.brl.ActionSetField;
+import org.drools.brms.client.modeldriven.brl.FactPattern;
+import org.drools.brms.client.modeldriven.brl.ISingleFieldConstraint;
+import org.drools.brms.client.modeldriven.brl.RuleModel;
+import org.drools.brms.client.modeldriven.brl.SingleFieldConstraint;
+import org.drools.brms.client.modeldriven.dt.ActionSetFieldCol;
+import org.drools.brms.client.modeldriven.dt.ConditionCol;
+import org.drools.brms.client.modeldriven.dt.GuidedDecisionTable;
+import org.drools.brms.client.modeldriven.testing.ExecutionTrace;
+import org.drools.brms.client.modeldriven.testing.FactData;
+import org.drools.brms.client.modeldriven.testing.FieldData;
+import org.drools.brms.client.modeldriven.testing.Scenario;
+import org.drools.brms.client.modeldriven.testing.VerifyFact;
+import org.drools.brms.client.modeldriven.testing.VerifyField;
+import org.drools.brms.client.modeldriven.testing.VerifyRuleFired;
+import org.drools.brms.client.rpc.AnalysisReport;
+import org.drools.brms.client.rpc.BuilderResult;
+import org.drools.brms.client.rpc.BulkTestRunResult;
+import org.drools.brms.client.rpc.DetailedSerializableException;
+import org.drools.brms.client.rpc.PackageConfigData;
+import org.drools.brms.client.rpc.RepositoryService;
+import org.drools.brms.client.rpc.RuleAsset;
+import org.drools.brms.client.rpc.RuleContentText;
+import org.drools.brms.client.rpc.ScenarioResultSummary;
+import org.drools.brms.client.rpc.ScenarioRunResult;
+import org.drools.brms.client.rpc.SnapshotInfo;
+import org.drools.brms.client.rpc.TableConfig;
+import org.drools.brms.client.rpc.TableDataResult;
+import org.drools.brms.client.rpc.TableDataRow;
+import org.drools.brms.client.rpc.ValidatedResponse;
 import org.drools.brms.server.util.BRXMLPersistence;
+import org.drools.brms.server.util.GuidedDTXMLPersistence;
 import org.drools.brms.server.util.IO;
 import org.drools.brms.server.util.ScenarioXMLPersistence;
 import org.drools.brms.server.util.TableDisplayHandler;
 import org.drools.brms.server.util.TestEnvironmentSessionHelper;
 import org.drools.common.DroolsObjectInputStream;
-import org.drools.repository.*;
+import org.drools.repository.AssetItem;
+import org.drools.repository.CategoryItem;
+import org.drools.repository.PackageItem;
+import org.drools.repository.RulesRepository;
+import org.drools.repository.RulesRepositoryException;
+import org.drools.repository.StateItem;
 import org.drools.rule.Package;
 import org.drools.util.BinaryRuleBaseLoader;
 
-import java.io.ByteArrayInputStream;
-import java.io.InputStreamReader;
-import java.io.ObjectInputStream;
-import java.io.StringReader;
-import java.io.ObjectInput;
-import java.util.*;
+import com.google.gwt.user.client.rpc.IsSerializable;
+import com.google.gwt.user.client.rpc.SerializableException;
 
+/**
+ * This is really a collection of integration tests.
+ * @author Michael Neale
+ */
 public class ServiceImplementationTest extends TestCase {
 
 	public void testCategory() throws Exception {
@@ -1762,6 +1801,77 @@
 	}
 
 
+	public void testGuidedDTExecute() throws Exception {
+		ServiceImplementation impl = getService();
+		RulesRepository repo = impl.repository;
+		impl.createCategory("/", "decisiontables", "");
+
+		PackageItem pkg = repo.createPackage("testGuidedDTCompile", "");
+		pkg.updateHeader("import org.drools.Person");
+		AssetItem rule1 = pkg.addAsset("rule_1", "");
+		rule1.updateFormat(AssetFormats.DRL);
+		rule1.updateContent("rule 'rule1' \n when \np : Person() \n then \np.setAge(42); \n end");
+		rule1.checkin("");
+		repo.save();
+
+
+		GuidedDecisionTable dt = new GuidedDecisionTable();
+		ConditionCol col = new ConditionCol();
+		col.boundName = "p";
+		col.constraintValueType = ISingleFieldConstraint.TYPE_LITERAL;
+		col.factField = "hair";
+		col.factType = "Person";
+		col.operator = "==";
+		dt.conditionCols.add(col);
+
+		ActionSetFieldCol ac = new ActionSetFieldCol();
+		ac.boundName = "p";
+		ac.factField = "likes";
+		ac.type = SuggestionCompletionEngine.TYPE_STRING;
+		dt.actionCols.add(ac);
+
+		dt.data = new String[][] {
+			new String[] {"1", "descrip", "pink", "cheese"}
+		};
+
+		String uid = impl.createNewRule("decTable", "", "decisiontables", pkg.getName(), AssetFormats.DECISION_TABLE_GUIDED);
+		RuleAsset ass = impl.loadRuleAsset(uid);
+		ass.content = dt;
+		impl.checkinVersion(ass);
+
+		BuilderResult[] results = impl.buildPackage(pkg.getUUID(), null, true);
+		assertNull(results);
+
+		pkg = repo.loadPackage("testGuidedDTCompile");
+		byte[] binPackage = pkg.getCompiledPackageBytes();
+
+		assertNotNull(binPackage);
+
+		ByteArrayInputStream bin = new ByteArrayInputStream(binPackage);
+		ObjectInput in = new DroolsObjectInputStream(bin);
+		Package binPkg = (Package) in.readObject();
+
+		assertEquals(2, binPkg.getRules().length);
+
+		assertNotNull(binPkg);
+		assertTrue(binPkg.isValid());
+
+		Person p = new Person();
+
+
+		p.setHair("pink");
+
+		BinaryRuleBaseLoader loader = new BinaryRuleBaseLoader();
+		loader.addPackage(new ByteArrayInputStream(binPackage));
+		RuleBase rb = loader.getRuleBase();
+
+		StatelessSession sess = rb.newStatelessSession();
+		sess.execute(p);
+		assertEquals(42, p.getAge());
+		assertEquals("cheese", p.getLikes());
+	}
+
+
 	private ServiceImplementation getService() throws Exception {
 		ServiceImplementation impl = new ServiceImplementation();
 

Modified: labs/jbossrules/branches/mic_20080325/drools-jbrms/src/test/java/org/drools/brms/server/contenthandler/ContentHandlerTest.java
===================================================================
--- labs/jbossrules/branches/mic_20080325/drools-jbrms/src/test/java/org/drools/brms/server/contenthandler/ContentHandlerTest.java	2008-03-26 00:00:13 UTC (rev 19226)
+++ labs/jbossrules/branches/mic_20080325/drools-jbrms/src/test/java/org/drools/brms/server/contenthandler/ContentHandlerTest.java	2008-03-26 00:49:04 UTC (rev 19227)
@@ -35,7 +35,9 @@
         assertTrue(ContentHandler.getHandler( AssetFormats.BUSINESS_RULE ) instanceof BRLContentHandler);
         assertTrue(ContentHandler.getHandler( AssetFormats.DECISION_SPREADSHEET_XLS ) instanceof DecisionTableXLSHandler);
         assertTrue(ContentHandler.getHandler( AssetFormats.ENUMERATION ) instanceof EnumerationContentHandler);
+        assertTrue(ContentHandler.getHandler( AssetFormats.DECISION_TABLE_GUIDED ) instanceof GuidedDTContentHandler);
 
+
         try {
             ContentHandler.getHandler( "XXX" );
             fail("should have thrown an exception");
@@ -49,6 +51,7 @@
         assertTrue(ContentHandler.getHandler( AssetFormats.DSL_TEMPLATE_RULE ).isRuleAsset());
         assertTrue(ContentHandler.getHandler( AssetFormats.BUSINESS_RULE ).isRuleAsset());
         assertTrue(ContentHandler.getHandler( AssetFormats.DECISION_SPREADSHEET_XLS ).isRuleAsset());
+        assertTrue(ContentHandler.getHandler( AssetFormats.DECISION_TABLE_GUIDED ).isRuleAsset());
 
         assertFalse(ContentHandler.getHandler( AssetFormats.DSL ).isRuleAsset());
         assertFalse(ContentHandler.getHandler( AssetFormats.MODEL ).isRuleAsset());

Modified: labs/jbossrules/branches/mic_20080325/drools-jbrms/src/test/java/org/drools/brms/server/contenthandler/ContentManagerTest.java
===================================================================
--- labs/jbossrules/branches/mic_20080325/drools-jbrms/src/test/java/org/drools/brms/server/contenthandler/ContentManagerTest.java	2008-03-26 00:00:13 UTC (rev 19226)
+++ labs/jbossrules/branches/mic_20080325/drools-jbrms/src/test/java/org/drools/brms/server/contenthandler/ContentManagerTest.java	2008-03-26 00:49:04 UTC (rev 19227)
@@ -11,7 +11,7 @@
 		ContentManager mgr_ = ContentManager.getInstance();
 		assertSame(mgr, mgr_);
 
-		assertEquals(10, mgr.getContentHandlers().size());
+		assertEquals(11, mgr.getContentHandlers().size());
 		assertTrue(mgr.getContentHandlers().get("drl") instanceof DRLFileContentHandler);
 
 		assertTrue(mgr.getContentHandlers().containsKey(AssetFormats.TEST_SCENARIO));




More information about the jboss-svn-commits mailing list