[jboss-svn-commits] JBL Code SVN: r33485 - in labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main: java/org/drools/guvnor/client/common and 10 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sun Jun 13 23:51:02 EDT 2010


Author: diegoll
Date: 2010-06-13 23:51:01 -0400 (Sun, 13 Jun 2010)
New Revision: 33485

Added:
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/grid/
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/grid/TopologyEditor.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/grid/TopologyEditor.ui.xml
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/public/images/topology.gif
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/server/contenthandler/TopologyViewContentHandler.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/webapp/org.drools.guvnor.Guvnor/images/topology.gif
Modified:
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/common/AssetFormats.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ExplorerNodeConfig.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/PackagesPanel.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/model/GridTopologyView.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/panels/NewGridResourcePanel.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.properties
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/EditorLauncher.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/RuleViewer.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/server/contenthandler/BaseXStreamContentHandler.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/server/contenthandler/WorkingSetHandler.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/resources/contenthandler.properties
Log:
moved topology semantics to became a RuleAsset as everything else in guvnor
added topology editor, one big panel with all the topology information

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/common/AssetFormats.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/common/AssetFormats.java	2010-06-14 03:37:26 UTC (rev 33484)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/common/AssetFormats.java	2010-06-14 03:51:01 UTC (rev 33485)
@@ -1,4 +1,7 @@
 package org.drools.guvnor.client.common;
+
+import java.util.Arrays;
+
 /*
  * Copyright 2005 JBoss Inc
  *
@@ -78,6 +81,8 @@
     
     public static final String RULE_TEMPLATE = "template";
     
+    public static final String TOPOLOGY = "topology";
+    
     /**
      * The following group the assets together for lists, helpers etc...
      */
@@ -86,18 +91,13 @@
     /**
      * These define assets that are really package level "things". Used to decide when to flush any caches.
      */
-    private static final String[] PACKAGE_DEPENCENCIES = new String[] {AssetFormats.FUNCTION, AssetFormats.DSL, AssetFormats.MODEL, AssetFormats.ENUMERATION, AssetFormats.DRL_MODEL, AssetFormats.WORKING_SET};
+    private static final String[] PACKAGE_DEPENCENCIES = new String[] {AssetFormats.FUNCTION, AssetFormats.DSL, AssetFormats.MODEL, AssetFormats.ENUMERATION, AssetFormats.DRL_MODEL, AssetFormats.WORKING_SET, AssetFormats.TOPOLOGY};
 
     /**
      * Will return true if the given asset format is a package dependency (eg a function, DSL, model etc).
      * Package dependencies are needed before the package is validated, and any rule assets are processed.
      */
     public static boolean isPackageDependency(String format) {
-        for (String dep : PACKAGE_DEPENCENCIES) {
-            if (dep.equals( format )) {
-                return true;
-            }
-        }
-        return false;
+    	return Arrays.binarySearch(PACKAGE_DEPENCENCIES, format) >= 0;
     }
 }
\ No newline at end of file

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ExplorerNodeConfig.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ExplorerNodeConfig.java	2010-06-14 03:37:26 UTC (rev 33484)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/ExplorerNodeConfig.java	2010-06-14 03:51:01 UTC (rev 33485)
@@ -87,6 +87,8 @@
 
 		pkg.appendChild(makeItem(constants.WorkingSets(), "images/workingset.gif", new String[] {AssetFormats.WORKING_SET}));
 		
+		pkg.appendChild(makeItem(constants.Topologies(), "images/topology.gif", new String[] {AssetFormats.TOPOLOGY}));
+
         return pkg;
     }
 

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/PackagesPanel.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/PackagesPanel.java	2010-06-14 03:37:26 UTC (rev 33484)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/PackagesPanel.java	2010-06-14 03:51:01 UTC (rev 33485)
@@ -208,6 +208,14 @@
             }
         }, "images/new_template.gif")); //NON-NLS
         
