[jboss-svn-commits] JBL Code SVN: r9233 - in labs/jbossrules/trunk/drools-jbrms/src: main/java/org/drools/brms/client/rpc/mock and 6 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Jan 31 19:08:40 EST 2007
Author: michael.neale at jboss.com
Date: 2007-01-31 19:08:40 -0500 (Wed, 31 Jan 2007)
New Revision: 9233
Added:
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/PackageConfigData.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/meta_data.png
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/trash.gif
labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/client/rpc/
labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/client/rpc/MetaDataTest.java
Removed:
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/meta_data.gif
Modified:
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/MetaData.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/mock/MockRepositoryServiceAsync.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/AssetCategoryEditor.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/MetaDataWidget.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-633 package configuration editor JBRULES-637
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/MetaData.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/MetaData.java 2007-02-01 00:01:41 UTC (rev 9232)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/MetaData.java 2007-02-01 00:08:40 UTC (rev 9233)
@@ -2,6 +2,8 @@
import java.util.Date;
+import org.drools.brms.client.modeldriven.brxml.RuleAttribute;
+
import com.google.gwt.user.client.rpc.IsSerializable;
/**
@@ -44,5 +46,41 @@
/** used to flag dirty - ie needs to be spanked. Or saved to the repo, whatever */
public boolean dirty = false;
+
+ /**
+ * Remove a category.
+ * @param idx The index of the cat to remove.
+ */
+ public void removeCategory(int idx) {
+ String[] newList = new String[categories.length - 1];
+ int newIdx = 0;
+ for ( int i = 0; i < categories.length; i++ ) {
+
+ if (i != idx) {
+ newList[newIdx] = categories[i];
+ newIdx++;
+ }
+
+ }
+ this.categories = newList;
+ }
+
+ /**
+ * Add the given cat to the end of the cat list.
+ */
+ public void addCategory(String cat) {
+ for ( int i = 0; i < this.categories.length; i++ ) {
+ if (categories[i].equals( cat )) return;
+ }
+ String[] list = this.categories;
+ String[] newList = new String[list.length + 1];
+
+ for ( int i = 0; i < list.length; i++ ) {
+ newList[i] = list[i];
+ }
+ newList[list.length] = cat;
+
+ this.categories = newList;
+ }
}
Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/PackageConfigData.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/PackageConfigData.java (rev 0)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/PackageConfigData.java 2007-02-01 00:08:40 UTC (rev 9233)
@@ -0,0 +1,18 @@
+package org.drools.brms.client.rpc;
+
+import com.google.gwt.user.client.rpc.IsSerializable;
+
+/**
+ * This contains data for a package configuration.
+ * @author Michael Neale
+ *
+ */
+public class PackageConfigData
+ implements
+ IsSerializable {
+
+ public String uuid;
+ public String header;
+ public MetaData metaData;
+
+}
Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/PackageConfigData.java
___________________________________________________________________
Name: svn:eol-style
+ native
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-02-01 00:01:41 UTC (rev 9232)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/RepositoryService.java 2007-02-01 00:08:40 UTC (rev 9233)
@@ -77,4 +77,11 @@
*/
public String createPackage(String name, String description) throws SerializableException;
+ /**
+ * Loads a package by its name (NOT UUID !).
+ * @param name The name of the package (NOT THE UUID !).
+ * @return Well, its pretty obvious if you think about it for a minute. Really.
+ */
+ public PackageConfigData loadPackage(String name);
+
}
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-02-01 00:01:41 UTC (rev 9232)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/RepositoryServiceAsync.java 2007-02-01 00:08:40 UTC (rev 9233)
@@ -27,4 +27,5 @@
public void checkinVersion(org.drools.brms.client.rpc.RuleAsset p0, AsyncCallback cb);
public void restoreVersion(java.lang.String p0, java.lang.String p1, java.lang.String p2, AsyncCallback cb);
public void createPackage(java.lang.String p0, java.lang.String p1, AsyncCallback cb);
+ public void loadPackage(java.lang.String p0, AsyncCallback cb);
}
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 2007-02-01 00:01:41 UTC (rev 9232)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rpc/mock/MockRepositoryServiceAsync.java 2007-02-01 00:08:40 UTC (rev 9233)
@@ -18,6 +18,7 @@
import org.drools.brms.client.modeldriven.brxml.IPattern;
import org.drools.brms.client.modeldriven.brxml.RuleModel;
import org.drools.brms.client.rpc.MetaData;
+import org.drools.brms.client.rpc.PackageConfigData;
import org.drools.brms.client.rpc.RepositoryServiceAsync;
import org.drools.brms.client.rpc.RuleAsset;
import org.drools.brms.client.rpc.RuleContentText;
@@ -355,6 +356,14 @@
cb.onSuccess( "UUIDHERE" );
}
+
+
+
+ public void loadPackage(String name,
+ AsyncCallback cb) {
+ cb.onSuccess( new PackageConfigData() );
+
+ }
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/AssetCategoryEditor.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/AssetCategoryEditor.java 2007-02-01 00:01:41 UTC (rev 9232)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/AssetCategoryEditor.java 2007-02-01 00:08:40 UTC (rev 9233)
@@ -7,9 +7,10 @@
import com.google.gwt.user.client.ui.Button;
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.Grid;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Image;
-import com.google.gwt.user.client.ui.ListBox;
import com.google.gwt.user.client.ui.PopupPanel;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
@@ -26,9 +27,10 @@
public class AssetCategoryEditor extends Composite {
private MetaData data;
- private HorizontalPanel panel = new HorizontalPanel();
- private ListBox box;
+ private Grid layout = new Grid(1, 2);
+ private FlexTable list;
+
/**
* @param d The meta data.
* @param readOnly If it is to be non editable.
@@ -37,21 +39,26 @@
public AssetCategoryEditor(MetaData d, boolean readOnly) {
this.data = d;
- box = new ListBox();
+ list = new FlexTable();
- box.setVisibleItemCount( 3 );
- box.setWidth( "100%" );
- box.setMultipleSelect( false );
- loadData( box );
- panel.add( box );
+ loadData( list );
+ list.setStyleName( "rule-List" );
+ layout.setWidget( 0, 0, list );
+
+
if (!readOnly) {
doActions();
}
+
- panel.setWidth( "100%" );
- initWidget( panel );
+
+
+
+
+
+ initWidget( layout );
}
private void doActions() {
@@ -65,47 +72,42 @@
}
});
- Image remove = new Image("images/delete_obj.gif");
- remove.setTitle( "Remove the currently selected category." );
- remove.addClickListener( new ClickListener() {
- public void onClick(Widget w) {
- if (box.getSelectedIndex() != -1) {
- removeCategory(box.getItemText( box.getSelectedIndex()));
- }
- }
- });
-
actions.add( add );
- actions.add( remove );
- panel.add( actions );
+ layout.setWidget( 0, 1, actions );
+
}
- protected void removeCategory(String category) {
+ protected void removeCategory(int idx) {
- String[] newList = new String[data.categories.length - 1];
+ data.removeCategory( idx );
- for ( int i = 0, j = 0; i < data.categories.length; i++) {
- if (! data.categories[i].equals( category )) {
- newList[j] = data.categories[i];
- j++;
- }
- }
-
data.dirty = true;
- data.categories = newList;
resetBox();
}
private void resetBox() {
- box.clear();
- loadData( box );
+
+ list = new FlexTable();
+ list.setStyleName( "rule-List" );
+ layout.setWidget( 0, 0, list );
+ loadData( list );
}
- private void loadData(ListBox box) {
+ private void loadData(FlexTable list) {
for ( int i = 0; i < data.categories.length; i++ ) {
- box.addItem( data.categories[i] );
+ final int idx = i;
+
+ list.setText( i, 0, data.categories[i] );
+ Image del = new Image("images/trash.gif");
+ del.setTitle( "Remove this category" );
+ del.addClickListener( new ClickListener() {
+ public void onClick(Widget w) {
+ removeCategory(idx);
+ }
+ } );
+ list.setWidget( i, 1, del );
}
}
@@ -114,15 +116,7 @@
/** Handles the OK click on the selector popup */
private void doOKClick() {
-// final CategorySelector sel = new CategorySelector();
-// sel.ok.addClickListener( new ClickListener() {
-// public void onClick(Widget w) {
-// addToCategory(sel.selectedPath);
-// sel.hide();
-// }
-// });
-// sel.setPopupPosition( this.getAbsoluteLeft(), this.getAbsoluteTop() );
-// sel.show();
+
CategorySelector sel = new CategorySelector();
sel.setPopupPosition( getAbsoluteLeft(), getAbsoluteTop() );
sel.show();
@@ -137,22 +131,7 @@
public void addToCategory(String selectedPath) {
- //ignore already selected ones.
- for ( int i = 0; i < data.categories.length; i++ ) {
- if (data.categories[i].equals( selectedPath )) {
- return;
- }
- }
-
- String[] newList = new String[data.categories.length + 1];
- for ( int i = 0; i < data.categories.length; i++ ) {
- newList[i] = data.categories[i];
- }
- newList[data.categories.length] = selectedPath;
-
- data.categories = newList;
- data.dirty = true;
-
+ data.addCategory( selectedPath );
resetBox();
}
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/MetaDataWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/MetaDataWidget.java 2007-02-01 00:01:41 UTC (rev 9232)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/MetaDataWidget.java 2007-02-01 00:08:40 UTC (rev 9233)
@@ -30,7 +30,7 @@
setStyleName( "editable-Surface" );
if (!readOnly) {
- addHeader( "images/meta_data.gif", d.name );
+ addHeader( "images/meta_data.png", d.name );
} else {
addHeader( "images/asset_version.png", d.name );
}
Deleted: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/meta_data.gif
===================================================================
(Binary files differ)
Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/meta_data.png
===================================================================
(Binary files differ)
Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/meta_data.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/trash.gif
===================================================================
(Binary files differ)
Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/trash.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 2007-02-01 00:01:41 UTC (rev 9232)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/JBRMSServiceServlet.java 2007-02-01 00:08:40 UTC (rev 9233)
@@ -18,6 +18,7 @@
import javax.servlet.http.HttpSession;
import org.drools.brms.client.rpc.MetaData;
+import org.drools.brms.client.rpc.PackageConfigData;
import org.drools.brms.client.rpc.RepositoryService;
import org.drools.brms.client.rpc.RuleAsset;
import org.drools.brms.client.rpc.TableConfig;
@@ -32,6 +33,7 @@
import org.drools.repository.RepositoryConfigurator;
import org.drools.repository.RulesRepository;
import org.drools.repository.RulesRepositoryException;
+import org.drools.repository.VersionableItem;
import com.google.gwt.user.client.rpc.SerializableException;
import com.google.gwt.user.server.rpc.RemoteServiceServlet;
@@ -219,7 +221,7 @@
//load standard meta data
- asset.metaData = popuplateMetaData( item );
+ asset.metaData = populateMetaData( item );
//load the content
AssetContentFormatHandler handler = new AssetContentFormatHandler();
@@ -230,13 +232,26 @@
/**
- * read in the meta data.
- * @param item
- * @return
+ * read in the meta data, populating all dublin core and versioning stuff.
*/
- MetaData popuplateMetaData(AssetItem item) {
+ MetaData populateMetaData(VersionableItem item) {
MetaData meta = new MetaData();
+
+ meta.state = (item.getState() != null) ? item.getState().getName() : "";
+ getMetaDataMapper().copyToMetaData( meta, item );
+
+ meta.createdDate = calendarToDate(item.getCreatedDate());
+ meta.lastModifiedDate = calendarToDate( item.getLastModified() );
+
+ return meta;
+ }
+
+ /**
+ * Populate meta data with asset specific info.
+ */
+ MetaData populateMetaData(AssetItem item) {
+ MetaData meta = populateMetaData( (VersionableItem ) item);
meta.packageName = item.getPackageName();
List cats = item.getCategories();
@@ -245,18 +260,10 @@
CategoryItem cat = (CategoryItem) cats.get(i);
meta.categories[i] = cat.getFullPath();
}
-
- meta.state = (item.getState() != null) ? item.getState().getName() : "";
-
- getMetaDataMapper().copyToMetaData( meta, item );
-
- meta.createdDate = calendarToDate(item.getCreatedDate());
meta.dateEffective = calendarToDate( item.getDateEffective() );
meta.dateExpired = calendarToDate( item.getDateExpired() );
- meta.lastModifiedDate = calendarToDate( item.getLastModified() );
+ return meta;
-
- return meta;
}
private Date calendarToDate(Calendar createdDate) {
@@ -387,6 +394,18 @@
return item.getUUID();
}
+
+ public PackageConfigData loadPackage(String name) {
+ PackageItem item = getRulesRepository().loadPackage( name );
+
+ PackageConfigData data = new PackageConfigData();
+ data.uuid = item.getUUID();
+ data.header = item.getHeader();
+
+ data.metaData = this.populateMetaData( item );
+
+ return data;
+ }
Added: labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/client/rpc/MetaDataTest.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/client/rpc/MetaDataTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/client/rpc/MetaDataTest.java 2007-02-01 00:08:40 UTC (rev 9233)
@@ -0,0 +1,29 @@
+package org.drools.brms.client.rpc;
+
+import junit.framework.TestCase;
+
+public class MetaDataTest extends TestCase {
+
+ public void testAddCats() {
+ MetaData data = new MetaData();
+ data.addCategory( "new cat" );
+ assertEquals(1, data.categories.length);
+ assertEquals("new cat", data.categories[0]);
+
+ data.addCategory( "another" );
+ assertEquals(2, data.categories.length);
+ assertEquals("another", data.categories[1]);
+
+ data.addCategory( "another" );
+ assertEquals(2, data.categories.length);
+ }
+
+ public void testRemoveCats() {
+ MetaData data = new MetaData();
+ data.categories = new String[] {"wa", "la"};
+ data.removeCategory( 0 );
+ assertEquals(1, data.categories.length);
+ assertEquals("la", data.categories[0]);
+ }
+
+}
Property changes on: labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/client/rpc/MetaDataTest.java
___________________________________________________________________
Name: svn:eol-style
+ native
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-02-01 00:01:41 UTC (rev 9232)
+++ labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/ServiceImplementationTest.java 2007-02-01 00:08:40 UTC (rev 9233)
@@ -5,6 +5,7 @@
import junit.framework.TestCase;
+import org.drools.brms.client.rpc.PackageConfigData;
import org.drools.brms.client.rpc.RepositoryService;
import org.drools.brms.client.rpc.RuleAsset;
import org.drools.brms.client.rpc.RuleContentText;
@@ -289,5 +290,14 @@
assertEquals(pkgs.length + 1, impl.listRulePackages().length);
}
+ public void testLoadPackageConfig() throws Exception {
+ MockJBRMSServiceServlet impl = new MockJBRMSServiceServlet();
+ PackageConfigData data = impl.loadPackage( "default" );
+ assertNotNull(data);
+
+ assertEquals("default", data.metaData.name);
+
+ }
+
}
More information about the jboss-svn-commits
mailing list