[jboss-svn-commits] JBL Code SVN: r6203 - in labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms: client client/categorynav client/rpc client/rpc/mock client/rulenav public/images server

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Sep 13 13:03:39 EDT 2006


Author: michael.neale at jboss.com
Date: 2006-09-13 13:03:25 -0400 (Wed, 13 Sep 2006)
New Revision: 6203

Added:
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/categorynav/
   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/RulesNavigatorTree.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/edit_category.gif
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/new.gif
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/refresh.gif
Removed:
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/categorynav/RulesNavigatorTree.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rulenav/CategorySelectHandler.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rulenav/RulesNavigatorTree.java
Modified:
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/Admin.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/Rules.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/RepositoryServiceAsync.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/RepositoryServiceFactory.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/server/JBRMSServiceServlet.java
Log:
category fun

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/Admin.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/Admin.java	2006-09-13 16:26:51 UTC (rev 6202)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/Admin.java	2006-09-13 17:03:25 UTC (rev 6203)
@@ -47,7 +47,7 @@
 
     fTabs.setWidth("100%");
     fTabs.setHeight("100%");
-    setWidget(fTabs);
+    initWidget(fTabs);
   }
 
   public void onShow() {

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/Rules.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/Rules.java	2006-09-13 16:26:51 UTC (rev 6202)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/Rules.java	2006-09-13 17:03:25 UTC (rev 6203)
@@ -1,13 +1,11 @@
 package org.drools.brms.client;
 
-import org.drools.brms.client.rpc.RepositoryServiceFactory;
+import org.drools.brms.client.categorynav.CategorySelectHandler;
+import org.drools.brms.client.categorynav.RulesNavigatorTree;
 import org.drools.brms.client.ruleeditor.RuleView;
 import org.drools.brms.client.rulelist.EditItemEvent;
 import org.drools.brms.client.rulelist.RuleListView;
-import org.drools.brms.client.rulenav.CategorySelectHandler;
-import org.drools.brms.client.rulenav.RulesNavigatorTree;
 
-import com.google.gwt.user.client.rpc.AsyncCallback;
 import com.google.gwt.user.client.ui.HorizontalPanel;
 import com.google.gwt.user.client.ui.Image;
 import com.google.gwt.user.client.ui.TabPanel;
@@ -33,7 +31,7 @@
 		TabPanel tab = new TabPanel();
 		tab.setWidth("100%");
 		tab.setHeight("100%");
-		setWidget(tab);
+		initWidget(tab);
 		
 		
 		HorizontalPanel explorePanel = doExplore(tab);
@@ -73,7 +71,7 @@
             }
             
         });			
-		panel.add(nav.getTree());
+		panel.add(nav);
         
 
 		panel.add(list);

Copied: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/categorynav (from rev 6120, labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rulenav)