+        m.addItem(new Item(constants.NewTopology(), new BaseItemListenerAdapter() {
+            @Override
+            public void onClick(BaseItem item, EventObject e) {
+                launchWizard(AssetFormats.TOPOLOGY, constants.NewTopology(), true);
+            }
+        }, "images/topology.gif")); //NON-NLS
+
+        
         return m;
     }
 

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/model/GridTopologyView.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/model/GridTopologyView.java	2010-06-14 03:37:26 UTC (rev 33484)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/model/GridTopologyView.java	2010-06-14 03:51:01 UTC (rev 33485)
@@ -1,14 +1,17 @@
 package org.drools.guvnor.client.explorer.grid.model;
 
 import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
 
-public class GridTopologyView implements Serializable{
+import org.drools.ide.common.client.modeldriven.brl.PortableObject;
+
+public class GridTopologyView implements Serializable, PortableObject{
 	
 	private String name;
-	private List<ExecutionEnvironmentView> executionEnvironments;
-	private List<DirectoryInstanceView> directoryInstances;
+	private Map<String, ExecutionEnvironmentView> executionEnvironments = new HashMap<String, ExecutionEnvironmentView>();
+	private Map<String, DirectoryInstanceView> directoryInstances = new HashMap<String, DirectoryInstanceView>();
 
 	public GridTopologyView() { }
 	
@@ -24,24 +27,27 @@
 		this.name = name;
 	}
 
-	public List<ExecutionEnvironmentView> getExecutionEnvironments() {
-		if(executionEnvironments == null)
-			executionEnvironments = new ArrayList<ExecutionEnvironmentView>();
-		return executionEnvironments;
+	public Collection<ExecutionEnvironmentView> getExecutionEnvironments() {
+		return executionEnvironments.values();
 	}
 	
-	public List<DirectoryInstanceView> getDirectoryInstances() {
-		if(directoryInstances == null)
-			directoryInstances = new ArrayList<DirectoryInstanceView>();
-		return directoryInstances;
+	public Collection<DirectoryInstanceView> getDirectoryInstances() {
+		return directoryInstances.values();
 	}
 
 	public void addExecutionEnvironment(ExecutionEnvironmentView newExecutionEnvironment) {
-		getExecutionEnvironments().add(newExecutionEnvironment);
+		executionEnvironments.put(newExecutionEnvironment.getName(), newExecutionEnvironment);
 	}
 	
 	public void addDirectoryInstance(DirectoryInstanceView newDirectoryInstance){
-		getDirectoryInstances().add(newDirectoryInstance);
+		directoryInstances.put(newDirectoryInstance.getName(), newDirectoryInstance);
 	}
 	
+	public ExecutionEnvironmentView getExecutionEnvironment(String name){
+		return executionEnvironments.get(name);
+	}
+	
+	public DirectoryInstanceView getDirectoryInstance(String name){
+		return directoryInstances.get(name);
+	}
 }

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/panels/NewGridResourcePanel.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/panels/NewGridResourcePanel.java	2010-06-14 03:37:26 UTC (rev 33484)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/panels/NewGridResourcePanel.java	2010-06-14 03:51:01 UTC (rev 33485)
@@ -104,7 +104,6 @@
 					enableButtons(true);
 				}
 				GridProviders gridImplementation = gridImplementantions[selectedIndex-1];
-				GWT.log(gridImplementation.getLabel());
 	            factoryPanel.setWidget(gridImplementation.getFactoryWidget());
 			}
 		});

