Fix NullPointerException during runtime

FEA: ItEr64OTS04ReporteAvancesCadeaCritica
This commit is contained in:
Diego Pino Garcia 2010-11-26 12:30:31 +01:00
parent d22918385b
commit 51643855ce
4 changed files with 20 additions and 5 deletions

View file

@ -91,6 +91,10 @@ import org.zkoss.zk.ui.util.Clients;
@Scope(BeanDefinition.SCOPE_PROTOTYPE)
public class TemplateModel implements ITemplateModel {
public static List<TaskElement> getCriticalPathFor(Order order) {
return Collections.emptyList();
}
private static class DependencyWithVisibility implements
IDependency<TaskElement> {
@ -621,4 +625,5 @@ public class TemplateModel implements ITemplateModel {
}
return result;
}
}

View file

@ -190,7 +190,9 @@ public class MonteCarloController extends GenericForwardComposer {
private void feedCriticalPathsList() {
lbCriticalPaths.setModel(new SimpleListModel(monteCarloModel
.getCriticalPathNames()));
lbCriticalPaths.setSelectedIndex(0);
if (!lbCriticalPaths.getChildren().isEmpty()) {
lbCriticalPaths.setSelectedIndex(0);
}
}
private void reloadGridCritialPathTasks() {

View file

@ -24,6 +24,7 @@ import static org.navalplanner.web.I18nHelper._;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@ -122,8 +123,8 @@ public class OrderPlanningController implements Composer {
.retrieve();
}
public List<org.navalplanner.business.planner.entities.Task> getCriticalPath() {
return planner.getCriticalPath();
public List<org.navalplanner.business.planner.entities.TaskElement> getCriticalPath() {
return planner != null ? planner.getCriticalPath() : null;
}
public void setOrder(Order order,

View file

@ -24,8 +24,11 @@ import static org.navalplanner.web.planner.tabs.MultipleTabsPlannerController.BR
import static org.navalplanner.web.planner.tabs.MultipleTabsPlannerController.PLANNIFICATION;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.navalplanner.business.planner.entities.TaskElement;
import org.navalplanner.web.common.TemplateModel;
import org.navalplanner.web.montecarlo.MonteCarloController;
import org.navalplanner.web.planner.order.OrderPlanningController;
import org.navalplanner.web.planner.tabs.CreatedOnDemandTab.IComponentCreator;
@ -98,8 +101,12 @@ public class MonteCarloTabCreator {
@Override
protected void afterShowAction() {
monteCarloController.setCriticalPath(orderPlanningController
.getCriticalPath());
List<TaskElement> criticalPath = orderPlanningController.getCriticalPath();
if (criticalPath == null) {
criticalPath = TemplateModel.getCriticalPathFor(mode.getOrder());
}
monteCarloController.setCriticalPath(criticalPath);
breadcrumbs.getChildren().clear();
breadcrumbs.appendChild(new Image(BREADCRUMBS_SEPARATOR));
breadcrumbs.appendChild(new Label(PLANNIFICATION));