diff --git a/distro/changelog.xml b/distro/changelog.xml
index 40edf67..361a3f4 100644
--- a/distro/changelog.xml
+++ b/distro/changelog.xml
@@ -5,6 +5,7 @@
cretions
Task #10052, send email to infraManagers upon new VRE cretions
+ Feature #6315, remove the mandatory node in creation phase
diff --git a/src/main/java/org/gcube/portlets/admin/vredeployer/client/VredeployerService.java b/src/main/java/org/gcube/portlets/admin/vredeployer/client/VredeployerService.java
index b6ef38f..06c5b96 100644
--- a/src/main/java/org/gcube/portlets/admin/vredeployer/client/VredeployerService.java
+++ b/src/main/java/org/gcube/portlets/admin/vredeployer/client/VredeployerService.java
@@ -1,9 +1,6 @@
package org.gcube.portlets.admin.vredeployer.client;
-import java.util.List;
-
import org.gcube.portlets.admin.vredeployer.client.model.VREFunctionalityModel;
-import org.gcube.portlets.admin.vredeployer.shared.GHNProfile;
import org.gcube.portlets.admin.vredeployer.shared.VREDeployerStatusType;
import org.gcube.portlets.admin.vredeployer.shared.VREDescrBean;
import org.gcube.portlets.admin.vredeployer.shared.deployreport.ClientDeployReport;
@@ -23,18 +20,8 @@ public interface VredeployerService extends RemoteService {
VREDeployerStatusType isApprovingModeEnabled();
- int isCloudSelected();
-
VREFunctionalityModel getFunctionality();
-
- List getAvailableGHNs();
-
- boolean setGHNsSelected(String[] selectedGHNIds);
-
- boolean setCloudDeploy(int virtualMachines);
-
- int getCloudVMSelected();
-
+
boolean deployVRE();
ClientDeployReport checkCreateVRE();
diff --git a/src/main/java/org/gcube/portlets/admin/vredeployer/client/VredeployerServiceAsync.java b/src/main/java/org/gcube/portlets/admin/vredeployer/client/VredeployerServiceAsync.java
index 12a4947..d8344ce 100644
--- a/src/main/java/org/gcube/portlets/admin/vredeployer/client/VredeployerServiceAsync.java
+++ b/src/main/java/org/gcube/portlets/admin/vredeployer/client/VredeployerServiceAsync.java
@@ -1,9 +1,6 @@
package org.gcube.portlets.admin.vredeployer.client;
-import java.util.List;
-
import org.gcube.portlets.admin.vredeployer.client.model.VREFunctionalityModel;
-import org.gcube.portlets.admin.vredeployer.shared.GHNProfile;
import org.gcube.portlets.admin.vredeployer.shared.VREDeployerStatusType;
import org.gcube.portlets.admin.vredeployer.shared.VREDescrBean;
import org.gcube.portlets.admin.vredeployer.shared.deployreport.ClientDeployReport;
@@ -19,16 +16,6 @@ public interface VredeployerServiceAsync {
void isApprovingModeEnabled(AsyncCallback callback);
- void getAvailableGHNs(AsyncCallback> callback);
-
- void setGHNsSelected(String[] selectedGHNIds, AsyncCallback callback);
-
- void isCloudSelected(AsyncCallback callback);
-
- void setCloudDeploy(int virtualMachines, AsyncCallback callback);
-
- void getCloudVMSelected(AsyncCallback callback);
-
void checkCreateVRE(AsyncCallback callback);
void deployVRE(AsyncCallback callback);
diff --git a/src/main/java/org/gcube/portlets/admin/vredeployer/client/control/Controller.java b/src/main/java/org/gcube/portlets/admin/vredeployer/client/control/Controller.java
index 385ee9c..3b0f288 100644
--- a/src/main/java/org/gcube/portlets/admin/vredeployer/client/control/Controller.java
+++ b/src/main/java/org/gcube/portlets/admin/vredeployer/client/control/Controller.java
@@ -4,10 +4,8 @@ import org.gcube.portlets.admin.vredeployer.client.VREDeployerConstants;
import org.gcube.portlets.admin.vredeployer.client.Vredeployer;
import org.gcube.portlets.admin.vredeployer.client.model.AtomicTreeNode;
import org.gcube.portlets.admin.vredeployer.client.view.panels.CenterPanel;
-import org.gcube.portlets.admin.vredeployer.shared.GHNBean;
import com.extjs.gxt.ui.client.widget.ContentPanel;
-import com.google.gwt.core.client.GWT;
public class Controller {
@@ -37,21 +35,10 @@ public class Controller {
vreDeployer.getModel().getFunctionality();
vreDeployer.getMainContainer().showEastPanel(true);
break;
- case ARCHITECTURE:
- cp.setHeading("Select nodes to deploy VRE Services");
- cp.setIconStyle("images/icons/architecture.png");
- cp.emptyPanel();
- showLoading();
- showEastPanelLoading();
- vreDeployer.getModel().getAvailableGhnList();
- vreDeployer.getModel().checkCloudSelected();
- vreDeployer.getMainContainer().showEastPanel(true);
- break;
case REPORT:
cp.setHeading("Finalize");
cp.setIconStyle("images/icons/play.png");
cp.emptyPanel();
- vreDeployer.getMainContainer().getCenterPanel().mask("Step Architecture Missing, define nodes first", "");
vreDeployer.getMainContainer().getEastPanel().hide();
vreDeployer.getModel().getSummary();
break;
@@ -68,14 +55,6 @@ public class Controller {
vreDeployer.getMainContainer().getCenterPanel().mask(VREDeployerConstants.LOADING_TEXT, "loading-indicator");
}
- /**
- *
- */
- private void showEastPanelLoading() {
- vreDeployer.getMainContainer().getEastPanel().setIconStyle("images/icons/cloud.png");
- vreDeployer.getMainContainer().getEastPanel().mask("Checking cloud availability please wait...", "loading-indicator");
- }
-
/**
*
*/
@@ -95,26 +74,13 @@ public class Controller {
vreDeployer.getMainContainer().getEastPanel().layout();
}
- /**
- *
- * @param selectedGHNIds
- * @param idCandidateGHN
- */
- public void setGHNsSelected(GHNBean[] selectedGHNIds) {
- vreDeployer.getModel().setGHNsSelected(selectedGHNIds);
- }
-
public void maskCenterPanel(boolean mask) {
if (mask)
vreDeployer.getMainContainer().getCenterPanel().mask();
else
vreDeployer.getMainContainer().getCenterPanel().unmask();
}
-
- public void setCloudSelected(boolean selected, int vMachines) {
- vreDeployer.getModel().setCloudSelected(selected, vMachines);
- }
-
+
public void createVreButtonClicked() {
vreDeployer.getModel().startVREDeploymentStatus();
}
diff --git a/src/main/java/org/gcube/portlets/admin/vredeployer/client/model/Model.java b/src/main/java/org/gcube/portlets/admin/vredeployer/client/model/Model.java
index cbcafd3..c25c6c3 100644
--- a/src/main/java/org/gcube/portlets/admin/vredeployer/client/model/Model.java
+++ b/src/main/java/org/gcube/portlets/admin/vredeployer/client/model/Model.java
@@ -21,15 +21,8 @@ import com.google.gwt.user.client.rpc.AsyncCallback;
public class Model {
-
-
private VREDescrBean vreDesc;
- private GHNBean[] selectedGHNs;
- private boolean isCloudSelected = false;
- private boolean isCloudAvailable = true;
-
-
/**
* Create a remote service proxy to talk to the server-side Greeting service.
@@ -115,90 +108,13 @@ public class Model {
});
}
- /**
- *
- */
- public void getAvailableGhnList() {
- deployerService.getAvailableGHNs(new AsyncCallback>() {
- public void onFailure(Throwable caught) {
- applyActionsOnException(caught);
- }
-
- public void onSuccess(List result) {
- GHNMemory mem = new GHNMemory("9900000000", "990000000");
- GHNSite site = new GHNSite("Lucca", "Italy", "d4science.org");
- List run = new LinkedList();
- List libs = new LinkedList();
- GHNProfile dummy = new GHNProfile(
- "13ea2882-97f7-4961-bae1-872fa2ff7157", "node-dummy",
- run, false, mem, site, libs, false);
- result.add(dummy);
- mainContainer.getCenterPanel().showGHNList(result);
- mainContainer.getCenterPanel().layout();
- if (! isCloudSelected)
- mainContainer.getCenterPanel().unmask();
-
- }
- });
- }
-
- /**
- *
- * @param selectedGHNIds
- * @param idCandidateGHN
- * @return
- */
- public void setGHNsSelected(GHNBean[] selectedGHNs) {
- this.selectedGHNs = selectedGHNs;
- isCloudSelected = false;
- String[] selectedIds = new String[selectedGHNs.length];
- for (int i = 0; i < selectedGHNs.length; i++) {
- selectedIds[i] = selectedGHNs[i].getId();
- }
-
- deployerService.setGHNsSelected(selectedIds, new AsyncCallback() {
- public void onSuccess(Boolean result) {
- Info.display("Saving Operation", "The ghn selection was saved successfully");
- }
-
- public void onFailure(Throwable caught) {
- MessageBox.alert("Error", "Error while saving ghn list: " + caught.getMessage(), null);
- }
- });
- }
-
-
- /**
- *
- */
- public void checkCloudSelected() {
- deployerService.isCloudSelected(new AsyncCallback() {
-
- public void onFailure(Throwable caught) {
- mainContainer.getEastPanel().addText("There was an error on server: " + caught.getMessage());
- mainContainer.getEastPanel().unmask();
- mainContainer.getEastPanel().layout();
- }
-
- public void onSuccess(Integer result) {
- if (result != -1) {
- isCloudSelected = true;
- mainContainer.getEastPanel().showCloudPanel(true, result);
- }
- else {
- isCloudSelected = false;
- mainContainer.getEastPanel().showCloudPanel(false, -1);
- }
- }
- });
- }
/**
*
*/
public void getSummary() {
- mainContainer.getCenterPanel().showFinalize(vreDesc, selectedGHNs, isCloudSelected());
+ mainContainer.getCenterPanel().showFinalize(vreDesc);
mainContainer.getCenterPanel().layout();
}
@@ -223,34 +139,9 @@ public class Model {
}
- /**
- * @return -
- */
- public boolean isCloudSelected() {
- return isCloudSelected;
- }
-
- /**
- *
- * @param isCloudSelected .
- * @param virtualMachines .
- */
- public void setCloudSelected(boolean isCloudSelected, int virtualMachines) {
- this.isCloudSelected = isCloudSelected;
-
- mainContainer.getEastPanel().mask("Applying settings, please hold", "loading-indicator");
-
- deployerService.setCloudDeploy(virtualMachines, new AsyncCallback() {
- public void onSuccess(Boolean result) {
- mainContainer.getEastPanel().unmask();
- Info.display("Saving Operation", "The Cloud selection was saved successfully");
- }
- public void onFailure(Throwable caught) {
- mainContainer.getEastPanel().unmask();
- }
- });
- }
+
+
/**
*
* @return -
@@ -259,13 +150,6 @@ public class Model {
return vreDesc;
}
- /**
- *
- * @return -
- */
- public GHNBean[] getSelectedGHNs() {
- return selectedGHNs;
- }
/**
*
diff --git a/src/main/java/org/gcube/portlets/admin/vredeployer/client/model/NodeType.java b/src/main/java/org/gcube/portlets/admin/vredeployer/client/model/NodeType.java
index 3219cca..32ff651 100644
--- a/src/main/java/org/gcube/portlets/admin/vredeployer/client/model/NodeType.java
+++ b/src/main/java/org/gcube/portlets/admin/vredeployer/client/model/NodeType.java
@@ -24,9 +24,5 @@ public enum NodeType {
/**
* REPORT
*/
- REPORT,
- /**
- * ARCHITECTURE
- */
- ARCHITECTURE;
+ REPORT
}
diff --git a/src/main/java/org/gcube/portlets/admin/vredeployer/client/view/panels/CenterPanel.java b/src/main/java/org/gcube/portlets/admin/vredeployer/client/view/panels/CenterPanel.java
index 8480e5c..b94b4e3 100644
--- a/src/main/java/org/gcube/portlets/admin/vredeployer/client/view/panels/CenterPanel.java
+++ b/src/main/java/org/gcube/portlets/admin/vredeployer/client/view/panels/CenterPanel.java
@@ -1,20 +1,14 @@
package org.gcube.portlets.admin.vredeployer.client.view.panels;
-import java.util.List;
-
import org.gcube.portlets.admin.vredeployer.client.VredeployerService;
import org.gcube.portlets.admin.vredeployer.client.VredeployerServiceAsync;
-import org.gcube.portlets.admin.vredeployer.client.constants.ImagesConstants;
import org.gcube.portlets.admin.vredeployer.client.control.Controller;
import org.gcube.portlets.admin.vredeployer.client.model.VREFunctionalityModel;
import org.gcube.portlets.admin.vredeployer.client.util.CheckTimer;
import org.gcube.portlets.admin.vredeployer.client.view.panels.builders.CloudDeployStatus;
-import org.gcube.portlets.admin.vredeployer.client.view.panels.builders.GhnGrid;
import org.gcube.portlets.admin.vredeployer.client.view.panels.builders.OverallDeployStatus;
import org.gcube.portlets.admin.vredeployer.client.view.panels.builders.ResourcesDeployStatus;
import org.gcube.portlets.admin.vredeployer.client.view.panels.builders.ServicesDeployStatus;
-import org.gcube.portlets.admin.vredeployer.shared.GHNBean;
-import org.gcube.portlets.admin.vredeployer.shared.GHNProfile;
import org.gcube.portlets.admin.vredeployer.shared.VREDescrBean;
import com.extjs.gxt.ui.client.Style.HorizontalAlignment;
@@ -183,7 +177,7 @@ public class CenterPanel extends ContentPanel {
setLayout(new FitLayout());
tree.expandAll();
tree.setAutoExpand(true);
-
+
controller.setEastPanelContent(getInitFuncInfo());
tree.addListener(Events.OnClick, new Listener>() {
@@ -211,57 +205,28 @@ public class CenterPanel extends ContentPanel {
cp.setLayout(new FitLayout());
return cp;
}
- /**
- * view for architecture step
- * @param vDesc
- */
- public void showGHNList(final List ghnodes) {
-
- GhnGrid ghnGrid = new GhnGrid(controller, ghnodes);
- add(ghnGrid.getGrid());
-
- setLayout(new FitLayout());
- }
-
+
/**
* view for finalize step
* @param vDesc
*/
- public void showFinalize(VREDescrBean desc, GHNBean[] ghns, boolean isCloudSelected) {
+ public void showFinalize(VREDescrBean desc) {
ContentPanel cp = new ContentPanel(new FitLayout());
cp.setHeaderVisible(false);
String toShow = "";
- if ( (ghns == null && (! isCloudSelected) ) ) {
- toShow = "Step Architecture Selection is Missing
";
- }
- else {
- unmask();
- toShow = "" + desc.getName() + " is ready to be deployed.
";
- toShow += "
selected nodes:";
+ unmask();
+ toShow = "" + desc.getName() + " is ready to be deployed.
";
+ toShow += "
click create button to start the creation process";
+ cp.add(new HTML(toShow, true));
+ cp.addButton(new Button("Create", new SelectionListener() {
+ @Override
+ public void componentSelected(ButtonEvent ce) {
+ controller.createVreButtonClicked();
+ }
+ }));
- if (isCloudSelected) {
- toShow += "";
- } else {
- toShow += "";
-
- for (int i = 0; i < ghns.length; i++) {
- if (ghns[i].isSelected())
- toShow += "- - "+ ghns[i].getHost()+ " (" + ghns[i].getCountry() + ")
" ;
- }
- toShow += "
";
- }
- toShow += "
click create button to start the creation process";
-
- cp.add(new HTML(toShow, true));
- cp.addButton(new Button("Create", new SelectionListener() {
- @Override
- public void componentSelected(ButtonEvent ce) {
- controller.createVreButtonClicked();
- }
- }));
- }
cp.setStyleAttribute("margin", "10px");
cp.add(new HTML(toShow, true));
add(cp);
diff --git a/src/main/java/org/gcube/portlets/admin/vredeployer/client/view/panels/EastPanel.java b/src/main/java/org/gcube/portlets/admin/vredeployer/client/view/panels/EastPanel.java
index 6441d56..4f81254 100644
--- a/src/main/java/org/gcube/portlets/admin/vredeployer/client/view/panels/EastPanel.java
+++ b/src/main/java/org/gcube/portlets/admin/vredeployer/client/view/panels/EastPanel.java
@@ -1,33 +1,8 @@
package org.gcube.portlets.admin.vredeployer.client.view.panels;
-import org.gcube.portlets.admin.vredeployer.client.constants.ImagesConstants;
import org.gcube.portlets.admin.vredeployer.client.control.Controller;
-import com.extjs.gxt.ui.client.Style.HorizontalAlignment;
-import com.extjs.gxt.ui.client.Style.Orientation;
-import com.extjs.gxt.ui.client.event.ButtonEvent;
-import com.extjs.gxt.ui.client.event.Events;
-import com.extjs.gxt.ui.client.event.FieldEvent;
-import com.extjs.gxt.ui.client.event.Listener;
-import com.extjs.gxt.ui.client.event.SelectionListener;
import com.extjs.gxt.ui.client.widget.ContentPanel;
-import com.extjs.gxt.ui.client.widget.HorizontalPanel;
-import com.extjs.gxt.ui.client.widget.Html;
-import com.extjs.gxt.ui.client.widget.LayoutContainer;
-import com.extjs.gxt.ui.client.widget.button.Button;
-import com.extjs.gxt.ui.client.widget.form.CheckBox;
-import com.extjs.gxt.ui.client.widget.form.CheckBoxGroup;
-import com.extjs.gxt.ui.client.widget.form.FieldSet;
-import com.extjs.gxt.ui.client.widget.form.FormPanel;
-import com.extjs.gxt.ui.client.widget.form.SimpleComboBox;
-import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
-import com.extjs.gxt.ui.client.widget.layout.FormData;
-import com.extjs.gxt.ui.client.widget.layout.FormLayout;
-import com.extjs.gxt.ui.client.widget.layout.RowData;
-import com.extjs.gxt.ui.client.widget.layout.RowLayout;
-import com.extjs.gxt.ui.client.widget.layout.TableData;
-import com.google.gwt.user.client.Window;
-import com.google.gwt.user.client.ui.Image;
public class EastPanel extends ContentPanel {
/**
@@ -46,123 +21,4 @@ public class EastPanel extends ContentPanel {
setHeight("100%");
}
- /**
- *
- */
- public void showCloudPanel(boolean selected, int vmSelected) {
- setHeading("deploy VRE Services on Cloud");
-
-
- final Button saveButton = new Button("Commit changes");
- saveButton.setEnabled(false);
-
- removeAll();
- unmask();
- LayoutContainer toShow = new LayoutContainer();
-
- HorizontalPanel hp = new HorizontalPanel();
- hp.setWidth("100%");
- hp.setTableWidth("100%");
-
- TableData td = new TableData();
- td.setHorizontalAlign(HorizontalAlignment.CENTER);
-
- //toShow.setStyleAttribute("margin", "10px");
- RowLayout rlayout = new RowLayout(Orientation.VERTICAL);
- toShow.setLayout(rlayout);
-
- String toAdd = "";
- toAdd = "Cloud available
";
-
-
- hp.add(new Html(toAdd), td);
-
- HorizontalPanel hp2 = new HorizontalPanel();
- hp2.setWidth("100%");
- hp2.setTableWidth("100%");
-
- hp2.add(new Image(ImagesConstants.CLOUD_IMAGE), td);
-
- toShow.add(hp);
- toShow.add(hp2);
-
-
- FormData formData = new FormData("-20");
-
- FormPanel form = new FormPanel();
- form.setHeaderVisible(false);
- form.setBorders(false);
- form.setBodyBorder(false);
- form.setFrame(false);
- form.setWidth("100%");
-
-
- FieldSet fieldSet = new FieldSet();
- fieldSet.setHeading("Resources Setup");
- //fieldSet.setCheckboxToggle(true);
-
- FormLayout layout = new FormLayout();
- layout.setLabelWidth(100);
- fieldSet.setLayout(layout);
-
-
-
- final CheckBox useCloud = new CheckBox();
- useCloud.addListener(Events.Change, new Listener() {
- public void handleEvent(FieldEvent be) {
- boolean checked = useCloud.getValue();
- controller.maskCenterPanel(checked);
- saveButton.setEnabled(checked);
- }
- });
-
-
- controller.maskCenterPanel(selected);
- useCloud.setValue(selected);
-
-
- useCloud.setBoxLabel("");
-
- CheckBoxGroup checkGroup = new CheckBoxGroup();
- checkGroup.setFieldLabel("Use Cloud");
- checkGroup.add(useCloud);
-
- final SimpleComboBox combo = new SimpleComboBox();
- combo.setFieldLabel("Virtual machines");
- combo.add("2");
- combo.add("3");
- combo.add("4");
- combo.add("5");
- combo.add("10");
- combo.add("20");
- combo.setTriggerAction(TriggerAction.ALL);
- combo.setSimpleValue("2");
- combo.setAllowBlank(false);
- combo.setEditable(false);
-
- if (vmSelected != -1) {
- combo.setSimpleValue(""+vmSelected);
- }
-
- fieldSet.add(checkGroup, formData);
- fieldSet.add(combo, formData);
- form.add(fieldSet, formData);
-
- form.addButton(saveButton);
- saveButton.addSelectionListener(new SelectionListener() {
- @Override
- public void componentSelected(ButtonEvent ce) {
- int vMachines = Integer.parseInt(combo.getSimpleValue());
- controller.setCloudSelected(true, vMachines);
-
- }
- });
-
- toShow.add(form, new RowData(-1, 165));
-
-
- add(toShow);
- layout();
-
- }
}
diff --git a/src/main/java/org/gcube/portlets/admin/vredeployer/client/view/panels/WestPanel.java b/src/main/java/org/gcube/portlets/admin/vredeployer/client/view/panels/WestPanel.java
index f5b1edc..856810f 100644
--- a/src/main/java/org/gcube/portlets/admin/vredeployer/client/view/panels/WestPanel.java
+++ b/src/main/java/org/gcube/portlets/admin/vredeployer/client/view/panels/WestPanel.java
@@ -24,7 +24,6 @@ public class WestPanel extends ContentPanel {
final AtomicTreeNode info = new AtomicTreeNode("Info", "Info", "info-icon", NodeType.INFO);
final AtomicTreeNode func = new AtomicTreeNode("Functionality", "Functionality", "functionality-icon",NodeType.FUNCTIONALITY);
- final AtomicTreeNode arch = new AtomicTreeNode("Architecture", "Architecture", "architecture-icon",NodeType.ARCHITECTURE);
final AtomicTreeNode finalize = new AtomicTreeNode("Finalize", "Finalize", "play-icon",NodeType.REPORT);
public WestPanel(Controller c) {
@@ -36,11 +35,9 @@ public class WestPanel extends ContentPanel {
root.add(info);
//root.add(metadata);
root.add(func);
- root.add(arch);
root.add(finalize);
-
TreeStore store = new TreeStore();
// The root node will not be shown
store.add(root.getChildren(), true);
diff --git a/src/main/java/org/gcube/portlets/admin/vredeployer/client/view/panels/builders/GhnGrid.java b/src/main/java/org/gcube/portlets/admin/vredeployer/client/view/panels/builders/GhnGrid.java
deleted file mode 100644
index d72c474..0000000
--- a/src/main/java/org/gcube/portlets/admin/vredeployer/client/view/panels/builders/GhnGrid.java
+++ /dev/null
@@ -1,252 +0,0 @@
-package org.gcube.portlets.admin.vredeployer.client.view.panels.builders;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.gcube.portlets.admin.vredeployer.client.control.Controller;
-import org.gcube.portlets.admin.vredeployer.shared.GHNBean;
-import org.gcube.portlets.admin.vredeployer.shared.GHNProfile;
-import org.gcube.portlets.admin.vredeployer.shared.RunningInstance;
-
-import com.extjs.gxt.ui.client.Style.HorizontalAlignment;
-import com.extjs.gxt.ui.client.Style.SortDir;
-import com.extjs.gxt.ui.client.data.ModelData;
-import com.extjs.gxt.ui.client.event.ButtonEvent;
-import com.extjs.gxt.ui.client.event.GridEvent;
-import com.extjs.gxt.ui.client.event.SelectionListener;
-import com.extjs.gxt.ui.client.store.ListStore;
-import com.extjs.gxt.ui.client.widget.ContentPanel;
-import com.extjs.gxt.ui.client.widget.MessageBox;
-import com.extjs.gxt.ui.client.widget.button.Button;
-import com.extjs.gxt.ui.client.widget.form.CheckBox;
-import com.extjs.gxt.ui.client.widget.grid.CellEditor;
-import com.extjs.gxt.ui.client.widget.grid.CheckColumnConfig;
-import com.extjs.gxt.ui.client.widget.grid.ColumnConfig;
-import com.extjs.gxt.ui.client.widget.grid.ColumnModel;
-import com.extjs.gxt.ui.client.widget.grid.Grid;
-import com.extjs.gxt.ui.client.widget.layout.FitLayout;
-import com.google.gwt.core.client.GWT;
-import com.google.gwt.user.client.ui.HTML;
-/**
- *
- * @author massi
- *
- */
-public class GhnGrid {
-
- private List myGHNList;
- private Controller controller;
-
- public GhnGrid(Controller controller, List list) {
- myGHNList = list;
- this.controller = controller;
- }
-
- public List getGHNList() {
- return myGHNList;
- }
-
- public ContentPanel getGrid() {
- List toShow = new ArrayList();
-
- for (GHNProfile p : myGHNList) {
- toShow.add(new GHNBean(p.getId(), p.getHost(), p.getMemory().getVirtualAvailable(),
- p.getSite().getDomain(), p.isSelected(), p.getMemory().getLocalAvailableSpace(),
- p.getSite().getLocation(), p.getSite().getCountry(), p.isSecure()));
- }
-
-
- List configs = new ArrayList();
-
- ColumnConfig column = new ColumnConfig();
-
- column.setId("id");
- column.setHeader("ID");
- column.setWidth(50);
- column.setHidden(true);
- configs.add(column);
-
- column = new ColumnConfig();
- column.setId("host");
- column.setHeader("Host name");
- column.setWidth(150);
- configs.add(column);
-
- column = new ColumnConfig();
- column.setId("domain");
- column.setHeader("Domain");
- column.setHidden(true);
- column.setWidth(150);
- configs.add(column);
-
- column = new ColumnConfig();
- column.setId("memory");
- column.setHeader("mem avail.");
- column.setAlignment(HorizontalAlignment.CENTER);
- column.setWidth(40);
- configs.add(column);
-
- column = new ColumnConfig();
- column.setId("diskspace");
- column.setHeader("disk avail.");
- column.setAlignment(HorizontalAlignment.CENTER);
- column.setHidden(false);
- column.setWidth(50);
- configs.add(column);
-
- column = new ColumnConfig();
- column.setId("country");
- column.setHeader("Country");
- column.setAlignment(HorizontalAlignment.CENTER);
- column.setHidden(true);
- column.setWidth(50);
- configs.add(column);
-
- column = new ColumnConfig();
- column.setId("location");
- column.setHeader("Location");
- column.setHidden(true);
- column.setAlignment(HorizontalAlignment.CENTER);
- column.setWidth(50);
- configs.add(column);
-
- column = new ColumnConfig();
- column.setId("isSecure");
- column.setHeader("isSecure");
- column.setAlignment(HorizontalAlignment.CENTER);
- column.setHidden(true);
- column.setWidth(40);
- configs.add(column);
-
- CheckColumnConfig checkColumn = new CheckColumnConfig("isSelected", "isSelected", 35) {
- @Override
- protected void onMouseDown(final GridEvent ge) {
- super.onMouseDown(ge);
- GHNBean bean = (GHNBean) ge.getModel();
- showGHNAdditionalInfo(bean.getId(), myGHNList);
- }
- };
- checkColumn.setHeader("Select");
- checkColumn.setAlignment(HorizontalAlignment.CENTER);
-
- CheckBox checkbox = new CheckBox();
-
- CellEditor checkBoxEditor = new CellEditor(checkbox);
-
- checkColumn.setEditor(checkBoxEditor);
- configs.add(checkColumn);
-
- final ColumnModel cm = new ColumnModel(configs);
-
- /**
- * load the grid data
- */
- final ListStore store = new ListStore();
- //store.groupBy("domain");
- store.sort("isSelectable", SortDir.DESC);
- store.add(toShow);
-
- Grid grid = new Grid(store, cm);
-
- grid.addPlugin(checkColumn);
- grid.setStyleAttribute("borderTop", "none");
- grid.setAutoExpandColumn("host");
- grid.setBorders(true);
- grid.setStripeRows(true);
- grid.getView().setForceFit(true);
-
- ContentPanel gridPanel = new ContentPanel(new FitLayout());
- gridPanel.setHeaderVisible(false);
- gridPanel.add(grid);
-
-
- gridPanel.addButton(new Button("Reset", new SelectionListener() {
- @Override
- public void componentSelected(ButtonEvent ce) {
- store.rejectChanges();
- }
- }));
-
-
-
- gridPanel.addButton(new Button("Commit changes", new SelectionListener() {
- @Override
- public void componentSelected(ButtonEvent ce) {
- List ghns = store.getModels();
-
- int selectedCounter = 0;
- for (GHNBean ghn : ghns)
- if (ghn.isSelected())
- selectedCounter++;
-
- if (selectedCounter < 1)
- MessageBox.alert("Alert", "At least one node must be added for deploying ", null);
- else {
- GHNBean[] selectedGHNIds = new GHNBean[selectedCounter];
- //get the selected ghnID
- int j = 0;
- for (int i = 0; i < ghns.size(); i++)
- if (ghns.get(i).isSelected()) {
- selectedGHNIds[j] = ghns.get(i);;
- j++;
- }
-
- GWT.log("Storing GHN List");
- store.commitChanges();
- controller.setGHNsSelected(selectedGHNIds);
- }
-
- }
- }));
- return gridPanel;
- }
-
- /**
- *
- * @param ghnID
- * @param ghnodes
- */
- private void showGHNAdditionalInfo(String ghnID, List ghnodes) {
- for (GHNProfile ghn : ghnodes) {
- if (ghn.getId().compareTo(ghnID) == 0) {
- ContentPanel cp = new ContentPanel();
- cp.setHeaderVisible(false);
- cp.setBodyBorder(false);
- String toAdd = "" + ghn.getHost() + "
";
-
- toAdd += "
Site:";
- toAdd += "";
- toAdd += "- - Location: " + ghn.getSite().getLocation() + "
" ;
- toAdd += "- - Country: " + ghn.getSite().getCountry() + "
" ;
- toAdd += "- - Domain: " + ghn.getSite().getDomain() + "
" ;
-
- toAdd += "
";
-
- toAdd += "
Running Instances:";
-
- List ris = ghn.getRunningInstances();
-
- if (ris != null) {
- toAdd += "";
- for (RunningInstance ri : ris) {
- toAdd += "- - "+ ri.getName()+ " (" + ri.getServiceClass() + ")
" ;
- }
- if (ris.size() == 0)
- toAdd += "- - none
" ;
- toAdd += "
";
- }
-
-
- cp.add(new HTML(toAdd, true ));
- cp.setStyleAttribute("margin", "10px");
- cp.setLayout(new FitLayout());
- controller.setEastPanelContent(cp);
- break;
- }
-
- }
-
-
- }
-}
-
diff --git a/src/main/java/org/gcube/portlets/admin/vredeployer/server/NewVRECreatedThread.java b/src/main/java/org/gcube/portlets/admin/vredeployer/server/NewVRECreatedThread.java
index c8c655e..37c30f9 100644
--- a/src/main/java/org/gcube/portlets/admin/vredeployer/server/NewVRECreatedThread.java
+++ b/src/main/java/org/gcube/portlets/admin/vredeployer/server/NewVRECreatedThread.java
@@ -131,7 +131,7 @@ public class NewVRECreatedThread implements Runnable {
body.append("
")
.append("")
.append("Dear ").append(userFirstName).append(",") //dear
- .append("").append(sender).append(" ").append("created the following email: ") // has done something
+ .append("
").append(sender).append(" ").append("created the following VRE: ") // has done something
.append(vreScope)
.append("
")
.append("You received this email because you are an Infrastructure Manager in this portal
")
diff --git a/src/main/java/org/gcube/portlets/admin/vredeployer/server/VREDeployerServiceImpl.java b/src/main/java/org/gcube/portlets/admin/vredeployer/server/VREDeployerServiceImpl.java
index 8f50f67..7766f91 100644
--- a/src/main/java/org/gcube/portlets/admin/vredeployer/server/VREDeployerServiceImpl.java
+++ b/src/main/java/org/gcube/portlets/admin/vredeployer/server/VREDeployerServiceImpl.java
@@ -54,12 +54,8 @@ import org.gcube.portal.custom.communitymanager.impl.GCubeSiteManagerImpl;
import org.gcube.portal.custom.scopemanager.scopehelper.ScopeHelper;
import org.gcube.portlets.admin.vredeployer.client.VredeployerService;
import org.gcube.portlets.admin.vredeployer.client.model.VREFunctionalityModel;
-import org.gcube.portlets.admin.vredeployer.shared.GHNMemory;
-import org.gcube.portlets.admin.vredeployer.shared.GHNProfile;
-import org.gcube.portlets.admin.vredeployer.shared.GHNSite;
import org.gcube.portlets.admin.vredeployer.shared.ResourceCategory;
import org.gcube.portlets.admin.vredeployer.shared.ResourceCategoryItem;
-import org.gcube.portlets.admin.vredeployer.shared.RunningInstance;
import org.gcube.portlets.admin.vredeployer.shared.VREDeployerStatusType;
import org.gcube.portlets.admin.vredeployer.shared.VREDescrBean;
import org.gcube.portlets.admin.vredeployer.shared.deployreport.ClientCloudReport;
@@ -466,138 +462,6 @@ public class VREDeployerServiceImpl extends RemoteServiceServlet implements Vre
}
}
- /**
- * return the ghn available list
- * @return
- * @throws RemoteException
- */
- @Override
- public List getAvailableGHNs() {
- List toReturn = new ArrayList();
- VREGeneratorEvo vreGenerator = null;
- if (isTesting) {
- vreGenerator = new VREGeneratorEvo(getASLSession(), customEPR);
- }
- else {
- ASLSession aslSession = getASLSession();
- vreGenerator = getVREGeneratorEvo(aslSession);
- }
-
- List ghns = null;
- try {
- log.debug("Asking gHN list");
- ghns = vreGenerator.getGHNs();
- } catch (RemoteException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- if (ghns == null)
- return toReturn;
- log.debug("got gHN list, menbers: " + ghns.size());
- for (GHN ghn : ghns) {
- List ris = new ArrayList();
- if (ghn.relatedRIs() != null) {
- for (int i = 0; i < ghn.relatedRIs().size(); i++) {
- ris.add(new RunningInstance(ghn.relatedRIs().get(i).serviceName(), ghn.relatedRIs().get(i).serviceClass()));
- }
- }
-
- toReturn.add(new GHNProfile(ghn.id(), ghn.host(), ris, ghn.securityEnabled(),
- new GHNMemory(ghn.memory().memorySize()+"", ghn.memory().diskSpace()+""),
- new GHNSite(ghn.site().location(), ghn.site().country(), ghn.site().domain()), null,
- ghn.selected()) );
-
- }
- return toReturn;
-
- }
-
-
- /**
- *
- * @param selectedGHNIds
- * @param idCandidateGHN
- * @return
- */
- public boolean setGHNsSelected(String[] selectedGHNIds) {
- VREGeneratorEvo vreGenerator = null;
- if (isTesting) {
- vreGenerator = new VREGeneratorEvo(getASLSession(), customEPR);
- }
- else {
- ASLSession aslSession = getASLSession();
- vreGenerator = getVREGeneratorEvo(aslSession);
- }
-
- try {
- log.debug(" selectedIDs");
- for (int i = 0; i < selectedGHNIds.length; i++) {
- System.out.println(" id: " + selectedGHNIds[i].toString());
- }
- vreGenerator.setGHNs(selectedGHNIds);
- } catch (RemoteException e) {
- e.printStackTrace();
- return false;
- }
- return true;
- }
-
- /**
- *
- * @return
- */
- public int isCloudSelected() {
-
- VREGeneratorEvo vreGenerator = null;
- if (isTesting) {
- vreGenerator = new VREGeneratorEvo(getASLSession(), customEPR);
- }
- else {
- ASLSession aslSession = getASLSession();
- vreGenerator = getVREGeneratorEvo(aslSession);
- }
- if (vreGenerator.isCloudSelected())
- return vreGenerator.getCloudVMSelected();
- else
- return -1;
- }
-
-
- /**
- *
- */
- public int getCloudVMSelected() {
-
- VREGeneratorEvo vreGenerator = null;
- if (isTesting) {
- vreGenerator = new VREGeneratorEvo(getASLSession(), customEPR);
- }
- else {
- ASLSession aslSession = getASLSession();
- vreGenerator = getVREGeneratorEvo(aslSession);
- }
- return vreGenerator.getCloudVMSelected();
- }
-
- /**
- *
- * @param virtualMachines
- * @return
- */
- public boolean setCloudDeploy(int virtualMachines) {
- VREGeneratorEvo vreGenerator = null;
- if (isTesting) {
- vreGenerator = new VREGeneratorEvo(getASLSession(), customEPR);
- }
- else {
- ASLSession aslSession = getASLSession();
- vreGenerator = getVREGeneratorEvo(aslSession);
- }
-
- return vreGenerator.setCloudDeploy(virtualMachines);
- }
-
-
public boolean deployVRE() {
log.info("--- deployVRE started ---");
VREGeneratorEvo vreGenerator = null;
@@ -741,8 +605,8 @@ public class VREDeployerServiceImpl extends RemoteServiceServlet implements Vre
log.info("onAfterCreate VRE: " + vreScope);
long currGroupId = PortalContext.getConfiguration().getCurrentGroupId(getThreadLocalRequest());
- Thread emailManagersThread = new Thread(new NewVRECreatedThread(userManager.getUsername(), userManager.getFullname(), vreScope, vreName, currGroupId));
- emailManagersThread.start();
+ Thread emailManagersThread = new Thread(new NewVRECreatedThread(userManager.getUsername(), userManager.getFullname(), vreScope, vreName, currGroupId));
+ emailManagersThread.start();
} else
@@ -860,7 +724,7 @@ public class VREDeployerServiceImpl extends RemoteServiceServlet implements Vre
log.error("NO VRE-MANAGER FOUND IN THIS VRE");
}
ScopeProvider.instance.set(currScope);
- }
+ }
/**
* return the infrastructure name
@@ -964,21 +828,11 @@ public class VREDeployerServiceImpl extends RemoteServiceServlet implements Vre
//*** Cloud deploy report part
GHNonCloudReport cDeploy = toConvert.getCloudDeployingReport();
- if (isCloudSelected() != -1) {
- System.out.println("***** GHNonCloudReportSelected ******");
- List singleCloudStatus = new LinkedList();
- for (int i = 0; i < cDeploy.getDeployingState().length; i++) {
- singleCloudStatus.add(convStatus(cDeploy.getDeployingState()[i]));
- }
+ System.out.println("***** GHNonCloudReport Not Selected ******");
+ ClientCloudReport cdp = new ClientCloudReport();
+ cdp.setStatus(DeployStatus.SKIP);
+ toReturn.setCloudReport(cdp);
- toReturn.setCloudReport(new ClientCloudReport(convStatus(cDeploy.getStatus()), singleCloudStatus));
- }
- else {
- System.out.println("***** GHNonCloudReport Not Selected ******");
- ClientCloudReport cdp = new ClientCloudReport();
- cdp.setStatus(DeployStatus.SKIP);
- toReturn.setCloudReport(cdp);
- }
//*** ResourceManager deploy report part
toReturn.setResourceManagerReport(
new ClientResourceManagerDeployingReport(convStatus(toConvert.getResourceDeployingReport().getStatus()), toConvert.getResourceDeployingReport().toString()));
@@ -1095,19 +949,19 @@ public class VREDeployerServiceImpl extends RemoteServiceServlet implements Vre
GCUBESiteLayout siteLayout = GCubeSiteManagerImpl.getBaseLayout(vreName, false, session.getUsername());
org.gcube.vomanagement.usermanagement.model.GCubeGroup vreCreated = gm.createVRE(vreName, parentVirtualOrganizationId, desc);
-
+
long groupId = vreCreated.getGroupId();
Group lrGroup = GroupLocalServiceUtil.getGroup(groupId);
GCubeUser userBean = new LiferayUserManager().getUserByUsername(session.getUsername());
User lrUser = UserLocalServiceUtil.getUser(userBean.getUserId());
-
+
SiteManagerUtil.createLayout(lrGroup, lrUser, siteLayout);
-
+
Theme themeToApply = ThemeLocalServiceUtil.getTheme(SiteManagerUtil.getCompany().getCompanyId(), themid, false);
//update theme
LayoutSetLocalServiceUtil.updateLookAndFeel(groupId, themeToApply.getThemeId(), "", "", false);
log.debug("LayoutSet Theme with id " + themid + " Applied Correctly");
-
+
log.info("Assigned theme with id: " + themid + " to groupid: " + groupId);
//the method above create a VRE and assign the manager Role to the person that triggers the creation
@@ -1116,7 +970,7 @@ public class VREDeployerServiceImpl extends RemoteServiceServlet implements Vre
//if the manager is not the one who triggered the creation
String currUser = session.getUsername();
log.info("***Username of who triggered the creation is: " + currUser);
-
+
log.info("Trying to create VRE Group Folder through HomeLibrary ...");
createVRESharedGroupFolder(vreCreated, designer, manager, description);