@ -7,7 +7,7 @@ import static de.srsoftware.tools.jdbc.Query.*;
@@ -7,7 +7,7 @@ import static de.srsoftware.tools.jdbc.Query.*;
import static de.srsoftware.tools.jdbc.Query.SelectQuery.ALL ;
import static de.srsoftware.umbrella.core.Constants.* ;
import static de.srsoftware.umbrella.core.exceptions.UmbrellaException.databaseException ;
import static de.srsoftware.umbrella.core.model.Status.OPEN ;
import static de.srsoftware.umbrella.core.model.Status.* ;
import static de.srsoftware.umbrella.project.Constants.* ;
import static de.srsoftware.umbrella.task.Constants.* ;
import static java.lang.System.Logger.Level.* ;
@ -20,9 +20,7 @@ import de.srsoftware.umbrella.core.exceptions.UmbrellaException;
@@ -20,9 +20,7 @@ import de.srsoftware.umbrella.core.exceptions.UmbrellaException;
import de.srsoftware.umbrella.core.model.* ;
import java.sql.Connection ;
import java.sql.SQLException ;
import java.util.Collection ;
import java.util.HashMap ;
import java.util.Map ;
import java.util.* ;
public class SqliteDb extends BaseDb implements TaskDb {
@ -158,7 +156,7 @@ CREATE TABLE IF NOT EXISTS {0} (
@@ -158,7 +156,7 @@ CREATE TABLE IF NOT EXISTS {0} (
. where ( PROJECT_ID , equal ( projectId ) )
. where ( USER_ID , equal ( user . id ( ) ) )
. where ( PARENT_TASK_ID , isNull ( ) ) ;
if ( ! showClosed ) query . where ( STATUS , lessThan ( Status . COMPLETE . code ( ) ) ) ;
if ( ! showClosed ) query . where ( STATUS , lessThan ( COMPLETE . code ( ) ) ) ;
var rs = query . exec ( db ) ;
while ( rs . next ( ) ) {
var task = Task . of ( rs ) ;
@ -178,7 +176,7 @@ CREATE TABLE IF NOT EXISTS {0} (
@@ -178,7 +176,7 @@ CREATE TABLE IF NOT EXISTS {0} (
var query = select ( ALL ) . from ( TABLE_TASKS ) . leftJoin ( ID , TABLE_TASKS_USERS , TASK_ID )
. where ( PARENT_TASK_ID , equal ( parentTaskId ) )
. where ( USER_ID , equal ( user . id ( ) ) ) ;
if ( ! showClosed ) query . where ( STATUS , lessThan ( Status . COMPLETE . code ( ) ) ) ;
if ( ! showClosed ) query . where ( STATUS , lessThan ( COMPLETE . code ( ) ) ) ;
var rs = query . exec ( db ) ;
while ( rs . next ( ) ) {
var task = Task . of ( rs ) ;
@ -197,7 +195,7 @@ CREATE TABLE IF NOT EXISTS {0} (
@@ -197,7 +195,7 @@ CREATE TABLE IF NOT EXISTS {0} (
try {
var query = select ( ALL ) . from ( TABLE_TASKS ) . where ( PROJECT_ID , equal ( projectId ) ) ;
if ( parentTaskId ! = 0 ) query . where ( PARENT_TASK_ID , equal ( parentTaskId ) ) ;
if ( noIndex ) query . where ( NO_INDEX , equal ( false ) ) ;
if ( ! noIndex ) query . where ( NO_INDEX , notIn ( 1 ) ) ;
var tasks = new HashMap < Long , Task > ( ) ;
var rs = query . exec ( db ) ;
while ( rs . next ( ) ) {
@ -212,14 +210,13 @@ CREATE TABLE IF NOT EXISTS {0} (
@@ -212,14 +210,13 @@ CREATE TABLE IF NOT EXISTS {0} (
}
@Override
public HashMap < Long , Task > listUserTasks ( long userI d) {
public List < Task > listUserTasks ( long userId , Long limit , long offset , boolean showClose d) {
try {
var rs = select ( ALL ) . from ( TABLE_TASKS ) . leftJoin ( ID , TABLE_TASKS_USERS , TASK_ID ) . where ( USER_ID , equal ( userId ) ) . exec ( db ) ;
var map = new HashMap < Long , Task > ( ) ;
while ( rs . next ( ) ) {
var task = Task . of ( rs ) ;
map . put ( task . id ( ) , task ) ;
}
var query = select ( ALL ) . from ( TABLE_TASKS ) . leftJoin ( ID , TABLE_TASKS_USERS , TASK_ID ) . where ( USER_ID , equal ( userId ) ) ;
if ( ! showClosed ) query . where ( STATUS , lessThan ( COMPLETE . code ( ) ) ) ;
var rs = query . sort ( "(CASE due_date WHEN \"\" THEN '9999-99-99' ELSE IFNULL(due_date,'9999-99-99') END), status COLLATE NOCASE" ) . limit ( limit ) . skip ( offset ) . exec ( db ) ;
var map = new ArrayList < Task > ( ) ;
while ( rs . next ( ) ) map . add ( Task . of ( rs ) ) ;
rs . close ( ) ;
return map ;
} catch ( SQLException e ) {