ItEr17S10CUCreacionProxectoPlanificacionItEr16S12: Adding abstract methods getChildren and isLeaf to Task.
This commit is contained in:
parent
c632841197
commit
4a7568fcec
5 changed files with 41 additions and 18 deletions
|
|
@ -1,5 +1,7 @@
|
|||
package org.navalplanner.business.planner.entities;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.commons.lang.Validate;
|
||||
import org.hibernate.validator.NotNull;
|
||||
import org.navalplanner.business.orders.entities.HoursGroup;
|
||||
|
|
@ -36,4 +38,14 @@ public class Task extends TaskElement {
|
|||
return hoursGroup.getWorkingHours();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isLeaf() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<TaskElement> getChildren() {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ package org.navalplanner.business.planner.entities;
|
|||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import org.apache.commons.lang.Validate;
|
||||
|
|
@ -83,4 +84,8 @@ public abstract class TaskElement {
|
|||
return id;
|
||||
}
|
||||
|
||||
public abstract boolean isLeaf();
|
||||
|
||||
public abstract List<TaskElement> getChildren();
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,13 +13,19 @@ public class TaskGroup extends TaskElement {
|
|||
|
||||
private List<TaskElement> taskElements = new ArrayList<TaskElement>();
|
||||
|
||||
public List<TaskElement> getTaskElements() {
|
||||
return Collections.unmodifiableList(taskElements);
|
||||
}
|
||||
|
||||
public void addTaskElement(TaskElement task) {
|
||||
Validate.notNull(task);
|
||||
taskElements.add(task);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<TaskElement> getChildren() {
|
||||
return Collections.unmodifiableList(taskElements);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isLeaf() {
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,16 +25,16 @@ public class TaskGroupTest {
|
|||
|
||||
@Test
|
||||
public void taskGroupHasManyTaskElements() {
|
||||
List<TaskElement> tasks = taskGroup.getTaskElements();
|
||||
List<TaskElement> tasks = taskGroup.getChildren();
|
||||
assertTrue("a task group has no task elements initially", tasks
|
||||
.isEmpty());
|
||||
TaskElement child1 = new Task();
|
||||
taskGroup.addTaskElement(child1);
|
||||
TaskGroup child2 = new TaskGroup();
|
||||
taskGroup.addTaskElement(child2);
|
||||
List<TaskElement> taskElements = taskGroup.getTaskElements();
|
||||
List<TaskElement> taskElements = taskGroup.getChildren();
|
||||
assertThat(taskElements.size(), equalTo(2));
|
||||
assertThat(taskGroup.getTaskElements(), equalTo(Arrays.asList(child1,
|
||||
assertThat(taskGroup.getChildren(), equalTo(Arrays.asList(child1,
|
||||
child2)));
|
||||
}
|
||||
|
||||
|
|
@ -45,6 +45,6 @@ public class TaskGroupTest {
|
|||
|
||||
@Test(expected = UnsupportedOperationException.class)
|
||||
public void taskElementsCollectionCannotBeModified() {
|
||||
taskGroup.getTaskElements().set(0, null);
|
||||
taskGroup.getChildren().set(0, null);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -141,7 +141,7 @@ public class TaskElementServiceTest {
|
|||
flushAndEvict(taskGroup);
|
||||
TaskGroup reloaded = (TaskGroup) taskElementService.findById(taskGroup
|
||||
.getId());
|
||||
List<TaskElement> taskElements = reloaded.getTaskElements();
|
||||
List<TaskElement> taskElements = reloaded.getChildren();
|
||||
assertThat(taskElements.size(), equalTo(2));
|
||||
assertThat(taskElements.get(0).getId(), equalTo(child1.getId()));
|
||||
assertThat(taskElements.get(1).getId(), equalTo(child2.getId()));
|
||||
|
|
@ -161,14 +161,14 @@ public class TaskElementServiceTest {
|
|||
flushAndEvict(taskGroup);
|
||||
TaskGroup reloaded = (TaskGroup) taskElementService.findById(taskGroup
|
||||
.getId());
|
||||
assertThat(reloaded.getTaskElements().get(0)
|
||||
assertThat(reloaded.getChildren().get(0)
|
||||
.getDependenciesWithThisOrigin().size(), equalTo(1));
|
||||
assertTrue(reloaded.getTaskElements().get(0)
|
||||
assertTrue(reloaded.getChildren().get(0)
|
||||
.getDependenciesWithThisDestination().isEmpty());
|
||||
|
||||
assertThat(reloaded.getTaskElements().get(1)
|
||||
assertThat(reloaded.getChildren().get(1)
|
||||
.getDependenciesWithThisDestination().size(), equalTo(1));
|
||||
assertTrue(reloaded.getTaskElements().get(1)
|
||||
assertTrue(reloaded.getChildren().get(1)
|
||||
.getDependenciesWithThisOrigin().isEmpty());
|
||||
}
|
||||
|
||||
|
|
@ -217,8 +217,8 @@ public class TaskElementServiceTest {
|
|||
|
||||
assertThat(group.getOrderElement(),
|
||||
equalTo((OrderElement) orderLineGroup));
|
||||
assertThat(group.getTaskElements().size(), equalTo(1));
|
||||
assertThat(group.getTaskElements().get(0).getOrderElement(),
|
||||
assertThat(group.getChildren().size(), equalTo(1));
|
||||
assertThat(group.getChildren().get(0).getOrderElement(),
|
||||
equalTo((OrderElement) orderLine));
|
||||
}
|
||||
|
||||
|
|
@ -249,10 +249,10 @@ public class TaskElementServiceTest {
|
|||
|
||||
TaskGroup group = (TaskGroup) taskElement;
|
||||
assertThat(group.getOrderElement(), equalTo((OrderElement) orderLine));
|
||||
assertThat(group.getTaskElements().size(), equalTo(2));
|
||||
assertThat(group.getChildren().size(), equalTo(2));
|
||||
|
||||
Task child1 = (Task) group.getTaskElements().get(0);
|
||||
Task child2 = (Task) group.getTaskElements().get(1);
|
||||
Task child1 = (Task) group.getChildren().get(0);
|
||||
Task child2 = (Task) group.getChildren().get(1);
|
||||
|
||||
assertThat(child1.getOrderElement(), equalTo((OrderElement) orderLine));
|
||||
assertThat(child2.getOrderElement(), equalTo((OrderElement) orderLine));
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue