[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