Added: 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/rulenav/CategoryEditor.java	2006-09-08 13:40:22 UTC (rev 6120)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/categorynav/CategoryEditor.java	2006-09-13 17:03:25 UTC (rev 6203)
@@ -0,0 +1,99 @@
+package org.drools.brms.client.categorynav;
+
+import org.drools.brms.client.ErrorPopup;
+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;
+import com.google.gwt.user.client.ui.Image;
+import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.PopupPanel;
+import com.google.gwt.user.client.ui.TextArea;
+import com.google.gwt.user.client.ui.TextBox;
+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.
+ */
+public class CategoryEditor extends PopupPanel {
+
+    private String path;
+    private FlexTable table = new FlexTable();
+    private TextBox name = new TextBox();
+    private TextArea description = new TextArea();
+    
+    
+    /** This is used when creating a new category */
+    public CategoryEditor(String catPath) {
+        super(true);
+        path = catPath;
+        
+        table.setWidget( 0, 0, new Image("images/edit_category.gif") );
+        
+        table.setWidget( 0, 1, new Label(getTitle( path )));
+        
+        
+        table.setWidget( 1, 0, new Label("Cateogory name") );
+        table.setWidget( 1, 1, name );
+        
+        description.setVisibleLines( 4 );
+        table.setWidget( 2, 0, new Label("Description") );
+        table.setWidget( 2, 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");
+        cancel.addClickListener( new ClickListener() {
+            public void onClick(Widget w) {
+                cancel();                
+            }
+            
+        });
+        
+        table.setWidget( 3, 1, cancel );
+        
+        add( table );
+        setStyleName( "ks-popups-Popup" );
+    }
+
+    private String getTitle(String catPath) {
+        if (catPath == null) {
+            return "Create a new top level category.";
+        } else {
+            return "Create new category under: [" + catPath + "]";
+        }
+    }
+    
+    void ok() {
+        System.out.println("Creating: " + name.getText());
+        AsyncCallback cb = new AsyncCallback() {
+
+            public void onFailure(Throwable arg0) {
+                ErrorPopup.showMessage( "Unable to create new category (server error). ");
+            }
+
+            public void onSuccess(Object result) {                
+                hide();
+            }
+            
+        };
+        RepositoryServiceFactory.getService().createCategory( path, name.getText(), description.getText(), cb );        
+        this.table.setWidget( 0, 1, new Label("Please wait ..." ));
+    }
+    
+    void cancel() {
+        hide();
+    }
+    
+}


Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/categorynav/CategoryEditor.java
___________________________________________________________________
Name: svn:eol-style
   + native

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/rulenav/CategorySelectHandler.java	2006-09-08 13:40:22 UTC (rev 6120)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/categorynav/CategorySelectHandler.java	2006-09-13 17:03:25 UTC (rev 6203)
@@ -1,4 +1,4 @@
-package org.drools.brms.client.rulenav;
+package org.drools.brms.client.categorynav;
 
 /**
  * This represents an event of a category being selected.

Deleted: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/categorynav/RulesNavigatorTree.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rulenav/RulesNavigatorTree.java	2006-09-08 13:40:22 UTC (rev 6120)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/categorynav/RulesNavigatorTree.java	2006-09-13 17:03:25 UTC (rev 6203)
@@ -1,135 +0,0 @@
-/*
- * Copyright 2006 Google Inc.
- * 
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- * 
- * http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package org.drools.brms.client.rulenav;
-
-import org.drools.brms.client.rpc.RepositoryServiceAsync;
-import org.drools.brms.client.rpc.RepositoryServiceFactory;
-
-import com.google.gwt.user.client.rpc.AsyncCallback;
-import com.google.gwt.user.client.ui.Tree;
-import com.google.gwt.user.client.ui.TreeItem;
-import com.google.gwt.user.client.ui.TreeListener;
-
-/**
- * This is a rule/resource navigator that uses the server side categories to 
- * navigate the repository.
- * Uses the the {@link com.google.gwt.user.client.ui.Tree} widget.
- */
-public class RulesNavigatorTree
-    implements
-    TreeListener {
-
-    private Tree                   navTreeWidget = new Tree();
-    private RepositoryServiceAsync service       = RepositoryServiceFactory.getService();
-    private CategorySelectHandler  categorySelectHandler;
-
-    public void setTreeSize(String width) {
-        navTreeWidget.setWidth( width );
-    }
-
-    /** Return the actual widget so the composite can use it */
-    public Tree getTree() {
-        return navTreeWidget;
-    }
-
-    public RulesNavigatorTree(CategorySelectHandler handler) {
-        this.categorySelectHandler = handler;
-        service.loadChildCategories( "",
-                                     new AsyncCallback() {
-
-                                         public void onFailure(Throwable caught) {
-                                             //TODO: work out how to handle it.
-                                         }
-
-                                         public void onSuccess(Object result) {
-                                             String[] categories = (String[]) result;
-                                             for ( int i = 0; i < categories.length; i++ ) {
-                                                 navTreeWidget.addItem( categories[i] ).addItem( new PendingItem() );
-                                             }
-
-                                         }
-
-                                     } );
-
-        navTreeWidget.addTreeListener( this );
-
-    }
-
-    public void onShow() {
-        //move along... these are not the droids you're looking for...
-    }
-
-    public void onTreeItemSelected(TreeItem item) {
-        this.categorySelectHandler.selected( getPath( item ) );
-    }
-
-    public void onTreeItemStateChanged(TreeItem item) {
-
-        if ( hasBeenLoaded( item ) ) {
-            return;
-        }
-
-        final TreeItem root = item;
-
-        //walk back up to build a tree
-        String categoryPath = getPath( item );
-
-        item.setUserObject( new Boolean( true ) );
-
-        service.loadChildCategories( categoryPath,
-                                     new AsyncCallback() {
-
-                                         public void onFailure(Throwable caught) {
-                                             // TODO Auto-generated method stub            
-                                         }
-
-                                         public void onSuccess(Object result) {
-                                             TreeItem child = root.getChild( 0 );
-                                             if ( child instanceof PendingItem ) {
-                                                 root.removeItem( child );
-                                             }
-                                             String[] list = (String[]) result;
-                                             for ( int i = 0; i < list.length; i++ ) {
-                                                 root.addItem( list[i] ).addItem( new PendingItem() );
-                                             }
-                                         }
-
-                                     } );
-
-    }
-
-    private boolean hasBeenLoaded(TreeItem item) {
-        if ( item.getUserObject() == null ) return false;
-        return (((Boolean) item.getUserObject()).booleanValue());
-    }
-
-    private String getPath(TreeItem item) {
-        String categoryPath = item.getText();
-        TreeItem parent = item.getParentItem();
-        while ( parent != null ) {
-            categoryPath = parent.getText() + "/" + categoryPath;
-            parent = parent.getParentItem();
-        }
-        return categoryPath;
-    }
-
-    private static class PendingItem extends TreeItem {
-        public PendingItem() {
-            super( "Please wait..." );
-        }
-    }
-
-}

Copied: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/categorynav/RulesNavigatorTree.java (from rev 6177, labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rulenav/RulesNavigatorTree.java)
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rulenav/RulesNavigatorTree.java	2006-09-12 16:37:13 UTC (rev 6177)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/categorynav/RulesNavigatorTree.java	2006-09-13 17:03:25 UTC (rev 6203)
@@ -0,0 +1,189 @@
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.drools.brms.client.categorynav;
+
+import org.drools.brms.client.ErrorPopup;
+import org.drools.brms.client.rpc.RepositoryServiceAsync;
+import org.drools.brms.client.rpc.RepositoryServiceFactory;
+
+import com.google.gwt.user.client.rpc.AsyncCallback;
+import com.google.gwt.user.client.ui.ClickListener;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.FlexTable;
+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.Tree;
+import com.google.gwt.user.client.ui.TreeItem;
+import com.google.gwt.user.client.ui.TreeListener;
+import com.google.gwt.user.client.ui.Widget;
+import com.google.gwt.user.client.ui.FlexTable.FlexCellFormatter;
+
+/**
+ * This is a rule/resource navigator that uses the server side categories to 
+ * navigate the repository.
+ * Uses the the {@link com.google.gwt.user.client.ui.Tree} widget.
+ */
+public class RulesNavigatorTree
+    extends Composite implements TreeListener
+    {
+
+     
+    
+    private Tree                   navTreeWidget = new Tree();
+    private FlexTable              table         = new FlexTable();
+    private RepositoryServiceAsync service       = RepositoryServiceFactory.getService();
+    private CategorySelectHandler  categorySelectHandler;
+    private String selectedPath;
+
+    public void setTreeSize(String width) {
+        navTreeWidget.setWidth( width );
+    }
+
+    public RulesNavigatorTree(CategorySelectHandler handler) {
+        table.setWidget( 0, 0, navTreeWidget );
+        
+        FlexCellFormatter formatter = table.getFlexCellFormatter();
+        formatter.setColSpan( 0, 0, 2 );
+        
+        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");
+        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  );
+                newCat.show();
+            }            
+        });
+        
+        
+        table.setWidget( 1, 0, newCat);
+        table.setWidget( 1, 1, refresh );
+        formatter.setAlignment( 1, 0, HasHorizontalAlignment.ALIGN_LEFT, HasVerticalAlignment.ALIGN_MIDDLE );
+        formatter.setAlignment( 1, 1, HasHorizontalAlignment.ALIGN_RIGHT, HasVerticalAlignment.ALIGN_MIDDLE );
+        
+        this.categorySelectHandler = handler;
+        loadInitialTree();
+        
+        initWidget( table );
+        navTreeWidget.addTreeListener( this );
+    }
+
+    /** This will refresh the tree and restore it back to the original state */
+    private void loadInitialTree() {
+        navTreeWidget.addItem( "Please wait..." );
+        service.loadChildCategories( "/",
+                                     new AsyncCallback() {
+
+                                         public void onFailure(Throwable caught) {                                             
+                                             ErrorPopup.showMessage( "A server error occurred loading categories." );
+                                             navTreeWidget.removeItems();
+                                             navTreeWidget.addItem( "Unable to load categories." );
+                                         }
+
+                                         public void onSuccess(Object result) {
+                                             selectedPath = null;
+                                             navTreeWidget.removeItems();
+                                             String[] categories = (String[]) result;
+                                             for ( int i = 0; i < categories.length; i++ ) {
+                                                 navTreeWidget.addItem( categories[i] ).addItem( new PendingItem() );
+                                             }
+
+                                         }
+
+                                     } );
+
+        
+    }
+    
+    
+
+    public void onShow() {
+        //move along... these are not the droids you're looking for...
+    }
+
+    public void onTreeItemSelected(TreeItem item) {
+        this.selectedPath = getPath( item );        
+        this.categorySelectHandler.selected( selectedPath );
+    }
+    
+
+    public void onTreeItemStateChanged(TreeItem item) {
+
+        if ( hasBeenLoaded( item ) ) {
+            return;
+        }
+
+        final TreeItem root = item;
+
+        //walk back up to build a tree
+        this.selectedPath = getPath( item );
+
+        item.setUserObject( new Boolean( true ) );
+
+        service.loadChildCategories( selectedPath,
+                                     new AsyncCallback() {
+
+                                         public void onFailure(Throwable caught) {
+                                             ErrorPopup.showMessage( "Unable to load categories for [" + selectedPath + "]");            
+                                         }
+
+                                         public void onSuccess(Object result) {
+                                             TreeItem child = root.getChild( 0 );
+                                             if ( child instanceof PendingItem ) {
+                                                 root.removeItem( child );
+                                             }
+                                             String[] list = (String[]) result;
+                                             for ( int i = 0; i < list.length; i++ ) {
+                                                 root.addItem( list[i] ).addItem( new PendingItem() );
+                                             }
+                                         }
+
+                                     } );
+
+    }
+
+    private boolean hasBeenLoaded(TreeItem item) {
+        if ( item.getUserObject() == null ) return false;
+        return (((Boolean) item.getUserObject()).booleanValue());
+    }
+
+    private String getPath(TreeItem item) {
+        String categoryPath = item.getText();
+        TreeItem parent = item.getParentItem();
+        while ( parent != null ) {
+            categoryPath = parent.getText() + "/" + categoryPath;
+            parent = parent.getParentItem();
+        }
+        return categoryPath;
+    }
+
+    private static class PendingItem extends TreeItem {
+        public PendingItem() {
+            super( "Please wait..." );
+        }
+    }
+
+}

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-09-13 16:26:51 UTC (rev 6202)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/RepositoryService.java	2006-09-13 17:03:25 UTC (rev 6203)
@@ -26,5 +26,10 @@
      * This will return a TableConfig of header names.
      * @param listName The name of the list that we are going to render.
      */
