[jboss-svn-commits] JBL Code SVN: r33497 - in labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client: grid and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Jun 14 16:00:19 EDT 2010


Author: diegoll
Date: 2010-06-14 16:00:18 -0400 (Mon, 14 Jun 2010)
New Revision: 33497

Added:
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/model/TaskServerInstanceView.java
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/grid/TopologyEditor.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/grid/TopologyEditor.ui.xml
Log:
changing grid resources widget in editor

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 19:59:23 UTC (rev 33496)
+++ 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 20:00:18 UTC (rev 33497)
@@ -12,6 +12,7 @@
 	private String name;
 	private Map<String, ExecutionEnvironmentView> executionEnvironments = new HashMap<String, ExecutionEnvironmentView>();
 	private Map<String, DirectoryInstanceView> directoryInstances = new HashMap<String, DirectoryInstanceView>();
+	private Map<String, TaskServerInstanceView> taskServerInstances = new HashMap<String, TaskServerInstanceView>();
 
 	public GridTopologyView() { }
 	
@@ -34,6 +35,10 @@
 	public Collection<DirectoryInstanceView> getDirectoryInstances() {
 		return directoryInstances.values();
 	}
+	
+	public Collection<TaskServerInstanceView> getTaskServers(){
+		return taskServerInstances.values();
+	}
 
 	public void addExecutionEnvironment(ExecutionEnvironmentView newExecutionEnvironment) {
 		executionEnvironments.put(newExecutionEnvironment.getName(), newExecutionEnvironment);
@@ -43,6 +48,10 @@
 		directoryInstances.put(newDirectoryInstance.getName(), newDirectoryInstance);
 	}
 	
+	public void addTaskServerInstance(TaskServerInstanceView newTaskServerInstance){
+		taskServerInstances.put(newTaskServerInstance.getName(), newTaskServerInstance);
+	}
+	
 	public ExecutionEnvironmentView getExecutionEnvironment(String name){
 		return executionEnvironments.get(name);
 	}
@@ -50,4 +59,8 @@
 	public DirectoryInstanceView getDirectoryInstance(String name){
 		return directoryInstances.get(name);
 	}
+
+	public TaskServerInstanceView getTaskServerInstance(String name) {
+		return taskServerInstances.get(name);
+	}
 }

