[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