BrightSide Workbench Full Report + Source Code
org.turro.dossier.task.TaskModel Class Reference

Public Member Functions

 TaskModel (Dossier dossier, boolean onlyOpen)
 
Collection< TaskItemgetRoots ()
 
Collection< TaskItemgetSubtasks (TaskItem item)
 
Collection< TaskItemgetFlat (Collection< TaskItem > items)
 

Detailed Description

Author
Lluis TurrĂ³ Cutiller lluis.nosp@m.@tur.nosp@m.ro.or.nosp@m.g

Definition at line 37 of file TaskModel.java.

Constructor & Destructor Documentation

◆ TaskModel()

org.turro.dossier.task.TaskModel.TaskModel ( Dossier  dossier,
boolean  onlyOpen 
)

Definition at line 43 of file TaskModel.java.

43  {
44  this.dao = new DossierPU();
45  this.dossier = dossier;
46  this.onlyOpen = onlyOpen;
47  }

Member Function Documentation

◆ getFlat()

Collection<TaskItem> org.turro.dossier.task.TaskModel.getFlat ( Collection< TaskItem items)

Definition at line 80 of file TaskModel.java.

80  {
81  ArrayList<TaskItem> list = new ArrayList<>();
82  Consumer<TaskItem> addItem = item -> { list.add(item); item.getSubtasks().forEach((subtask) -> list.add(subtask));};
83  items.forEach((item) -> {
84  addItem.accept(item);
85  });
86  return list;
87  }
Here is the caller graph for this function:

◆ getRoots()

Collection<TaskItem> org.turro.dossier.task.TaskModel.getRoots ( )

Definition at line 49 of file TaskModel.java.

49  {
50  WhereClause wc = new WhereClause();
51  wc.addClause("select issue from Issue issue");
52  wc.addClause("where issue.dossier = :dossier");
53  wc.addNamedValue("dossier", dossier);
54  if(onlyOpen) {
55  wc.addClause("and issue.status in (:status)");
56  wc.addNamedValue("status", IssueStatus.selectBy(null, null, null, false));
57  }
58  wc.addClause("and issue.sources is empty");
59  return dao.getResultList(Issue.class, wc).stream().map((issue) -> {
60  return new TaskItem(issue, null, 1);
61  }).collect(Collectors.toList());
62  }
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getSubtasks()

Collection<TaskItem> org.turro.dossier.task.TaskModel.getSubtasks ( TaskItem  item)

Definition at line 64 of file TaskModel.java.

64  {
65  WhereClause wc = new WhereClause();
66  wc.addClause("select predecessor from IssuePredecessor predecessor");
67  wc.addClause("where predecessor.source = :issue");
68  wc.addNamedValue("issue", item.getIssue());
69  wc.addClause("and predecessor.source.dossier = :dossier");
70  wc.addNamedValue("dossier", dossier);
71  if(onlyOpen) {
72  wc.addClause("and predecessor.target.status in (:status)");
73  wc.addNamedValue("status", IssueStatus.selectBy(null, null, null, false));
74  }
75  return dao.getResultList(IssuePredecessor.class, wc).stream().map((predecessor) -> {
76  return new TaskItem(predecessor.getTarget(), predecessor.getType(), item.getLevel() + 1);
77  }).collect(Collectors.toList());
78  }
Here is the call graph for this function:

The documentation for this class was generated from the following file: