[jboss-svn-commits] JBL Code SVN: r9063 - in labs/jbossrules/trunk/drools-jbrms/src: main/java/org/drools/brms/client/packages and 7 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Jan 29 01:31:24 EST 2007
Author: michael.neale at jboss.com
Date: 2007-01-29 01:31:23 -0500 (Mon, 29 Jan 2007)
New Revision: 9063
Added:
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/packages/
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/packages/PackageExplorerWidget.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/packages/package.html
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/form_banner.gif
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/function_assets.gif
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/jbrules_logo_small.jpg
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/model_asset.gif
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/new_package.gif
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/technical_rule_assets.gif
Modified:
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/Packages.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/RulesFeature.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/RepositoryService.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/RepositoryServiceAsync.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/mock/MockRepositoryServiceAsync.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/VersionBrowser.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/JBRMS.css
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/JBRMS.html
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:
JBRULES-632 package management
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/Packages.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/Packages.java 2007-01-28 23:01:50 UTC (rev 9062)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/Packages.java 2007-01-29 06:31:23 UTC (rev 9063)
@@ -1,24 +1,9 @@
package org.drools.brms.client;
-import java.util.HashMap;
+import org.drools.brms.client.packages.PackageExplorerWidget;
-import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
-import org.drools.brms.client.modeldriven.brxml.ActionAssertFact;
-import org.drools.brms.client.modeldriven.brxml.ActionFieldValue;
-import org.drools.brms.client.modeldriven.brxml.ActionRetractFact;
-import org.drools.brms.client.modeldriven.brxml.ActionSetField;
-import org.drools.brms.client.modeldriven.brxml.CompositeFactPattern;
-import org.drools.brms.client.modeldriven.brxml.Constraint;
-import org.drools.brms.client.modeldriven.brxml.DSLSentence;
-import org.drools.brms.client.modeldriven.brxml.DSLSentenceFragment;
-import org.drools.brms.client.modeldriven.brxml.FactPattern;
-import org.drools.brms.client.modeldriven.brxml.IAction;
-import org.drools.brms.client.modeldriven.brxml.IPattern;
-import org.drools.brms.client.modeldriven.brxml.RuleModel;
-import org.drools.brms.client.modeldriven.ui.RuleModeller;
+import com.google.gwt.user.client.ui.FlexTable;
-import com.google.gwt.user.client.ui.VerticalPanel;
-
/**
* This is the package management feature.
* For managing packages (namespaces, imports etc) for rule assets.
@@ -29,156 +14,25 @@
public static ComponentInfo init() {
return new ComponentInfo( "Packages",
- "This currently shows a demo of the rule modeller." ) {
+ "Configure and view packages of business rule assets." ) {
public JBRMSFeature createInstance() {
return new Packages();
}
-
};
}
public Packages() {
- VerticalPanel panel = new VerticalPanel();
+ final FlexTable layout = new FlexTable();
- panel.add( new RuleModeller(getDummySuggestionEngine(), getDummyData() ) );
+ layout.setWidget( 0, 0, new PackageExplorerWidget() );
- panel.setSpacing( 8 );
-
-
- initWidget( panel );
+ initWidget( layout );
}
- private SuggestionCompletionEngine getDummySuggestionEngine() {
- SuggestionCompletionEngine com = new SuggestionCompletionEngine();
-
- com.factTypes = new String[] {"Person", "Vehicle"};
- com.fieldTypes = new HashMap() {{
- put("Person.age", SuggestionCompletionEngine.TYPE_NUMERIC);
- put("Person.name", "String");
- put("Vehicle.type", "String");
- put("Vehcile.make", "String");
- }};
- com.fieldsForType = new HashMap() {{
- put("Person", new String[] {"age", "name"});
- put("Vehicle", new String[] {"type", "make"});
- }};
-
-
- 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;
- }
-
-
- private RuleModel getDummyData() {
- RuleModel model = new RuleModel();
-
- model.lhs = new IPattern[3];
-
- FactPattern p1 = new FactPattern();
- FactPattern p2 = new FactPattern();
- CompositeFactPattern p3 = new CompositeFactPattern();
-
-
- model.lhs[0] = p1;
- model.lhs[1] = p2;
- model.lhs[2] = p3;
-
- DSLSentence dsl = new DSLSentence();
- dsl.elements = new DSLSentenceFragment[2];
- dsl.elements[0] = new DSLSentenceFragment("There is a Storm alert of type", false);
- dsl.elements[1] = new DSLSentenceFragment("(code here)", true);
-
- model.addLhsItem( dsl );
-
- dsl = new DSLSentence();
- dsl.elements = new DSLSentenceFragment[2];
- dsl.elements[0] = new DSLSentenceFragment("- severity rating is not more than", false);
- dsl.elements[1] = new DSLSentenceFragment("(code here)", true);
-
- model.addLhsItem( dsl );
-
-
-
-
- p1.factType = "Person";
- p1.constraints = new Constraint[2];
- p1.constraints[0] = new Constraint();
- p1.constraints[1] = new Constraint();
- p1.constraints[0].fieldName = "age";
- p1.constraints[0].operator = "<";
- p1.constraints[0].value = "42";
-
- p1.constraints[1].fieldName = "name";
- p1.constraints[1].operator = "==";
- p1.constraints[1].value = "Bob";
- p1.constraints[1].fieldBinding = "n";
-
-
-
- p2.factType = "Vehicle";
- p2.boundName = "car1";
- p2.constraints = new Constraint[1];
- p2.constraints[0] = new Constraint();
- p2.constraints[0].fieldName = "type";
- p2.constraints[0].operator = "!=";
-
- p3.type = "not";
- p3.patterns = new FactPattern[1];
- FactPattern i1 = new FactPattern("Vehicle");
- i1.constraints = new Constraint[1];
- i1.constraints[0] = new Constraint();
- i1.constraints[0].fieldName = "type";
- i1.constraints[0].operator = "==";
-
- p3.patterns[0] = i1;
-
- ActionSetField set = new ActionSetField();
- set.variable = "car1";
- set.fieldValues = new ActionFieldValue[1];
- set.fieldValues[0] = new ActionFieldValue();
- set.fieldValues[0].field = "type";
-
- ActionAssertFact fact = new ActionAssertFact();
- fact.factType = "Person";
- fact.fieldValues = new ActionFieldValue[2];
- fact.fieldValues[0] = new ActionFieldValue("name", "Mike");
- fact.fieldValues[1] = new ActionFieldValue("age", "42");
-
- ActionRetractFact retract = new ActionRetractFact("car1");
-
- model.rhs = new IAction[3];
- model.rhs[0] = set;
- model.rhs[1] = fact;
- model.rhs[2] = retract;
-
- return model;
-
- }
-
-
public void onShow() {
}
}
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/RulesFeature.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/RulesFeature.java 2007-01-28 23:01:50 UTC (rev 9062)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/RulesFeature.java 2007-01-29 06:31:23 UTC (rev 9063)
@@ -121,7 +121,7 @@
table.setWidget( 1, 0, newRule);
formatter.setHeight( 1, 0, "5%" );
formatter.setAlignment( 1, 0, HasHorizontalAlignment.ALIGN_CENTER, HasVerticalAlignment.ALIGN_TOP);
- formatter.setStyleName( 1, 0, "rule-explorer-NewPopups" );
+ formatter.setStyleName( 1, 0, "new-asset-Icons" );
return table;
}
Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/packages/PackageExplorerWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/packages/PackageExplorerWidget.java (rev 0)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/packages/PackageExplorerWidget.java 2007-01-29 06:31:23 UTC (rev 9063)
@@ -0,0 +1,148 @@
+package org.drools.brms.client.packages;
+
+import org.drools.brms.client.common.FormStylePopup;
+import org.drools.brms.client.common.GenericCallback;
+import org.drools.brms.client.common.LoadingPopup;
+import org.drools.brms.client.rpc.RepositoryServiceFactory;
+
+import com.google.gwt.user.client.ui.Button;
+import com.google.gwt.user.client.ui.ClickListener;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.Grid;
+import com.google.gwt.user.client.ui.HasHorizontalAlignment;
+import com.google.gwt.user.client.ui.HasVerticalAlignment;
+import com.google.gwt.user.client.ui.Image;
+import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.TextArea;
+import com.google.gwt.user.client.ui.TextBox;
+import com.google.gwt.user.client.ui.Tree;
+import com.google.gwt.user.client.ui.TreeItem;
+import com.google.gwt.user.client.ui.VerticalPanel;
+import com.google.gwt.user.client.ui.Widget;
+
+/**
+ * Contains the explorer to view (and lazy load) the packages in a repository.
+ *
+ * @author Michael Neale
+ */
+public class PackageExplorerWidget extends Composite {
+
+ private Tree exTree;
+ private Grid layout;
+
+ public PackageExplorerWidget() {
+
+ exTree = new Tree();
+ layout = new Grid(2, 1);
+
+
+ refreshTreeView( );
+
+ Image newPackage = new Image("images/new_package.gif");
+ newPackage.addClickListener( new ClickListener() {
+ public void onClick(Widget w) {
+ showNewPackage(w);
+ }
+ });
+
+
+ layout.setWidget( 1, 0, newPackage );
+
+ layout.getCellFormatter().setStyleName( 1, 0, "new-asset-Icons" );
+ layout.getCellFormatter().setAlignment( 1, 0, HasHorizontalAlignment.ALIGN_CENTER, HasVerticalAlignment.ALIGN_MIDDLE );
+ initWidget( layout );
+
+ }
+
+
+ private void refreshTreeView() {
+
+ layout.setWidget( 0, 0, new Label("Please wait...") );
+
+ RepositoryServiceFactory.getService().listRulePackages( new GenericCallback() {
+
+ public void onSuccess(Object data) {
+ String[] packages = (String[]) data;
+
+ exTree.clear();
+ for ( int i = 0; i < packages.length; i++ ) {
+ addPackage( packages[i] );
+ }
+
+ layout.setWidget( 0, 0, exTree );
+
+ }
+
+ });
+
+
+ }
+
+
+ /**
+ * Pops up a new package wizard, and creates a new package should
+ * sir decide to create said package. Nice package sir.
+ */
+ private void showNewPackage(Widget w) {
+ final FormStylePopup pop = new FormStylePopup("images/new_wiz.gif", "Create a new package");
+ final TextBox nameBox = new TextBox();
+ nameBox.setTitle( "The name of the package. Avoid spaces, use underscore instead." );
+
+ pop.addAttribute( "Package name", nameBox );
+ final TextArea descBox = new TextArea();
+ pop.addAttribute( "Description", descBox );
+
+ Button create = new Button("Create package");
+ create.addClickListener( new ClickListener() {
+ public void onClick(Widget w) {
+ createPackageAction(nameBox.getText(), descBox.getText());
+ pop.hide();
+ }
+
+
+ });
+
+
+ pop.addAttribute( "", create );
+
+ pop.setStyleName( "ks-popups-Popup" );
+
+ pop.setPopupPosition( w.getAbsoluteLeft(), w.getAbsoluteTop() - 100 );
+ pop.show();
+ }
+
+ private void createPackageAction(final String name, final String descr) {
+ LoadingPopup.showMessage( "Creating package - please wait..." );
+ RepositoryServiceFactory.getService().createPackage( name, descr, new GenericCallback() {
+ public void onSuccess(Object data) {
+ LoadingPopup.close();
+ refreshTreeView();
+ }
+ });
+ }
+
+
+
+
+ private void addPackage(String name) {
+
+ TreeItem pkg = makeItem(name, "images/package.gif");
+
+
+ pkg.addItem( makeItem("Business rules", "images/rule_asset.gif") );
+ pkg.addItem( makeItem("Technical rules", "images/technical_rule_assets.gif") );
+ pkg.addItem( makeItem("Functions", "images/function_assets.gif") );
+ pkg.addItem( makeItem("Model", "images/model_asset.gif") );
+
+
+ exTree.addItem( pkg );
+
+ }
+
+ private TreeItem makeItem(String name, String icon) {
+ TreeItem item = new TreeItem();
+ item.setHTML( "<img src=\""+ icon + "\">" + name + "</a>" );
+ return item;
+ }
+
+}
Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/packages/PackageExplorerWidget.java
___________________________________________________________________
Name: svn:eol-style
+ native
Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/packages/package.html
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/packages/package.html (rev 0)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/packages/package.html 2007-01-29 06:31:23 UTC (rev 9063)
@@ -0,0 +1,3 @@
+<body>
+ This holds GUI classes to do with package management.
+</body>
\ No newline at end of file
Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/packages/package.html
___________________________________________________________________
Name: svn:eol-style
+ native
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/RepositoryService.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/RepositoryService.java 2007-01-28 23:01:50 UTC (rev 9062)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/RepositoryService.java 2007-01-29 06:31:23 UTC (rev 9063)
@@ -71,4 +71,10 @@
*/
public void restoreVersion(String versionUUID, String assetUUID, String comment);
+ /**
+ * This creates a package of the given name.
+ * @return UUID of the created item.
+ */
+ public String createPackage(String name, String description) throws SerializableException;
+
}
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/RepositoryServiceAsync.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/RepositoryServiceAsync.java 2007-01-28 23:01:50 UTC (rev 9062)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/RepositoryServiceAsync.java 2007-01-29 06:31:23 UTC (rev 9063)
@@ -26,5 +26,5 @@
public void loadAssetHistory(java.lang.String p0, AsyncCallback cb);
public void checkinVersion(org.drools.brms.client.rpc.RuleAsset p0, AsyncCallback cb);
public void restoreVersion(java.lang.String p0, java.lang.String p1, java.lang.String p2, AsyncCallback cb);
-
+ public void createPackage(java.lang.String p0, java.lang.String p1, AsyncCallback cb);
}
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/mock/MockRepositoryServiceAsync.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/mock/MockRepositoryServiceAsync.java 2007-01-28 23:01:50 UTC (rev 9062)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/mock/MockRepositoryServiceAsync.java 2007-01-29 06:31:23 UTC (rev 9063)
@@ -346,6 +346,15 @@
cb.onSuccess( null );
}
+
+
+
+ public void createPackage(String p0,
+ String p1,
+ AsyncCallback cb) {
+ cb.onSuccess( "UUIDHERE" );
+
+ }
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/VersionBrowser.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/VersionBrowser.java 2007-01-28 23:01:50 UTC (rev 9062)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/VersionBrowser.java 2007-01-29 06:31:23 UTC (rev 9063)
@@ -17,6 +17,7 @@
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Image;
import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.ScrollPanel;
import com.google.gwt.user.client.ui.Widget;
import com.google.gwt.user.client.ui.FlexTable.FlexCellFormatter;
@@ -115,6 +116,7 @@
open.addClickListener( new ClickListener() {
public void onClick(Widget w) {
+ if (tableWidget.getSelectedRow() == 0) return;
showVersion(tableWidget.getSelectedKey());
}
@@ -140,6 +142,7 @@
*/
private void showVersion(String selectedUUID) {
+
VersionViewer viewer = new VersionViewer(this.metaData, selectedUUID, uuid, refreshCommand);
viewer.setPopupPosition( 100, 100 );
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/JBRMS.css
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/JBRMS.css 2007-01-28 23:01:50 UTC (rev 9062)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/JBRMS.css 2007-01-29 06:31:23 UTC (rev 9063)
@@ -332,7 +332,7 @@
padding: 4px;
}
-.rule-explorer-NewPopups {
+.new-asset-Icons {
border: 1px solid #B8B8B8;
background-color: #FDFCDC;
}
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/JBRMS.html
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/JBRMS.html 2007-01-28 23:01:50 UTC (rev 9062)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/JBRMS.html 2007-01-29 06:31:23 UTC (rev 9063)
@@ -7,7 +7,8 @@
<link rel="icon" href="images/drools.gif" type="image/gif">
</head>
<body>
- <img src="images/top_logo.png" />
+ <img src="images/jbrules_logo_small.jpg" />
+ <img src="images/form_banner.gif" />
<!-- This script is the bootstrap stuff that simply must be there; it is sent down uncompressed -->
<script language='javascript' src='gwt.js'></script>
<iframe id='__gwt_historyFrame' style='width:0;height:0;border:0'></iframe>
Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/form_banner.gif
===================================================================
(Binary files differ)
Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/form_banner.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/function_assets.gif
===================================================================
(Binary files differ)
Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/function_assets.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/jbrules_logo_small.jpg
===================================================================
(Binary files differ)
Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/jbrules_logo_small.jpg
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/model_asset.gif
===================================================================
(Binary files differ)
Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/model_asset.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/new_package.gif
===================================================================
(Binary files differ)
Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/new_package.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/technical_rule_assets.gif
===================================================================
(Binary files differ)
Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/technical_rule_assets.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
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-01-28 23:01:50 UTC (rev 9062)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/JBRMSServiceServlet.java 2007-01-29 06:31:23 UTC (rev 9063)
@@ -2,6 +2,7 @@
import java.text.DateFormat;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.Iterator;
@@ -106,8 +107,11 @@
PackageItem pkg = (PackageItem) pkgs.next();
result.add( pkg.getName() );
}
- return (String[]) result.toArray( new String[result.size()] );
+ String[] resultArr = (String[]) result.toArray( new String[result.size()] );
+ Arrays.sort( resultArr );
+ return resultArr;
}
+
@@ -322,12 +326,34 @@
public void restoreVersion(String versionUUID,
String assetUUID,
String comment) {
- RulesRepository repo = getRulesRepository();
- repo.restoreHistoricalAsset( repo.loadAssetByUUID( versionUUID ),
- repo.loadAssetByUUID( assetUUID ),
- comment );
+ RulesRepository repo = getRulesRepository();
+ try {
+ RuleAsset old = loadRuleAsset( versionUUID );
+ RuleAsset head = loadRuleAsset( assetUUID );
+
+ old.uuid = assetUUID;
+ old.metaData.versionNumber = head.metaData.versionNumber;
+ old.metaData.checkinComment = comment;
+
+ checkinVersion( old );
+
+ } catch (SerializableException e) {
+ throw new RulesRepositoryException(e);
+ }
+
+//This uses JCR restore feature
+// repo.restoreHistoricalAsset( repo.loadAssetByUUID( versionUUID ),
+// repo.loadAssetByUUID( assetUUID ),
+// comment );
}
+
+ public String createPackage(String name,
+ String description) throws SerializableException {
+ PackageItem item = getRulesRepository().createPackage( name, description );
+
+ return item.getUUID();
+ }
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-01-28 23:01:50 UTC (rev 9062)
+++ labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/ServiceImplementationTest.java 2007-01-29 06:31:23 UTC (rev 9063)
@@ -15,6 +15,7 @@
import org.drools.brms.server.util.TableDisplayHandler;
import org.drools.repository.AssetItem;
import org.drools.repository.CategoryItem;
+import org.drools.repository.PackageItem;
import com.google.gwt.user.client.rpc.SerializableException;
@@ -275,5 +276,18 @@
}
+ public void testCreatePackage() throws Exception {
+ MockJBRMSServiceServlet impl = new MockJBRMSServiceServlet();
+ String[] pkgs = impl.listRulePackages();
+ String uuid = impl.createPackage( "testCreatePackage", "this is a new package" );
+ assertNotNull( uuid );
+
+ PackageItem item = impl.repo.loadPackage( "testCreatePackage" );
+ assertNotNull(item);
+ assertEquals("this is a new package", item.getDescription());
+
+ assertEquals(pkgs.length + 1, impl.listRulePackages().length);
+ }
+
}
More information about the jboss-svn-commits
mailing list