Added: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/grid/TopologyEditor.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/grid/TopologyEditor.java	                        (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/grid/TopologyEditor.java	2010-06-14 03:51:01 UTC (rev 33485)
@@ -0,0 +1,84 @@
+package org.drools.guvnor.client.grid;
+
+import org.drools.guvnor.client.explorer.grid.model.DirectoryInstanceView;
+import org.drools.guvnor.client.explorer.grid.model.ExecutionEnvironmentView;
+import org.drools.guvnor.client.explorer.grid.model.GridTopologyView;
+import org.drools.guvnor.client.explorer.grid.panels.ExecutionEnvironmentPanel;
+import org.drools.guvnor.client.explorer.grid.panels.NewGridResourcePanel;
+import org.drools.guvnor.client.rpc.RuleAsset;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.dom.client.SpanElement;
+import com.google.gwt.event.dom.client.ChangeEvent;
+import com.google.gwt.event.dom.client.ClickEvent;
+import com.google.gwt.uibinder.client.UiBinder;
+import com.google.gwt.uibinder.client.UiField;
+import com.google.gwt.uibinder.client.UiHandler;
+import com.google.gwt.user.client.ui.Button;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.DialogBox;
+import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.ListBox;
+import com.google.gwt.user.client.ui.Panel;
+import com.google.gwt.user.client.ui.Widget;
+
+public class TopologyEditor extends Composite {
+
+	private static TopologyEditorUiBinder uiBinder = GWT.create(TopologyEditorUiBinder.class);
+	interface TopologyEditorUiBinder extends UiBinder<Widget, TopologyEditor> {	}
+
+	private GridTopologyView gridTopology;
+	@UiField Button addResourceAction;
+	@UiField Label topologyName;
+	@UiField ListBox executionEnvironments;
+	@UiField Panel executionEnvironmentPanel;
+
+	public TopologyEditor(RuleAsset asset) {
+		gridTopology = (GridTopologyView) asset.content;
+		gridTopology.setName(asset.metaData.name);
+		initWidget(uiBinder.createAndBindUi(this));
+		setI18NContent();
+		topologyName.setText(asset.metaData.name);
+		addResourceAction.setText("Create new resource");
+		
+		for (ExecutionEnvironmentView executionEnvironment : gridTopology.getExecutionEnvironments()) {
+			executionEnvironments.addItem(executionEnvironment.getName());
+		}
+	}
+	
+	@UiHandler("executionEnvironments")
+	void onChange(ChangeEvent event){
+		String selectedExecEnvName = executionEnvironments.getItemText(executionEnvironments.getSelectedIndex());
+		ExecutionEnvironmentView selectedExecEnv = gridTopology.getExecutionEnvironment(selectedExecEnvName);
+		executionEnvironmentPanel.clear();
+		executionEnvironmentPanel.add(new ExecutionEnvironmentPanel(gridTopology, selectedExecEnv));
+	}
+
+	@UiHandler("addResourceAction")
+	void onClick(ClickEvent e) {
+		final DialogBox popup = new DialogBox(true, true);
+		popup.setGlassEnabled(true);
+		popup.setWidget(new NewGridResourcePanel(gridTopology) {
+			
+			@Override
+			public void onExecutionEnvironmentCreation(ExecutionEnvironmentView executionEnvironment) {
+				executionEnvironments.addItem(executionEnvironment.getName());
+				popup.hide();
+			}
+			
+			@Override
+			public void onDirectoryInstanceCreation(DirectoryInstanceView directoryInstance) {
+				popup.hide();
+			}
+		});
+		popup.center();
+		popup.show();
+	}
+	
+	@UiField SpanElement topologyNameLabel;
+	@UiField Label executionEnvironmentsLabel;
+	private void setI18NContent() {
+		topologyNameLabel.setInnerText("Topology name: ");
+		executionEnvironmentsLabel.setText("Execution Environments");
+	}
+}

Added: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/grid/TopologyEditor.ui.xml
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/grid/TopologyEditor.ui.xml	                        (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/grid/TopologyEditor.ui.xml	2010-06-14 03:51:01 UTC (rev 33485)
@@ -0,0 +1,27 @@
+<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
+<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
+	xmlns:g="urn:import:com.google.gwt.user.client.ui">
+	<ui:style>
+		.important {
+			font-weight: bold;
+		}
+		.inlined {
+			display: inline;
+		}
+	</ui:style>
+	<g:HorizontalPanel>
+		<g:VerticalPanel>
+			<g:HTMLPanel>
+				<span ui:field="topologyNameLabel"/> <g:Label ui:field="topologyName" styleName="{style.important} {style.inlined}"/>
+			</g:HTMLPanel>
+			<g:HorizontalPanel>
+				<g:Button ui:field="addResourceAction"/>
+			</g:HorizontalPanel>
+			<g:VerticalPanel>
+				<g:Label ui:field="executionEnvironmentsLabel"/>
+				<g:ListBox ui:field="executionEnvironments" visibleItemCount="5"/>
+			</g:VerticalPanel>
+		</g:VerticalPanel>
+		<g:SimplePanel ui:field="executionEnvironmentPanel"/>
+	</g:HorizontalPanel>
+</ui:UiBinder> 
\ No newline at end of file

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.java	2010-06-14 03:37:26 UTC (rev 33484)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.java	2010-06-14 03:51:01 UTC (rev 33485)
@@ -2084,4 +2084,7 @@
     String NewRuleTemplate();
     String TemplateKey();
     String AllChangesHaveBeenSaved();
+
+	String Topologies();
+	String NewTopology();
 }

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.properties
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.properties	2010-06-14 03:37:26 UTC (rev 33484)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/messages/Constants.properties	2010-06-14 03:51:01 UTC (rev 33485)
@@ -1023,4 +1023,6 @@
 Enabled=Enabled
 NewRuleTemplate=New rule template
 TemplateKey=Template key
-AllChangesHaveBeenSaved=All changes have been saved
\ No newline at end of file
+AllChangesHaveBeenSaved=All changes have been saved
+Topologies=Topologies
+NewTopology=New Topology
\ No newline at end of file

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/EditorLauncher.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/EditorLauncher.java	2010-06-14 03:37:26 UTC (rev 33484)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/EditorLauncher.java	2010-06-14 03:51:01 UTC (rev 33485)
@@ -26,6 +26,7 @@
 import org.drools.guvnor.client.decisiontable.GuidedDecisionTableWidget;
 import org.drools.guvnor.client.explorer.Preferences;
 import org.drools.guvnor.client.factmodel.FactModelWidget;
+import org.drools.guvnor.client.grid.TopologyEditor;
 import org.drools.guvnor.client.modeldriven.ui.RuleModeller;
 import org.drools.guvnor.client.modeldriven.ui.RuleModellerWidgetFactory;
 import org.drools.guvnor.client.modeldriven.ui.RuleTemplateEditor;
@@ -94,6 +95,8 @@
 			return new WorkingSetEditor(asset);
         } else if (asset.metaData.format.equals(AssetFormats.RULE_TEMPLATE)) {
             return new RuleTemplateEditor(asset);
+        } else if (asset.metaData.format.equals(AssetFormats.TOPOLOGY)){
+        	return new TopologyEditor(asset);
 		} else {
 			return new DefaultContentUploadEditor(asset, viewer);
 		}

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/RuleViewer.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/RuleViewer.java	2010-06-14 03:37:26 UTC (rev 33484)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/RuleViewer.java	2010-06-14 03:51:01 UTC (rev 33485)
@@ -30,16 +30,17 @@
 import org.drools.guvnor.client.rulelist.EditItemEvent;
 
 import com.google.gwt.core.client.GWT;
