[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'/> Configure the columns first, then add rows (rules)."));
+ pfl.addRow(new HTML("<img src='images/information.gif'/> 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