[jboss-svn-commits] JBL Code SVN: r8439 - in labs/jbossrules/trunk/drools-jbrms/src: main/java/org/drools/brms/client main/java/org/drools/brms/client/common main/java/org/drools/brms/client/ruleeditor main/java/org/drools/brms/client/rulelist main/java/org/drools/brms/public 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
Wed Dec 20 10:12:48 EST 2006
Author: michael.neale at jboss.com
Date: 2006-12-20 10:12:27 -0500 (Wed, 20 Dec 2006)
New Revision: 8439
Added:
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/LoadingPopup.java
Modified:
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/RulesFeature.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/ErrorPopup.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/client/ruleeditor/NewRuleWizard.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/RuleDocumentWidget.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/RuleViewer.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rulelist/RuleItemListViewer.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/JBRMS.css
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:
asset creation and loading
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/RulesFeature.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/RulesFeature.java 2006-12-20 15:12:01 UTC (rev 8438)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/RulesFeature.java 2006-12-20 15:12:27 UTC (rev 8439)
@@ -2,12 +2,16 @@
import org.drools.brms.client.categorynav.CategoryExplorerWidget;
import org.drools.brms.client.categorynav.CategorySelectHandler;
+import org.drools.brms.client.common.ErrorPopup;
+import org.drools.brms.client.rpc.RepositoryServiceFactory;
+import org.drools.brms.client.rpc.RuleAsset;
import org.drools.brms.client.ruleeditor.NewRuleWizard;
import org.drools.brms.client.ruleeditor.RuleViewer;
import org.drools.brms.client.rulelist.EditItemEvent;
import org.drools.brms.client.rulelist.RuleItemListViewer;
import com.google.gwt.user.client.Command;
+import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.ClickListener;
import com.google.gwt.user.client.ui.FlexTable;
import com.google.gwt.user.client.ui.HasHorizontalAlignment;
@@ -68,23 +72,8 @@
public void open(String key,
String name) {
- RuleViewer view = new RuleViewer(key, name);
+ showLoadEditor( key );
- String displayName = name;
- if (name.length() > 10) {
- displayName = name.substring( 0, 7 ) + "...";
- }
- tab.add( view, "<img src='images/rule_asset.gif'>" + displayName, true );
-
- final int i = tab.getWidgetIndex( view );
- view.setCloseCommand( new Command() {
- public void execute() {
- tab.remove( i );
- tab.selectTab( 0 );
- }
- });
- tab.selectTab( i );
-
}
});
@@ -113,13 +102,14 @@
Image newRule = new Image("images/new_rule.gif");
newRule.setTitle( "Create new rule" );
+ final RulesFeature feature = this;
newRule.addClickListener( new ClickListener() {
public void onClick(Widget w) {
int left = 70;//w.getAbsoluteLeft() - 10;
int top = 100; //w.getAbsoluteTop() - 10;
- NewRuleWizard pop = new NewRuleWizard();
+ NewRuleWizard pop = new NewRuleWizard(feature);
pop.setPopupPosition( left, top );
pop.show();
@@ -135,4 +125,40 @@
return table;
}
+
+
+ public void showLoadEditor(String uuid) {
+
+ RepositoryServiceFactory.getService().loadRuleAsset( uuid,
+ new AsyncCallback() {
+ public void onFailure(Throwable e) {
+ ErrorPopup.showMessage( e.getMessage() );
+ }
+
+ public void onSuccess(Object o) {
+ RuleAsset asset = (RuleAsset) o;
+ RuleViewer view = new RuleViewer(asset);
+
+ String displayName = asset.metaData.name;
+ if (displayName.length() > 10) {
+ displayName = displayName.substring( 0, 7 ) + "...";
+ }
+ tab.add( view, "<img src='images/rule_asset.gif'>" + displayName, true );
+
+ final int i = tab.getWidgetIndex( view );
+ view.setCloseCommand( new Command() {
+ public void execute() {
+ tab.remove( i );
+ tab.selectTab( 0 );
+ }
+ });
+ tab.selectTab( i );
+ }
+
+ } );
+
+
+
+ }
+
}
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/ErrorPopup.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/ErrorPopup.java 2006-12-20 15:12:01 UTC (rev 8438)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/ErrorPopup.java 2006-12-20 15:12:27 UTC (rev 8439)
@@ -40,6 +40,7 @@
errorMessage.setText( message );
}
+
public void hide() {
errorMessage.setText( "" );
super.hide();
@@ -55,6 +56,7 @@
/** Convenience method to popup the message. */
public static void showMessage(String message) {
ErrorPopup p = getInstance();
+ LoadingPopup.close();
p.errorMessage.setText( message );
p.show();
Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/LoadingPopup.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/LoadingPopup.java 2006-12-20 15:12:01 UTC (rev 8438)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/LoadingPopup.java 2006-12-20 15:12:27 UTC (rev 8439)
@@ -0,0 +1,71 @@
+package org.drools.brms.client.common;
+
+import com.google.gwt.user.client.ui.ClickListener;
+import com.google.gwt.user.client.ui.HorizontalPanel;
+import com.google.gwt.user.client.ui.Image;
+import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.Panel;
+import com.google.gwt.user.client.ui.PopupPanel;
+import com.google.gwt.user.client.ui.Widget;
+
+
+/**
+ * Generic "busy" dialog popup.
+ * This is a lazy singleton, only really need one to be shown at time.
+ */
+public class LoadingPopup extends PopupPanel {
+
+ public static LoadingPopup instance = null;
+
+ Label errorMessage = new Label();
+ Panel panel = new HorizontalPanel();
+ Image ok = new Image("images/close.gif");
+
+ public LoadingPopup() {
+ super(true);
+ panel.add( errorMessage );
+ panel.add( ok );
+ ok.addClickListener( new ClickListener() {
+ public void onClick(Widget arg0) {
+ hide();
+ }
+ });
+ this.add( panel );
+ this.setPopupPosition( 0, 0 );
+ setStyleName( "loading-Popup" );
+ }
+
+
+ /**
+ * Close the single instance of this dialog...
+ */
+ public static void close() {
+ getInstance().hide();
+ }
+
+ public void hide() {
+ errorMessage.setText( "" );
+ super.hide();
+ }
+
+ public static LoadingPopup getInstance() {
+ if (instance == null) {
+ instance = new LoadingPopup();
+ }
+ return instance;
+ }
+
+ /** Convenience method to popup the message. */
+ public static void showMessage(String message) {
+ LoadingPopup p = getInstance();
+
+ p.errorMessage.setText( message );
+ p.show();
+ }
+
+
+
+
+
+
+}
Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/LoadingPopup.java
___________________________________________________________________
Name: svn:eol-style
+ native
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 2006-12-20 15:12:01 UTC (rev 8438)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/MetaDataWidget.java 2006-12-20 15:12:27 UTC (rev 8439)
@@ -21,13 +21,15 @@
private MetaData data;
private boolean readOnly;
- public MetaDataWidget(String name, boolean readOnly) {
- super("images/meta_data.gif", name);
+ public MetaDataWidget(MetaData d, boolean readOnly) {
+ super("images/meta_data.gif", d.name);
+ this.data = d;
this.readOnly = readOnly;
+ loadData(d);
}
- public void loadData(MetaData d) {
+ private void loadData(MetaData d) {
this.data = d;
addAttribute("Categories:", categories());
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/NewRuleWizard.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/NewRuleWizard.java 2006-12-20 15:12:01 UTC (rev 8438)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/NewRuleWizard.java 2006-12-20 15:12:27 UTC (rev 8439)
@@ -1,13 +1,17 @@
package org.drools.brms.client.ruleeditor;
+import org.drools.brms.client.RulesFeature;
import org.drools.brms.client.categorynav.CategoryExplorerWidget;
import org.drools.brms.client.categorynav.CategorySelectHandler;
import org.drools.brms.client.common.AssetFormats;
import org.drools.brms.client.common.ErrorPopup;
+import org.drools.brms.client.common.LoadingPopup;
import org.drools.brms.client.common.RulePackageSelector;
import org.drools.brms.client.common.WarningPopup;
import org.drools.brms.client.rpc.RepositoryServiceFactory;
+import org.drools.brms.client.rpc.RuleAsset;
+import com.google.gwt.user.client.Command;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.ClickListener;
@@ -38,11 +42,12 @@
private ListBox formatChooser = getFormatChooser();
private RulePackageSelector packageSelector = new RulePackageSelector();
+ private RulesFeature feature;
/** This is used when creating a new rule. */
- public NewRuleWizard() {
+ public NewRuleWizard(RulesFeature feature) {
super( true );
-
+ this.feature = feature;
super.setWidth( "60%" );
table.setWidth( "100%" );
name.setWidth( "100%" );
@@ -152,6 +157,7 @@
if ( this.name.equals( "" ) ) {
ErrorPopup.showMessage( "You must choose a Category." );
} else {
+ LoadingPopup.showMessage( "Please wait ..." );
RepositoryServiceFactory.getService().createNewRule( name.getText(),
description.getText(),
initialCategory,
@@ -162,9 +168,12 @@
}
}
+ /**
+ * After creating the item we open it in the editor.
+ * @param uuid
+ */
protected void openEditor(String uuid) {
- // TODO Auto-generated method stub
-
+ feature.showLoadEditor( uuid );
}
void cancel() {
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/RuleDocumentWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/RuleDocumentWidget.java 2006-12-20 15:12:01 UTC (rev 8438)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/RuleDocumentWidget.java 2006-12-20 15:12:27 UTC (rev 8439)
@@ -17,15 +17,16 @@
private TextArea text;
- public RuleDocumentWidget() {
+ public RuleDocumentWidget(MetaData data) {
text = new TextArea();
text.setVisibleLines( 10 );
text.setStyleName( "rule-viewer-Documentation" );
text.setTitle( "This is rule documentation. Human friendly descriptions of the business logic.");
initWidget(text);
+ loadData(data);
}
- public void loadData(final MetaData data) {
+ private void loadData(final MetaData data) {
text.setText(data.description);
text.addChangeListener( new ChangeListener() {
public void onChange(Widget w) {
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/RuleViewer.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/RuleViewer.java 2006-12-20 15:12:01 UTC (rev 8438)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/RuleViewer.java 2006-12-20 15:12:27 UTC (rev 8439)
@@ -1,5 +1,6 @@
package org.drools.brms.client.ruleeditor;
+import org.drools.brms.client.common.LoadingPopup;
import org.drools.brms.client.common.ErrorPopup;
import org.drools.brms.client.common.WarningPopup;
import org.drools.brms.client.rpc.RepositoryServiceFactory;
@@ -11,8 +12,6 @@
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.Label;
-import com.google.gwt.user.client.ui.SimplePanel;
import com.google.gwt.user.client.ui.FlexTable.FlexCellFormatter;
/**
@@ -22,46 +21,42 @@
*/
public class RuleViewer extends Composite {
- private final String resourceUUID;
- private final String name;
private Command closeCommand;
- final private SimplePanel panel = new SimplePanel();
- protected RuleAsset asset;
- private FlexTable layout;
+ protected final RuleAsset asset;
+ private final FlexTable layout;
+
/**
* @param UUID The resource to open.
* @param format The type of resource (may determine what editor is used).
* @param name The name to be displayed.
*/
- public RuleViewer(String UUID,
- String name) {
- this.resourceUUID = UUID;
- this.name = name;
+ public RuleViewer(RuleAsset asset) {
+ this.asset = asset;
+
+ doWidgets();
+
- //just pad it out a bit, so it gets the layout right - it will be loaded later.
- FlexTable layout = new FlexTable();
- layout.setWidget( 0,
- 0,
- new Label( "Loading ..." ) );
- //may use format here to determine which service to use in future
- RepositoryServiceFactory.getService().loadRuleAsset( this.resourceUUID,
- new AsyncCallback() {
- public void onFailure(Throwable e) {
- ErrorPopup.showMessage( e.getMessage() );
- }
+// RepositoryServiceFactory.getService().loadRuleAsset( this.resourceUUID,
+// new AsyncCallback() {
+// public void onFailure(Throwable e) {
+// ErrorPopup.showMessage( e.getMessage() );
+// }
+//
+// public void onSuccess(Object o) {
+// asset = (RuleAsset) o;
+// doWidgets();
+// }
+//
+// } );
- public void onSuccess(Object o) {
- asset = (RuleAsset) o;
- doWidgets();
- }
-
- } );
-
- panel.add( layout );
- initWidget( panel );
+ this.layout = doWidgets();
+
+ initWidget( this.layout );
+
+ LoadingPopup.close();
}
/**
@@ -69,8 +64,8 @@
* when we get the data back from the server,
* also determines what widgets to load up).
*/
- private void doWidgets() {
- final MetaDataWidget metaWidget = new MetaDataWidget( this.name,
+ private FlexTable doWidgets() {
+ final MetaDataWidget metaWidget = new MetaDataWidget( this.asset.metaData,
false );
final FlexTable layout = new FlexTable();
@@ -122,18 +117,15 @@
//the document widget
- final RuleDocumentWidget doco = new RuleDocumentWidget();
+ final RuleDocumentWidget doco = new RuleDocumentWidget(asset.metaData);
layout.setWidget( 2,
0,
doco );
- metaWidget.loadData( asset.metaData );
- doco.loadData( asset.metaData );
+ //metaWidget.loadData( asset.metaData );
+ //doco.loadData( asset.metaData );
- this.layout = layout;
-
- panel.clear();
- panel.setWidget( layout );
+ return layout;
}
void doCheckin() {
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rulelist/RuleItemListViewer.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rulelist/RuleItemListViewer.java 2006-12-20 15:12:01 UTC (rev 8438)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rulelist/RuleItemListViewer.java 2006-12-20 15:12:27 UTC (rev 8439)
@@ -1,5 +1,6 @@
package org.drools.brms.client.rulelist;
+import org.drools.brms.client.common.LoadingPopup;
import org.drools.brms.client.common.ErrorPopup;
import org.drools.brms.client.rpc.RepositoryServiceAsync;
import org.drools.brms.client.rpc.RepositoryServiceFactory;
@@ -77,7 +78,9 @@
Image openIcon = new Image( "images/open_item.gif" );
openIcon.addClickListener( new ClickListener() {
public void onClick(Widget w) {
+ LoadingPopup.showMessage( "Loading item, please wait ..." );
openItemEvent.open( TableDataRow.getId( table.getSelectedKey()), table.getText( table.getSelectedRow(), 1 ) );
+
}
} );
openIcon.setTitle( "Open item" );
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/JBRMS.css
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/JBRMS.css 2006-12-20 15:12:01 UTC (rev 8438)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/JBRMS.css 2006-12-20 15:12:27 UTC (rev 8439)
@@ -305,6 +305,12 @@
padding: 4px;
}
+.loading-Popup {
+ background-color: #CC6666;
+ border: 1px solid #B8B8B8;
+ padding: 4px;
+}
+
.rule-warning-Popup {
background-color: yellow;
border: 1px solid #B8B8B8;
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-12-20 15:12:01 UTC (rev 8438)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/JBRMSServiceServlet.java 2006-12-20 15:12:27 UTC (rev 8439)
@@ -277,9 +277,7 @@
}
private MetaDataMapper getMetaDataMapper() {
- if (this.metaDataMapper == null) {
- this.metaDataMapper = new MetaDataMapper();
- }
+ if (this.metaDataMapper == null) this.metaDataMapper = new MetaDataMapper();
return this.metaDataMapper;
}
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 2006-12-20 15:12:01 UTC (rev 8438)
+++ labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/ServiceImplementationTest.java 2006-12-20 15:12:27 UTC (rev 8439)
@@ -136,7 +136,7 @@
impl.createCategory( "", "testLoadRuleAsset", "this is a cat" );
- impl.createNewRule( "testLoadRuleAsset", "description", "testLoadRuleAsset", "testLoadRuleAsset", "rule" );
+ impl.createNewRule( "testLoadRuleAsset", "description", "testLoadRuleAsset", "testLoadRuleAsset", "txt" );
TableDataResult res = impl.loadRuleListForCategories( "testLoadRuleAsset" );
assertEquals(1, res.data.length);
@@ -159,6 +159,7 @@
assertEquals("testLoadRuleAsset", asset.metaData.name);
assertEquals("testLoadRuleAsset", asset.metaData.title);
assertEquals("testLoadRuleAsset", asset.metaData.packageName);
+ assertEquals("txt", asset.metaData.format);
assertNotNull(asset.metaData.createdDate);
More information about the jboss-svn-commits
mailing list