[jboss-svn-commits] JBL Code SVN: r6849 - in labs/jbossrules/trunk/drools-jbrms/src: main/java/org/drools/brms/client main/java/org/drools/brms/client/categorynav main/java/org/drools/brms/client/common main/java/org/drools/brms/client/rpc main/java/org/drools/brms/client/rpc/mock main/java/org/drools/brms/client/ruleeditor main/java/org/drools/brms/public main/java/org/drools/brms/public/images main/java/org/drools/brms/server test/java/org/drools/brms/server
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Oct 17 07:20:43 EDT 2006
Author: michael.neale at jboss.com
Date: 2006-10-17 07:20:19 -0400 (Tue, 17 Oct 2006)
New Revision: 6849
Added:
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/ErrorPopup.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/RulePackageSelector.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/SortableGrid.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/WarningPopup.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/interfacegen.rb
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/validation_error.gif
labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/MockJBRMSServiceServlet.java
labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/ServiceImplementationTest.java
Removed:
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ErrorPopup.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/server/ServiceImpl.java
labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/ServiceImplTest.java
Modified:
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/Search.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/categorynav/CategoryEditor.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/categorynav/CategoryExplorerWidget.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/categorynav/CategorySelectHandler.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/mock/MockRepositoryServiceAsync.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/NewRuleWizard.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/public/JBRMS.css
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/JBRMSServiceServletTest.java
Log:
More chunks of ajax goodness
Deleted: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ErrorPopup.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ErrorPopup.java 2006-10-17 10:32:41 UTC (rev 6848)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ErrorPopup.java 2006-10-17 11:20:19 UTC (rev 6849)
@@ -1,65 +0,0 @@
-package org.drools.brms.client;
-
-import com.google.gwt.user.client.ui.Button;
-import com.google.gwt.user.client.ui.ClickListener;
-import com.google.gwt.user.client.ui.HorizontalPanel;
-import com.google.gwt.user.client.ui.Label;
-import com.google.gwt.user.client.ui.Panel;
-import com.google.gwt.user.client.ui.PopupPanel;
-import com.google.gwt.user.client.ui.Widget;
-
-
-/**
- * Generic error dialog popup.
- * This is a lazy singleton, only really need one to be shown at time.
- */
-public class ErrorPopup extends PopupPanel {
-
- public static ErrorPopup instance = null;
-
- Label errorMessage = new Label();
- Panel panel = new HorizontalPanel();
- Button ok = new Button("OK");
-
- public ErrorPopup() {
- super(true);
- panel.add( errorMessage );
- panel.add( ok );
- final PopupPanel self = this;
- ok.addClickListener( new ClickListener() {
- public void onClick(Widget arg0) {
- self.hide();
- }
- });
- this.add( panel );
- this.setPopupPosition( 0, 0 );
- setStyleName( "rule-error-Popup" );
- }
-
- public void setMessage(String message) {
- errorMessage.setText( message );
- }
-
- public void hide() {
- errorMessage.setText( "" );
- super.hide();
- }
-
- public static ErrorPopup getInstance() {
- if (instance == null) {
- instance = new ErrorPopup();
- }
- return instance;
- }
-
- /** Convenience method to popup the message. */
- public static void showMessage(String message) {
- ErrorPopup p = getInstance();
- p.errorMessage.setText( message );
- p.show();
- }
-
-
-
-
-}
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/Search.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/Search.java 2006-10-17 10:32:41 UTC (rev 6848)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/Search.java 2006-10-17 11:20:19 UTC (rev 6849)
@@ -15,6 +15,8 @@
*/
package org.drools.brms.client;
+import org.drools.brms.client.common.SortableGrid;
+
import com.google.gwt.user.client.ui.FlexTable;
import com.google.gwt.user.client.ui.HasHorizontalAlignment;
import com.google.gwt.user.client.ui.Image;
@@ -40,33 +42,98 @@
};
}
- private Grid inner = new Grid(10, 5);
- private FlexTable outer = new FlexTable();
public Search() {
- outer.setWidget(0, 0, new Image("rembrandt/LaMarcheNocturne.jpg"));
- outer.getFlexCellFormatter().setColSpan(0, 0, 2);
- outer.getFlexCellFormatter().setHorizontalAlignment(0, 0,
- HasHorizontalAlignment.ALIGN_CENTER);
-
- outer.setHTML(1, 0, "Look to the right...<br>"
- + "That's a nested table component ->");
- outer.setWidget(1, 1, inner);
- ((FlexTable.FlexCellFormatter) outer.getCellFormatter())
- .setColSpan(1, 1, 2);
-
- for (int i = 0; i < 10; ++i) {
- for (int j = 0; j < 5; ++j)
- inner.setText(i, j, "" + i + "," + j);
- }
-
- inner.setWidth("100%");
- outer.setWidth("100%");
-
- inner.setBorderWidth(1);
- outer.setBorderWidth(1);
-
- setWidget(outer);
+
+ String[][] data = new String[][] {
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ {"1", "rule", "another thing" },
+ };
+
+ SortableGrid grid = new SortableGrid(data, new String[] {"a","b","c"});
+ initWidget( grid );
}
public void onShow() {
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/categorynav/CategoryEditor.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/categorynav/CategoryEditor.java 2006-10-17 10:32:41 UTC (rev 6848)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/categorynav/CategoryEditor.java 2006-10-17 11:20:19 UTC (rev 6849)
@@ -1,6 +1,6 @@
package org.drools.brms.client.categorynav;
-import org.drools.brms.client.ErrorPopup;
+import org.drools.brms.client.common.ErrorPopup;
import org.drools.brms.client.rpc.RepositoryServiceFactory;
import com.google.gwt.user.client.rpc.AsyncCallback;
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/categorynav/CategoryExplorerWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/categorynav/CategoryExplorerWidget.java 2006-10-17 10:32:41 UTC (rev 6848)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/categorynav/CategoryExplorerWidget.java 2006-10-17 11:20:19 UTC (rev 6849)
@@ -1,6 +1,6 @@
package org.drools.brms.client.categorynav;
-import org.drools.brms.client.ErrorPopup;
+import org.drools.brms.client.common.ErrorPopup;
import org.drools.brms.client.rpc.RepositoryServiceAsync;
import org.drools.brms.client.rpc.RepositoryServiceFactory;
@@ -23,62 +23,89 @@
* navigate the repository.
* Uses the the {@link com.google.gwt.user.client.ui.Tree} widget.
*/
-public class CategoryExplorerWidget
- extends Composite implements TreeListener
- {
+public class CategoryExplorerWidget extends Composite
+ implements
+ TreeListener {
-
-
private Tree navTreeWidget = new Tree();
- private VerticalPanel panel = new VerticalPanel();
+ private VerticalPanel panel = new VerticalPanel();
private RepositoryServiceAsync service = RepositoryServiceFactory.getService();
private CategorySelectHandler categorySelectHandler;
- private String selectedPath;
+ private String selectedPath;
public void setTreeSize(String width) {
navTreeWidget.setWidth( width );
}
+ /**
+ * Creates a category widget with edit buttons enabled.
+ * @param handler A call back interface.
+ */
public CategoryExplorerWidget(CategorySelectHandler handler) {
+ this( handler,
+ true );
+ }
+
+ /**
+ *
+ * @param handler
+ * @param showEditing true if you want to be able to edit categories.
+ */
+ public CategoryExplorerWidget(CategorySelectHandler handler,
+ boolean showEditing) {
panel.add( navTreeWidget );
-
-
- Image refresh = new Image("images/refresh.gif");
- refresh.setTitle( "Refresh categories" );
+
+ if ( showEditing ) {
+ doEditButtons();
+ }
+ this.categorySelectHandler = handler;
+ loadInitialTree();
+
+ initWidget( panel );
+ navTreeWidget.addTreeListener( this );
+ }
+
+ private void doEditButtons() {
+ FlexTable actionTable = new FlexTable();
+ FlexCellFormatter formatter = actionTable.getFlexCellFormatter();
+
+ actionTable.setStyleName( "global-Font" );
+ actionTable.setText( 0,
+ 0,
+ "Manage categories:" );
+
+ Image refresh = new Image( "images/refresh.gif" );
+ refresh.setTitle( "Refresh categories" );
refresh.addClickListener( new ClickListener() {
public void onClick(Widget w) {
navTreeWidget.removeItems();
loadInitialTree();
- }
- });
-
- Image newCat = new Image("images/new.gif");
+ }
+ } );
+
+ Image newCat = new Image( "images/new.gif" );
newCat.setTitle( "Create a new category" );
newCat.addClickListener( new ClickListener() {
public void onClick(Widget w) {
- CategoryEditor newCat = new CategoryEditor(selectedPath);
- newCat.setPopupPosition( w.getAbsoluteLeft(), w.getAbsoluteTop() - 10 );
+ CategoryEditor newCat = new CategoryEditor( selectedPath );
+ newCat.setPopupPosition( w.getAbsoluteLeft(),
+ w.getAbsoluteTop() - 10 );
newCat.show();
- }
- });
-
- FlexTable actionTable = new FlexTable();
- FlexCellFormatter formatter = actionTable.getFlexCellFormatter();
-
- actionTable.setStyleName( "global-Font" );
- actionTable.setText( 0, 0, "Manage categories:" );
- actionTable.setWidget( 0, 1, newCat );
- actionTable.setWidget( 0, 2, refresh );
- formatter.setAlignment( 0, 0, HasHorizontalAlignment.ALIGN_RIGHT, HasVerticalAlignment.ALIGN_MIDDLE );
+ }
+ } );
+ actionTable.setWidget( 0,
+ 1,
+ newCat );
+ actionTable.setWidget( 0,
+ 2,
+ refresh );
+ formatter.setAlignment( 0,
+ 0,
+ HasHorizontalAlignment.ALIGN_RIGHT,
+ HasVerticalAlignment.ALIGN_MIDDLE );
+
panel.add( actionTable );
-
- this.categorySelectHandler = handler;
- loadInitialTree();
-
-
- initWidget( panel );
- navTreeWidget.addTreeListener( this );
}
/** This will refresh the tree and restore it back to the original state */
@@ -87,7 +114,7 @@
service.loadChildCategories( "/",
new AsyncCallback() {
- public void onFailure(Throwable caught) {
+ public void onFailure(Throwable caught) {
ErrorPopup.showMessage( "A server error occurred loading categories." );
navTreeWidget.removeItems();
navTreeWidget.addItem( "Unable to load categories." );
@@ -105,20 +132,16 @@
} );
-
}
-
-
public void onShow() {
//move along... these are not the droids you're looking for...
}
public void onTreeItemSelected(TreeItem item) {
- this.selectedPath = getPath( item );
+ this.selectedPath = getPath( item );
this.categorySelectHandler.selected( selectedPath );
}
-
public void onTreeItemStateChanged(TreeItem item) {
@@ -137,7 +160,7 @@
new AsyncCallback() {
public void onFailure(Throwable caught) {
- ErrorPopup.showMessage( "Unable to load categories for [" + selectedPath + "]");
+ ErrorPopup.showMessage( "Unable to load categories for [" + selectedPath + "]" );
}
public void onSuccess(Object result) {
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/categorynav/CategorySelectHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/categorynav/CategorySelectHandler.java 2006-10-17 10:32:41 UTC (rev 6848)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/categorynav/CategorySelectHandler.java 2006-10-17 11:20:19 UTC (rev 6849)
@@ -2,8 +2,8 @@
/**
* This represents an event of a category being selected.
+ * This means the category widget can be used in several different places.
* @author Michael Neale
- *
*/
public interface CategorySelectHandler {
Copied: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/ErrorPopup.java (from rev 6716, labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ErrorPopup.java)
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ErrorPopup.java 2006-10-10 10:13:27 UTC (rev 6716)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/ErrorPopup.java 2006-10-17 11:20:19 UTC (rev 6849)
@@ -0,0 +1,68 @@
+package org.drools.brms.client.common;
+
+import com.google.gwt.user.client.ui.Button;
+import com.google.gwt.user.client.ui.ClickListener;
+import com.google.gwt.user.client.ui.HorizontalPanel;
+import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.Panel;
+import com.google.gwt.user.client.ui.PopupPanel;
+import com.google.gwt.user.client.ui.Widget;
+
+
+/**
+ * Generic error dialog popup.
+ * This is a lazy singleton, only really need one to be shown at time.
+ */
+public class ErrorPopup extends PopupPanel {
+
+ public static ErrorPopup instance = null;
+
+ Label errorMessage = new Label();
+ Panel panel = new HorizontalPanel();
+ Button ok = new Button("OK");
+
+ public ErrorPopup() {
+ super(true);
+ panel.add( errorMessage );
+ panel.add( ok );
+ final PopupPanel self = this;
+ ok.addClickListener( new ClickListener() {
+ public void onClick(Widget arg0) {
+ self.hide();
+ }
+ });
+ this.add( panel );
+ this.setPopupPosition( 0, 0 );
+ setStyleName( "rule-error-Popup" );
+ }
+
+ public void setMessage(String message) {
+ errorMessage.setText( message );
+ }
+
+ public void hide() {
+ errorMessage.setText( "" );
+ super.hide();
+ }
+
+ public static ErrorPopup getInstance() {
+ if (instance == null) {
+ instance = new ErrorPopup();
+ }
+ return instance;
+ }
+
+ /** Convenience method to popup the message. */
+ public static void showMessage(String message) {
+ ErrorPopup p = getInstance();
+
+ p.errorMessage.setText( message );
+ p.show();
+ }
+
+
+
+
+
+
+}
Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/ErrorPopup.java
___________________________________________________________________
Name: svn:eol-style
+ native
Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/RulePackageSelector.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/RulePackageSelector.java 2006-10-17 10:32:41 UTC (rev 6848)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/RulePackageSelector.java 2006-10-17 11:20:19 UTC (rev 6849)
@@ -0,0 +1,46 @@
+package org.drools.brms.client.common;
+
+import org.drools.brms.client.rpc.RepositoryServiceFactory;
+
+import com.google.gwt.user.client.rpc.AsyncCallback;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.ListBox;
+
+/**
+ * A rule package selector widget.
+ * @author michael neale
+ */
+public class RulePackageSelector extends Composite {
+
+ private ListBox packageList;
+
+ public RulePackageSelector() {
+ packageList = new ListBox();
+
+ RepositoryServiceFactory.getService().listRulePackages( new AsyncCallback() {
+
+ public void onFailure(Throwable arg0) {
+ ErrorPopup.showMessage( "Unable to load list of packages." );
+ }
+
+ public void onSuccess(Object o) {
+ String[] list = (String[]) o;
+ for ( int i = 0; i < list.length; i++ ) {
+ packageList.addItem( list[i] );
+ }
+
+ }
+
+ });
+
+ initWidget( packageList );
+ }
+
+ /**
+ * Returns the selected package.
+ */
+ public String getSelectedPackage() {
+ return packageList.getItemText( packageList.getSelectedIndex() );
+ }
+
+}
Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/RulePackageSelector.java
___________________________________________________________________
Name: svn:eol-style
+ native
Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/SortableGrid.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/SortableGrid.java 2006-10-17 10:32:41 UTC (rev 6848)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/SortableGrid.java 2006-10-17 11:20:19 UTC (rev 6849)
@@ -0,0 +1,59 @@
+package org.drools.brms.client.common;
+
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.FlexTable;
+import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.ScrollPanel;
+
+/**
+ * This is the grid widget wrapper.
+ * Main features are that it works off a data model, and
+ *
+ */
+public class SortableGrid extends Composite {
+
+ ScrollPanel panel;
+ FlexTable table = new FlexTable();
+
+
+ /**
+ * @param data The first column is the key. The rest are the displayed data.
+ * @param header This is obviously the header !
+ */
+ public SortableGrid(String[][] data, String[] header) {
+ panel = new ScrollPanel();
+ header( header );
+
+ panel.setHeight( "50%" );
+ data( data );
+
+ panel.setScrollPosition( 50 );
+ panel.setAlwaysShowScrollBars( true );
+ panel.add( table );
+ table.setWidth( "100%" );
+ initWidget( panel );
+ }
+
+
+ private void data(String[][] data) {
+ for ( int i = 0; i < data.length; i++ ) {
+ String[] row = data[i];
+ int rowNumber = i + 1;
+ table.setText( rowNumber, 0, row[0] );
+ for ( int j = 1; j < row.length; j++ ) {
+ table.setText( rowNumber, j, row[j] );
+ }
+ }
+ }
+
+
+ private void header(String[] header) {
+ for ( int i = 0; i < header.length; i++ ) {
+ Label head = new Label(header[i]);
+ table.setWidget( 0, i, head );
+ }
+ }
+
+
+
+}
Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/SortableGrid.java
___________________________________________________________________
Name: svn:eol-style
+ native
Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/WarningPopup.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/WarningPopup.java 2006-10-17 10:32:41 UTC (rev 6848)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/WarningPopup.java 2006-10-17 11:20:19 UTC (rev 6849)
@@ -0,0 +1,60 @@
+package org.drools.brms.client.common;
+
+import com.google.gwt.user.client.ui.Button;
+import com.google.gwt.user.client.ui.ClickListener;
+import com.google.gwt.user.client.ui.HorizontalPanel;
+import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.Panel;
+import com.google.gwt.user.client.ui.PopupPanel;
+import com.google.gwt.user.client.ui.Widget;
+
+
+/**
+ * Generic warning message popup.
+ * This is also applicable for input validation messages.
+ */
+public class WarningPopup extends PopupPanel {
+
+ Label errorMessage = new Label();
+ Panel panel = new HorizontalPanel();
+ Button ok = new Button("OK");
+
+ public WarningPopup(int x, int y) {
+ super(true);
+ this.setPopupPosition( x, y );
+ panel.add( errorMessage );
+ panel.add( ok );
+ final PopupPanel self = this;
+ ok.addClickListener( new ClickListener() {
+ public void onClick(Widget arg0) {
+ self.hide();
+ }
+ });
+ this.add( panel );
+ this.setStyleName( "rule-warning-Popup" );
+ }
+
+ public void setMessage(String message) {
+ errorMessage.setText( message );
+ }
+
+ public void hide() {
+ errorMessage.setText( "" );
+ super.hide();
+ }
+
+
+
+ /** Convenience method to popup the message in the given position. */
+ public static void showMessage(String message, int x, int y) {
+ WarningPopup p = new WarningPopup(x, y);
+ p.errorMessage.setText( message );
+ p.show();
+ }
+
+
+
+
+
+
+}
Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/WarningPopup.java
___________________________________________________________________
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 2006-10-17 10:32:41 UTC (rev 6848)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/RepositoryService.java 2006-10-17 11:20:19 UTC (rev 6849)
@@ -32,4 +32,14 @@
* This will create a new category at the specified path.
*/
public Boolean createCategory(String path, String name, String description);
+
+ /**
+ * Creates a brand new rule with the initial category.
+ */
+ public Boolean createNewRule(String ruleName, String description, String initialCategory, String initialPackage);
+
+ /**
+ * This returns a list of packages where rules may be added.
+ */
+ public String[] listRulePackages();
}
Deleted: 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 2006-10-17 10:32:41 UTC (rev 6848)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/RepositoryServiceAsync.java 2006-10-17 11:20:19 UTC (rev 6849)
@@ -1,36 +0,0 @@
-package org.drools.brms.client.rpc;
-
-import com.google.gwt.user.client.rpc.AsyncCallback;
-
-/**
- * This is the interface that the front end talks to.
- *
- * As per the GWT standard, this follows the signatures of <code>RespositoryService</code>
- * with the AsyncCallback banged on the end of the method sigs (rather then return a value).
- *
- * @author Michael Neale
- */
-public interface RepositoryServiceAsync {
-
- /**
- * @param categoryPath A "/" delimited path to a category.
- * @param callback
- */
- public void loadChildCategories(String categoryPath, AsyncCallback callback);
-
-
- /**
- * Return a a 2d array/grid of results for rules.
- * @param A "/" delimited path to a category.
- * @param status The status flag. Leave blank to be all.
- */
- public void loadRuleListForCategories(String categoryPath, String status, AsyncCallback callback);
-
- /**
- * This will return a TableConfig of header names.
- * @param listName The name of the list that we are going to render.
- */
- public void loadTableConfig(String listName, AsyncCallback callback);
-
- public void createCategory(String path, String name, String description, AsyncCallback callback);
-}
Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/interfacegen.rb
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/interfacegen.rb 2006-10-17 10:32:41 UTC (rev 6848)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/interfacegen.rb 2006-10-17 11:20:19 UTC (rev 6849)
@@ -0,0 +1,38 @@
+#
+# This is a utility script for generating the Async component of a GWT RPC service.
+# You define the normal service, and then point this at it,
+# and it will generate the Async service (keeping everything nice and in sync).
+#
+# (c) Michael Neale
+#
+
+
+OUTPUT = "RepositoryServiceAsync.java"
+INPUT = "RepositoryService.java"
+
+
+interface = IO.read(INPUT)
+output = ""
+interface.each_line { |line|
+ groups = line.scan /\s+public\s+(.*?)\s+(.*?)\)\;\s*/
+ if groups.size > 0 then
+ if groups[0][0] == 'interface' then
+ output = output + "\n" + line
+ else
+ output = output + "\n" + " public void " + groups[0][1] + ', AsyncCallback callback);'
+ end
+ else
+ output = output + "\n" + line
+
+ end
+
+
+}
+
+if File.exists? OUTPUT then File.delete(OUTPUT) end
+
+f = File.new(OUTPUT, "w")
+f.write output
+f.close
+
+
Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/interfacegen.rb
___________________________________________________________________
Name: svn:eol-style
+ native
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 2006-10-17 10:32:41 UTC (rev 6848)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/mock/MockRepositoryServiceAsync.java 2006-10-17 11:20:19 UTC (rev 6849)
@@ -5,6 +5,7 @@
import com.google.gwt.user.client.Timer;
import com.google.gwt.user.client.rpc.AsyncCallback;
+import com.google.gwt.user.client.rpc.SerializableException;
/**
* This is a repository back end simulator.
@@ -86,4 +87,32 @@
}
+
+
+ public void createNewRule(String name,
+ String description,
+ String initialCategory, String initialPackage, AsyncCallback callback) {
+
+ System.out.println("creating rule:" + name);
+ System.out.println("creating rule description:" + description);
+ System.out.println("creating rule initialCategory:" + initialCategory);
+ System.out.println("creating rule initialPackage:" + initialPackage);
+
+ if (name.equals( "foo" )) {
+ callback.onFailure( new SerializableException("thats naughty") );
+ } else {
+ callback.onSuccess( new Boolean(true) );
+ }
+
+
+ }
+
+
+
+ public void listRulePackages(AsyncCallback callback) {
+ callback.onSuccess( new String[] {"a package"} );
+ }
+
+
+
}
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/NewRuleWizard.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/NewRuleWizard.java 2006-10-17 10:32:41 UTC (rev 6848)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/NewRuleWizard.java 2006-10-17 11:20:19 UTC (rev 6849)
@@ -1,5 +1,13 @@
package org.drools.brms.client.ruleeditor;
+import org.drools.brms.client.categorynav.CategoryExplorerWidget;
+import org.drools.brms.client.categorynav.CategorySelectHandler;
+import org.drools.brms.client.common.ErrorPopup;
+import org.drools.brms.client.common.RulePackageSelector;
+import org.drools.brms.client.common.WarningPopup;
+import org.drools.brms.client.rpc.RepositoryServiceFactory;
+
+import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.ClickListener;
import com.google.gwt.user.client.ui.FlexTable;
@@ -11,67 +19,129 @@
import com.google.gwt.user.client.ui.Widget;
/**
- * This provides a popup for editing a category (name etc).
- * Mainly this is for creating a new category.
+ * This provides a popup for creating a new rule from scratch.
+ * reuses a few other widgets.
*/
public class NewRuleWizard extends PopupPanel {
+ private FlexTable table = new FlexTable(); //Using this table for the form layout
+ private TextBox name = new TextBox();
+ private TextArea description = new TextArea();
+ private String initialCategory;
+ private CategoryExplorerWidget catChooser = new CategoryExplorerWidget( new CategorySelectHandler() {
+ public void selected(String selectedPath) {
+ initialCategory = selectedPath;
+ }
+ }, false );
+ private RulePackageSelector packageSelector = new RulePackageSelector();
- private FlexTable table = new FlexTable(); //Using this table for the form layout
- private TextBox name = new TextBox();
- private TextArea description = new TextArea();
-
-
- /** This is used when creating a new category */
+ /** This is used when creating a new rule. */
public NewRuleWizard() {
- super(true);
+ super( true );
- table.setWidget( 0, 0, new Image("images/new_wiz.gif") );
+ super.setWidth( "60%" );
+ table.setWidth( "100%" );
+ name.setWidth( "100%" );
- table.setWidget( 0, 1, new Label("Create a new rule"));
+ table.setWidget( 0,
+ 0,
+ new Image( "images/new_wiz.gif" ) );
+ table.setWidget( 0,
+ 1,
+ new Label( "Create a new rule" ) );
+
+ table.setWidget( 1,
+ 0,
+ new Label( "Rule name" ) );
+ table.setWidget( 1,
+ 1,
+ name );
+ table.setWidget( 2, 0, new Label("Initial category") );
+ table.setWidget( 2, 1, catChooser );
- table.setWidget( 1, 0, new Label("Rule name") );
- table.setWidget( 1, 1, name );
-
+ table.setWidget( 3, 0, new Label("Package") );
+ table.setWidget( 3, 1, packageSelector );
+
description.setVisibleLines( 4 );
description.setWidth( "100%" );
- table.setWidget( 2, 0, new Label("Initial Description") );
- table.setWidget( 2, 1, description );
-
- Button ok = new Button("OK");
+ table.setWidget( 4,
+ 0,
+ new Label( "Initial Description" ) );
+ table.setWidget( 4,
+ 1,
+ description );
+
+ Button ok = new Button( "OK" );
ok.addClickListener( new ClickListener() {
public void onClick(Widget arg0) {
ok();
}
-
- });
-
- table.setWidget( 3, 0, ok );
-
- Button cancel = new Button("Cancel");
+
+ } );
+
+ table.setWidget( 5,
+ 0,
+ ok );
+
+ Button cancel = new Button( "Cancel" );
cancel.addClickListener( new ClickListener() {
public void onClick(Widget w) {
- cancel();
+ cancel();
}
-
- });
-
- table.setWidget( 3, 1, cancel );
-
+
+ } );
+
+ table.setWidget( 5,
+ 1,
+ cancel );
+
add( table );
setStyleName( "ks-popups-Popup" );
}
-
-
+ /**
+ * When OK is pressed, it will update the repository with the new rule.
+ */
void ok() {
- hide();
+ if (this.initialCategory == null) {
+ WarningPopup.showMessage( "You have to pick an initial category.", this.getAbsoluteLeft(), this.getAbsoluteTop() );
+ return;
+ } else if (this.name.getText() == null || "".equals( this.name.getText() )) {
+ WarningPopup.showMessage( "Rule must have a name", this.getAbsoluteLeft(), this.getAbsoluteTop() );
+ return;
+ }
+
+ AsyncCallback cb = new AsyncCallback() {
+
+ public void onFailure(Throwable err) {
+ ErrorPopup.showMessage( err.getMessage() );
+ }
+
+ public void onSuccess(Object result) {
+ if ( ((Boolean) result).booleanValue() ) {
+ hide();
+ } else {
+ ErrorPopup.showMessage( "Unable to create the rule." );
+ }
+ }
+ };
+
+ if ( this.name.equals( "" ) ) {
+ ErrorPopup.showMessage( "Can't have an empty category name." );
+ } else {
+ RepositoryServiceFactory.getService().createNewRule( name.getText(),
+ description.getText(),
+ initialCategory,
+ packageSelector.getSelectedPackage(),
+ cb );
+
+ }
}
-
+
void cancel() {
hide();
}
-
+
}
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 2006-10-17 10:32:41 UTC (rev 6848)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/RuleDocumentWidget.java 2006-10-17 11:20:19 UTC (rev 6849)
@@ -16,10 +16,10 @@
public RuleDocumentWidget(String content) {
text = new TextArea();
text.setVisibleLines( 10 );
- //text.setWidth("100%");
- //text.setHeight("100%");
text.setText(content);
text.setStyleName( "rule-viewer-Documentation" );
+
+
initWidget(text);
}
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 2006-10-17 10:32:41 UTC (rev 6848)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/JBRMS.css 2006-10-17 11:20:19 UTC (rev 6849)
@@ -176,6 +176,7 @@
font-size: smaller;
}
+
/* -------------------------------------------------------------------------- */
/* -- orig border: #C3D9FF replaced with #B8B8B8
@@ -241,7 +242,7 @@
}
.ks-popups-Popup {
- background-color: white;
+ background-color: #FDFCDC;
border: 1px solid #87B3FF;
padding: 4px;
}
@@ -252,6 +253,12 @@
padding: 4px;
}
+.rule-warning-Popup {
+ background-color: yellow;
+ border: 1px solid #87B3FF;
+ padding: 4px;
+}
+
.rule-breditor-Table {
background-color: #FDFCDC;
border: 1px solid #87B3FF;
@@ -303,7 +310,8 @@
background-color: #FDFCDC;
font-family: Arial, sans-serif;
font-size: smaller;
- width: 70%;
+ border: 1px solid #87B3FF;
+ width: 100%;
}
.rule-ListHeader {
Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/validation_error.gif
===================================================================
(Binary files differ)
Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/validation_error.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 2006-10-17 10:32:41 UTC (rev 6848)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/JBRMSServiceServlet.java 2006-10-17 11:20:19 UTC (rev 6849)
@@ -1,5 +1,9 @@
package org.drools.brms.server;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
import javax.jcr.LoginException;
import javax.jcr.Repository;
import javax.jcr.RepositoryException;
@@ -8,7 +12,10 @@
import org.drools.brms.client.rpc.RepositoryService;
import org.drools.brms.client.rpc.TableConfig;
+import org.drools.repository.CategoryItem;
import org.drools.repository.RepositoryConfigurator;
+import org.drools.repository.RuleItem;
+import org.drools.repository.RulePackageItem;
import org.drools.repository.RulesRepository;
import com.google.gwt.user.server.rpc.RemoteServiceServlet;
@@ -28,14 +35,58 @@
* The shared repository instance. This could be bound to JNDI eventually.
*/
public static Repository repository;
+
- public String[] loadChildCategories(String categoryPath) {
- ServiceImpl handler = new ServiceImpl(getRulesRepository());
- return handler.loadChildCategories( categoryPath );
+ public String[] loadChildCategories(String categoryPath) {
+
+ CategoryItem item = getRulesRepository().loadCategory( categoryPath );
+ List children = item.getChildTags();
+ String[] list = new String[children.size()];
+ for ( int i = 0; i < list.length; i++ ) {
+ list[i] = ((CategoryItem) children.get( i )).getName();
+ }
+ return list;
+
}
+ public Boolean createCategory(String path,
+ String name,
+ String description) {
+
+ if (path == null || "".equals(path)) {
+ path = "/";
+ }
+ CategoryItem item = getRulesRepository().loadCategory( path );
+ item.addCategory( name, description );
+ return Boolean.TRUE;
+ }
+
+
+ public Boolean createNewRule(String ruleName,
+ String description,
+ String initialCategory,
+ String initialPackage) {
+ RulePackageItem pkg = getRulesRepository().loadRulePackage( initialPackage );
+ RuleItem rule = pkg.addRule( ruleName, description );
+ rule.addCategory( initialCategory );
+
+ return Boolean.TRUE;
+ }
+ public String[] listRulePackages() {
+ Iterator pkgs = getRulesRepository().listPackages();
+ List result = new ArrayList();
+ while(pkgs.hasNext()) {
+ RulePackageItem pkg = (RulePackageItem) pkgs.next();
+ result.add( pkg.getName() );
+ }
+ return (String[]) result.toArray( new String[result.size()] );
+ }
+
+
+
+
public String[][] loadRuleListForCategories(String categoryPath,
String status) {
log( "loading rule list",
@@ -63,7 +114,7 @@
}
/** Get the rule repository for the "current" user */
- private RulesRepository getRulesRepository() {
+ RulesRepository getRulesRepository() {
return this.getRepositoryFrom( getSession() );
}
@@ -134,14 +185,5 @@
- public Boolean createCategory(String path,
- String name,
- String description) {
- ServiceImpl serv = new ServiceImpl(getRulesRepository());
- return serv.createCategory( path, name, description );
-
- }
-
-
}
Deleted: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/ServiceImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/ServiceImpl.java 2006-10-17 10:32:41 UTC (rev 6848)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/ServiceImpl.java 2006-10-17 11:20:19 UTC (rev 6849)
@@ -1,62 +0,0 @@
-package org.drools.brms.server;
-
-import java.util.List;
-
-import org.drools.brms.client.rpc.RepositoryService;
-import org.drools.brms.client.rpc.TableConfig;
-import org.drools.repository.CategoryItem;
-import org.drools.repository.RulesRepository;
-
-/**
- * This contains the "glue" between the servlet implementation
- * (which is GWT specific) and the repository api.
- * This is mainly to make things more testable.
- *
- * It will be "injected" a RulesRepository implementation.
- *
- * @author Michael Neale
- */
-public class ServiceImpl implements RepositoryService {
-
- private RulesRepository repo;
-
- public ServiceImpl(RulesRepository repository) {
- this.repo = repository;
- }
-
- public String[] loadChildCategories(String categoryPath) {
-
- CategoryItem item = repo.loadCategory( categoryPath );
- List children = item.getChildTags();
- String[] list = new String[children.size()];
- for ( int i = 0; i < list.length; i++ ) {
- list[i] = ((CategoryItem) children.get( i )).getName();
- }
- return list;
-
- }
-
- public Boolean createCategory(String path,
- String name,
- String description) {
-
- if (path == null || "".equals(path)) {
- path = "/";
- }
- CategoryItem item = repo.loadCategory( path );
- item.addCategory( name, description );
- return Boolean.TRUE;
- }
-
- public String[][] loadRuleListForCategories(String categoryPath,
- String status) {
- // TODO Auto-generated method stub
- return null;
- }
-
- public TableConfig loadTableConfig(String listName) {
- // TODO Auto-generated method stub
- return null;
- }
-
-}
Modified: labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/JBRMSServiceServletTest.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/JBRMSServiceServletTest.java 2006-10-17 10:32:41 UTC (rev 6848)
+++ labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/JBRMSServiceServletTest.java 2006-10-17 11:20:19 UTC (rev 6849)
@@ -13,6 +13,9 @@
import org.drools.repository.RulesRepository;
+/**
+ * This tests the basic http stuff for the servlet.
+ */
public class JBRMSServiceServletTest extends TestCase {
public void testInit() throws Exception {
Added: labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/MockJBRMSServiceServlet.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/MockJBRMSServiceServlet.java 2006-10-17 10:32:41 UTC (rev 6848)
+++ labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/MockJBRMSServiceServlet.java 2006-10-17 11:20:19 UTC (rev 6849)
@@ -0,0 +1,24 @@
+package org.drools.brms.server;
+
+import org.drools.repository.RulesRepository;
+
+/**
+ * This isn't really a mock, it just stubs out enough so I can test it from the servlet
+ * down - at least the non servlet specific stuff.
+ *
+ * @author michael neale.
+ *
+ */
+public class MockJBRMSServiceServlet extends JBRMSServiceServlet {
+
+ RulesRepository repo;
+
+ public MockJBRMSServiceServlet() throws Exception {
+ repo = new RulesRepository(SessionHelper.getSession());
+ }
+
+ RulesRepository getRulesRepository() {
+ return repo;
+ }
+
+}
Property changes on: labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/MockJBRMSServiceServlet.java
___________________________________________________________________
Name: svn:eol-style
+ native
Deleted: labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/ServiceImplTest.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/ServiceImplTest.java 2006-10-17 10:32:41 UTC (rev 6848)
+++ labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/ServiceImplTest.java 2006-10-17 11:20:19 UTC (rev 6849)
@@ -1,36 +0,0 @@
-package org.drools.brms.server;
-
-import org.drools.repository.RulesRepository;
-
-import junit.framework.TestCase;
-
-public class ServiceImplTest extends TestCase {
-
- public void testCategory() throws Exception {
- ServiceImpl impl = new ServiceImpl(new RulesRepository(SessionHelper.getSession()));
-
- String[] originalCats = impl.loadChildCategories( "/" );
-
- Boolean result = impl.createCategory( "/",
- "TopLevel1",
- "a description" );
- assertTrue( result.booleanValue() );
-
- result = impl.createCategory( "/",
- "TopLevel2",
- "a description" );
- assertTrue( result.booleanValue() );
-
- String[] cats = impl.loadChildCategories( "/" );
- assertTrue( cats.length == originalCats.length + 2 );
-
- result = impl.createCategory( "", "Top3", "description" );
- assertTrue(result.booleanValue());
-
- result = impl.createCategory( null, "Top4", "description" );
- assertTrue(result.booleanValue());
-
-
- }
-
-}
Copied: labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/ServiceImplementationTest.java (from rev 6716, labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/ServiceImplTest.java)
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/ServiceImplTest.java 2006-10-10 10:13:27 UTC (rev 6716)
+++ labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/ServiceImplementationTest.java 2006-10-17 11:20:19 UTC (rev 6849)
@@ -0,0 +1,69 @@
+package org.drools.brms.server;
+
+import junit.framework.TestCase;
+
+import org.drools.brms.client.rpc.RepositoryService;
+import org.drools.repository.CategoryItem;
+
+public class ServiceImplementationTest extends TestCase {
+
+ public void testCategory() throws Exception {
+ //ServiceImpl impl = new ServiceImpl(new RulesRepository(SessionHelper.getSession()));
+
+ RepositoryService impl = new MockJBRMSServiceServlet();
+
+ String[] originalCats = impl.loadChildCategories( "/" );
+
+ Boolean result = impl.createCategory( "/",
+ "TopLevel1",
+ "a description" );
+ assertTrue( result.booleanValue() );
+
+ result = impl.createCategory( "/",
+ "TopLevel2",
+ "a description" );
+ assertTrue( result.booleanValue() );
+
+ String[] cats = impl.loadChildCategories( "/" );
+ assertTrue( cats.length == originalCats.length + 2 );
+
+ result = impl.createCategory( "", "Top3", "description" );
+ assertTrue(result.booleanValue());
+
+ result = impl.createCategory( null, "Top4", "description" );
+ assertTrue(result.booleanValue());
+
+
+ }
+
+ public void testAddRuleAndListPackages() throws Exception {
+ //ServiceImpl impl = new ServiceImpl(new RulesRepository(SessionHelper.getSession()));
+
+ MockJBRMSServiceServlet impl = new MockJBRMSServiceServlet();
+
+ impl.repo.loadDefaultRulePackage();
+ impl.repo.createRulePackage( "another", "woot" );
+
+
+ CategoryItem cat = impl.repo.loadCategory( "/" );
+ cat.addCategory( "testAddRule", "yeah" );
+
+
+ Boolean result = impl.createNewRule( "testAddRule", "a description", "testAddRule", "another" );
+ assertTrue(result.booleanValue());
+
+ String[] packages = impl.listRulePackages();
+ assertTrue(packages.length > 0);
+
+ boolean found = false;
+ for ( int i = 0; i < packages.length; i++ ) {
+ if (packages[i].equals( "another" )) {
+ found = true;
+ }
+ }
+ assertTrue(found);
+
+ }
+
+
+}
More information about the jboss-svn-commits
mailing list