|
8 | 8 | import javax.persistence.Index; |
9 | 9 |
|
10 | 10 |
|
| 11 | +import lombok.Getter; |
| 12 | +import lombok.Setter; |
11 | 13 | import org.hibernate.annotations.OnDelete; |
12 | 14 | import org.hibernate.annotations.OnDeleteAction; |
13 | 15 | import org.hibernate.validator.constraints.Length; |
|
44 | 46 | @Index(name = "ix_task_title", columnList = "title") |
45 | 47 | } |
46 | 48 | ) |
| 49 | +@Getter |
| 50 | +@Setter |
47 | 51 | public class Task extends AuditModel implements Serializable, ComparableById<Task> { |
48 | 52 |
|
49 | 53 | private static final long serialVersionUID = 5247710652586269801L; |
@@ -152,6 +156,91 @@ public void switchToLastFocusType() { |
152 | 156 | this.lastTaskState = old; |
153 | 157 | } |
154 | 158 |
|
| 159 | + public void delete(){ |
| 160 | + this.lastTaskState = this.taskState; |
| 161 | + this.taskState = TaskState.TRASH; |
| 162 | + } |
| 163 | + |
| 164 | + public void undelete(){ |
| 165 | + if( this.taskState == TaskState.TRASH){ |
| 166 | + this.taskState = this.lastTaskState; |
| 167 | + this.lastTaskState = TaskState.TRASH; |
| 168 | + } |
| 169 | + } |
| 170 | + |
| 171 | + public void complete(){ |
| 172 | + this.lastTaskState = this.taskState; |
| 173 | + this.taskState = TaskState.COMPLETED; |
| 174 | + } |
| 175 | + |
| 176 | + public void incomplete(){ |
| 177 | + if( this.taskState == TaskState.COMPLETED){ |
| 178 | + this.taskState = this.lastTaskState; |
| 179 | + this.lastTaskState = TaskState.COMPLETED; |
| 180 | + } |
| 181 | + } |
| 182 | + |
| 183 | + public void setFocus(){ |
| 184 | + this.focus = true; |
| 185 | + } |
| 186 | + |
| 187 | + public void unsetFocus(){ |
| 188 | + this.focus = false; |
| 189 | + } |
| 190 | + |
| 191 | + private void pushTaskstate(TaskState newState){ |
| 192 | + this.taskState = this.lastTaskState; |
| 193 | + this.lastTaskState = newState; |
| 194 | + } |
| 195 | + |
| 196 | + //TODO: delete Due Date |
| 197 | + public void moveToInbox(){ |
| 198 | + pushTaskstate(TaskState.INBOX); |
| 199 | + } |
| 200 | + |
| 201 | + //TODO: Due Date = Date of Today |
| 202 | + public void moveToToday(){ |
| 203 | + pushTaskstate(TaskState.TODAY); |
| 204 | + } |
| 205 | + |
| 206 | + //TODO: delete Due Date |
| 207 | + public void moveToNext(){ |
| 208 | + pushTaskstate(TaskState.NEXT); |
| 209 | + } |
| 210 | + |
| 211 | + //TODO: delete Due Date |
| 212 | + public void moveToWaiting(){ |
| 213 | + pushTaskstate(TaskState.WAITING); |
| 214 | + } |
| 215 | + |
| 216 | + //TODO: Due Date = Date of Tomorrow |
| 217 | + public void moveToScheduled(){ |
| 218 | + pushTaskstate(TaskState.SCHEDULED); |
| 219 | + } |
| 220 | + |
| 221 | + //TODO: delete Due Date |
| 222 | + public void moveToSomeday(){ |
| 223 | + pushTaskstate(TaskState.SOMEDAY); |
| 224 | + } |
| 225 | + |
| 226 | + public void moveToFocus(){ |
| 227 | + this.focus = true; |
| 228 | + } |
| 229 | + |
| 230 | + public void moveToCompletedTasks(){ |
| 231 | + pushTaskstate(TaskState.COMPLETED); |
| 232 | + } |
| 233 | + |
| 234 | + public void moveToTrash(){ |
| 235 | + pushTaskstate(TaskState.TRASH); |
| 236 | + } |
| 237 | + |
| 238 | + public void emptyTrash(){ |
| 239 | + if(this.taskState == TaskState.TRASH){ |
| 240 | + pushTaskstate(TaskState.TRASH); |
| 241 | + } |
| 242 | + } |
| 243 | + |
155 | 244 | @Transient |
156 | 245 | public boolean hasSameContextAs(Task otherTask){ |
157 | 246 | return (this.getContext().equalsById( otherTask.getContext())); |
@@ -208,7 +297,7 @@ public void moveDownByProject(){ |
208 | 297 |
|
209 | 298 | @Transient |
210 | 299 | public boolean isInRootProject(){ |
211 | | - return (this.getProject() == null); |
| 300 | + return ((this.getProject() == null)) || (this.getProject().getId()==0L); |
212 | 301 | } |
213 | 302 |
|
214 | 303 | @Transient |
@@ -255,168 +344,4 @@ public boolean hasContext(Context context) { |
255 | 344 | return (this.getContext().getId().longValue() == context.getId().longValue()); |
256 | 345 | } |
257 | 346 |
|
258 | | - public void setOrderIdTaskState(Task destinationTask) { |
259 | | - this.orderIdTaskState = destinationTask.getOrderIdTaskState(); |
260 | | - } |
261 | | - |
262 | | - public void setOrderIdProject(Task otherTask) { |
263 | | - this.orderIdProject = otherTask.getOrderIdProject(); |
264 | | - } |
265 | | - |
266 | | - /** |
267 | | - * Sets also 'history back' for taskState |
268 | | - */ |
269 | | - public void setTaskState(TaskState taskState) { |
270 | | - this.lastTaskState = this.taskState; |
271 | | - this.taskState = taskState; |
272 | | - } |
273 | | - |
274 | | - |
275 | | - public Long getId() { |
276 | | - return id; |
277 | | - } |
278 | | - |
279 | | - public void setId(Long id) { |
280 | | - this.id = id; |
281 | | - } |
282 | | - |
283 | | - public Project getProject() { |
284 | | - return project; |
285 | | - } |
286 | | - |
287 | | - public void setProject(Project project) { |
288 | | - this.project = project; |
289 | | - } |
290 | | - |
291 | | - public String getTitle() { |
292 | | - return title; |
293 | | - } |
294 | | - |
295 | | - public void setTitle(String title) { |
296 | | - this.title = title; |
297 | | - } |
298 | | - |
299 | | - public String getText() { |
300 | | - return text; |
301 | | - } |
302 | | - |
303 | | - public void setText(String text) { |
304 | | - this.text = text; |
305 | | - } |
306 | | - |
307 | | - public TaskState getTaskState() { |
308 | | - return taskState; |
309 | | - } |
310 | | - |
311 | | - public Boolean getFocus() { |
312 | | - return focus; |
313 | | - } |
314 | | - |
315 | | - public void setFocus(Boolean focus) { |
316 | | - this.focus = focus; |
317 | | - } |
318 | | - |
319 | | - public Date getDueDate() { |
320 | | - return dueDate; |
321 | | - } |
322 | | - |
323 | | - public void setDueDate(Date dueDate) { |
324 | | - this.dueDate = dueDate; |
325 | | - } |
326 | | - |
327 | | - public TaskState getLastTaskState() { |
328 | | - return lastTaskState; |
329 | | - } |
330 | | - |
331 | | - public void setLastTaskState(TaskState lastTaskState) { |
332 | | - this.lastTaskState = lastTaskState; |
333 | | - } |
334 | | - |
335 | | - public TaskEnergy getTaskEnergy() { |
336 | | - return taskEnergy; |
337 | | - } |
338 | | - |
339 | | - public void setTaskEnergy(TaskEnergy taskEnergy) { |
340 | | - this.taskEnergy = taskEnergy; |
341 | | - } |
342 | | - |
343 | | - public TaskTime getTaskTime() { |
344 | | - return taskTime; |
345 | | - } |
346 | | - |
347 | | - public void setTaskTime(TaskTime taskTime) { |
348 | | - this.taskTime = taskTime; |
349 | | - } |
350 | | - |
351 | | - public Context getContext() { |
352 | | - return context; |
353 | | - } |
354 | | - |
355 | | - public void setContext(Context context) { |
356 | | - this.context = context; |
357 | | - } |
358 | | - |
359 | | - public long getOrderIdProject() { |
360 | | - return orderIdProject; |
361 | | - } |
362 | | - |
363 | | - public void setOrderIdProject(long orderIdProject) { |
364 | | - this.orderIdProject = orderIdProject; |
365 | | - } |
366 | | - |
367 | | - public long getOrderIdTaskState() { |
368 | | - return orderIdTaskState; |
369 | | - } |
370 | | - |
371 | | - public void setOrderIdTaskState(long orderIdTaskState) { |
372 | | - this.orderIdTaskState = orderIdTaskState; |
373 | | - } |
374 | | - |
375 | | - @Override |
376 | | - public boolean equals(Object o) { |
377 | | - if (this == o) return true; |
378 | | - if (!(o instanceof Task)) return false; |
379 | | - if (!super.equals(o)) return false; |
380 | | - Task task = (Task) o; |
381 | | - return getOrderIdProject() == task.getOrderIdProject() && |
382 | | - getOrderIdTaskState() == task.getOrderIdTaskState() && |
383 | | - Objects.equals(getId(), task.getId()) && |
384 | | - getProject().equals(task.getProject()) && |
385 | | - getContext().equals(task.getContext()) && |
386 | | - getTitle().equals(task.getTitle()) && |
387 | | - getText().equals(task.getText()) && |
388 | | - getFocus().equals(task.getFocus()) && |
389 | | - getTaskState() == task.getTaskState() && |
390 | | - getLastTaskState() == task.getLastTaskState() && |
391 | | - getTaskEnergy() == task.getTaskEnergy() && |
392 | | - getTaskTime() == task.getTaskTime() && |
393 | | - Objects.equals(getDueDate(), task.getDueDate()); |
394 | | - } |
395 | | - |
396 | | - @Override |
397 | | - public int hashCode() { |
398 | | - return Objects.hash(super.hashCode(), getId(), getProject(), getContext(), getTitle(), getText(), getFocus(), getTaskState(), getLastTaskState(), getTaskEnergy(), getTaskTime(), getDueDate(), getOrderIdProject(), getOrderIdTaskState()); |
399 | | - } |
400 | | - |
401 | | - @Override |
402 | | - public String toString() { |
403 | | - return "Task{" + |
404 | | - "id=" + id + |
405 | | - ", project=" + project + |
406 | | - ", context=" + context + |
407 | | - ", title='" + title + '\'' + |
408 | | - ", text='" + text + '\'' + |
409 | | - ", focus=" + focus + |
410 | | - ", taskState=" + taskState + |
411 | | - ", lastTaskState=" + lastTaskState + |
412 | | - ", taskEnergy=" + taskEnergy + |
413 | | - ", taskTime=" + taskTime + |
414 | | - ", dueDate=" + dueDate + |
415 | | - ", orderIdProject=" + orderIdProject + |
416 | | - ", orderIdTaskState=" + orderIdTaskState + |
417 | | - ", uuid='" + uuid + '\'' + |
418 | | - ", rowCreatedAt=" + rowCreatedAt + |
419 | | - ", rowUpdatedAt=" + rowUpdatedAt + |
420 | | - '}'; |
421 | | - } |
422 | 347 | } |
0 commit comments