[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