108 lines
2.4 KiB
Java
108 lines
2.4 KiB
Java
package org.gcube.portlets.admin.vredeployer.client.view.panels.builders;
|
|
|
|
import java.util.List;
|
|
|
|
import org.gcube.portlets.admin.vredeployer.client.charts.CloudChart;
|
|
import org.gcube.portlets.admin.vredeployer.client.util.DelayedOperation;
|
|
import org.gcube.portlets.admin.vredeployer.shared.deployreport.ClientResourceManagerDeployingReport;
|
|
import org.gcube.portlets.admin.vredeployer.shared.deployreport.DeployStatus;
|
|
|
|
import com.extjs.gxt.ui.client.widget.ContentPanel;
|
|
import com.extjs.gxt.ui.client.widget.ProgressBar;
|
|
import com.extjs.gxt.ui.client.widget.layout.CenterLayout;
|
|
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
|
|
import com.google.gwt.user.client.Window;
|
|
|
|
public class ServicesDeployStatus {
|
|
private ContentPanel cp;
|
|
|
|
boolean barAdded = false;
|
|
ProgressBar bar;
|
|
|
|
public ServicesDeployStatus() {
|
|
cp = new ContentPanel(new FitLayout());
|
|
cp.setLayout(new CenterLayout());
|
|
}
|
|
|
|
public void updateReport(ClientResourceManagerDeployingReport report) {
|
|
cp.unmask();
|
|
DeployStatus managerStatus = report.getStatus();
|
|
int i = 0;
|
|
String label = "% Complete";
|
|
switch (managerStatus) {
|
|
case FAIL:
|
|
label = "% Failure, see textual report";
|
|
i = 0;
|
|
break;
|
|
case RUN:
|
|
i = 50;
|
|
break;
|
|
case WAIT:
|
|
label = "% not started yet";
|
|
i = 0;
|
|
break;
|
|
case FINISH:
|
|
label = "% Complete";
|
|
i = 100;
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
|
|
if (! barAdded) {
|
|
createReport();
|
|
barAdded = true;
|
|
bar.updateProgress(0, " not started yet");
|
|
cp.add(bar);
|
|
bar.setWidth("90%");
|
|
cp.layout();
|
|
}
|
|
else {
|
|
if (report.getStatus() != DeployStatus.FINISH) {
|
|
cp.mask("Retrieving data", "loading-indicator");
|
|
DelayedOperation delay = new DelayedOperation() {
|
|
@Override
|
|
public void doJob() {
|
|
cp.unmask();
|
|
}
|
|
};
|
|
delay.start(1500);
|
|
}
|
|
bar.setWidth("90%");
|
|
bar.updateProgress((i/100), (int )i +label);
|
|
cp.layout();
|
|
}
|
|
if (report.getStatus() == DeployStatus.FAIL || report.getStatus() == DeployStatus.FINISH) {
|
|
bar.setWidth("90%");
|
|
i = 100;
|
|
bar.updateProgress((i/100), (int )i +label);
|
|
cp.layout();
|
|
}
|
|
|
|
}
|
|
|
|
/**
|
|
*
|
|
*/
|
|
public void createReport() {
|
|
cp.removeAll();
|
|
bar = new ProgressBar();
|
|
|
|
}
|
|
|
|
/**
|
|
*
|
|
* @return
|
|
*/
|
|
public ContentPanel getServicesDeployStatusPanel() {
|
|
cp.setHeaderVisible(true);
|
|
cp.setHeading("Services dynamic deploying");
|
|
cp.setHeight(250);
|
|
cp.setBorders(true);
|
|
cp.mask("Retrieving data", "loading-indicator");
|
|
|
|
return cp;
|
|
}
|
|
}
|