From 67b8bc55b62a254df79b6616e8a5f829219938ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Aragunde=20P=C3=A9rez?= Date: Wed, 15 Feb 2012 11:08:48 +0100 Subject: [PATCH] Bug #1343: Prevent NullPointerException when creating a new milestone. The method belongsClosedProject() was not correctly implemented for TaskMilestone objects, I've added the correct implementation for them. FEA: ItEr76S04BugFixing --- .../business/planner/entities/TaskMilestone.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/libreplan-business/src/main/java/org/libreplan/business/planner/entities/TaskMilestone.java b/libreplan-business/src/main/java/org/libreplan/business/planner/entities/TaskMilestone.java index 616cca7c5..04fe416ac 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/planner/entities/TaskMilestone.java +++ b/libreplan-business/src/main/java/org/libreplan/business/planner/entities/TaskMilestone.java @@ -23,6 +23,7 @@ package org.libreplan.business.planner.entities; import java.util.Collections; import java.util.Date; +import java.util.EnumSet; import java.util.List; import java.util.Set; @@ -30,6 +31,8 @@ import org.apache.commons.lang.Validate; import org.hibernate.validator.AssertTrue; import org.joda.time.DateTime; import org.joda.time.Days; +import org.libreplan.business.orders.entities.Order; +import org.libreplan.business.orders.entities.OrderStatusEnum; import org.libreplan.business.resources.daos.IResourcesSearcher; import org.libreplan.business.scenarios.entities.Scenario; import org.libreplan.business.workingday.IntraDayDate; @@ -181,4 +184,17 @@ public class TaskMilestone extends TaskElement implements ITaskPositionConstrain return false; } + @Override + public Boolean belongsClosedProject() { + EnumSet CLOSED = EnumSet.of(OrderStatusEnum.CANCELLED, + OrderStatusEnum.FINISHED, OrderStatusEnum.STORED); + + Order order = getParent().getOrderElement().getOrder(); + if(CLOSED.contains(order.getState())) { + return true; + } + + return false; + } + } \ No newline at end of file