From b478d4c3e6d7017c9dea118ef4a4e829cec348b8 Mon Sep 17 00:00:00 2001 From: Nacho Barrientos Date: Tue, 22 Nov 2011 18:01:07 +0100 Subject: [PATCH] Bring time KPI "Lead/Lag in task completion" to the UI. FEA: ItEr75S27PerProjectDashboard --- .../web/dashboard/DashboardController.java | 27 +++++++++++++++++++ .../webapp/dashboard/_dashboardfororder.zul | 8 ++++++ 2 files changed, 35 insertions(+) diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/dashboard/DashboardController.java b/libreplan-webapp/src/main/java/org/libreplan/web/dashboard/DashboardController.java index 39f79947d..fad4004a9 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/dashboard/DashboardController.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/dashboard/DashboardController.java @@ -61,6 +61,7 @@ public class DashboardController extends GenericForwardComposer { private Chart progressKPItaskDeadlineViolationStatusChart; private Chart timeKPImarginWithDeadlineChart; private Chart timeKPIEstimationAccuracyChart; + private Chart timeKPILagInTaskCompletionChart; public DashboardController() { } @@ -90,6 +91,18 @@ public class DashboardController extends GenericForwardComposer { generateProgressKPItaskDeadlineViolationStatusChart(); generateTimeKPImarginWithDeadlineChart(); generateTimeKPIEstimationAccuracyChart(); + generateTimeKPILagInTaskCompletionChart(); + } + + private void generateTimeKPILagInTaskCompletionChart() { + CategoryModel categoryModel; + categoryModel = refreshTimeKPILagInTaskCompletionCategoryModel(); + Font labelFont = new Font("serif", Font.PLAIN, 10); + timeKPILagInTaskCompletionChart.setXAxisTickFont(labelFont); + Color[] seriesColorMappings = {Color.BLUE}; + timeKPILagInTaskCompletionChart.setAttribute("series-color-mappings", + seriesColorMappings); + timeKPILagInTaskCompletionChart.setModel(categoryModel); } private void generateTimeKPIEstimationAccuracyChart() { @@ -197,4 +210,18 @@ public class DashboardController extends GenericForwardComposer { return result; } + private CategoryModel refreshTimeKPILagInTaskCompletionCategoryModel() { + CategoryModel result = new SimpleCategoryModel(); + List values = dashboardModel.getLagInTaskCompletionHistogram(); + Iterator it = values.iterator(); + for(double ii= DashboardModel.LTC_STRETCHES_MIN_VALUE; + ii < DashboardModel.LTC_STRETCHES_MAX_VALUE; + ii += DashboardModel.LTC_STRETCHES_STEP) { + result.setValue(_("None"), _(String.valueOf(ii)), it.next()); + } + result.setValue(_("None"), + _(">"+DashboardModel.LTC_STRETCHES_MAX_VALUE), + it.next()); + return result; + } } diff --git a/libreplan-webapp/src/main/webapp/dashboard/_dashboardfororder.zul b/libreplan-webapp/src/main/webapp/dashboard/_dashboardfororder.zul index fea3de327..3cc3b2dfd 100644 --- a/libreplan-webapp/src/main/webapp/dashboard/_dashboardfororder.zul +++ b/libreplan-webapp/src/main/webapp/dashboard/_dashboardfororder.zul @@ -31,6 +31,14 @@ threeD="false" yAxis="probability" orient="vertical" title="${i18n:_('Estimation Accuracy')}" paneColor="#FFFFFF" showLegend="false" /> + + +