public List<Task> doTaskSearch(String query, int user_id) { List<TaskEntry> list = taskEntryRepository.findByTitleOrDescription(query, query); List<Task> ret = new ArrayList<>(); for (TaskEntry entry : list) { System.out.println( "entry userID = " + entry.getUser_id() + " required UserID = " + Integer.toString(user_id)); System.out.println(entry.getType()); String type = entry.getType(); if ((type.equals("task") || type.equals("taskItem")) && entry.getUser_id().equals(Integer.toString(user_id))) { if (type.equals("task")) { Task task = OrganizerDAO.getTaskByTitle(user_id, entry.getTitle()); ret.add(task); } if (type.equals("taskItem")) { TaskItem item = OrganizerDAO.getTaskId(Integer.parseInt(entry.getObj_id())); Task task = OrganizerDAO.getTaskById(item.getTask_id()); List<TaskItem> taskList = OrganizerDAO.getTaskItems(task.getId()); if (taskList != null) { task.setTaskList(taskList); task.setTaskListSize(taskList.size()); } ret.add(task); } } } return ret; }