+import com.google.gwt.event.dom.client.ClickEvent;
+import com.google.gwt.event.dom.client.ClickHandler;
 import com.google.gwt.user.client.Command;
 import com.google.gwt.user.client.Timer;
 import com.google.gwt.user.client.Window;
 import com.google.gwt.user.client.ui.Button;
-import com.google.gwt.user.client.ui.ClickListener;
+import com.google.gwt.user.client.ui.DockPanel;
 import com.google.gwt.user.client.ui.HTML;
 import com.google.gwt.user.client.ui.HasHorizontalAlignment;
 import com.google.gwt.user.client.ui.HorizontalPanel;
 import com.google.gwt.user.client.ui.TextBox;
-import com.google.gwt.user.client.ui.VerticalPanel;
 import com.google.gwt.user.client.ui.Widget;
 import com.gwtext.client.util.Format;
 
@@ -65,8 +66,7 @@
     private Widget                     editor;
 
     private ActionToolbar              toolbar;
-    private VerticalPanel              layout;
-    private HorizontalPanel            hsp;
+    private DockPanel              layout;
 
     private long                       lastSaved   = System.currentTimeMillis();
     private Constants                  constants   = ((Constants) GWT.create( Constants.class ));
@@ -103,8 +103,7 @@
         this.asset = asset;
         this.readOnly = historicalReadOnly && asset.isreadonly;
 
