Bug #1340: Add a listener to refresh the earned value chart in

AdvanceAssignmentPlanningController.

FEA: ItEr76S04BugFixing
This commit is contained in:
Jacobo Aragunde Pérez 2012-01-13 17:28:43 +01:00
parent 1f1c5e31da
commit 2a9de2ba99
2 changed files with 35 additions and 1 deletions

View file

@ -65,6 +65,8 @@ public class AdvanceAssignmentPlanningController extends GenericForwardComposer
private IReloadChartListener reloadOverallProgressListener;
private IReloadChartListener reloadEarnedValueListener;
@Override
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
@ -114,6 +116,7 @@ public class AdvanceAssignmentPlanningController extends GenericForwardComposer
advanceAssignmentPlanningModel.accept();
updateTaskComponents();
close();
reloadEarnedValueProgress();
reloadOverallProgress();
}
}
@ -124,6 +127,12 @@ public class AdvanceAssignmentPlanningController extends GenericForwardComposer
}
}
private void reloadEarnedValueProgress() {
if (reloadEarnedValueListener != null) {
reloadEarnedValueListener.reloadChart();
}
}
private void updateTaskComponents() {
if (context.getRelativeTo() instanceof TaskComponent) {
// update the current taskComponent
@ -165,4 +174,8 @@ public class AdvanceAssignmentPlanningController extends GenericForwardComposer
reloadOverallProgressListener = reloadChartListener;
}
public void setReloadEarnedValueListener(IReloadChartListener reloadEarnedValueListener) {
this.reloadEarnedValueListener = reloadEarnedValueListener;
}
}

View file

@ -435,6 +435,25 @@ public class OrderPlanningModel implements IOrderPlanningModel {
});
}
});
advanceAssignmentPlanningController.setReloadEarnedValueListener(new IReloadChartListener() {
@Override
public void reloadChart() {
Registry.getTransactionService().runOnReadOnlyTransaction(new IOnTransaction<Void>() {
@Override
public Void execute() {
if (isExecutingOutsideZKExecution()) {
return null;
}
if (planner.isVisibleChart()) {
earnedValueChart.fillChart(); //update earned value chart
}
return null;
}
});
}
});
}
private Tabpanel createOverallProgressTab(
@ -535,10 +554,12 @@ public class OrderPlanningModel implements IOrderPlanningModel {
refillLoadChartWhenNeeded(changeHooker, planner, loadChart);
}
private Chart earnedValueChart;
private void setupEarnedValueChart(Timeplot chartEarnedValueTimeplot,
OrderEarnedValueChartFiller earnedValueChartFiller,
Planner planner, ChangeHooker changeHooker) {
Chart earnedValueChart = setupChart(planningState.getOrder(),
earnedValueChart = setupChart(planningState.getOrder(),
earnedValueChartFiller, chartEarnedValueTimeplot, planner);
refillLoadChartWhenNeeded(changeHooker, planner, earnedValueChart);
setEventListenerConfigurationCheckboxes(earnedValueChart);