107 lines
2.7 KiB
Java
107 lines
2.7 KiB
Java
package org.gcube.portlets.admin.vredeployer.client.view.panels.builders;
|
|
|
|
import java.util.List;
|
|
|
|
import org.gcube.portlets.admin.vredeployer.client.charts.FunctionalityChart;
|
|
import org.gcube.portlets.admin.vredeployer.client.util.DelayedOperation;
|
|
import org.gcube.portlets.admin.vredeployer.shared.deployreport.ClientCloudReport;
|
|
import org.gcube.portlets.admin.vredeployer.shared.deployreport.ClientFunctionalityDeployReport;
|
|
import org.gcube.portlets.admin.vredeployer.shared.deployreport.ClientResourcesDeployReport;
|
|
import org.gcube.portlets.admin.vredeployer.shared.deployreport.DeployStatus;
|
|
|
|
import com.extjs.gxt.charts.client.Chart;
|
|
import com.extjs.gxt.ui.client.widget.ContentPanel;
|
|
import com.extjs.gxt.ui.client.widget.ProgressBar;
|
|
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
|
|
|
|
public class ResourcesDeployStatus {
|
|
private ContentPanel cp;
|
|
boolean chartAdded = false;
|
|
FunctionalityChart funcChart;
|
|
Chart myChart;
|
|
/**
|
|
*
|
|
*/
|
|
public ResourcesDeployStatus() {
|
|
cp = new ContentPanel(new FitLayout());
|
|
}
|
|
/**
|
|
*
|
|
* @param funcReport
|
|
* @param resourcesReport
|
|
*/
|
|
public void updateReport(final ClientFunctionalityDeployReport funcReport, ClientResourcesDeployReport resourcesReport) {
|
|
cp.unmask();
|
|
if (! chartAdded) {
|
|
createReport();
|
|
chartAdded = true;
|
|
myChart = funcChart.getChart();
|
|
myChart.setChartModel(funcChart.getChartModel(funcReport));
|
|
cp.add(myChart);
|
|
cp.layout();
|
|
}
|
|
else {
|
|
|
|
if (funcReport.getStatus() != DeployStatus.FINISH) {
|
|
cp.mask("Retrieving data", "loading-indicator");
|
|
DelayedOperation delay = new DelayedOperation() {
|
|
@Override
|
|
public void doJob() {
|
|
cp.unmask();
|
|
myChart.setChartModel(funcChart.getChartModel(funcReport));
|
|
myChart.refresh();
|
|
}
|
|
};
|
|
delay.start(1500);
|
|
}
|
|
else {
|
|
cp.unmask();
|
|
myChart.setChartModel(funcChart.getChartModel(funcReport));
|
|
myChart.refresh();
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
*
|
|
*/
|
|
public void createReport() {
|
|
cp.removeAll();
|
|
funcChart = new FunctionalityChart();
|
|
}
|
|
/**
|
|
*
|
|
* @param report
|
|
*/
|
|
public void updateReport(ClientFunctionalityDeployReport report) {
|
|
cp.unmask();
|
|
DeployStatus status = report.getStatus();
|
|
|
|
if (! chartAdded) {
|
|
createReport();
|
|
chartAdded = true;
|
|
myChart = funcChart.getChart();
|
|
myChart.setChartModel(funcChart.getChartModel(report));
|
|
cp.add(myChart);
|
|
cp.layout();
|
|
}
|
|
else {
|
|
myChart.setChartModel(funcChart.getChartModel(report));
|
|
myChart.refresh();
|
|
}
|
|
}
|
|
/**
|
|
*
|
|
* @return
|
|
*/
|
|
public ContentPanel getResourcesDeployStatusPanel() {
|
|
cp.setHeaderVisible(true);
|
|
cp.setHeading("Functionality deploying");
|
|
cp.setHeight(250);
|
|
cp.setBorders(true);
|
|
cp.mask("Retrieving data", "loading-indicator");
|
|
|
|
return cp;
|
|
}
|
|
}
|