From 894f818ad8dc890872511b4075946bf971f2b7a2 Mon Sep 17 00:00:00 2001 From: Manuel Rego Casasnovas Date: Tue, 10 Jul 2012 13:57:24 +0200 Subject: [PATCH] Bug #1496: Fix issue when visiting project dashboard in a project with milestones FEA: ItEr76S04BugFixing --- .../org/libreplan/business/planner/entities/Task.java | 1 + .../libreplan/business/planner/entities/TaskGroup.java | 1 + .../business/planner/entities/TaskMilestone.java | 3 +-- .../org/libreplan/business/util/TaskElementVisitor.java | 9 +++++++++ 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/libreplan-business/src/main/java/org/libreplan/business/planner/entities/Task.java b/libreplan-business/src/main/java/org/libreplan/business/planner/entities/Task.java index 8a5ff623b..42714e6be 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/planner/entities/Task.java +++ b/libreplan-business/src/main/java/org/libreplan/business/planner/entities/Task.java @@ -1241,6 +1241,7 @@ public class Task extends TaskElement implements ITaskPositionConstrained { return sumChargedEffort != null && !sumChargedEffort.isZero(); } + @Override public void acceptVisitor(TaskElementVisitor visitor) { visitor.visit(this); } diff --git a/libreplan-business/src/main/java/org/libreplan/business/planner/entities/TaskGroup.java b/libreplan-business/src/main/java/org/libreplan/business/planner/entities/TaskGroup.java index 414991829..e2aae97f7 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/planner/entities/TaskGroup.java +++ b/libreplan-business/src/main/java/org/libreplan/business/planner/entities/TaskGroup.java @@ -369,6 +369,7 @@ public class TaskGroup extends TaskElement { return this.isInProgress.booleanValue(); } + @Override public void acceptVisitor(TaskElementVisitor visitor) { visitor.visit(this); } 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 068e7f3df..364bc3068 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 @@ -25,7 +25,6 @@ import java.util.Collections; import java.util.Date; import java.util.EnumSet; import java.util.List; -import java.util.Map; import java.util.Set; import org.apache.commons.lang.Validate; @@ -206,7 +205,7 @@ public class TaskMilestone extends TaskElement implements ITaskPositionConstrain @Override public void acceptVisitor(TaskElementVisitor visitor) { - throw new RuntimeException("No visitors should visit this type of TaskElement"); + visitor.visit(this); } @Override diff --git a/libreplan-business/src/main/java/org/libreplan/business/util/TaskElementVisitor.java b/libreplan-business/src/main/java/org/libreplan/business/util/TaskElementVisitor.java index 2a75f2a15..085589c0f 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/util/TaskElementVisitor.java +++ b/libreplan-business/src/main/java/org/libreplan/business/util/TaskElementVisitor.java @@ -27,6 +27,7 @@ package org.libreplan.business.util; */ import org.libreplan.business.planner.entities.Task; import org.libreplan.business.planner.entities.TaskGroup; +import org.libreplan.business.planner.entities.TaskMilestone; public abstract class TaskElementVisitor { @@ -34,4 +35,12 @@ public abstract class TaskElementVisitor { public abstract void visit(TaskGroup taskGroup); + /** + * As most of the visitors doesn't need to process the {@link TaskMilestone + * TaskMilestones} is provided a default implementation doing nothing. + */ + public void visit(TaskMilestone taskMilestone) { + // Do nothing + } + }