-        this.layout = new VerticalPanel();
-
+        this.layout = new DockPanel();
         layout.setWidth( "100%" );
         layout.setHeight( "100%" );
 
@@ -143,10 +142,6 @@
      */
     private void doWidgets(Widget messageWidget) {
         layout.clear();
-
-        editor = EditorLauncher.getEditorViewer( asset,
-                                                 this );
-
         //the action widgets (checkin/close etc).
         toolbar = new ActionToolbar( asset,
                                      readOnly,
@@ -177,51 +172,27 @@
                                              doPromptToGlobal();
                                          }
                                      } );
+        layout.add(toolbar, DockPanel.NORTH);
+        layout.setCellHeight( toolbar, "30px" );
+        layout.setCellHorizontalAlignment( toolbar, HasHorizontalAlignment.ALIGN_LEFT );
+        layout.setCellWidth( toolbar, "100%" );
 
-        //layout.add(toolbar, DockPanel.NORTH);
-        layout.add( toolbar );
-        layout.setCellHeight( toolbar,
-                              "30px" );
-        layout.setCellHorizontalAlignment( toolbar,
-                                           HasHorizontalAlignment.ALIGN_LEFT );
-        layout.setCellWidth( toolbar,
-                             "100%" );
-
         if ( messageWidget != null ) {
-            layout.add( messageWidget );
+            layout.add(messageWidget, DockPanel.NORTH);
         }
 
+        editor = EditorLauncher.getEditorViewer( asset, this );
+        //editor.setHeight( "100%" );
+        layout.add(editor, DockPanel.CENTER);
+        
         doMetaWidget();
+        layout.add(metaWidget, DockPanel.EAST);
+        layout.setCellWidth( metaWidget, "25%" );
 
-        hsp = new HorizontalPanel();
-
-        layout.add( hsp );
-
-        //the document widget
         doco = new RuleDocumentWidget( asset );
         doco.setVisible( docoVisible );
+        layout.add(doco, DockPanel.SOUTH);
 
-        VerticalPanel vert = new VerticalPanel();
-        vert.add( editor );
-        editor.setHeight( "100%" );
-        //vert.add( doco );
-
-        vert.setWidth( "100%" );
-        vert.setHeight( "100%" );
-
-        hsp.add( vert );
-
-        //hsp.addStyleName("HorizontalSplitPanel");
-
-        hsp.add( metaWidget );
-
-        hsp.setCellWidth( metaWidget,
-                          "25%" );
-
-        //hsp.setSplitPosition("80%");
-        hsp.setHeight( "100%" );
-
-        layout.add( doco );
     }
 
     private void doMetaWidget() {
@@ -365,11 +336,10 @@
                                                              new GenericCallback<RuleAsset>() {
                                                                  public void onSuccess(RuleAsset asset_) {
                                                                      asset.metaData = asset_.metaData;
-                                                                     hsp.remove( metaWidget );
+                                                                     layout.remove( metaWidget );
                                                                      doMetaWidget();
-                                                                     hsp.add( metaWidget );
-                                                                     hsp.setCellWidth( metaWidget,
-                                                                                       "25%" );
+                                                                     layout.add( metaWidget , DockPanel.EAST);
+                                                                     layout.setCellWidth( metaWidget, "25%" );
                                                                      if ( showBusy ) LoadingPopup.close();
                                                                  }
                                                              } );
@@ -411,15 +381,15 @@
         pop.addRow( new HTML( constants.AreYouSureYouWantToDiscardChanges() ) );
         pop.addRow( hor );
 