Added: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/model/TaskServerInstanceView.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/model/TaskServerInstanceView.java	                        (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/model/TaskServerInstanceView.java	2010-06-14 20:00:18 UTC (rev 33497)
@@ -0,0 +1,5 @@
+package org.drools.guvnor.client.explorer.grid.model;
+
+public class TaskServerInstanceView extends GridResourceView {
+
+}

Modified: 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	2010-06-14 19:59:23 UTC (rev 33496)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/grid/TopologyEditor.java	2010-06-14 20:00:18 UTC (rev 33497)
@@ -1,13 +1,20 @@
 package org.drools.guvnor.client.grid;
 
+import java.util.Collection;
+
 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.GridResourceView;
 import org.drools.guvnor.client.explorer.grid.model.GridTopologyView;
+import org.drools.guvnor.client.explorer.grid.model.TaskServerInstanceView;
 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.Document;
+import com.google.gwt.dom.client.OptGroupElement;
+import com.google.gwt.dom.client.OptionElement;
 import com.google.gwt.dom.client.SpanElement;
 import com.google.gwt.event.dom.client.ChangeEvent;
 import com.google.gwt.event.dom.client.ClickEvent;
@@ -24,15 +31,22 @@
 
 public class TopologyEditor extends Composite {
 
+	private static final String TASK_SERVER_INSTANCES_LABEL = "Task Server Instances";
+	private static final String DIRECTORY_INSTANCES_LABEL = "Directory Instances";
+	private static final String EXECUTION_ENVIRONMENTS_LABEL = "Execution Environments";
 	private static TopologyEditorUiBinder uiBinder = GWT.create(TopologyEditorUiBinder.class);
 	interface TopologyEditorUiBinder extends UiBinder<Widget, TopologyEditor> {	}
 
 	private GridTopologyView gridTopology;
+	private OptGroupElement executionEnvironments;
+	private OptGroupElement directoryInstances;
+	private OptGroupElement taskServers;
 	@UiField Button addResourceAction;
 	@UiField Label topologyName;
-	@UiField ListBox executionEnvironments;
-	@UiField Panel executionEnvironmentPanel;
+	@UiField Panel gridResourcePanel;
+	@UiField ListBox gridResources;
 
+
 	public TopologyEditor(RuleAsset asset) {
 		gridTopology = (GridTopologyView) asset.content;
 		gridTopology.setName(asset.metaData.name);
@@ -41,17 +55,51 @@
 		topologyName.setText(asset.metaData.name);
 		addResourceAction.setText("Create new resource");
 		
-		for (ExecutionEnvironmentView executionEnvironment : gridTopology.getExecutionEnvironments()) {
-			executionEnvironments.addItem(executionEnvironment.getName());
+		initGridResourcesList();
+	}
+
+	private void initGridResourcesList() {
+		executionEnvironments = Document.get().createOptGroupElement();
+		executionEnvironments.setLabel(EXECUTION_ENVIRONMENTS_LABEL);
+		initResourceList(executionEnvironments, gridTopology.getExecutionEnvironments());
+		directoryInstances = Document.get().createOptGroupElement();
+		directoryInstances.setLabel(DIRECTORY_INSTANCES_LABEL);
+		initResourceList(directoryInstances, gridTopology.getDirectoryInstances());
+		taskServers = Document.get().createOptGroupElement();
+		taskServers.setLabel(TASK_SERVER_INSTANCES_LABEL);
+		initResourceList(taskServers, gridTopology.getTaskServers());
+	}
+	
+	private void initResourceList(OptGroupElement groupElement, Collection<? extends GridResourceView> resources){
+		for (GridResourceView gridResource : resources) {
+			addElement(groupElement, gridResource);
 		}
+		gridResources.getElement().appendChild(groupElement);
 	}
 	
-	@UiHandler("executionEnvironments")
+	@UiHandler("gridResources")
 	void onChange(ChangeEvent event){
-		String selectedExecEnvName = executionEnvironments.getItemText(executionEnvironments.getSelectedIndex());
-		ExecutionEnvironmentView selectedExecEnv = gridTopology.getExecutionEnvironment(selectedExecEnvName);
-		executionEnvironmentPanel.clear();
-		executionEnvironmentPanel.add(new ExecutionEnvironmentPanel(gridTopology, selectedExecEnv));
+		gridResourcePanel.clear();
+		String selectedResourceName = gridResources.getItemText(gridResources.getSelectedIndex());
+		ExecutionEnvironmentView selectedExecEnv = gridTopology.getExecutionEnvironment(selectedResourceName);
+		if(selectedExecEnv != null){
+			gridResourcePanel.add(new ExecutionEnvironmentPanel(gridTopology, selectedExecEnv));
+			return;
+		}
+		
+		DirectoryInstanceView selectedDirIns = gridTopology.getDirectoryInstance(selectedResourceName);
+		if(selectedDirIns != null){
+			gridResourcePanel.add(new Label("Not yet implemented"));
+			return;
+		}
+		
+		TaskServerInstanceView selectedTaskServer = gridTopology.getTaskServerInstance(selectedResourceName);
+		if(selectedTaskServer != null){
+			gridResourcePanel.add(new Label("Not yet implemented"));
+			return;
+		}
+		
+		throw new IllegalStateException("Unexistent resource to show: " + selectedResourceName);
 	}
 
 	@UiHandler("addResourceAction")
@@ -62,23 +110,30 @@
 			
 			@Override
 			public void onExecutionEnvironmentCreation(ExecutionEnvironmentView executionEnvironment) {
-				executionEnvironments.addItem(executionEnvironment.getName());
+				addElement(executionEnvironments, executionEnvironment);
 				popup.hide();
 			}
 			
 			@Override
 			public void onDirectoryInstanceCreation(DirectoryInstanceView directoryInstance) {
+				addElement(directoryInstances, directoryInstance);
 				popup.hide();
 			}
 		});
 		popup.center();
 		popup.show();
 	}
+
+	private void addElement(OptGroupElement optGroup, GridResourceView gridResource) {
+		OptionElement optElement = Document.get().createOptionElement(); 
+		optElement.setInnerText(gridResource.getName());
+		optGroup.appendChild(optElement);
+	}
 	
 	@UiField SpanElement topologyNameLabel;
 	@UiField Label executionEnvironmentsLabel;
 	private void setI18NContent() {
 		topologyNameLabel.setInnerText("Topology name: ");
-		executionEnvironmentsLabel.setText("Execution Environments");
+		executionEnvironmentsLabel.setText("Resources:");
 	}
 }

Modified: 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	2010-06-14 19:59:23 UTC (rev 33496)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/grid/TopologyEditor.ui.xml	2010-06-14 20:00:18 UTC (rev 33497)
@@ -19,9 +19,9 @@
 			</g:HorizontalPanel>
 			<g:VerticalPanel>
 				<g:Label ui:field="executionEnvironmentsLabel"/>
-				<g:ListBox ui:field="executionEnvironments" visibleItemCount="5"/>
+				<g:ListBox ui:field="gridResources" visibleItemCount="10"/>
 			</g:VerticalPanel>
 		</g:VerticalPanel>
-		<g:SimplePanel ui:field="executionEnvironmentPanel"/>
+		<g:SimplePanel ui:field="gridResourcePanel"/>
 	</g:HorizontalPanel>
 </ui:UiBinder> 
\ No newline at end of file



More information about the jboss-svn-commits mailing list