-    public TableConfig loadTableConfig(String listName);  
+    public TableConfig loadTableConfig(String listName);
+    
+    /**
+     * This will create a new category at the specified path.
+     */
+    public Boolean createCategory(String path, String name, String description);
 }

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	2006-09-13 16:26:51 UTC (rev 6202)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/RepositoryServiceAsync.java	2006-09-13 17:03:25 UTC (rev 6203)
@@ -31,4 +31,6 @@
      * @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);
 }

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/RepositoryServiceFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/RepositoryServiceFactory.java	2006-09-13 16:26:51 UTC (rev 6202)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/RepositoryServiceFactory.java	2006-09-13 17:03:25 UTC (rev 6203)
@@ -16,7 +16,7 @@
      * versus full RPC (which requires the back end be running in some form).
      * Can set it to DEBUG if you want to run it client side only.
      */
-    public static boolean DEBUG = false;
+    public static boolean DEBUG = true;
     
     public static RepositoryServiceAsync getService() {
         if (DEBUG)

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-09-13 16:26:51 UTC (rev 6202)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/mock/MockRepositoryServiceAsync.java	2006-09-13 17:03:25 UTC (rev 6203)
@@ -71,4 +71,14 @@
         
     }
 
+
+
+    public void createCategory(String path,
+                               String name,
+                               String description,
+                               AsyncCallback callback) {
+        callback.onSuccess( new Boolean(true) );
+        
+    }
+
 }

