[jboss-svn-commits] JBL Code SVN: r9832 - in labs/jbossrules/trunk/drools-jbrms/src: main/java/org/drools/brms/server and 2 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Feb 27 21:52:09 EST 2007
Author: michael.neale at jboss.com
Date: 2007-02-27 21:52:09 -0500 (Tue, 27 Feb 2007)
New Revision: 9832
Added:
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/BRXMLContentHandler.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/ContentHandler.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/DSLRuleContentHandler.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/ModelContentHandler.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/PlainTextContentHandler.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/content_types.properties
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/package.html
labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/ContentHandlerTest.java
Modified:
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/MetaDataWidget.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/RuleDocumentWidget.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/AssetContentFormatHandler.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/JBRMSServiceServlet.java
labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/ServiceImplementationTest.java
Log:
refactoring - to use content handlers, much neater
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/MetaDataWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/MetaDataWidget.java 2007-02-28 02:20:55 UTC (rev 9831)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/MetaDataWidget.java 2007-02-28 02:52:09 UTC (rev 9832)
@@ -10,6 +10,7 @@
import org.drools.brms.client.rpc.RepositoryServiceFactory;
import com.google.gwt.user.client.Command;
+import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.ChangeListener;
import com.google.gwt.user.client.ui.ClickListener;
@@ -149,6 +150,10 @@
ok.addClickListener( new ClickListener() {
public void onClick(Widget w) {
+ if (sel.getSelectedPackage().equals( pkg )) {
+ Window.alert( "You need to pick a different package to move this to." );
+ return;
+ }
RepositoryServiceFactory.getService().changeAssetPackage( uuid, sel.getSelectedPackage(),
"Moved from : " + pkg,
new GenericCallback() {
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/RuleDocumentWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/RuleDocumentWidget.java 2007-02-28 02:20:55 UTC (rev 9831)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/RuleDocumentWidget.java 2007-02-28 02:52:09 UTC (rev 9832)
@@ -3,7 +3,10 @@
import org.drools.brms.client.rpc.MetaData;
import com.google.gwt.user.client.ui.ChangeListener;
+import com.google.gwt.user.client.ui.ClickListener;
import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.HorizontalPanel;
+import com.google.gwt.user.client.ui.Image;
import com.google.gwt.user.client.ui.TextArea;
import com.google.gwt.user.client.ui.Widget;
@@ -18,10 +21,26 @@
private TextArea text;
public RuleDocumentWidget(MetaData data) {
+//
+// HorizontalPanel horiz = new HorizontalPanel();
+//
+
text = new TextArea();
+
+// horiz.add( text );
+// Image max = new Image("images/max_min.gif");
+// max.setTitle( "Show/hide the documentation panel." );
+// max.addClickListener( new ClickListener() {
+// public void onClick(Widget w) {
+// text.setVisible( !text.isVisible() );
+// }
+// });
+// horiz.add( max );
+// horiz.setWidth( "100%" );
+ text.setWidth( "100%" );
text.setVisibleLines( 10 );
text.setStyleName( "rule-viewer-Documentation" );
- text.setTitle( "This is rule documentation. Human friendly descriptions of the business logic.");
+ text.setTitle( "This is rule documentation. Human friendly descriptions of the business logic.");
initWidget(text);
loadData(data);
}
@@ -34,6 +53,9 @@
data.dirty = true;
}
});
+ if (data.description == null || "".equals(data.description )) {
+ text.setText( "<documentation>" );
+ }
}
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/AssetContentFormatHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/AssetContentFormatHandler.java 2007-02-28 02:20:55 UTC (rev 9831)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/AssetContentFormatHandler.java 2007-02-28 02:52:09 UTC (rev 9832)
@@ -13,6 +13,7 @@
import org.drools.brms.client.rpc.RuleAsset;
import org.drools.brms.client.rpc.RuleContentText;
import org.drools.brms.client.rpc.RuleModelData;
+import org.drools.brms.server.contenthandler.ContentHandler;
import org.drools.brms.server.util.BRLPersistence;
import org.drools.repository.AssetItem;
@@ -32,119 +33,73 @@
*
* @see AssetFormats
*
+ * NOTE: THIS IS NOT NEEDED... remove it when integration tests completeted.
+ *
* @author Michael Neale
*/
-public class AssetContentFormatHandler {
+public class AssetContentFormatHandler {//implements ContentHandler {
- /**
- * When loading asset content.
- * @param asset The target.
- * @param item The source.
- * @throws SerializableException
- */
- public void retrieveAssetContent(RuleAsset asset,
- AssetItem item) throws SerializableException {
- if (item.getFormat().equals( AssetFormats.BUSINESS_RULE )) {
- RuleModel model = BRLPersistence.getInstance().toModel( item.getContent() );
-
- RuleModelData data = new RuleModelData();
- data.model = model;
- //TODO: replace with the code that loads it from a cache server side.
- //otherwise it will look at the current package, and then work out the model from that.
- data.completionEngine = getDummySuggestionEngine();
-
- asset.content = data;
- } else if (item.getFormat().equals( AssetFormats.DSL_TEMPLATE_RULE )) {
- RuleContentText text = new RuleContentText();
- text.content = item.getContent();
-
- //TODO: make this read in the DSL files in the current package.
- DSLRuleData data = getDummyDSLSuggestions();
- data.text = text;
-
- asset.content = data;
- } else {
- //default to text, goode olde texte, just like mum used to make.
- RuleContentText text = new RuleContentText();
- text.content = item.getContent();
- asset.content = text;
-
- }
-
-
-
- }
+// /* (non-Javadoc)
+// * @see org.drools.brms.server.FormatHandler#retrieveAssetContent(org.drools.brms.client.rpc.RuleAsset, org.drools.repository.AssetItem)
+// */
+// public void retrieveAssetContent(RuleAsset asset,
+// AssetItem item) throws SerializableException {
+// if (item.getFormat().equals( AssetFormats.BUSINESS_RULE )) {
+// RuleModel model = BRLPersistence.getInstance().toModel( item.getContent() );
+//
+// RuleModelData data = new RuleModelData();
+// data.model = model;
+// //TODO: replace with the code that loads it from a cache server side.
+// //otherwise it will look at the current package, and then work out the model from that.
+// data.completionEngine = getDummySuggestionEngine();
+//
+// asset.content = data;
+// } else if (item.getFormat().equals( AssetFormats.DSL_TEMPLATE_RULE )) {
+// RuleContentText text = new RuleContentText();
+// text.content = item.getContent();
+//
+// //TODO: make this read in the DSL files in the current package.
+// DSLRuleData data = getDummyDSLSuggestions();
+// data.text = text;
+//
+// asset.content = data;
+// } else {
+// //default to text, goode olde texte, just like mum used to make.
+// RuleContentText text = new RuleContentText();
+// text.content = item.getContent();
+// asset.content = text;
+//
+// }
+//
+//
+//
+// }
+//
+//
+//
+//
+//
+// /* (non-Javadoc)
+// * @see org.drools.brms.server.FormatHandler#storeAssetContent(org.drools.brms.client.rpc.RuleAsset, org.drools.repository.AssetItem)
+// */
+// public void storeAssetContent(RuleAsset asset, AssetItem repoAsset) throws SerializableException {
+// if (asset.content instanceof RuleContentText) {
+// repoAsset.updateContent( ((RuleContentText)asset.content).content );
+// } else if (asset.content instanceof RuleModelData) {
+// RuleModelData data = (RuleModelData) asset.content;
+// repoAsset.updateContent( BRLPersistence.getInstance().toXML( data.model ) );
+// } else if (asset.content instanceof DSLRuleData) {
+// DSLRuleData data = (DSLRuleData) asset.content;
+// repoAsset.updateContent( data.text.content );
+// } else if (asset.metaData.format.equals( AssetFormats.MODEL )) {
+// //do nothing, as we have an attachment
+// } else {
+// throw new SerializableException("Not able to handle that type of content just yet...");
+// }
+// }
- private DSLRuleData getDummyDSLSuggestions() {
- DSLRuleData data = new DSLRuleData();
- data.lhsSuggestions = new String[] {"The persons name is {name}", "- age is less than {age}"};
- data.rhsSuggestions = new String[] {"Reject claim", "Send notification to [{email}]"};
- return data;
- }
-
- private SuggestionCompletionEngine getDummySuggestionEngine() {
- SuggestionCompletionEngine com = new SuggestionCompletionEngine();
-
- com.factTypes = new String[] {"Person", "Vehicle"};
-
- Map fieldTypes = new HashMap();
- fieldTypes.put("Person.age", SuggestionCompletionEngine.TYPE_NUMERIC);
- fieldTypes.put("Person.name", "String");
- fieldTypes.put("Vehicle.type", "String");
- fieldTypes.put("Vehcile.make", "String");
- com.fieldTypes = fieldTypes;
-
- Map fieldsForType = new HashMap();
- fieldsForType.put("Person", new String[] {"age", "name"});
- fieldsForType.put("Vehicle", new String[] {"type", "make"});
- com.fieldsForType = fieldsForType;
-
-
- DSLSentence sen = new DSLSentence();
- sen.elements = new DSLSentenceFragment[2];
- sen.elements[0] = new DSLSentenceFragment("This is a dsl expression", false);
- sen.elements[1] = new DSLSentenceFragment("(something)", true);
- com.conditionDSLSentences = new DSLSentence[] {sen};
-
- sen = new DSLSentence();
- sen.elements = new DSLSentenceFragment[3];
- sen.elements[0] = new DSLSentenceFragment("Send an email to [", false);
- sen.elements[1] = new DSLSentenceFragment("(someone)", true);
- sen.elements[2] = new DSLSentenceFragment("]", false);
-
- DSLSentence sen2 = new DSLSentence();
- sen2.elements = new DSLSentenceFragment[1];
- sen2.elements[0] = new DSLSentenceFragment("do nothing", false);
-
- com.actionDSLSentences = new DSLSentence[] {sen, sen2};
-
- return com;
- }
- /**
- * For storing the asset content back into the repo node (any changes).
- * @param asset
- * @param repoAsset
- * @throws SerializableException
- */
- public void storeAssetContent(RuleAsset asset, AssetItem repoAsset) throws SerializableException {
- if (asset.content instanceof RuleContentText) {
- repoAsset.updateContent( ((RuleContentText)asset.content).content );
- } else if (asset.content instanceof RuleModelData) {
- RuleModelData data = (RuleModelData) asset.content;
- repoAsset.updateContent( BRLPersistence.getInstance().toXML( data.model ) );
- } else if (asset.content instanceof DSLRuleData) {
- DSLRuleData data = (DSLRuleData) asset.content;
- repoAsset.updateContent( data.text.content );
- } else if (asset.metaData.format.equals( AssetFormats.MODEL )) {
- //do nothing, as we have an attachment
- } else {
- throw new SerializableException("Not able to handle that type of content just yet...");
- }
- }
-
-
}
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/JBRMSServiceServlet.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/JBRMSServiceServlet.java 2007-02-28 02:20:55 UTC (rev 9831)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/JBRMSServiceServlet.java 2007-02-28 02:52:09 UTC (rev 9832)
@@ -21,6 +21,7 @@
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.server.contenthandler.ContentHandler;
import org.drools.brms.server.util.MetaDataMapper;
import org.drools.brms.server.util.RepositoryManager;
import org.drools.brms.server.util.TableDisplayHandler;
@@ -94,15 +95,9 @@
PackageItem pkg = repo.loadPackage( initialPackage );
AssetItem asset = pkg.addAsset( ruleName, description, initialCategory, format );
- if (format.equals( AssetFormats.DSL_TEMPLATE_RULE )) {
- asset.updateContent( "when\n\nthen\n" );
- } else if (format.equals( AssetFormats.FUNCTION )) {
- asset.updateContent( "function " + ruleName + "(<args here>)\n\n\nend" );
- } else if (format.equals( AssetFormats.DSL )) {
- asset.updateContent( "[when]Condition sentence template {var}=" +
- "rule language mapping {var}\n" +
- "[then]Action sentence template=rule language mapping");
- }
+ applyPreBuiltTemplates( ruleName,
+ format,
+ asset );
repo.save();
@@ -113,6 +108,23 @@
}
+ /**
+ * For some format types, we add some sugar by adding a new template.
+ */
+ private void applyPreBuiltTemplates(String ruleName,
+ String format,
+ AssetItem asset) {
+ if (format.equals( AssetFormats.DSL_TEMPLATE_RULE )) {
+ asset.updateContent( "when\n\nthen\n" );
+ } else if (format.equals( AssetFormats.FUNCTION )) {
+ asset.updateContent( "function " + ruleName + "(<args here>)\n\n\nend" );
+ } else if (format.equals( AssetFormats.DSL )) {
+ asset.updateContent( "[when]Condition sentence template {var}=" +
+ "rule language mapping {var}\n" +
+ "[then]Action sentence template=rule language mapping");
+ }
+ }
+
public PackageConfigData[] listPackages() {
Iterator pkgs = getRulesRepository().listPackages();
List result = new ArrayList();
@@ -195,7 +207,7 @@
asset.metaData = populateMetaData( item );
//load the content
- AssetContentFormatHandler handler = new AssetContentFormatHandler();
+ ContentHandler handler = ContentHandler.getHandler( asset.metaData.format );
handler.retrieveAssetContent(asset, item);
return asset;
@@ -268,7 +280,7 @@
repoAsset.updateState( StateItem.DRAFT_STATE_NAME );
repoAsset.updateCategoryList( meta.categories );
- AssetContentFormatHandler handler = new AssetContentFormatHandler();
+ ContentHandler handler = ContentHandler.getHandler( repoAsset.getFormat() );//new AssetContentFormatHandler();
handler.storeAssetContent( asset, repoAsset );
repoAsset.checkin( meta.checkinComment );
Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/BRXMLContentHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/BRXMLContentHandler.java (rev 0)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/BRXMLContentHandler.java 2007-02-28 02:52:09 UTC (rev 9832)
@@ -0,0 +1,77 @@
+package org.drools.brms.server.contenthandler;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
+import org.drools.brms.client.modeldriven.brxml.DSLSentence;
+import org.drools.brms.client.modeldriven.brxml.DSLSentenceFragment;
+import org.drools.brms.client.modeldriven.brxml.RuleModel;
+import org.drools.brms.client.rpc.RuleAsset;
+import org.drools.brms.client.rpc.RuleModelData;
+import org.drools.brms.server.util.BRLPersistence;
+import org.drools.repository.AssetItem;
+
+import com.google.gwt.user.client.rpc.SerializableException;
+
+public class BRXMLContentHandler extends ContentHandler {
+
+
+ public void retrieveAssetContent(RuleAsset asset,
+ AssetItem item) throws SerializableException {
+ RuleModel model = BRLPersistence.getInstance().toModel( item.getContent() );
+
+ RuleModelData data = new RuleModelData();
+ data.model = model;
+ //TODO: replace with the code that loads it from a cache server side.
+ //otherwise it will look at the current package, and then work out the model from that.
+ data.completionEngine = getDummySuggestionEngine();
+
+ }
+
+ public void storeAssetContent(RuleAsset asset,
+ AssetItem repoAsset) throws SerializableException {
+ RuleModelData data = (RuleModelData) asset.content;
+ repoAsset.updateContent( BRLPersistence.getInstance().toXML( data.model ) );
+ }
+
+ private SuggestionCompletionEngine getDummySuggestionEngine() {
+ SuggestionCompletionEngine com = new SuggestionCompletionEngine();
+
+ com.factTypes = new String[] {"Person", "Vehicle"};
+
+ Map fieldTypes = new HashMap();
+ fieldTypes.put("Person.age", SuggestionCompletionEngine.TYPE_NUMERIC);
+ fieldTypes.put("Person.name", "String");
+ fieldTypes.put("Vehicle.type", "String");
+ fieldTypes.put("Vehcile.make", "String");
+ com.fieldTypes = fieldTypes;
+
+ Map fieldsForType = new HashMap();
+ fieldsForType.put("Person", new String[] {"age", "name"});
+ fieldsForType.put("Vehicle", new String[] {"type", "make"});
+ com.fieldsForType = fieldsForType;
+
+
+ DSLSentence sen = new DSLSentence();
+ sen.elements = new DSLSentenceFragment[2];
+ sen.elements[0] = new DSLSentenceFragment("This is a dsl expression", false);
+ sen.elements[1] = new DSLSentenceFragment("(something)", true);
+ com.conditionDSLSentences = new DSLSentence[] {sen};
+
+ sen = new DSLSentence();
+ sen.elements = new DSLSentenceFragment[3];
+ sen.elements[0] = new DSLSentenceFragment("Send an email to [", false);
+ sen.elements[1] = new DSLSentenceFragment("(someone)", true);
+ sen.elements[2] = new DSLSentenceFragment("]", false);
+
+ DSLSentence sen2 = new DSLSentence();
+ sen2.elements = new DSLSentenceFragment[1];
+ sen2.elements[0] = new DSLSentenceFragment("do nothing", false);
+
+ com.actionDSLSentences = new DSLSentence[] {sen, sen2};
+
+ return com;
+ }
+
+}
Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/BRXMLContentHandler.java
___________________________________________________________________
Name: svn:eol-style
+ native
Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/ContentHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/ContentHandler.java (rev 0)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/ContentHandler.java 2007-02-28 02:52:09 UTC (rev 9832)
@@ -0,0 +1,61 @@
+package org.drools.brms.server.contenthandler;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.drools.brms.client.common.AssetFormats;
+import org.drools.brms.client.rpc.RuleAsset;
+import org.drools.repository.AssetItem;
+import org.drools.repository.RulesRepositoryException;
+
+import com.google.gwt.user.client.rpc.SerializableException;
+
+/**
+ * All content handlers must implement this, and be registered in content_types.properties
+ * @author Michael Neale
+ *
+ */
+public abstract class ContentHandler {
+
+ static Map handlers;
+
+ static {
+ handlers = new HashMap() {{
+ put(AssetFormats.BUSINESS_RULE, new BRXMLContentHandler());
+ put(AssetFormats.DSL_TEMPLATE_RULE, new DSLRuleContentHandler());
+ put(AssetFormats.DRL, new PlainTextContentHandler());
+ put(AssetFormats.DSL, new PlainTextContentHandler());
+ put(AssetFormats.FUNCTION, new PlainTextContentHandler());
+ put(AssetFormats.MODEL, new ModelContentHandler());
+ put(AssetFormats.TECHNICAL_RULE, new PlainTextContentHandler());
+
+ }};
+ }
+
+ /**
+ * When loading asset content.
+ * @param asset The target.
+ * @param item The source.
+ * @throws SerializableException
+ */
+ public abstract void retrieveAssetContent(RuleAsset asset,
+ AssetItem item) throws SerializableException;
+
+ /**
+ * For storing the asset content back into the repo node (any changes).
+ * @param asset
+ * @param repoAsset
+ * @throws SerializableException
+ */
+ public abstract void storeAssetContent(RuleAsset asset,
+ AssetItem repoAsset) throws SerializableException;
+
+
+ public static ContentHandler getHandler(String format) {
+
+ ContentHandler h = (ContentHandler) handlers.get( format );
+ if (h == null) throw new IllegalArgumentException("Unable to handle the content type: " + format);
+ return h;
+ }
+
+}
\ No newline at end of file
Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/ContentHandler.java
___________________________________________________________________
Name: svn:eol-style
+ native
Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/DSLRuleContentHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/DSLRuleContentHandler.java (rev 0)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/DSLRuleContentHandler.java 2007-02-28 02:52:09 UTC (rev 9832)
@@ -0,0 +1,38 @@
+package org.drools.brms.server.contenthandler;
+
+import org.drools.brms.client.rpc.DSLRuleData;
+import org.drools.brms.client.rpc.RuleAsset;
+import org.drools.brms.client.rpc.RuleContentText;
+import org.drools.repository.AssetItem;
+
+import com.google.gwt.user.client.rpc.SerializableException;
+
+public class DSLRuleContentHandler extends ContentHandler {
+
+
+ public void retrieveAssetContent(RuleAsset asset,
+ AssetItem item) throws SerializableException {
+ RuleContentText text = new RuleContentText();
+ text.content = item.getContent();
+
+ //TODO: make this read in the DSL files in the current package.
+ DSLRuleData data = getDummyDSLSuggestions();
+ data.text = text;
+
+ }
+
+ public void storeAssetContent(RuleAsset asset,
+ AssetItem repoAsset) throws SerializableException {
+ DSLRuleData data = (DSLRuleData) asset.content;
+ repoAsset.updateContent( data.text.content );
+
+ }
+
+ private DSLRuleData getDummyDSLSuggestions() {
+ DSLRuleData data = new DSLRuleData();
+ data.lhsSuggestions = new String[] {"The persons name is {name}", "- age is less than {age}"};
+ data.rhsSuggestions = new String[] {"Reject claim", "Send notification to [{email}]"};
+ return data;
+ }
+
+}
Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/DSLRuleContentHandler.java
___________________________________________________________________
Name: svn:eol-style
+ native
Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/ModelContentHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/ModelContentHandler.java (rev 0)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/ModelContentHandler.java 2007-02-28 02:52:09 UTC (rev 9832)
@@ -0,0 +1,21 @@
+package org.drools.brms.server.contenthandler;
+
+import org.drools.brms.client.rpc.RuleAsset;
+import org.drools.repository.AssetItem;
+
+import com.google.gwt.user.client.rpc.SerializableException;
+
+public class ModelContentHandler extends ContentHandler {
+
+
+ public void retrieveAssetContent(RuleAsset asset,
+ AssetItem item) throws SerializableException {
+ //do nothing, as we have an attachment
+ }
+
+ public void storeAssetContent(RuleAsset asset,
+ AssetItem repoAsset) throws SerializableException {
+ //do nothing, as we have an attachment
+ }
+
+}
Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/ModelContentHandler.java
___________________________________________________________________
Name: svn:eol-style
+ native
Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/PlainTextContentHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/PlainTextContentHandler.java (rev 0)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/PlainTextContentHandler.java 2007-02-28 02:52:09 UTC (rev 9832)
@@ -0,0 +1,27 @@
+package org.drools.brms.server.contenthandler;
+
+import org.drools.brms.client.rpc.RuleAsset;
+import org.drools.brms.client.rpc.RuleContentText;
+import org.drools.repository.AssetItem;
+
+import com.google.gwt.user.client.rpc.SerializableException;
+
+public class PlainTextContentHandler extends ContentHandler {
+
+
+ public void retrieveAssetContent(RuleAsset asset,
+ AssetItem item) throws SerializableException {
+ //default to text, goode olde texte, just like mum used to make.
+ RuleContentText text = new RuleContentText();
+ text.content = item.getContent();
+ asset.content = text;
+
+ }
+
+ public void storeAssetContent(RuleAsset asset,
+ AssetItem repoAsset) throws SerializableException {
+ repoAsset.updateContent( ((RuleContentText)asset.content).content );
+
+ }
+
+}
Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/PlainTextContentHandler.java
___________________________________________________________________
Name: svn:eol-style
+ native
Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/content_types.properties
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/content_types.properties (rev 0)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/content_types.properties 2007-02-28 02:52:09 UTC (rev 9832)
@@ -0,0 +1,6 @@
+drl=PlainTextContentHandler
+rule=PlainTextContentHandler
+FUNCTION=PlainTextContentHandler
+trule=DSLRuleContentHandler
+brxml=BRXMLContentHandler
+MODEL=BinaryContentHandler
\ No newline at end of file
Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/content_types.properties
___________________________________________________________________
Name: svn:eol-style
+ native
Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/package.html
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/package.html (rev 0)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/package.html 2007-02-28 02:52:09 UTC (rev 9832)
@@ -0,0 +1,4 @@
+<body>
+This package is for content format handlers.
+The Dublin Core format attribute specifies what content handler to load.
+</body>
\ No newline at end of file
Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/contenthandler/package.html
___________________________________________________________________
Name: svn:eol-style
+ native
Added: labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/ContentHandlerTest.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/ContentHandlerTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/ContentHandlerTest.java 2007-02-28 02:52:09 UTC (rev 9832)
@@ -0,0 +1,25 @@
+package org.drools.brms.server;
+
+import org.drools.brms.client.common.AssetFormats;
+import org.drools.brms.server.contenthandler.BRXMLContentHandler;
+import org.drools.brms.server.contenthandler.ContentHandler;
+import org.drools.brms.server.contenthandler.DSLRuleContentHandler;
+import org.drools.brms.server.contenthandler.PlainTextContentHandler;
+
+import junit.framework.TestCase;
+
+public class ContentHandlerTest extends TestCase {
+
+
+ public void testContentHandlerCreate() {
+ assertTrue(ContentHandler.getHandler( AssetFormats.DRL ) instanceof PlainTextContentHandler);
+ assertTrue(ContentHandler.getHandler( AssetFormats.DSL_TEMPLATE_RULE ) instanceof DSLRuleContentHandler);
+ assertTrue(ContentHandler.getHandler( AssetFormats.BUSINESS_RULE ) instanceof BRXMLContentHandler);
+ try {
+ ContentHandler.getHandler( "XXX" );
+ fail("should have thrown an exception");
+ } catch (IllegalArgumentException e) {
+ assertNotNull(e.getMessage());
+ }
+ }
+}
Property changes on: labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/ContentHandlerTest.java
___________________________________________________________________
Name: svn:eol-style
+ native
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-02-28 02:20:55 UTC (rev 9831)
+++ labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/ServiceImplementationTest.java 2007-02-28 02:52:09 UTC (rev 9832)
@@ -152,7 +152,7 @@
impl.createCategory( "", "testLoadRuleAsset", "this is a cat" );
- impl.createNewRule( "testLoadRuleAsset", "description", "testLoadRuleAsset", "testLoadRuleAsset", "txt" );
+ impl.createNewRule( "testLoadRuleAsset", "description", "testLoadRuleAsset", "testLoadRuleAsset", "drl" );
TableDataResult res = impl.loadRuleListForCategories( "testLoadRuleAsset" );
assertEquals(1, res.data.length);
@@ -175,7 +175,7 @@
assertEquals("testLoadRuleAsset", asset.metaData.name);
assertEquals("testLoadRuleAsset", asset.metaData.title);
assertEquals("testLoadRuleAsset", asset.metaData.packageName);
- assertEquals("txt", asset.metaData.format);
+ assertEquals("drl", asset.metaData.format);
assertNotNull(asset.metaData.createdDate);
assertEquals(1, asset.metaData.categories.length);
@@ -199,7 +199,7 @@
impl.createCategory( "", "testLoadAssetHistory", "this is a cat" );
- String uuid = impl.createNewRule( "testLoadAssetHistory", "description", "testLoadAssetHistory", "testLoadAssetHistory", "txt" );
+ String uuid = impl.createNewRule( "testLoadAssetHistory", "description", "testLoadAssetHistory", "testLoadAssetHistory", "drl" );
RuleAsset asset = impl.loadRuleAsset( uuid );
impl.checkinVersion( asset ); //1
impl.checkinVersion( asset ); //2
More information about the jboss-svn-commits
mailing list