[jboss-svn-commits] JBL Code SVN: r6268 - in labs/jbossrules/trunk/drools-jbrms/src: main/java/org/drools/brms/client/breditor main/java/org/drools/brms/client/categorynav 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
Mon Sep 18 09:35:54 EDT 2006
Author: michael.neale at jboss.com
Date: 2006-09-18 09:35:47 -0400 (Mon, 18 Sep 2006)
New Revision: 6268
Modified:
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/breditor/BREditor.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/breditor/EditableLine.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/server/JBRMSServiceServlet.java
labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/SessionHelper.java
Log:
more progress
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/breditor/BREditor.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/breditor/BREditor.java 2006-09-18 13:30:49 UTC (rev 6267)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/breditor/BREditor.java 2006-09-18 13:35:47 UTC (rev 6268)
@@ -15,67 +15,75 @@
/**
* This is the editor for "business" rules via a DSL.
+ * This uses the EditableLine widget.
*/
public class BREditor extends Composite {
- final int DESC_COLUMN = 0;
- final int CONTENT_COLUMN = 1;
- final int ACTION_COLUMN = 2;
+ final int DESC_COLUMN = 0; // this column in the layout if for descriptions
+ final int CONTENT_COLUMN = 1; //this displays the rule contents
+ final int ACTION_COLUMN = 2; //this contains "action" buttons
private Panel panel;
- private List lhs = new ArrayList();
+ private List lhs = new ArrayList(); //these will be populated with EditableLine widget
private List rhs = new ArrayList();
private FlexTable table = null;
public BREditor() {
-
panel = new VerticalPanel();
initData();
- populateTable();
+ refreshLayoutTable();
-
-
initWidget( panel );
}
- /** This will populate and refresh the table */
- private void populateTable() {
- refreshTableOnPanel();
+ /** This will populate and refresh the overall layout table. */
+ private void refreshLayoutTable() {
+ resetTableWidget();
table.setText( 0, DESC_COLUMN, "IF" );
+ //DSL suggestions/pick list
final ChoiceList listPopup = new ChoiceList(new ClickListener() {
public void onClick(Widget popup) {
//need up add to the LHS list
ChoiceList c = (ChoiceList) popup;
lhs.add( new Label(c.getSelectedItem()) );
- populateTable();
+ refreshLayoutTable();
}
});
+ //button to add a new item (using the choice list).
Image addLhs = new Image("images/new_item.gif");
addLhs.addClickListener( new ClickListener() {
public void onClick(Widget sender) {
-
-
int left = sender.getAbsoluteLeft() + 10;
int top = sender.getAbsoluteTop() + 10;
- listPopup.setPopupPosition( left,
- top );
+ listPopup.setPopupPosition( left, top );
listPopup.show();
}
});
+ //button to toggle edit mode
+ Image edit = new Image("images/edit.gif");
+ edit.addClickListener( new ClickListener() {
+
+ public void onClick(Widget w) {
+ switchModes();
+ }
+
+ });
+
table.setWidget( 0, ACTION_COLUMN, addLhs );
+ table.setWidget( 0, ACTION_COLUMN + 1, edit );
int rowOffset = 1;
//setup LHS
- populateContent(
+ displayEditorWidgets(
rowOffset, lhs );
rowOffset = lhs.size() + 1;
@@ -88,12 +96,17 @@
rowOffset++;
//setup RHS
- populateContent( rowOffset, rhs );
+ displayEditorWidgets( rowOffset, rhs );
}
+
+ private void switchModes() {
+
+ }
- private void populateContent(int rowOffset, final List dataList) {
+ /** This processes the individual LHS or RHS items */
+ private void displayEditorWidgets(int rowOffset, final List dataList) {
final BREditor editor = this;
for ( int i = 0; i < dataList.size(); i++ ) {
Widget w = (Widget) dataList.get( i );
@@ -105,7 +118,7 @@
public void onClick(Widget but) {
dataList.remove( idx );
- editor.populateTable();
+ editor.refreshLayoutTable();
}
});
@@ -113,7 +126,7 @@
}
}
- private void refreshTableOnPanel() {
+ private void resetTableWidget() {
//remove old if refreshing
if (table != null) {
panel.remove( table );
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/breditor/EditableLine.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/breditor/EditableLine.java 2006-09-18 13:30:49 UTC (rev 6267)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/breditor/EditableLine.java 2006-09-18 13:35:47 UTC (rev 6268)
@@ -18,10 +18,6 @@
*/
private Widget[] widgets;
- /**
- * Obviously to keep state of the widget when switching modes.
- */
- private boolean readOnly = true;
public EditableLine(Widget[] items) {
widgets = items;
@@ -35,7 +31,6 @@
public void makeReadOnly() {
- readOnly = true;
panel.clear();
panel.add( new Label(toString()) );
@@ -53,7 +48,6 @@
}
public void makeEditable() {
- readOnly = false;
panel.clear();
for ( int i = 0; i < widgets.length; i++ ) {
panel.add( widgets[i] );
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-09-18 13:30:49 UTC (rev 6267)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/categorynav/CategoryEditor.java 2006-09-18 13:35:47 UTC (rev 6268)
@@ -87,7 +87,7 @@
if (((Boolean) result).booleanValue()) {
hide();
} else {
- ErrorPopup.showMessage( "Unable to create new category (server error). ");
+ ErrorPopup.showMessage( "Category was not successfully created. ");
}
}
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-09-18 13:30:49 UTC (rev 6267)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/JBRMSServiceServlet.java 2006-09-18 13:35:47 UTC (rev 6268)
@@ -117,16 +117,20 @@
/** This will create a new repository instance (should only happen once after startup) */
private Session initialiseRepo(RepositoryConfigurator config) throws LoginException,
RepositoryException {
- Session session;
- if (repository == null) {
- repository = config.createRepository();
- }
+ Session session = config.login( getJCRRepository( config ) );
- session = config.login( repository );
-
config.setupRulesRepository( session );
return session;
}
+
+
+
+ synchronized static Repository getJCRRepository(RepositoryConfigurator config) {
+ if (repository == null) {
+ repository = config.createRepository();
+ }
+ return repository;
+ }
Modified: labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/SessionHelper.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/SessionHelper.java 2006-09-18 13:30:49 UTC (rev 6267)
+++ labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/SessionHelper.java 2006-09-18 13:35:47 UTC (rev 6268)
@@ -5,6 +5,10 @@
import org.drools.repository.RepositoryConfigurator;
+/**
+ * A simple utility to create a single session for the unit tests.
+ * This is not used by the servlet test, only by all the other ones.
+ */
public class SessionHelper {
public static Session testSession;
@@ -12,7 +16,7 @@
public static Session getSession() throws Exception {
if (testSession == null) {
RepositoryConfigurator config = new RepositoryConfigurator();
- Repository repo = config.createRepository();
+ Repository repo = JBRMSServiceServlet.getJCRRepository( config );
testSession = config.login( repo );
config.clearRulesRepository( testSession );
config.setupRulesRepository( testSession );
More information about the jboss-svn-commits
mailing list