Deleted: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rulenav/CategorySelectHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rulenav/CategorySelectHandler.java	2006-09-13 16:26:51 UTC (rev 6202)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rulenav/CategorySelectHandler.java	2006-09-13 17:03:25 UTC (rev 6203)
@@ -1,15 +0,0 @@
-package org.drools.brms.client.rulenav;
-
-/**
- * This represents an event of a category being selected.
- * @author Michael Neale
- *
- */
-public interface CategorySelectHandler {
-
-    /**
-     * When a category is selected.
-     */
-    public void selected(String selectedPath);
-    
-}

Deleted: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rulenav/RulesNavigatorTree.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rulenav/RulesNavigatorTree.java	2006-09-13 16:26:51 UTC (rev 6202)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rulenav/RulesNavigatorTree.java	2006-09-13 17:03:25 UTC (rev 6203)
@@ -1,136 +0,0 @@
-/*
- * Copyright 2006 Google Inc.
- * 
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- * 
- * http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package org.drools.brms.client.rulenav;
-
-import org.drools.brms.client.ErrorPopup;
-import org.drools.brms.client.rpc.RepositoryServiceAsync;
-import org.drools.brms.client.rpc.RepositoryServiceFactory;
-
-import com.google.gwt.user.client.rpc.AsyncCallback;
-import com.google.gwt.user.client.ui.Tree;
-import com.google.gwt.user.client.ui.TreeItem;
-import com.google.gwt.user.client.ui.TreeListener;
-
-/**
- * This is a rule/resource navigator that uses the server side categories to 
- * navigate the repository.
- * Uses the the {@link com.google.gwt.user.client.ui.Tree} widget.
- */
-public class RulesNavigatorTree
-    implements
-    TreeListener {
-
-    private Tree                   navTreeWidget = new Tree();
-    private RepositoryServiceAsync service       = RepositoryServiceFactory.getService();
-    private CategorySelectHandler  categorySelectHandler;
-
-    public void setTreeSize(String width) {
-        navTreeWidget.setWidth( width );
-    }
-
-    /** Return the actual widget so the composite can use it */
-    public Tree getTree() {
-        return navTreeWidget;
-    }
-
-    public RulesNavigatorTree(CategorySelectHandler handler) {
-        this.categorySelectHandler = handler;
-        service.loadChildCategories( "/",
-                                     new AsyncCallback() {
-
-                                         public void onFailure(Throwable caught) {
-                                             ErrorPopup.showMessage( "Unable to load categories" );                                             
-                                         }
-
-                                         public void onSuccess(Object result) {
-                                             String[] categories = (String[]) result;
-                                             for ( int i = 0; i < categories.length; i++ ) {
-                                                 navTreeWidget.addItem( categories[i] ).addItem( new PendingItem() );
-                                             }
-
-                                         }
-
-                                     } );
-
-        navTreeWidget.addTreeListener( this );
-
-    }
-
-    public void onShow() {
-        //move along... these are not the droids you're looking for...
-    }
-
-    public void onTreeItemSelected(TreeItem item) {
-        this.categorySelectHandler.selected( getPath( item ) );
-    }
-
-    public void onTreeItemStateChanged(TreeItem item) {
-
-        if ( hasBeenLoaded( item ) ) {
-            return;
-        }
-
-        final TreeItem root = item;
-
-        //walk back up to build a tree
-        String categoryPath = getPath( item );
-
-        item.setUserObject( new Boolean( true ) );
-
-        service.loadChildCategories( categoryPath,
-                                     new AsyncCallback() {
-
-                                         public void onFailure(Throwable caught) {
-                                             // TODO Auto-generated method stub            
-                                         }
-
-                                         public void onSuccess(Object result) {
-                                             TreeItem child = root.getChild( 0 );
-                                             if ( child instanceof PendingItem ) {
-                                                 root.removeItem( child );
-                                             }
-                                             String[] list = (String[]) result;
-                                             for ( int i = 0; i < list.length; i++ ) {
-                                                 root.addItem( list[i] ).addItem( new PendingItem() );
-                                             }
-                                         }
-
-                                     } );
-
-    }
-
-    private boolean hasBeenLoaded(TreeItem item) {
-        if ( item.getUserObject() == null ) return false;
-        return (((Boolean) item.getUserObject()).booleanValue());
-    }
-
-    private String getPath(TreeItem item) {
-        String categoryPath = item.getText();
-        TreeItem parent = item.getParentItem();
-        while ( parent != null ) {
-            categoryPath = parent.getText() + "/" + categoryPath;
-            parent = parent.getParentItem();
-        }
-        return categoryPath;
-    }
-
-    private static class PendingItem extends TreeItem {
-        public PendingItem() {
-            super( "Please wait..." );
-        }
-    }
-
-}

Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/edit_category.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/edit_category.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/new.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/new.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/refresh.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/refresh.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-09-13 16:26:51 UTC (rev 6202)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/JBRMSServiceServlet.java	2006-09-13 17:03:25 UTC (rev 6203)
@@ -16,12 +16,17 @@
 
 import com.google.gwt.user.server.rpc.RemoteServiceServlet;
 
+/** 
+ * This is the implementation of the repository service to drive the GWT based front end.
+ * @author Michael Neale
+ */
 public class JBRMSServiceServlet extends RemoteServiceServlet
     implements
     RepositoryService {
 
     private static final long serialVersionUID = 3150768417428383474L;
-
+    public static Repository repository;
+    
     public String[] loadChildCategories(String categoryPath) {        
         RulesRepository repo = this.getRepositoryFrom( getSession() );
         CategoryItem item = repo.getOrCreateCategory( categoryPath );
@@ -121,8 +126,15 @@
         return session;
     }
     
-    public static Repository repository;
+    
 
+    public Boolean createCategory(String path,
+                                  String name,
+                                  String description) {
+        // TODO Auto-generated method stub
+        return new Boolean(false);
+    }
 
 
+
 }




More information about the jboss-svn-commits mailing list