[jboss-svn-commits] JBL Code SVN: r10007 - in labs/jbossrules/trunk/drools-jbrms/src: main/java/org/drools/brms/client/categorynav and 3 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Mar 6 21:50:09 EST 2007
Author: michael.neale at jboss.com
Date: 2007-03-06 21:50:09 -0500 (Tue, 06 Mar 2007)
New Revision: 10007
Modified:
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/admin/CategoryManager.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/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/server/JBRMSServiceServlet.java
labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/ServiceImplementationTest.java
Log:
JBRULES-726 Can remove categories
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/admin/CategoryManager.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/admin/CategoryManager.java 2007-03-07 01:49:34 UTC (rev 10006)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/admin/CategoryManager.java 2007-03-07 02:50:09 UTC (rev 10007)
@@ -4,10 +4,14 @@
import org.drools.brms.client.categorynav.CategoryExplorerWidget;
import org.drools.brms.client.categorynav.CategorySelectHandler;
import org.drools.brms.client.common.FormStyleLayout;
+import org.drools.brms.client.common.GenericCallback;
+import org.drools.brms.client.rpc.RepositoryServiceFactory;
+import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.ClickListener;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.HTML;
+import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Image;
import com.google.gwt.user.client.ui.SimplePanel;
import com.google.gwt.user.client.ui.VerticalPanel;
@@ -30,8 +34,10 @@
explorer = new CategoryExplorerWidget(new CategorySelectHandler() {
public void selected(String sel) {
- selectedPath = sel;
- }
+ selectPath( sel );
+ }
+
+
});
@@ -63,11 +69,39 @@
} );
form.addAttribute( "Create a new category:", newCat );
-
+
+ Image delete = new Image("images/delete_obj.gif");
+ delete.addClickListener( new ClickListener() {
+ public void onClick(Widget w) {
+ deleteSelected();
+ }
+ } );
+ delete.setTitle( "Deletes the currently selected category. You won't be able to delete if the category is in use." );
+
+ form.addAttribute( "Delete the currently selected category:", delete );
+
initWidget( form );
}
+ private void deleteSelected() {
+ if (Window.confirm( "Are you sure you want to delete category: " + selectedPath )) {
+ RepositoryServiceFactory.getService().removeCategory( selectedPath, new GenericCallback() {
+ public void onSuccess(Object data) {
+ explorer.refresh();
+ }
+
+ });
+ }
+ }
+
+ /**
+ * This is called when the user clicks somewhere on the tree.
+ * @param sel
+ */
+ private void selectPath(String sel) {
+ selectedPath = sel;
+ }
}
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 2007-03-07 01:49:34 UTC (rev 10006)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/categorynav/CategoryEditor.java 2007-03-07 02:50:09 UTC (rev 10007)
@@ -97,7 +97,7 @@
ErrorPopup.showMessage( "Can't have an empty category name." );
} else {
RepositoryServiceFactory.getService().createCategory( path, name.getText(), description.getText(), cb );
- //this.table.setWidget( 0, 1, new Label("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 2007-03-07 01:49:34 UTC (rev 10006)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/RepositoryService.java 2007-03-07 02:50:09 UTC (rev 10007)
@@ -176,4 +176,14 @@
*/
public TableDataResult quickFindAsset(String searchText, int maxMatches);
+
+ /**
+ * This will remove a category. A category must have no
+ * current assets linked to it, or else it will not be able to be removed.
+ * @param categoryPath The full path to the category. Any sub categories will also
+ * be removed.
+ * @throws SerializableException For when it all goes horribly wrong.
+ */
+ public void removeCategory(String categoryPath) throws SerializableException;
+
}
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 2007-03-07 01:49:34 UTC (rev 10006)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/RepositoryServiceAsync.java 2007-03-07 02:50:09 UTC (rev 10007)
@@ -37,7 +37,7 @@
public void listSnapshots(java.lang.String p0, AsyncCallback cb);
public void createPackageSnapshot(java.lang.String p0, java.lang.String p1, boolean p2, java.lang.String p3, AsyncCallback cb);
public void copyOrRemoveSnapshot(java.lang.String p0, java.lang.String p1, boolean p2, java.lang.String p3, AsyncCallback cb);
- public void quickFindAsset(java.lang.String p0, int p2, AsyncCallback cb);
- public void changeState(java.lang.String p0, java.lang.String p1, boolean p2, AsyncCallback cb);
-
+ public void quickFindAsset(java.lang.String p0, int p1, AsyncCallback cb);
+ public void removeCategory(java.lang.String p0, AsyncCallback cb);
+ public void changeState(java.lang.String p0, java.lang.String p1, boolean p2, AsyncCallback cb);
}
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 2007-03-07 01:49:34 UTC (rev 10006)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/JBRMSServiceServlet.java 2007-03-07 02:50:09 UTC (rev 10007)
@@ -75,10 +75,12 @@
String description) {
if (path == null || "".equals(path)) {
- path = "/";
+ path = "/";
}
- CategoryItem item = getRulesRepository().loadCategory( path );
+ RulesRepository repo = getRulesRepository();
+ CategoryItem item = repo.loadCategory( path );
item.addCategory( name, description );
+ repo.save();
return Boolean.TRUE;
}
@@ -552,6 +554,18 @@
return result;
}
+
+ public void removeCategory(String categoryPath) throws SerializableException {
+ RulesRepository repo = getRulesRepository();
+
+ try {
+ repo.loadCategory( categoryPath ).remove();
+ repo.save();
+ } catch (RulesRepositoryException e) {
+ throw new SerializableException( e.getMessage() );
+ }
+
+ }
Modified: labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/ServiceImplementationTest.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/ServiceImplementationTest.java 2007-03-07 01:49:34 UTC (rev 10006)
+++ labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/ServiceImplementationTest.java 2007-03-07 02:50:09 UTC (rev 10007)
@@ -547,5 +547,16 @@
}
+ public void testRemoveCategory() throws Exception {
+
+ JBRMSServiceServlet impl = new MockJBRMSServiceServlet();
+ String[] children = impl.loadChildCategories( "/" );
+ impl.createCategory( "/", "testRemoveCategory", "foo" );
+
+ impl.removeCategory( "testRemoveCategory" );
+ String[] _children = impl.loadChildCategories( "/" );
+ assertEquals(children.length, _children.length);
+ }
+
}
More information about the jboss-svn-commits
mailing list