This is an automated email from the git hooks/post-receive script. New commit to branch 1.6-database-h2 in repository jtimer. See https://gitlab.nuiton.org/chorem/jtimer.git commit 827cbd6357f376b5141f0c61f301c709cd2d0f58 Author: Eric Chatellier <chatellier@codelutin.com> Date: Thu May 31 16:48:28 2018 +0200 refs #142: Retrait des Node object --- src/main/java/org/chorem/jtimer/JTimer.java | 1 - .../java/org/chorem/jtimer/data/TimerCore.java | 7 --- .../org/chorem/jtimer/data/TimerDataManager.java | 12 ++-- src/main/java/org/chorem/jtimer/db/DbManager.java | 61 +++++++------------ .../java/org/chorem/jtimer/db/NodeAndCount.java | 55 ----------------- .../java/org/chorem/jtimer/entities/TimerTask.java | 28 +++++++++ .../org/chorem/jtimer/system/win32/User32.java | 2 +- src/main/java/org/chorem/jtimer/ui/StatusBar.java | 2 - .../chorem/jtimer/ui/tasks/RefreshTreeTask.java | 1 - .../jtimer/ui/tree/CheckBoxTreeCellEditor.java | 1 - .../ui/treetable/ProjectsAndTasksCellRenderer.java | 5 +- .../jtimer/ui/treetable/ProjectsAndTasksModel.java | 33 +++++----- .../java/org/chorem/jtimer/AbstractJTimerTest.java | 47 +++++++------- .../org/chorem/jtimer/data/CommonVetoableTest.java | 11 ++-- .../chorem/jtimer/data/TimerDataManagerTest.java | 71 +++++++++++----------- 15 files changed, 135 insertions(+), 202 deletions(-) diff --git a/src/main/java/org/chorem/jtimer/JTimer.java b/src/main/java/org/chorem/jtimer/JTimer.java index f9a3e31..cf818aa 100644 --- a/src/main/java/org/chorem/jtimer/JTimer.java +++ b/src/main/java/org/chorem/jtimer/JTimer.java @@ -23,7 +23,6 @@ package org.chorem.jtimer; import org.apache.commons.io.FileUtils; -import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; diff --git a/src/main/java/org/chorem/jtimer/data/TimerCore.java b/src/main/java/org/chorem/jtimer/data/TimerCore.java index 0b02efb..985536b 100644 --- a/src/main/java/org/chorem/jtimer/data/TimerCore.java +++ b/src/main/java/org/chorem/jtimer/data/TimerCore.java @@ -26,21 +26,14 @@ import org.apache.commons.io.FileUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.chorem.jtimer.JTimer; -import org.chorem.jtimer.JTimerFactory; import org.chorem.jtimer.db.Database; import org.chorem.jtimer.db.DbDataMigration; import org.chorem.jtimer.db.DbManager; import org.chorem.jtimer.db.DbMigration; -import org.chorem.jtimer.entities.TimerProject; -import org.chorem.jtimer.io.DataLockingException; import org.chorem.jtimer.io.Saver; import java.io.File; import java.io.IOException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.List; /** * TimerCore diff --git a/src/main/java/org/chorem/jtimer/data/TimerDataManager.java b/src/main/java/org/chorem/jtimer/data/TimerDataManager.java index 4b3d30d..e73affb 100644 --- a/src/main/java/org/chorem/jtimer/data/TimerDataManager.java +++ b/src/main/java/org/chorem/jtimer/data/TimerDataManager.java @@ -27,7 +27,6 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.chorem.jtimer.JTimer; import org.chorem.jtimer.db.DbManager; -import org.chorem.jtimer.db.NodeAndCount; import org.chorem.jtimer.entities.TimerProject; import org.chorem.jtimer.entities.TimerTask; @@ -220,12 +219,12 @@ public class TimerDataManager { * * @return list of projects */ - public List<NodeAndCount> getProjectsList() { - return dbManager.getProjectsAndSubTaskCount(); + public List<TimerTask> getProjectsList() { + return dbManager.getTaskAndMeta(); } - public List<NodeAndCount> getSubTasks(TimerTask parent) { - return dbManager.getTasksAndSubTaskCount(parent); + public List<TimerTask> getSubTasks(TimerTask parent) { + return dbManager.getTaskAndMeta(parent); } /** @@ -378,8 +377,7 @@ public class TimerDataManager { * @deprecated since 1.5.1 this is duplicated with modifyProject */ @Deprecated - public void editProject(TimerProject project, - String newProjectName) { + public void editProject(TimerProject project, String newProjectName) { // fire vetoable event TimerProject newProject = project.clone(); diff --git a/src/main/java/org/chorem/jtimer/db/DbManager.java b/src/main/java/org/chorem/jtimer/db/DbManager.java index d5ee9e6..4190e16 100644 --- a/src/main/java/org/chorem/jtimer/db/DbManager.java +++ b/src/main/java/org/chorem/jtimer/db/DbManager.java @@ -27,23 +27,19 @@ import org.chorem.jtimer.JTimerUtils; import org.chorem.jtimer.entities.TimerProject; import org.chorem.jtimer.entities.TimerTask; -import java.awt.image.DataBufferUShort; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; -import java.sql.Timestamp; +import java.sql.Types; import java.time.LocalDate; import java.time.LocalDateTime; -import java.util.ArrayDeque; import java.util.ArrayList; -import java.util.Collection; import java.util.Date; import java.util.List; import java.util.Map; import java.util.Optional; -import java.util.TreeMap; import java.util.UUID; public class DbManager { @@ -73,22 +69,33 @@ public class DbManager { return taskCount; } - public List<NodeAndCount> getProjectsAndSubTaskCount() { + public List<TimerTask> getTaskAndMeta() { + return getTaskAndMeta(null); + } + + public List<TimerTask> getTaskAndMeta(TimerTask parent) { log.info("Compute tree of : null"); long before = System.currentTimeMillis(); - List<NodeAndCount> tasks = new ArrayList<>(); + List<TimerTask> tasks = new ArrayList<>(); Connection conn = db.getConnection(); try { - try (PreparedStatement st = conn.prepareStatement("SELECT id, name, created, " + + String sql = "SELECT id, name, created, " + " SELECT count(*) FROM task t2 where t2.parent = t1.id as subtasks" + - " from task t1 WHERE parent is null and t1.closed = false order by t1.name;")) { + " from task t1 WHERE " + + (parent == null ? "parent is null " : "parent = ?") + + "and t1.closed = false order by t1.name;"; + try (PreparedStatement st = conn.prepareStatement(sql)) { + if (parent != null) { + st.setObject(1, parent.getUuid()); + } ResultSet resultSet = st.executeQuery(); while (resultSet.next()) { - TimerProject task = new TimerProject(); + TimerTask task = parent == null ? new TimerProject() : new TimerTask(); task.setUuid((UUID) resultSet.getObject(1)); task.setName(resultSet.getString(2)); task.setCreationDate(JTimerUtils.toDate(resultSet.getObject(3, LocalDateTime.class))); - tasks.add(new NodeAndCount(task, resultSet.getLong("subtasks"))); + task.setSubTasksCount(resultSet.getLong("subtasks")); + tasks.add(task); } } @@ -110,10 +117,10 @@ public class DbManager { "from task t " + "where t.id = ? ")) { - for (NodeAndCount task : tasks) { - st.setObject(1, task.getTimerTask().getUuid()); + for (TimerTask task : tasks) { + st.setObject(1, task.getUuid()); st.setObject(2, LocalDate.now()); - st.setObject(3, task.getTimerTask().getUuid()); + st.setObject(3, task.getUuid()); ResultSet resultSet = st.executeQuery(); if (resultSet.next()) { long today = resultSet.getLong("today"); @@ -136,32 +143,6 @@ public class DbManager { return tasks; } - public List<NodeAndCount> getTasksAndSubTaskCount(TimerTask parent) { - log.info("Compute tree of : " + parent.getName()); - List<NodeAndCount> tasks = new ArrayList<>(); - Connection conn = db.getConnection(); - try (PreparedStatement st = conn.prepareStatement("SELECT id, name, created, " + - " SELECT count(*) FROM task t2 where t2.parent = t1.id as subtasks" + - " from task t1 WHERE parent = ?;")) { - st.setObject(1, parent.getUuid()); - ResultSet resultSet = st.executeQuery(); - while (resultSet.next()) { - TimerTask task = new TimerTask(); - task.setUuid((UUID)resultSet.getObject(1)); - task.setName(resultSet.getString(2)); - task.setCreationDate(JTimerUtils.toDate(resultSet.getObject(3, LocalDateTime.class))); - tasks.add(new NodeAndCount(task, resultSet.getLong("subtasks"))); - } - } catch(SQLException ex) { - DbUtils.rollback(conn); - throw new DbException(ex); - } finally { - DbUtils.close(conn); - } - - return tasks; - } - public void createTask(TimerTask timerTask) { Connection conn = db.getConnection(); try (PreparedStatement st = conn.prepareStatement("INSERT INTO task(id, name, created, closed, parent) values(?, ?, ?, ?, ?)")) { diff --git a/src/main/java/org/chorem/jtimer/db/NodeAndCount.java b/src/main/java/org/chorem/jtimer/db/NodeAndCount.java deleted file mode 100644 index 8b4a94f..0000000 --- a/src/main/java/org/chorem/jtimer/db/NodeAndCount.java +++ /dev/null @@ -1,55 +0,0 @@ -package org.chorem.jtimer.db; - -import org.chorem.jtimer.entities.TimerTask; - -public class NodeAndCount { - - protected TimerTask timerTask; - - protected long count; - - protected long todayTime; - - protected long totalTime; - - public NodeAndCount() { - - } - - public NodeAndCount(TimerTask timerTask, long count) { - this.timerTask = timerTask; - this.count = count; - } - - public TimerTask getTimerTask() { - return timerTask; - } - - public void setTimerTask(TimerTask timerTask) { - this.timerTask = timerTask; - } - - public long getCount() { - return count; - } - - public void setCount(long count) { - this.count = count; - } - - public long getTodayTime() { - return todayTime; - } - - public void setTodayTime(long todayTime) { - this.todayTime = todayTime; - } - - public long getTotalTime() { - return totalTime; - } - - public void setTotalTime(long totalTime) { - this.totalTime = totalTime; - } -} diff --git a/src/main/java/org/chorem/jtimer/entities/TimerTask.java b/src/main/java/org/chorem/jtimer/entities/TimerTask.java index 51d6781..d2f53d4 100644 --- a/src/main/java/org/chorem/jtimer/entities/TimerTask.java +++ b/src/main/java/org/chorem/jtimer/entities/TimerTask.java @@ -87,6 +87,10 @@ public class TimerTask implements Cloneable, Comparable<TimerTask>, Serializable */ protected List<TimerAlert> alerts; + protected transient long subTasksCount; + protected transient long todayTime; + protected transient long totalTime; + /** * Constructor. */ @@ -387,4 +391,28 @@ public class TimerTask implements Cloneable, Comparable<TimerTask>, Serializable return result; } + + public long getSubTasksCount() { + return subTasksCount; + } + + public void setSubTasksCount(long subTasksCount) { + this.subTasksCount = subTasksCount; + } + + public long getTodayTime() { + return todayTime; + } + + public void setTodayTime(long todayTime) { + this.todayTime = todayTime; + } + + public long getTotalTime() { + return totalTime; + } + + public void setTotalTime(long totalTime) { + this.totalTime = totalTime; + } } diff --git a/src/main/java/org/chorem/jtimer/system/win32/User32.java b/src/main/java/org/chorem/jtimer/system/win32/User32.java index e9f7380..5bcffc9 100644 --- a/src/main/java/org/chorem/jtimer/system/win32/User32.java +++ b/src/main/java/org/chorem/jtimer/system/win32/User32.java @@ -53,7 +53,7 @@ public interface User32 extends StdCallLibrary { class LASTINPUTINFO extends Structure { public int cbSize = 8; - // / Tick count of when the last input event was received. + // / Tick subTasksCount of when the last input event was received. public int dwTime; @Override diff --git a/src/main/java/org/chorem/jtimer/ui/StatusBar.java b/src/main/java/org/chorem/jtimer/ui/StatusBar.java index 404e005..86cdda2 100644 --- a/src/main/java/org/chorem/jtimer/ui/StatusBar.java +++ b/src/main/java/org/chorem/jtimer/ui/StatusBar.java @@ -22,12 +22,10 @@ package org.chorem.jtimer.ui; -import org.apache.commons.lang3.time.DurationFormatUtils; import org.chorem.jtimer.data.DataEventListener; import org.chorem.jtimer.data.TimerDataManager; import org.chorem.jtimer.entities.TimerProject; import org.chorem.jtimer.entities.TimerTask; -import org.chorem.jtimer.entities.TimerTaskHelper; import org.jdesktop.application.Application; import org.jdesktop.application.ApplicationContext; import org.jdesktop.application.ResourceManager; diff --git a/src/main/java/org/chorem/jtimer/ui/tasks/RefreshTreeTask.java b/src/main/java/org/chorem/jtimer/ui/tasks/RefreshTreeTask.java index 5a88949..2e4f49b 100644 --- a/src/main/java/org/chorem/jtimer/ui/tasks/RefreshTreeTask.java +++ b/src/main/java/org/chorem/jtimer/ui/tasks/RefreshTreeTask.java @@ -26,7 +26,6 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.chorem.jtimer.data.TimerCore; import org.chorem.jtimer.data.TimerDataManager; -import org.chorem.jtimer.entities.TimerProject; import org.chorem.jtimer.entities.TimerTask; import java.util.Date; diff --git a/src/main/java/org/chorem/jtimer/ui/tree/CheckBoxTreeCellEditor.java b/src/main/java/org/chorem/jtimer/ui/tree/CheckBoxTreeCellEditor.java index 953be1d..4c7cb72 100644 --- a/src/main/java/org/chorem/jtimer/ui/tree/CheckBoxTreeCellEditor.java +++ b/src/main/java/org/chorem/jtimer/ui/tree/CheckBoxTreeCellEditor.java @@ -25,7 +25,6 @@ package org.chorem.jtimer.ui.tree; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.chorem.jtimer.data.TimerCore; -import org.chorem.jtimer.entities.TimerProject; import org.chorem.jtimer.entities.TimerTask; import javax.swing.JCheckBox; diff --git a/src/main/java/org/chorem/jtimer/ui/treetable/ProjectsAndTasksCellRenderer.java b/src/main/java/org/chorem/jtimer/ui/treetable/ProjectsAndTasksCellRenderer.java index 58a2e30..583e34a 100644 --- a/src/main/java/org/chorem/jtimer/ui/treetable/ProjectsAndTasksCellRenderer.java +++ b/src/main/java/org/chorem/jtimer/ui/treetable/ProjectsAndTasksCellRenderer.java @@ -22,7 +22,6 @@ package org.chorem.jtimer.ui.treetable; -import org.chorem.jtimer.db.NodeAndCount; import org.chorem.jtimer.entities.TimerTask; import javax.swing.JTree; @@ -51,8 +50,8 @@ public class ProjectsAndTasksCellRenderer extends DefaultTreeCellRenderer { Object localValue = value; // if this is a task - if (value instanceof NodeAndCount) { - TimerTask task = ((NodeAndCount) value).getTimerTask(); + if (value instanceof TimerTask) { + TimerTask task = (TimerTask) value; // task name should not be "null" localValue = task.getName(); diff --git a/src/main/java/org/chorem/jtimer/ui/treetable/ProjectsAndTasksModel.java b/src/main/java/org/chorem/jtimer/ui/treetable/ProjectsAndTasksModel.java index 8cd5dd6..c4edbef 100644 --- a/src/main/java/org/chorem/jtimer/ui/treetable/ProjectsAndTasksModel.java +++ b/src/main/java/org/chorem/jtimer/ui/treetable/ProjectsAndTasksModel.java @@ -28,16 +28,13 @@ import org.apache.commons.logging.LogFactory; import org.chorem.jtimer.data.DataEventListener; import org.chorem.jtimer.data.TimerCore; import org.chorem.jtimer.data.TimerDataManager; -import org.chorem.jtimer.db.NodeAndCount; import org.chorem.jtimer.entities.TimerProject; import org.chorem.jtimer.entities.TimerTask; -import org.chorem.jtimer.entities.TimerTaskHelper; import org.jdesktop.swingx.treetable.AbstractTreeTableModel; import javax.swing.SwingUtilities; import javax.swing.table.TableColumn; import javax.swing.tree.TreePath; -import javax.xml.soap.Node; import java.util.ArrayList; import java.util.Collection; import java.util.Date; @@ -92,7 +89,7 @@ public class ProjectsAndTasksModel extends AbstractTreeTableModel implements protected List<String> columnIdentifiers; protected Map<TimerTask, String> taskNameCache; - protected Map<Object, List<NodeAndCount>> subTasksCache; + protected Map<Object, List<TimerTask>> subTasksCache; /** * Constructor. @@ -130,19 +127,19 @@ public class ProjectsAndTasksModel extends AbstractTreeTableModel implements // default value, but normally never visible String value = "n/a"; - if (object instanceof NodeAndCount) { - NodeAndCount nodeAndCount = (NodeAndCount)object; + if (object instanceof TimerTask) { + TimerTask timerTask = (TimerTask)object; switch (column) { case 0: - value = nodeAndCount.getTimerTask().getName(); + value = timerTask.getName(); break; case 1: - long duration = nodeAndCount.getTodayTime(); + long duration = timerTask.getTodayTime(); value = DurationFormatUtils.formatDuration(duration, "HH:mm:ss"); break; case 2: - long totalDuration = nodeAndCount.getTotalTime(); + long totalDuration = timerTask.getTotalTime(); value = DurationFormatUtils.formatDuration(totalDuration, "HH:mm:ss"); break; } @@ -166,7 +163,7 @@ public class ProjectsAndTasksModel extends AbstractTreeTableModel implements @Override public Object getChild(Object parent, int index) { - NodeAndCount t = getFiteredSubListFor(parent).get(index); + TimerTask t = getFiteredSubListFor(parent).get(index); return t; } @@ -177,7 +174,7 @@ public class ProjectsAndTasksModel extends AbstractTreeTableModel implements if (parent == root) { childCount = getFiteredSubListFor(parent).size(); } else { - childCount = (int)((NodeAndCount)parent).getCount(); + childCount = (int)((TimerTask)parent).getSubTasksCount(); } return childCount; } @@ -189,7 +186,7 @@ public class ProjectsAndTasksModel extends AbstractTreeTableModel implements * @param parent parent to task sublist * @return filtered list */ - protected List<NodeAndCount> getFiteredSubListFor(Object parent) { + protected List<TimerTask> getFiteredSubListFor(Object parent) { return getFiteredSubListFor(parent, false); } @@ -201,18 +198,18 @@ public class ProjectsAndTasksModel extends AbstractTreeTableModel implements * @param noCache disable use of cached result and result caching * @return filtered list */ - protected List<NodeAndCount> getFiteredSubListFor(Object parent, boolean noCache) { + protected List<TimerTask> getFiteredSubListFor(Object parent, boolean noCache) { - List<NodeAndCount> result = subTasksCache.get(parent); + List<TimerTask> result = subTasksCache.get(parent); if (result == null || noCache) { result = new ArrayList<>(); // get correct list if (parent == root) { // case root node - List<NodeAndCount> projects = dataManager.getProjectsList(); + List<TimerTask> projects = dataManager.getProjectsList(); result.addAll(projects); } else { // not root node - List<NodeAndCount> tasks = dataManager.getSubTasks(((NodeAndCount)parent).getTimerTask()); + List<TimerTask> tasks = dataManager.getSubTasks((TimerTask)parent); result.addAll(tasks); } @@ -271,10 +268,10 @@ public class ProjectsAndTasksModel extends AbstractTreeTableModel implements boolean updated = false; // get childreen without cache in case of add operation // delete operation MUST use cached result - List<NodeAndCount> subTask = getFiteredSubListFor(pathLastComponent, operation == OPERATION_ADD); + List<TimerTask> subTask = getFiteredSubListFor(pathLastComponent, operation == OPERATION_ADD); int childCount = subTask.size(); for (int childIndex = 0; !updated && childIndex < childCount; ++childIndex) { - TimerTask taskUO = subTask.get(childIndex).getTimerTask(); + TimerTask taskUO = subTask.get(childIndex); if (task.equals(taskUO)) { diff --git a/src/test/java/org/chorem/jtimer/AbstractJTimerTest.java b/src/test/java/org/chorem/jtimer/AbstractJTimerTest.java index 23b8a2f..15df5b0 100644 --- a/src/test/java/org/chorem/jtimer/AbstractJTimerTest.java +++ b/src/test/java/org/chorem/jtimer/AbstractJTimerTest.java @@ -26,7 +26,6 @@ import org.apache.commons.io.FileUtils; import org.apache.commons.io.filefilter.HiddenFileFilter; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.chorem.jtimer.db.NodeAndCount; import org.chorem.jtimer.entities.TimerProject; import org.chorem.jtimer.entities.TimerTask; import org.chorem.jtimer.io.Saver; @@ -216,15 +215,15 @@ public abstract class AbstractJTimerTest { * @param path path to search * @return found task, or <tt>null</tt> if not found */ - public static TimerTask findTask(List<NodeAndCount> tasks, String path) { + public static TimerTask findTask(List<TimerTask> tasks, String path) { String[] paths = path.split("/"); String current = paths[0]; TimerTask foundTask = null; - for (NodeAndCount subtaskAndCount : tasks) { - if (subtaskAndCount.getTimerTask().getName().equals(current)) { - foundTask = subtaskAndCount.getTimerTask(); + for (TimerTask subtaskAndCount : tasks) { + if (subtaskAndCount.getName().equals(current)) { + foundTask = subtaskAndCount; } } @@ -245,12 +244,12 @@ public abstract class AbstractJTimerTest { * @param path path to search * @return found project, or <tt>null</tt> if not found */ - public static TimerProject findProject(List<NodeAndCount> projects, String path) { + public static TimerTask findProject(List<TimerTask> projects, String path) { TimerProject foundProject = null; - for (NodeAndCount projectAndCount : projects) { - if (projectAndCount.getTimerTask().getName().equals(path)) { - foundProject = (TimerProject)projectAndCount.getTimerTask(); + for (TimerTask projectAndCount : projects) { + if (projectAndCount.getName().equals(path)) { + foundProject = (TimerProject)projectAndCount; } } @@ -258,20 +257,20 @@ public abstract class AbstractJTimerTest { } /** - * Get projects count. + * Get projects subTasksCount. * * @param projects projects collection - * @return project count + * @return project subTasksCount */ protected static int getProjectsCount(Collection<TimerProject> projects) { return projects.size(); } /** - * Get task count. + * Get task subTasksCount. * * @param projects projects collection - * @return task count + * @return task subTasksCount */ protected static int getTasksCount(Collection<TimerProject> projects) { int tasksCount = 0; @@ -283,26 +282,26 @@ public abstract class AbstractJTimerTest { } /** - * Get task count. + * Get task subTasksCount. * * @param tasks tasks collection - * @return task count + * @return task subTasksCount */ protected static int getRecursiveTasksCount(Collection<TimerTask> tasks) { int tasksCount = 0; for (TimerTask task : tasks) { - tasksCount++; // count me + tasksCount++; // subTasksCount me tasksCount += getRecursiveTasksCount(task.getSubTasks()); } return tasksCount; } /** - * Get annotations count. + * Get annotations subTasksCount. * * @param projects projects collection - * @return annotations count + * @return annotations subTasksCount */ protected static int getAnnotationsCount(Collection<TimerProject> projects) { int annotationsCount = 0; @@ -314,10 +313,10 @@ public abstract class AbstractJTimerTest { } /** - * Get annotations count. + * Get annotations subTasksCount. * * @param tasks tasks collection - * @return annotations count + * @return annotations subTasksCount */ protected static int getRecursiveAnnotationsCount(Collection<TimerTask> tasks) { int annotationsCount = 0; @@ -330,10 +329,10 @@ public abstract class AbstractJTimerTest { } /** - * Get alert count. + * Get alert subTasksCount. * * @param projects projects collection - * @return annotations count + * @return annotations subTasksCount */ protected static int getAlertsCount(Collection<TimerProject> projects) { int annotationsCount = 0; @@ -345,10 +344,10 @@ public abstract class AbstractJTimerTest { } /** - * Get alert count. + * Get alert subTasksCount. * * @param tasks tasks collection - * @return annotations count + * @return annotations subTasksCount */ protected static int getRecursiveAlertsCount(Collection<TimerTask> tasks) { int annotationsCount = 0; diff --git a/src/test/java/org/chorem/jtimer/data/CommonVetoableTest.java b/src/test/java/org/chorem/jtimer/data/CommonVetoableTest.java index 6bce1f1..10069b7 100644 --- a/src/test/java/org/chorem/jtimer/data/CommonVetoableTest.java +++ b/src/test/java/org/chorem/jtimer/data/CommonVetoableTest.java @@ -23,7 +23,6 @@ package org.chorem.jtimer.data; import org.chorem.jtimer.AbstractJTimerTest; -import org.chorem.jtimer.db.NodeAndCount; import org.chorem.jtimer.entities.TimerProject; import org.chorem.jtimer.entities.TimerTask; import org.testng.Assert; @@ -79,7 +78,7 @@ public class CommonVetoableTest extends AbstractJTimerTest { //core.init(); core.load(); - List<NodeAndCount> projectsBefore = dataManager.getProjectsList(); + List<TimerTask> projectsBefore = dataManager.getProjectsList(); TimerTask task1 = findTask(projectsBefore, "IsisFish/UserInterface"); // add a new task @@ -101,7 +100,7 @@ public class CommonVetoableTest extends AbstractJTimerTest { //core.init(); core.load(); - List<NodeAndCount> projectsBefore = dataManager.getProjectsList(); + List<TimerTask> projectsBefore = dataManager.getProjectsList(); TimerTask task1 = findProject(projectsBefore, "Topia"); TimerTask task2 = findTask(projectsBefore, "jTimer/Add workspace support"); @@ -125,7 +124,7 @@ public class CommonVetoableTest extends AbstractJTimerTest { //core.init(); core.load(); - List<NodeAndCount> projectsBefore = dataManager.getProjectsList(); + List<TimerTask> projectsBefore = dataManager.getProjectsList(); TimerTask task1 = findTask(projectsBefore, "Chorem/Add webservice"); TimerTask task2 = findTask(projectsBefore, "jTimer"); @@ -153,7 +152,7 @@ public class CommonVetoableTest extends AbstractJTimerTest { //core.init(); core.load(); - List<NodeAndCount> projectsBefore = dataManager.getProjectsList(); + List<TimerTask> projectsBefore = dataManager.getProjectsList(); TimerTask task1 = findTask(projectsBefore, "jTimer/Add workspace support"); TimerTask task2 = findTask(projectsBefore, "jTimer/Interact with chorem services"); TimerTask task3 = findTask(projectsBefore, "jTimer/Refactoring"); @@ -186,7 +185,7 @@ public class CommonVetoableTest extends AbstractJTimerTest { //core.init(); core.load(); - List<NodeAndCount> projectsBefore = dataManager.getProjectsList(); + List<TimerTask> projectsBefore = dataManager.getProjectsList(); TimerTask task1 = findTask(projectsBefore, "Chorem"); TimerTask task2 = findTask(projectsBefore, "jTimer/Unit tests/UI tests"); diff --git a/src/test/java/org/chorem/jtimer/data/TimerDataManagerTest.java b/src/test/java/org/chorem/jtimer/data/TimerDataManagerTest.java index ce2d96b..f308738 100644 --- a/src/test/java/org/chorem/jtimer/data/TimerDataManagerTest.java +++ b/src/test/java/org/chorem/jtimer/data/TimerDataManagerTest.java @@ -23,7 +23,6 @@ package org.chorem.jtimer.data; import org.chorem.jtimer.AbstractJTimerTest; -import org.chorem.jtimer.db.NodeAndCount; import org.chorem.jtimer.entities.TimerAlert; import org.chorem.jtimer.entities.TimerAlert.Type; import org.chorem.jtimer.entities.TimerProject; @@ -62,8 +61,8 @@ public class TimerDataManagerTest extends AbstractJTimerTest { //core.init(); core.load(); - List<NodeAndCount> projectsBefore = dataManager.getProjectsList(); - TimerProject project1 = findProject(projectsBefore, "Test project"); + List<TimerTask> projectsBefore = dataManager.getProjectsList(); + TimerTask project1 = findProject(projectsBefore, "Test project"); Assert.assertNull(project1); Assert.assertEquals(projectsBefore.size(), 6); @@ -78,8 +77,8 @@ public class TimerDataManagerTest extends AbstractJTimerTest { // and test reloaded data //core.init(); core.load(); - List<NodeAndCount> projectsAfter = dataManager.getProjectsList(); - TimerProject project1a = findProject(projectsAfter, "Test project"); + List<TimerTask> projectsAfter = dataManager.getProjectsList(); + TimerTask project1a = findProject(projectsAfter, "Test project"); Assert.assertNotNull(project1a); Assert.assertEquals(projectsBefore.size(), 7); @@ -97,23 +96,23 @@ public class TimerDataManagerTest extends AbstractJTimerTest { //core.init(); core.load(); - List<NodeAndCount> projectsBefore = dataManager.getProjectsList(); - TimerProject project1 = findProject(projectsBefore, "jTimer"); + List<TimerTask> projectsBefore = dataManager.getProjectsList(); + TimerTask project1 = findProject(projectsBefore, "jTimer"); Assert.assertNotNull(project1); Assert.assertEquals(project1.getSubTasks().size(), 4); // edit project - dataManager.editProject(project1, "Edit Name"); + dataManager.editProject((TimerProject)project1, "Edit Name"); core.exit(); // second reload // and test reloaded data //core.init(); core.load(); - List<NodeAndCount> projectsAfter = dataManager.getProjectsList(); + List<TimerTask> projectsAfter = dataManager.getProjectsList(); - TimerProject project1a = findProject(projectsBefore, "Edit Name"); + TimerTask project1a = findProject(projectsBefore, "Edit Name"); Assert.assertNull(findProject(projectsAfter, "jTimer")); Assert.assertNotNull(project1a); Assert.assertEquals(project1a.getSubTasks().size(), 4); @@ -131,21 +130,21 @@ public class TimerDataManagerTest extends AbstractJTimerTest { //core.init(); core.load(); - List<NodeAndCount> projectsBefore = dataManager.getProjectsList(); - TimerProject project1 = findProject(projectsBefore, "jTimer"); + List<TimerTask> projectsBefore = dataManager.getProjectsList(); + TimerTask project1 = findProject(projectsBefore, "jTimer"); Assert.assertNotNull(project1); Assert.assertEquals(projectsBefore.size(), 6); // delete project - dataManager.deleteProject(project1); + dataManager.deleteProject((TimerProject)project1); core.exit(); // second reload // and test reloaded data //core.init(); core.load(); - List<NodeAndCount> projectsAfter = dataManager.getProjectsList(); + List<TimerTask> projectsAfter = dataManager.getProjectsList(); Assert.assertNull(findProject(projectsAfter, "jTimer")); Assert.assertEquals(projectsAfter.size(), 5); @@ -164,7 +163,7 @@ public class TimerDataManagerTest extends AbstractJTimerTest { //core.init(); core.load(); - List<NodeAndCount> projectsBefore = dataManager.getProjectsList(); + List<TimerTask> projectsBefore = dataManager.getProjectsList(); TimerTask task1 = findTask(projectsBefore, "IsisFish/UserInterface"); Assert.assertNotNull(task1); @@ -180,7 +179,7 @@ public class TimerDataManagerTest extends AbstractJTimerTest { // and test reloaded data //core.init(); core.load(); - List<NodeAndCount> projectsAfter = dataManager.getProjectsList(); + List<TimerTask> projectsAfter = dataManager.getProjectsList(); TimerTask task1a = findTask(projectsAfter, "IsisFish/UserInterface"); TimerTask task2a = findTask(projectsAfter, "IsisFish/UserInterface/new task"); @@ -202,7 +201,7 @@ public class TimerDataManagerTest extends AbstractJTimerTest { //core.init(); core.load(); - List<NodeAndCount> projectsBefore = dataManager.getProjectsList(); + List<TimerTask> projectsBefore = dataManager.getProjectsList(); TimerTask task1 = findTask(projectsBefore, "IsisFish/UserInterface"); Assert.assertNotNull(task1); @@ -216,7 +215,7 @@ public class TimerDataManagerTest extends AbstractJTimerTest { // and test reloaded data //core.init(); core.load(); - List<NodeAndCount> projectsAfter = dataManager.getProjectsList(); + List<TimerTask> projectsAfter = dataManager.getProjectsList(); TimerTask task1a = findTask(projectsAfter, "IsisFish/UI"); TimerTask task2a = findTask(projectsAfter, "IsisFish/UI/Debug"); @@ -238,8 +237,8 @@ public class TimerDataManagerTest extends AbstractJTimerTest { //core.init(); core.load(); - List<NodeAndCount> projectsBefore = dataManager.getProjectsList(); - TimerProject project1 = findProject(projectsBefore, "IsisFish"); + List<TimerTask> projectsBefore = dataManager.getProjectsList(); + TimerTask project1 = findProject(projectsBefore, "IsisFish"); TimerTask task1 = findTask(projectsBefore, "IsisFish/UserInterface"); Assert.assertNotNull(project1); @@ -254,8 +253,8 @@ public class TimerDataManagerTest extends AbstractJTimerTest { // and test reloaded data //core.init(); core.load(); - List<NodeAndCount> projectsAfter = dataManager.getProjectsList(); - TimerProject project1a = findProject(projectsAfter, "IsisFish"); + List<TimerTask> projectsAfter = dataManager.getProjectsList(); + TimerTask project1a = findProject(projectsAfter, "IsisFish"); TimerTask task1a = findTask(projectsAfter, "IsisFish/UserInterface"); Assert.assertNotNull(project1a); @@ -276,7 +275,7 @@ public class TimerDataManagerTest extends AbstractJTimerTest { //core.init(); core.load(); - List<NodeAndCount> projectsBefore = dataManager.getProjectsList(); + List<TimerTask> projectsBefore = dataManager.getProjectsList(); TimerTask task1 = findTask(projectsBefore, "Topia"); TimerTask task2 = findTask(projectsBefore, "jTimer/Add workspace support"); TimerTask task3 = findTask(projectsBefore, "Topia/Add workspace support"); @@ -293,7 +292,7 @@ public class TimerDataManagerTest extends AbstractJTimerTest { // and test reloaded data //core.init(); core.load(); - List<NodeAndCount> projectsAfter = dataManager.getProjectsList(); + List<TimerTask> projectsAfter = dataManager.getProjectsList(); TimerTask task1a = findTask(projectsAfter, "Topia"); TimerTask task2a = findTask(projectsAfter, "jTimer/Add workspace support"); TimerTask task3a = findTask(projectsAfter, "Topia/Add workspace support"); @@ -316,8 +315,8 @@ public class TimerDataManagerTest extends AbstractJTimerTest { //core.init(); core.load(); - List<NodeAndCount> projectsBefore = dataManager.getProjectsList(); - TimerProject project1 = findProject(projectsBefore, "Chorem"); + List<TimerTask> projectsBefore = dataManager.getProjectsList(); + TimerTask project1 = findProject(projectsBefore, "Chorem"); TimerTask task1 = findTask(projectsBefore, "jTimer/Add workspace support"); TimerTask task2 = findTask(projectsBefore, "jTimer/Interact with chorem services"); TimerTask task3 = findTask(projectsBefore, "jTimer/Refactoring"); @@ -343,12 +342,12 @@ public class TimerDataManagerTest extends AbstractJTimerTest { // and test reloaded data //core.init(); core.load(); - List<NodeAndCount> projectsAfter = dataManager.getProjectsList(); + List<TimerTask> projectsAfter = dataManager.getProjectsList(); TimerTask task1a = findTask(projectsAfter, "Chorem/Add workspace support"); TimerTask task2a = findTask(projectsAfter, "Chorem/Interact with chorem services"); TimerTask task3a = findTask(projectsAfter, "Chorem/Refactoring"); TimerTask task4a = findTask(projectsAfter, "Chorem/Unit tests"); - TimerProject project1a = findProject(projectsBefore, "jTimer"); + TimerTask project1a = findProject(projectsBefore, "jTimer"); Assert.assertNotNull(task1a); Assert.assertNotNull(task2a); @@ -409,7 +408,7 @@ public class TimerDataManagerTest extends AbstractJTimerTest { //core.init(); core.load(); - List<NodeAndCount> projectsBefore = dataManager.getProjectsList(); + List<TimerTask> projectsBefore = dataManager.getProjectsList(); TimerTask task1 = findTask(projectsBefore, "jTimer/Refactoring"); TimerTask task2 = findTask(projectsBefore, "jTimer/Unit tests/UI tests"); TimerTask task3 = findTask(projectsBefore, "jTimer/Unit tests"); @@ -432,7 +431,7 @@ public class TimerDataManagerTest extends AbstractJTimerTest { // and test reloaded data //core.init(); core.load(); - List<NodeAndCount> projectsAfter = dataManager.getProjectsList(); + List<TimerTask> projectsAfter = dataManager.getProjectsList(); TimerTask task1a = findTask(projectsAfter, "jTimer/Refactoring"); TimerTask task2a = findTask(projectsAfter, "jTimer/Unit tests/UI tests"); TimerTask task3a = findTask(projectsAfter, "jTimer/Unit tests"); @@ -459,7 +458,7 @@ public class TimerDataManagerTest extends AbstractJTimerTest { //core.init(); core.load(); - List<NodeAndCount> projectsBefore = dataManager.getProjectsList(); + List<TimerTask> projectsBefore = dataManager.getProjectsList(); TimerTask task1 = findTask(projectsBefore, "jTimer/Refactoring"); Assert.assertNotNull(task1); @@ -484,7 +483,7 @@ public class TimerDataManagerTest extends AbstractJTimerTest { // and test reloaded data //core.init(); core.load(); - List<NodeAndCount> projectsAfter = dataManager.getProjectsList(); + List<TimerTask> projectsAfter = dataManager.getProjectsList(); TimerTask task1a = findTask(projectsAfter, "jTimer/Refactoring"); TimerTask task2a = findTask(projectsAfter, "jTimer/Unit tests/UI tests"); @@ -511,7 +510,7 @@ public class TimerDataManagerTest extends AbstractJTimerTest { //core.init(); core.load(); - List<NodeAndCount> projectsBefore = dataManager.getProjectsList(); + List<TimerTask> projectsBefore = dataManager.getProjectsList(); TimerTask task1 = findTask(projectsBefore, "jTimer/Refactoring"); Assert.assertNotNull(task1); @@ -532,7 +531,7 @@ public class TimerDataManagerTest extends AbstractJTimerTest { // and test reloaded data //core.init(); core.load(); - List<NodeAndCount> projectsAfter = dataManager.getProjectsList(); + List<TimerTask> projectsAfter = dataManager.getProjectsList(); TimerTask task1a = findTask(projectsAfter, "jTimer/Refactoring"); Assert.assertNotNull(task1a); @@ -570,7 +569,7 @@ public class TimerDataManagerTest extends AbstractJTimerTest { //core.init(); core.load(); - List<NodeAndCount> projectsBefore = dataManager.getProjectsList(); + List<TimerTask> projectsBefore = dataManager.getProjectsList(); TimerTask task1 = findTask(projectsBefore, "IsisFish/Storage"); TimerTask task2 = findTask(projectsBefore, "IsisFish/Support"); TimerTask task3 = findTask(projectsBefore, "IsisFish/UserInterface"); @@ -593,7 +592,7 @@ public class TimerDataManagerTest extends AbstractJTimerTest { // and test reloaded data //core.init(); core.load(); - List<NodeAndCount> projectsAfter = dataManager.getProjectsList(); + List<TimerTask> projectsAfter = dataManager.getProjectsList(); TimerTask task1a = findTask(projectsAfter, "IsisFish/Storage"); TimerTask task2a = findTask(projectsAfter, "IsisFish/Support"); TimerTask task3a = findTask(projectsAfter, "IsisFish/UserInterface"); -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.