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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon May 31 10:30:44 EDT 2010


Author: diegoll
Date: 2010-05-31 10:30:44 -0400 (Mon, 31 May 2010)
New Revision: 33216

Added:
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/
   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/BrowseGridTopologiesTreeBuilder.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/HornetQFactoryPanel.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/MinaFactoryPanel.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/RioFactoryPanel.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/model/
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/model/GridResourceView.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/services/
   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/
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/repository/services/
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/repository/services/TopologyAssetsServiceImpl.java
Modified:
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/pom.xml
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/Guvnor.gwt.xml
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/CategoriesPanel.java
   labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/webapp/WEB-INF/web.xml
Log:
First version of grid topologies administration


Property changes on: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor
___________________________________________________________________
Name: svn:ignore
   - target
local

.metadata
.settings
.wtpmodules

nbproject

*.ipr
*.iws
*.iml


repository
tomcat
www
derby.log
repository.xml

   + target
local
.metadata
.settings
.wtpmodules
nbproject
*.ipr
*.iws
*.iml
repository
tomcat
www
derby.log
repository.xml
.gwt-tmp
.*


Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/pom.xml
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/pom.xml	2010-05-31 14:15:29 UTC (rev 33215)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/pom.xml	2010-05-31 14:30:44 UTC (rev 33216)
@@ -179,6 +179,10 @@
          <artifactId>drools-ide-common</artifactId>
       </dependency>
       <dependency>
+         <groupId>org.drools</groupId>
+         <artifactId>drools-grid-services</artifactId>
+      </dependency>
+      <dependency>
          <groupId>wsdl4j</groupId>
          <artifactId>wsdl4j</artifactId>
          <version>1.6.2</version>

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/Guvnor.gwt.xml
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/Guvnor.gwt.xml	2010-05-31 14:15:29 UTC (rev 33215)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/Guvnor.gwt.xml	2010-05-31 14:30:44 UTC (rev 33216)
@@ -10,6 +10,9 @@
 	<inherits name="org.cobogw.gwt.user.User"/>
 	<inherits name="org.drools.factconstraints.FactConstraints"/>
 	<inherits name="org.drools.ide.common.Common"/>
+	<!-- 
+	<inherits name="org.drools.grid.Grid"/>
+	 -->
 
     <!-- Here we put different locales (translations)
      There are of the form values="xx_YY" - which match to Constants_xx_YY.properties which contain the content.
@@ -44,8 +47,8 @@
     <servlet path="/feed" class="org.drools.guvnor.server.files.FeedServlet"/>
     <servlet path="/workflowmanager" class="org.gridcc.mce.mceworkflow.servlets.WorkflowManagerServlet"/>
     <servlet path="/wsdlparser" class="org.gridcc.mce.mceworkflow.servlets.WSDLParserServlet"/>
+	<servlet path="/topologyService" class="org.drools.repository.services.TopologyAssetsServiceImpl" />
 
-
 	<set-property name="gwt.suppressNonStaticFinalFieldWarnings" value="true" />
 
 </module>

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/CategoriesPanel.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/CategoriesPanel.java	2010-05-31 14:15:29 UTC (rev 33215)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/CategoriesPanel.java	2010-05-31 14:30:44 UTC (rev 33216)
@@ -2,18 +2,25 @@
 
 import org.drools.guvnor.client.common.GenericCallback;
 import org.drools.guvnor.client.common.Inbox;
-import org.drools.guvnor.client.rpc.*;
+import org.drools.guvnor.client.explorer.grid.BrowseGridTopologiesTreeBuilder;
+import org.drools.guvnor.client.messages.Constants;
+import org.drools.guvnor.client.rpc.PushClient;
+import org.drools.guvnor.client.rpc.PushResponse;
+import org.drools.guvnor.client.rpc.RepositoryServiceFactory;
+import org.drools.guvnor.client.rpc.ServerPushNotification;
+import org.drools.guvnor.client.rpc.TableConfig;
+import org.drools.guvnor.client.rpc.TableDataResult;
 import org.drools.guvnor.client.ruleeditor.MultiViewRow;
 import org.drools.guvnor.client.rulelist.AssetItemGrid;
 import org.drools.guvnor.client.rulelist.AssetItemGridDataLoader;
 import org.drools.guvnor.client.rulelist.EditItemEvent;
 import org.drools.guvnor.client.security.Capabilities;
-import org.drools.guvnor.client.messages.Constants;
 
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.user.client.Command;
+import com.google.gwt.user.client.Window;
+import com.google.gwt.user.client.ui.Tree;
 import com.google.gwt.user.client.ui.VerticalPanel;
-import com.google.gwt.user.client.Window;
-import com.google.gwt.user.client.Command;
-import com.google.gwt.core.client.GWT;
 import com.gwtext.client.core.EventObject;
 import com.gwtext.client.widgets.Button;
 import com.gwtext.client.widgets.Toolbar;
@@ -100,8 +107,25 @@
             }
         });
 
+        rulesPanel.add(categoryTree);
+        
+        BrowseGridTopologiesTreeBuilder builder = new BrowseGridTopologiesTreeBuilder();
+//        TreePanel gridTree = new TreePanel();
+//        gridTree.setAnimate(true);
+//        gridTree.setEnableDD(false);
+//        gridTree.setContainerScroll(true);
+//        gridTree.setRootVisible(true);
+//        gridTree.setBodyBorder(false);
+//        gridTree.setBorder(false);
+//        gridTree.setAutoScroll(true);
+//        gridTree.setContainerScroll(true);
+//        gridTree.setRootNode(builder.build(centertabbedPanel));
+        
+    	Tree topologyTree = new Tree();
+    	topologyTree.addItem(builder.build(centertabbedPanel));
 
-        rulesPanel.add(categoryTree);
+        rulesPanel.add(topologyTree);
+        
         rulesPanel.setWidth("100%");
         add(rulesPanel);
     }

Added: 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	                        (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/BrowseGridResourcesTreeBuilder.java	2010-05-31 14:30:44 UTC (rev 33216)
@@ -0,0 +1,126 @@
+package org.drools.guvnor.client.explorer.grid;
+
+import org.drools.guvnor.client.common.GenericCallback;
+import org.drools.guvnor.client.explorer.ExplorerViewCenterPanel;
+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.services.TopologyAssetsService;
+import org.drools.guvnor.client.explorer.grid.services.TopologyAssetsServiceAsync;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.event.dom.client.ChangeEvent;
+import com.google.gwt.event.dom.client.ChangeHandler;
+import com.google.gwt.event.dom.client.ClickEvent;
+import com.google.gwt.event.dom.client.ClickHandler;
+import com.google.gwt.user.client.ui.Button;
+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.TextBox;
+import com.google.gwt.user.client.ui.TreeItem;
+import com.google.gwt.user.client.ui.VerticalPanel;
+import com.google.gwt.user.client.ui.Widget;
+
+public final class BrowseGridResourcesTreeBuilder {
+
+	private TopologyAssetsServiceAsync assetService;
+
+    public TreeItem build(final ExplorerViewCenterPanel targetPanel, final GridTopologyView gridTopology) {
+		Label resourceLabel = new Label(gridTopology.getName().trim());
+		final TreeItem resourcesItem = new TreeItem(resourceLabel);
+		resourceLabel.addClickHandler(new ClickHandler() {
+			public void onClick(ClickEvent event) {
+				openCreateNewGridResourcePanel(targetPanel, resourcesItem, gridTopology);
+			}
+		});
+		
+		for(GridResourceView gridResource : gridTopology.getGridResources()){
+			addResourceNode(targetPanel, resourcesItem, gridResource);
+		}
+		
+		return resourcesItem;
+    }
+
+    private void addResourceNode(ExplorerViewCenterPanel targetPanel, TreeItem resourcesItem, GridResourceView gridResource) {
+    	resourcesItem.addItem(new TreeItem(new Label(gridResource.getName())));
+	}
+
+    private void openCreateNewGridResourcePanel(ExplorerViewCenterPanel targetPanel, TreeItem resourcesItem, GridTopologyView gridTopology) {
+        if (!targetPanel.showIfOpen(gridTopology.getName())) {
+        	buildCreateNewGridResourcePanel(targetPanel, resourcesItem, gridTopology);
+        }
+    }
+
+    private void buildCreateNewGridResourcePanel(final ExplorerViewCenterPanel targetPanel, final TreeItem resourcesItem, final GridTopologyView gridTopology) {
+		Panel panel = new VerticalPanel();
+		final TextBox resourceName = new TextBox();
+		
+		Button addResourceAction = new Button("Create");
+		addResourceAction.addClickHandler(new ClickHandler() {
+			public void onClick(ClickEvent event) {
+				getService().createNewResource(resourceName.getText(), gridTopology, new GenericCallback<GridResourceView>() {
+					public void onSuccess(GridResourceView gridResource) {
+						addResourceNode(targetPanel, resourcesItem, gridResource);
+					}
+				});
+			}
+		});
+		
+        final VerticalPanel factoryPanel = new VerticalPanel();
+		
+        final ListBox optionProviders = new ListBox();
+        optionProviders.setVisibleItemCount(1);
+        final GridImplementations[] gridImplementantions = GridImplementations.values();
+		for (GridImplementations gridImplementation : gridImplementantions) {
+			optionProviders.addItem(gridImplementation.getLabel());
+		}
+        optionProviders.addChangeHandler(new ChangeHandler() {
+			public void onChange(ChangeEvent event) {
+				GridImplementations gridImplementation = gridImplementantions[optionProviders.getSelectedIndex()];
+				GWT.log(gridImplementation.getLabel());
+	            factoryPanel.clear();
+	            factoryPanel.add(gridImplementation.getFactoryWidget());
+			}
+		});
+
+		panel.add(resourceName);
+		panel.add(addResourceAction);
+		panel.add(optionProviders);
+		panel.add(factoryPanel);
+        targetPanel.addTab("New Resource", true, panel, gridTopology.getName());
+	}
+
+
+	private TopologyAssetsServiceAsync getService() {
+		if(assetService == null)
+			assetService =  GWT.create(TopologyAssetsService.class);
+		return assetService;
+	}
+
+    private enum GridImplementations {
+        MINA("Mina", new MinaFactoryPanel()), 
+        HORNETQ("HornetQ", new HornetQFactoryPanel()), 
+        RIO("Rio", new RioFactoryPanel());
+
+        private String label;
+        private Widget factoryWidget;
+
+        private GridImplementations(String label, Widget widget) {
+            this.label = label;
+            this.factoryWidget = widget;
+        }
+
+        public String getLabel() {
+            return label;
+        }
+        
+        public Widget getFactoryWidget() {
+            return factoryWidget;
+        }
+
+        @Override
+        public String toString() {
+            return getLabel();
+        }
+    }
+}

Added: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/BrowseGridTopologiesTreeBuilder.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/BrowseGridTopologiesTreeBuilder.java	                        (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/BrowseGridTopologiesTreeBuilder.java	2010-05-31 14:30:44 UTC (rev 33216)
@@ -0,0 +1,90 @@
+package org.drools.guvnor.client.explorer.grid;
+
+import java.util.Collections;
+import java.util.List;
+
+import org.drools.guvnor.client.common.GenericCallback;
+import org.drools.guvnor.client.explorer.ExplorerViewCenterPanel;
+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.event.dom.client.ClickEvent;
+import com.google.gwt.event.dom.client.ClickHandler;
+import com.google.gwt.user.client.ui.Button;
+import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.Panel;
+import com.google.gwt.user.client.ui.TextBox;
+import com.google.gwt.user.client.ui.TreeItem;
+import com.google.gwt.user.client.ui.VerticalPanel;
+
+public class BrowseGridTopologiesTreeBuilder {
+
+	private static final String TOPOLOGIES_TAB_KEY = "topologies";
+	private TopologyAssetsServiceAsync assetService;
+	private BrowseGridResourcesTreeBuilder gridResourcesTreeBuilder;
+	
+	public TreeItem build(final ExplorerViewCenterPanel targetPanel){
+    	Label topologiesLabel = new Label("Topologies");
+    	final TreeItem topologiesItem = new TreeItem(topologiesLabel);
+    	topologiesLabel.addClickHandler(new ClickHandler() {
+			public void onClick(ClickEvent event) {
+				openCreateNewGridTopologyPanel(targetPanel, topologiesItem);
+			}
+		});
+
+    	for (GridTopologyView topology : loadExistingTopologies()) {
+			addTopologyNode(targetPanel, topologiesItem, topology);
+		}
+        return topologiesItem;
+    }
+
+    private void openCreateNewGridTopologyPanel(final ExplorerViewCenterPanel targetPanel, TreeItem topologiesItem) {
+		if (!targetPanel.showIfOpen(TOPOLOGIES_TAB_KEY)) {
+			buildCreateNewGridTopologyPanel(targetPanel, topologiesItem);
+        }
+	}
+
+	private void buildCreateNewGridTopologyPanel(final ExplorerViewCenterPanel targetPanel, final TreeItem topologiesItem) {
+		Panel panel = new VerticalPanel();
+		final TextBox topologyName = new TextBox();
+		
+		Button addTopologyAction = new Button("Create");
+		addTopologyAction.addClickHandler(new ClickHandler() {
+			public void onClick(ClickEvent event) {
+				getService().createNewTopology(topologyName.getText(),
+						new GenericCallback<GridTopologyView>() {
+							public void onSuccess(GridTopologyView newTopology) {
+								addTopologyNode(targetPanel, topologiesItem, newTopology);
+							}
+						});
+			}
+		});
+		
+		panel.add(topologyName);
+		panel.add(addTopologyAction);
+		
+        targetPanel.addTab("New execution environment", true, panel, TOPOLOGIES_TAB_KEY);
+	}
+
+	private void addTopologyNode(ExplorerViewCenterPanel targetPanel, TreeItem topologiesItem, final GridTopologyView newTopology) {
+		topologiesItem.addItem(getGridResourcesTreeBuilder().build(targetPanel, newTopology));
+	}
+
+	private List<GridTopologyView> loadExistingTopologies() {
+		return Collections.emptyList();
+	}
+
+	private TopologyAssetsServiceAsync getService() {
+		if(assetService == null)
+			assetService =  GWT.create(TopologyAssetsService.class);
+		return assetService;
+	}
+
+    public BrowseGridResourcesTreeBuilder getGridResourcesTreeBuilder() {
+    	if(gridResourcesTreeBuilder == null)
+    		gridResourcesTreeBuilder = new BrowseGridResourcesTreeBuilder();
+		return gridResourcesTreeBuilder;
+	}
+}

Added: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/HornetQFactoryPanel.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/HornetQFactoryPanel.java	                        (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/HornetQFactoryPanel.java	2010-05-31 14:30:44 UTC (rev 33216)
@@ -0,0 +1,18 @@
+package org.drools.guvnor.client.explorer.grid;
+
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.VerticalPanel;
+
+public class HornetQFactoryPanel extends Composite {
+
+    public HornetQFactoryPanel() {
+        VerticalPanel panel = new VerticalPanel();
+        fillPanel(panel);
+        initWidget(panel);
+    }
+
+    private void fillPanel(VerticalPanel panel) {
+        panel.add(new Label("Hornyyyyy"));
+    }
+}

Added: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/MinaFactoryPanel.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/MinaFactoryPanel.java	                        (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/MinaFactoryPanel.java	2010-05-31 14:30:44 UTC (rev 33216)
@@ -0,0 +1,18 @@
+package org.drools.guvnor.client.explorer.grid;
+
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.VerticalPanel;
+
+public class MinaFactoryPanel extends Composite {
+
+    public MinaFactoryPanel() {
+        VerticalPanel panel = new VerticalPanel();
+        fillPanel(panel);
+        initWidget(panel);
+    }
+
+    private void fillPanel(VerticalPanel panel) {
+        panel.add(new Label("Minooon"));
+    }
+}

Added: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/RioFactoryPanel.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/RioFactoryPanel.java	                        (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/RioFactoryPanel.java	2010-05-31 14:30:44 UTC (rev 33216)
@@ -0,0 +1,18 @@
+package org.drools.guvnor.client.explorer.grid;
+
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.VerticalPanel;
+
+public class RioFactoryPanel extends Composite {
+
+    public RioFactoryPanel() {
+        VerticalPanel panel = new VerticalPanel();
+        fillPanel(panel);
+        initWidget(panel);
+    }
+
+    private void fillPanel(VerticalPanel panel) {
+        panel.add(new Label("Riooooo"));
+    }
+}

Added: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/model/GridResourceView.java
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/model/GridResourceView.java	                        (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/model/GridResourceView.java	2010-05-31 14:30:44 UTC (rev 33216)
@@ -0,0 +1,22 @@
+package org.drools.guvnor.client.explorer.grid.model;
+
+import java.io.Serializable;
+
+public class GridResourceView implements Serializable{
+
+	private String name;
+	
+	public GridResourceView() {	}
+	
+	public GridResourceView(String name) {
+		this.name = name;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+}

Added: 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	                        (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/model/GridTopologyView.java	2010-05-31 14:30:44 UTC (rev 33216)
@@ -0,0 +1,35 @@
+package org.drools.guvnor.client.explorer.grid.model;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+public class GridTopologyView implements Serializable{
+	private String name;
+	private List<GridResourceView> gridResources;
+
+	public GridTopologyView() { }
+	
+	public GridTopologyView(String name) {
+		this.name = name;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public List<GridResourceView> getGridResources() {
+		if(gridResources == null)
+			gridResources = new ArrayList<GridResourceView>();
+		return gridResources;
+	}
+
+	public void addGridResource(GridResourceView newResource) {
+		getGridResources().add(newResource);
+	}
+	
+}

Added: 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	                        (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/services/TopologyAssetsService.java	2010-05-31 14:30:44 UTC (rev 33216)
@@ -0,0 +1,22 @@
+package org.drools.guvnor.client.explorer.grid.services;
+
+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;
+import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
+
+ at RemoteServiceRelativePath("topologyService")
+public interface TopologyAssetsService extends RemoteService {
+
+	GridTopologyView createNewTopology(String name);
+	
+	/**
+	 * Creates a new {@link GridResourceView} and adds it to the {@link GridTopologyView} parameter
+	 * @param name of the new {@link GridResourceView}
+	 * @param gridTopology is the topology where the new {@link GridResourceView} will be added
+	 * @return a new {@link GridResourceView} already added to a topology
+	 */
+	GridResourceView createNewResource(String name, GridTopologyView gridTopology);
+
+}

Added: 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	                        (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/guvnor/client/explorer/grid/services/TopologyAssetsServiceAsync.java	2010-05-31 14:30:44 UTC (rev 33216)
@@ -0,0 +1,16 @@
+package org.drools.guvnor.client.explorer.grid.services;
+
+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;
+
+public interface TopologyAssetsServiceAsync {
+
+	void createNewTopology(String text,
+			AsyncCallback<GridTopologyView> callback);
+
+	void createNewResource(String name, GridTopologyView gridTopology,
+			AsyncCallback<GridResourceView> callback);
+
+}

Added: 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	                        (rev 0)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/java/org/drools/repository/services/TopologyAssetsServiceImpl.java	2010-05-31 14:30:44 UTC (rev 33216)
@@ -0,0 +1,21 @@
+package org.drools.repository.services;
+
+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.services.TopologyAssetsService;
+
+import com.google.gwt.user.server.rpc.RemoteServiceServlet;
+
+public class TopologyAssetsServiceImpl extends RemoteServiceServlet implements TopologyAssetsService {
+
+	public GridTopologyView createNewTopology(String text) {
+		GridTopologyView newTopology = new GridTopologyView(text);
+		return newTopology;
+	}
+
+	public GridResourceView createNewResource(String name, GridTopologyView gridTopology) {
+		GridResourceView newResource = new GridResourceView(name);
+		gridTopology.addGridResource(newResource);
+		return newResource;
+	}
+}

Modified: labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/webapp/WEB-INF/web.xml
===================================================================
--- labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/webapp/WEB-INF/web.xml	2010-05-31 14:15:29 UTC (rev 33215)
+++ labs/jbossrules/branches/salaboy_drools_grid_api_separation/drools-guvnor/src/main/webapp/WEB-INF/web.xml	2010-05-31 14:30:44 UTC (rev 33216)
@@ -58,6 +58,10 @@
 		<servlet-name>WSDLParserServlet</servlet-name>
 		<servlet-class>	org.gridcc.mce.mceworkflow.servlets.WSDLParserServlet</servlet-class>
 	</servlet>
+	<servlet>
+		<servlet-name>topologyService</servlet-name>
+		<servlet-class>org.drools.repository.services.TopologyAssetServicesImpl</servlet-class>
+	</servlet>
 
 
 	<servlet-mapping>
@@ -100,11 +104,12 @@
 		<servlet-name>WSDLParserServlet</servlet-name>
 		<url-pattern>/org.drools.guvnor.Guvnor/wsdlparser/*</url-pattern>
 	</servlet-mapping>
+	<servlet-mapping>
+		<servlet-name>topologyService</servlet-name>
+		<url-pattern>/org.drools.guvnor.Guvnor/topologyService</url-pattern>
+	</servlet-mapping>
 
-
     <session-config>
         <session-timeout>180</session-timeout>
     </session-config>
-
-
 </web-app>



More information about the jboss-svn-commits mailing list