-        dis.addClickListener( new ClickListener() {
-            public void onClick(Widget w) {
+        dis.addClickHandler( new ClickHandler() {
+            public void onClick(ClickEvent event) {
                 closeCommand.execute();
                 pop.hide();
             }
         } );
 
-        can.addClickListener( new ClickListener() {
-            public void onClick(Widget w) {
+        can.addClickHandler( new ClickHandler() {
+            public void onClick(ClickEvent event) {
                 pop.hide();
             }
         } );
@@ -438,8 +408,8 @@
                            sel );
 
         Button ok = new Button( constants.CreateCopy() );
-        ok.addClickListener( new ClickListener() {
-            public void onClick(Widget w) {
+        ok.addClickHandler( new ClickHandler() {
+            public void onClick(ClickEvent event) {
                 if ( newName.getText() == null || newName.getText().equals( "" ) ) {
                     Window.alert( constants.AssetNameMustNotBeEmpty() );
                     return;

Added: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/public/images/topology.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/public/images/topology.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/server/contenthandler/BaseXStreamContentHandler.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/server/contenthandler/BaseXStreamContentHandler.java	2010-06-14 03:37:26 UTC (rev 33484)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/server/contenthandler/BaseXStreamContentHandler.java	2010-06-14 03:51:01 UTC (rev 33485)
@@ -1,7 +1,6 @@
 package org.drools.guvnor.server.contenthandler;
 
 import org.drools.guvnor.client.rpc.RuleAsset;
-import org.drools.guvnor.client.rpc.WorkingSetConfigData;
 import org.drools.ide.common.client.modeldriven.brl.PortableObject;
 import org.drools.repository.AssetItem;
 import org.drools.repository.PackageItem;
@@ -31,7 +30,7 @@
 				throw new SerializableException(e.getMessage());
 			}
 		} else {
-			asset.content = new WorkingSetConfigData();
+			asset.content = newInstance();
 		}
 	}
 
@@ -43,4 +42,6 @@
 			throw new SerializableException(e.getMessage());
 		}
 	}
+	
+	protected abstract T newInstance();
 }

Added: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/server/contenthandler/TopologyViewContentHandler.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/server/contenthandler/TopologyViewContentHandler.java	                        (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/server/contenthandler/TopologyViewContentHandler.java	2010-06-14 03:51:01 UTC (rev 33485)
@@ -0,0 +1,12 @@
+package org.drools.guvnor.server.contenthandler;
+
+import org.drools.guvnor.client.explorer.grid.model.GridTopologyView;
+
+public class TopologyViewContentHandler extends BaseXStreamContentHandler<GridTopologyView> {
+
+	@Override
+	protected GridTopologyView newInstance() {
+		return new GridTopologyView();
+	}
+
+}

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/server/contenthandler/WorkingSetHandler.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/server/contenthandler/WorkingSetHandler.java	2010-06-14 03:37:26 UTC (rev 33484)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/server/contenthandler/WorkingSetHandler.java	2010-06-14 03:51:01 UTC (rev 33485)
@@ -6,4 +6,9 @@
  *
  */
 public class WorkingSetHandler extends BaseXStreamContentHandler<WorkingSetConfigData> {
+
+	@Override
+	protected WorkingSetConfigData newInstance() {
+		return new WorkingSetConfigData();
+	}
 }

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/resources/contenthandler.properties
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/resources/contenthandler.properties	2010-06-14 03:37:26 UTC (rev 33484)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/resources/contenthandler.properties	2010-06-14 03:51:01 UTC (rev 33485)
@@ -38,3 +38,5 @@
 workingset=org.drools.guvnor.server.contenthandler.WorkingSetHandler
 #Rule Template
 template=org.drools.guvnor.server.contenthandler.TemplateModelHandler
+#Topology
+topology=org.drools.guvnor.server.contenthandler.TopologyViewContentHandler

Added: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/webapp/org.drools.guvnor.Guvnor/images/topology.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/webapp/org.drools.guvnor.Guvnor/images/topology.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream



More information about the jboss-svn-commits mailing list