[jboss-svn-commits] JBL Code SVN: r33335 - in labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools: guvnor/client/explorer/grid/model and 3 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Jun 3 12:09:02 EDT 2010
Author: diegoll
Date: 2010-06-03 12:09:01 -0400 (Thu, 03 Jun 2010)
New Revision: 33335
Added:
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/model/GridResourceInfo.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/panels/ExecutionEnvironmentPanel.java
Modified:
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/BrowseGridResourcesTreeBuilder.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/explorer/grid/services/TopologyAssetsService.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/services/TopologyAssetsServiceAsync.java
labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/repository/services/TopologyAssetsServiceImpl.java
Log:
added panel for ExecutionEnvironments plus server method for quering the status (still mockup)
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/BrowseGridResourcesTreeBuilder.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/BrowseGridResourcesTreeBuilder.java 2010-06-03 16:06:38 UTC (rev 33334)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/BrowseGridResourcesTreeBuilder.java 2010-06-03 16:09:01 UTC (rev 33335)
@@ -4,8 +4,10 @@
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 com.google.gwt.core.client.GWT;
import com.gwtext.client.core.EventObject;
import com.gwtext.client.data.Node;
import com.gwtext.client.widgets.tree.TreeNode;
@@ -23,36 +25,52 @@
});
for(ExecutionEnvironmentView executionEnvironment : gridTopology.getExecutionEnvironments()){
- addExecutionEnvironmentNode(targetPanel, resourcesItem, executionEnvironment);
+ addExecutionEnvironmentNode(targetPanel, resourcesItem, gridTopology, executionEnvironment);
}
for(DirectoryInstanceView directoryInstance : gridTopology.getDirectoryInstances()){
- addDirectoryInstanceNode(targetPanel, resourcesItem, directoryInstance);
+ addDirectoryInstanceNode(targetPanel, resourcesItem, gridTopology, directoryInstance);
}
return resourcesItem;
}
private void addDirectoryInstanceNode(ExplorerViewCenterPanel targetPanel,
- TreeNode resourcesItem, DirectoryInstanceView directoryInstance) {
+ TreeNode resourcesItem, GridTopologyView gridTopology, DirectoryInstanceView directoryInstance) {
resourcesItem.appendChild(new TreeNode("directory - " + directoryInstance.getName()));
}
- private void addExecutionEnvironmentNode(ExplorerViewCenterPanel targetPanel, TreeNode resourcesItem, ExecutionEnvironmentView executionEnvironment) {
- resourcesItem.appendChild(new TreeNode("environment - " + executionEnvironment.getName()));
+ private void addExecutionEnvironmentNode(final ExplorerViewCenterPanel targetPanel, TreeNode resourcesItem, final GridTopologyView gridTopology, final ExecutionEnvironmentView executionEnvironment) {
+ TreeNode environmentNode = new TreeNode("environment - " + executionEnvironment.getName());
+ environmentNode.addListener(new TreeNodeListenerAdapter(){
+ @Override
+ public void onClick(Node node, EventObject e) {
+ //FIXME find a more accurate id for the EE tab
+ String executionEnvironmentTabId = executionEnvironment.getName();
+ if(!targetPanel.showIfOpen(executionEnvironmentTabId)){
+ targetPanel.addTab(
+ executionEnvironment.getName(),
+ true,
+ new ExecutionEnvironmentPanel(gridTopology, executionEnvironment),
+ executionEnvironmentTabId);
+ }
+ }
+ });
+ resourcesItem.appendChild(environmentNode);
}
- private void openCreateNewGridResourcePanel(final ExplorerViewCenterPanel targetPanel, final TreeNode resourcesItem, GridTopologyView gridTopology) {
+ private void openCreateNewGridResourcePanel(final ExplorerViewCenterPanel targetPanel, final TreeNode resourcesItem, final GridTopologyView gridTopology) {
if (!targetPanel.showIfOpen(gridTopology.getName())) {
targetPanel.addTab("New Resource", true, new NewGridResourcePanel(gridTopology) {
@Override
public void onExecutionEnvironmentCreation(ExecutionEnvironmentView executionEnvironment) {
- addExecutionEnvironmentNode(targetPanel, resourcesItem, executionEnvironment);
+ addExecutionEnvironmentNode(targetPanel, resourcesItem, gridTopology, executionEnvironment);
+ GWT.log("added: " + gridTopology.getExecutionEnvironments().get(0).getName());
}
@Override
public void onDirectoryInstanceCreation(DirectoryInstanceView directoryInstance) {
- addDirectoryInstanceNode(targetPanel, resourcesItem, directoryInstance);
+ addDirectoryInstanceNode(targetPanel, resourcesItem, gridTopology, directoryInstance);
}
}, gridTopology.getName());
}
Added: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/model/GridResourceInfo.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/model/GridResourceInfo.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/model/GridResourceInfo.java 2010-06-03 16:09:01 UTC (rev 33335)
@@ -0,0 +1,37 @@
+package org.drools.guvnor.client.explorer.grid.model;
+
+import java.io.Serializable;
+import java.util.HashMap;
+import java.util.Map;
+
+public class GridResourceInfo implements Serializable{
+ private Status status;
+ private Map<String, String> info;
+
+ public GridResourceInfo() { }
+
+ public GridResourceInfo(Status status, Map<String, String> info) {
+ this.status = status;
+ this.info = info;
+ }
+
+ public Status getStatus() {
+ return status;
+ }
+
+ public void setStatus(Status status) {
+ this.status = status;
+ }
+
+ public Map<String, String> getInfo() {
+ if(null == info)
+ info = new HashMap<String, String>();
+ return info;
+ }
+
+ public void setInfo(Map<String, String> info) {
+ this.info = info;
+ }
+
+ static public enum Status {RUNNING, MISSING}
+}
Added: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/panels/ExecutionEnvironmentPanel.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/panels/ExecutionEnvironmentPanel.java (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/panels/ExecutionEnvironmentPanel.java 2010-06-03 16:09:01 UTC (rev 33335)
@@ -0,0 +1,73 @@
+package org.drools.guvnor.client.explorer.grid.panels;
+
+import java.util.Map;
+
+import org.drools.guvnor.client.common.GenericCallback;
+import org.drools.guvnor.client.explorer.grid.model.ExecutionEnvironmentView;
+import org.drools.guvnor.client.explorer.grid.model.GridResourceInfo;
+import org.drools.guvnor.client.explorer.grid.model.GridTopologyView;
+import org.drools.guvnor.client.explorer.grid.services.TopologyAssetsService;
+import org.drools.guvnor.client.explorer.grid.services.TopologyAssetsServiceAsync;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.Grid;
+import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.SimplePanel;
+
+public class ExecutionEnvironmentPanel extends Composite {
+
+ private TopologyAssetsServiceAsync assetService;
+
+ public ExecutionEnvironmentPanel(GridTopologyView gridTopology, ExecutionEnvironmentView executionEnvironment) {
+ final SimplePanel panel = new SimplePanel();
+ initWidget(panel);
+
+ fillPanelGenericData(panel, gridTopology, executionEnvironment);
+
+ getService().queryGridResourceInfo(gridTopology, executionEnvironment, new GenericCallback<GridResourceInfo>() {
+ public void onSuccess(GridResourceInfo result) {
+ addInfoToPanel(panel, result);
+ }
+ });
+
+ }
+
+
+ private void fillPanelGenericData(SimplePanel panel,
+ GridTopologyView gridTopology,
+ ExecutionEnvironmentView executionEnvironment) {
+
+ Grid genericData = new Grid(2,2);
+ genericData.setWidget(0, 0, new Label("Topology:"));
+ genericData.setWidget(0, 1, new Label(gridTopology.getName()));
+ genericData.setWidget(1, 0, new Label("Execution Environment:"));
+ genericData.setWidget(1, 1, new Label(executionEnvironment.getName()));
+
+ panel.add(genericData);
+ }
+
+
+ private void addInfoToPanel(SimplePanel panel, GridResourceInfo result) {
+ Grid extraInfo = new Grid(result.getInfo().size(), 2);
+ {
+ int i = 0;
+ for (Map.Entry<String, String> info : result.getInfo().entrySet()) {
+ extraInfo.setWidget(i, 0, new Label(info.getKey()));
+ extraInfo.setWidget(i, 1, new Label(info.getValue()));
+ i++;
+ }
+ }
+
+ panel.add(new Label(result.getStatus().name()));
+ panel.add(extraInfo);
+ }
+
+
+ private TopologyAssetsServiceAsync getService() {
+ if(assetService == null)
+ assetService = GWT.create(TopologyAssetsService.class);
+ return assetService;
+ }
+
+}
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-03 16:06:38 UTC (rev 33334)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/panels/NewGridResourcePanel.java 2010-06-03 16:09:01 UTC (rev 33335)
@@ -39,6 +39,9 @@
GenericProviderView gridProvider = getGenericProvider(factoryPanel);
getService().createExecutionEnvironment(resourceName.getText(), gridProvider, gridTopology, new GenericCallback<ExecutionEnvironmentView>() {
public void onSuccess(ExecutionEnvironmentView executionEnvironment) {
+ //GWT parameters on server call are passed by copy, so I have to manually add the
+ //executionEnvironmnet to the topology
+ gridTopology.addExecutionEnvironment(executionEnvironment);
onExecutionEnvironmentCreation(executionEnvironment);
};
});
@@ -51,11 +54,15 @@
GenericProviderView gridProvider = getGenericProvider(factoryPanel);
getService().createDirectoryInstance(resourceName.getText(), gridProvider, gridTopology, new GenericCallback<DirectoryInstanceView>() {
public void onSuccess(DirectoryInstanceView directoryInstance) {
+ //GWT parameters on server call are passed by copy, so I have to manually add the
+ //directoryInstance to the topology
+ gridTopology.addDirectoryInstance(directoryInstance);
onDirectoryInstanceCreation(directoryInstance);
}
});
}
});
+ addDirectoryAction.setEnabled(false);
final ListBox optionProviders = getFactoryOptions(factoryPanel);
@@ -96,25 +103,36 @@
public abstract void onDirectoryInstanceCreation(DirectoryInstanceView directoryInstance);
private enum GridImplementations {
- MINA("Mina", new MinaFactoryPanel()),
- HORNETQ("HornetQ", new HornetQFactoryPanel()),
- RIO("Rio", new RioFactoryPanel());
+ MINA("Mina") {
+ @Override
+ public Widget getFactoryWidget() {
+ return new MinaFactoryPanel();
+ }
+ },
+ HORNETQ("HornetQ") {
+ @Override
+ public Widget getFactoryWidget() {
+ return new HornetQFactoryPanel();
+ }
+ },
+ RIO("Rio") {
+ @Override
+ public Widget getFactoryWidget() {
+ return new RioFactoryPanel();
+ }
+ };
private String label;
- private Widget factoryWidget;
- private GridImplementations(String label, Widget widget) {
+ private GridImplementations(String label) {
this.label = label;
- this.factoryWidget = widget;
}
public String getLabel() {
return label;
}
- public Widget getFactoryWidget() {
- return factoryWidget;
- }
+ public abstract Widget getFactoryWidget();
@Override
public String toString() {
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/services/TopologyAssetsService.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/services/TopologyAssetsService.java 2010-06-03 16:06:38 UTC (rev 33334)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/services/TopologyAssetsService.java 2010-06-03 16:09:01 UTC (rev 33335)
@@ -1,8 +1,12 @@
package org.drools.guvnor.client.explorer.grid.services;
+import org.drools.grid.services.GridResource;
+import org.drools.grid.services.GridTopology;
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.GenericProviderView;
+import org.drools.guvnor.client.explorer.grid.model.GridResourceInfo;
+import org.drools.guvnor.client.explorer.grid.model.GridResourceView;
import org.drools.guvnor.client.explorer.grid.model.GridTopologyView;
import com.google.gwt.user.client.rpc.RemoteService;
@@ -17,6 +21,7 @@
/**
* Creates a new {@link ExecutionEnvironmentView} and adds it to the {@link GridTopologyView} parameter
* @param name of the new {@link ExecutionEnvironmentView}
+ * @param provider is the {@link GenericProviderView} which will be registered in the {@link ExecutionEnvironmentView}
* @param gridTopology is the topology where the newly {@link ExecutionEnvironmentView} will be added
* @return a new {@link ExecutionEnvironmentView} already added to a topology
*/
@@ -25,9 +30,17 @@
/**
* Creates a new {@link DirectoryInstanceView} and adds it to the {@link GridTopologyView} parameter
* @param name of the new {@link DirectoryInstanceView}
+ * @param provider is the {@link GenericProviderView} which will be registered in the {@link DirectoryInstanceView}
* @param gridTopology is the topology where the newly {@link DirectoryInstanceView} will be added
* @return a new {@link DirectoryInstanceView} already added to a topology
*/
DirectoryInstanceView createDirectoryInstance(String name, GenericProviderView provider, GridTopologyView gridTopology);
+ /**
+ * Queries the status of the {@link GridResource} inside the {@link GridTopology}
+ * @param topology the data needed to create the {@link GridTopology}
+ * @param gridResource the data needed to query the {@link GridTopology} for info
+ * @return the status of the {@link GridResource} associated
+ */
+ GridResourceInfo queryGridResourceInfo(GridTopologyView topology, GridResourceView gridResource);
}
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/services/TopologyAssetsServiceAsync.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/services/TopologyAssetsServiceAsync.java 2010-06-03 16:06:38 UTC (rev 33334)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/services/TopologyAssetsServiceAsync.java 2010-06-03 16:09:01 UTC (rev 33335)
@@ -3,6 +3,8 @@
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.GenericProviderView;
+import org.drools.guvnor.client.explorer.grid.model.GridResourceInfo;
+import org.drools.guvnor.client.explorer.grid.model.GridResourceView;
import org.drools.guvnor.client.explorer.grid.model.GridTopologyView;
import com.google.gwt.user.client.rpc.AsyncCallback;
@@ -20,4 +22,8 @@
GridTopologyView gridTopology,
AsyncCallback<ExecutionEnvironmentView> callback);
+ void queryGridResourceInfo(GridTopologyView topology,
+ GridResourceView gridResource,
+ AsyncCallback<GridResourceInfo> callback);
+
}
Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/repository/services/TopologyAssetsServiceImpl.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/repository/services/TopologyAssetsServiceImpl.java 2010-06-03 16:06:38 UTC (rev 33334)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/repository/services/TopologyAssetsServiceImpl.java 2010-06-03 16:09:01 UTC (rev 33335)
@@ -1,9 +1,14 @@
package org.drools.repository.services;
+import java.util.HashMap;
+
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.GenericProviderView;
+import org.drools.guvnor.client.explorer.grid.model.GridResourceInfo;
+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.GridResourceInfo.Status;
import org.drools.guvnor.client.explorer.grid.services.TopologyAssetsService;
import com.google.gwt.user.server.rpc.RemoteServiceServlet;
@@ -26,4 +31,9 @@
gridTopology.addDirectoryInstance(newDirectoryInstance);
return newDirectoryInstance;
}
+
+ public GridResourceInfo queryGridResourceInfo(GridTopologyView topology,
+ GridResourceView gridResource) {
+ return new GridResourceInfo(Status.MISSING, new HashMap<String, String>());
+ }
}
More information about the jboss-svn-commits
mailing list