Skip to content
Snippets Groups Projects
Commit 02a320fa authored by Axel's avatar Axel
Browse files

get stash back!?

parent 5996f617
No related branches found
No related tags found
No related merge requests found
package unipotsdam.gf.modules.tasks;
<<<<<<< HEAD
import org.glassfish.grizzly.http.util.TimeStamp;
=======
>>>>>>> origin/development_master
import unipotsdam.gf.modules.project.Project;
import unipotsdam.gf.modules.project.ProjectDAO;
import unipotsdam.gf.modules.states.ProjectPhase;
import unipotsdam.gf.modules.user.User;
import unipotsdam.gf.mysql.MysqlConnect;
import unipotsdam.gf.mysql.VereinfachtesResultSet;
import javax.annotation.ManagedBean;
import javax.inject.Inject;
import java.util.ArrayList;
import static unipotsdam.gf.modules.tasks.TaskName.*;
@ManagedBean
public class TaskDAO {
@Inject
ProjectDAO projectDAO;
@Inject
MysqlConnect connect;
// get all the tasks a user has in a specific project
public ArrayList<Task> getTaskType(String userEmail, String projectName) {
connect.connect();
String query = "Select * from tasks where userEmail = ? AND projectName = ?";
ArrayList<Task> result = new ArrayList<>();
VereinfachtesResultSet vereinfachtesResultSet = connect.issueSelectStatement(query, userEmail, projectName);
while (vereinfachtesResultSet.next()) {
String taskName = vereinfachtesResultSet.getString("taskName");
TaskName taskName1 = TaskName.valueOf(taskName);
Task task = getGeneralTask(vereinfachtesResultSet);
task.setTaskName(taskName1);
switch (taskName1) {
case WAIT_FOR_PARTICPANTS: {
result.add(getTaskWaitForParticipants(task, vereinfachtesResultSet));
break;
}
default: {
result.add(task);
}
}
}
connect.close();
return result;
}
// fill the task with the general data
private Task getGeneralTask(VereinfachtesResultSet vereinfachtesResultSet) {
Task task = new Task();
task.setImportance(Importance.valueOf(vereinfachtesResultSet.getString("importance")));
task.setUserEmail(vereinfachtesResultSet.getString("userEmail"));
task.setLink(vereinfachtesResultSet.getString("taskUrl"));
task.setProjectName(vereinfachtesResultSet.getString("projectName"));
task.setGroupTask(vereinfachtesResultSet.getBoolean("groupTask"));
task.setProgress(Progress.valueOf(vereinfachtesResultSet.getString("progress")));
task.setEventCreated(vereinfachtesResultSet.getLong("created"));
task.setDeadline(vereinfachtesResultSet.getTimestamp("due"));
task.setPhase(ProjectPhase.valueOf(vereinfachtesResultSet.getString("phase")));
getTaskType(task, vereinfachtesResultSet);
return task;
}
// bundle the taskModes
private void getTaskType(Task task, VereinfachtesResultSet vereinfachtesResultSet) {
ArrayList<TaskType> taskTypes = new ArrayList<>();
String taskMode = vereinfachtesResultSet.getString("taskMode");
String taskMode2 = vereinfachtesResultSet.getString("taskMode2");
String taskMode3 = vereinfachtesResultSet.getString("taskMode3");
if (taskMode != null && !taskMode.equals("") ) {
taskTypes.add(TaskType.valueOf(vereinfachtesResultSet.getString("taskMode")));
}
if (taskMode2 != null && !taskMode2.equals("")) {
taskTypes.add(TaskType.valueOf(vereinfachtesResultSet.getString("taskMode2")));
}
if (taskMode3 != null && !taskMode3.equals("")) {
taskTypes.add(TaskType.valueOf(vereinfachtesResultSet.getString("taskMode3")));
}
task.setTaskType(taskTypes.toArray(new TaskType[0]));
}
private Task getTaskWaitForParticipants(Task task, VereinfachtesResultSet vereinfachtesResultSet) {
task.setTaskName(TaskName.WAIT_FOR_PARTICPANTS);
Project project = new Project();
project.setName(vereinfachtesResultSet.getString("projectName"));
ParticipantsCount participantsCount = projectDAO.getParticipantCount(project);
task.setTaskData(participantsCount);
return task;
}
private Task createGeneralTask(Project project, User target) {
Task task = new Task();
task.setEventCreated(System.currentTimeMillis());
task.setProjectName(project.getName());
task.setUserEmail(project.getAuthorEmail());
task.setImportance(Importance.MEDIUM);
task.setProgress(Progress.JUSTSTARTED);
return task;
}
public void createTaskWaitForParticipants(Project project, User target) {
Task task = createGeneralTask(project, target);
task.setGroupTask(false);
task.setLink("../groupfinding/create-groups-manual.jsp");
task.setPhase(ProjectPhase.GroupFormation);
task.setRenderModel(WAIT_FOR_PARTICPANTS);
task.setTaskType(TaskType.LINKED, TaskType.INFO);
task.setImportance(Importance.MEDIUM);
task.setProgress(Progress.JUSTSTARTED);
persist(task);
}
public void createWaitingForGroupFormationTask(Project project, User target) {
Task task = createGeneralTask(project, target);
task.setGroupTask(false);
task.setPhase(ProjectPhase.GroupFormation);
task.setRenderModel(TaskName.WAITING_FOR_GROUP);
task.setTaskType(TaskType.INFO);
task.setImportance(Importance.MEDIUM);
task.setProgress(Progress.JUSTSTARTED);
persist(task);
}
private void persist(Task task) {
String taskMode2 = "";
if (task.getTaskType() != null && task.getTaskType().length > 1) {
taskMode2 = task.getTaskType()[1].toString();
}
String taskMode3 = "";
if (task.getTaskType() != null && task.getTaskType().length > 2) {
taskMode3 = task.getTaskType()[2].toString();
}
connect.connect();
String query =
"INSERT INTO fltrail.tasks (userEmail, projectName, taskUrl, taskName, " +
"groupTask, importance, progress, phase, created, due, taskMode, taskMode2, taskMode3) "
+ "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
connect.issueInsertOrDeleteStatement(query, task.getUserEmail(), task.getProjectName(), task.getLink(),
task.getTaskName(), task.getGroupTask(), task.getImportance(), task.getProgress(), task
.getPhase(),
null, task.getDeadline(), task.getTaskType()[0].toString(), taskMode2, taskMode3);
connect.close();
}
public void update(Task task, Progress progress) {
connect.connect();
String query =
"UPDATE tasks set progress = ? where task.userEmail = ? & task.projectName = ? & task.taskName" + " = ?";
connect.issueUpdateStatement(
query, progress.name(), task.getUserEmail(), task.getProjectName(), task.getTaskName());
connect.close();
}
public Task[] getTaskType(User teacher, Project project) {
return getTaskType(teacher.getEmail(), project.getName()).toArray(new Task[0]);
}
}
......@@ -41,7 +41,7 @@ public class DossierCreationProcess {
FullSubmissionPostRequest fullSubmissionPostRequest, User user, Project project) {
FullSubmission fullSubmission = submissionController.addFullSubmission(fullSubmissionPostRequest);
taskDAO.persist(project, user, TaskName.FINALIZE_DOSSIER, Phase.DossierFeedback, TaskType.LINKED);
taskDAO.persist(project, user, TaskName.ANNOTATE_DOSSIER, Phase.DossierFeedback, TaskType.LINKED);
return fullSubmission;
}
......
......@@ -36,7 +36,6 @@ public class TaskDAO {
@Inject
private SubmissionController submissionController;
// fill the task with the general data
private Task getGeneralTask(VereinfachtesResultSet vereinfachtesResultSet) {
Task task = new Task();
......@@ -77,7 +76,6 @@ public class TaskDAO {
return taskTypes;
}
private Task getTaskWaitForParticipants(VereinfachtesResultSet vereinfachtesResultSet) {
Task task = getGeneralTask(vereinfachtesResultSet);
Project project = new Project();
......@@ -120,7 +118,7 @@ public class TaskDAO {
result.add(getTaskWaitForParticipants(vereinfachtesResultSet));
break;
}
case FINALIZE_DOSSIER: {
case ANNOTATE_DOSSIER: {
Task finalizeDossierTask = getFinalizeDossierTask(vereinfachtesResultSet);
//finalizeDossierTask.setTaskType(TaskType.LINKED);
result.add(finalizeDossierTask);
......@@ -149,7 +147,6 @@ public class TaskDAO {
return task;
}
public void persist(Project project, User target, TaskName taskName, Phase phase) {
Task aDefault = createDefault(project, target, taskName, phase);
persist(aDefault);
......@@ -161,7 +158,6 @@ public class TaskDAO {
persist(aDefault);
}
public void createTaskWaitForParticipants(Project project, User author) {
Task task = createDefault(project, author, TaskName.WAIT_FOR_PARTICPANTS, Phase.GroupFormation);
task.setTaskName(WAIT_FOR_PARTICPANTS);
......@@ -222,7 +218,6 @@ public class TaskDAO {
connect.close();
}
public void persistMemberTask(Project project, TaskName taskName, Phase phase) {
java.util.List<User> members = userDAO.getUsersByProjectName(project.getName());
for (User member : members) {
......
......@@ -5,5 +5,7 @@ public enum TaskName {
WAIT_FOR_PARTICPANTS, CLOSE_GROUP_FINDING_PHASE, WAITING_FOR_GROUP,
// Student Tasks
UPLOAD_DOSSIER, GIVE_FEEDBACK, CREATE_QUIZ, WRITE_EJOURNAL, FINALIZE_DOSSIER, FINALIZE_EJOURNAL, FORM_GROUPS_MANUALLY, EDIT_FORMED_GROUPS, CONTACT_GROUP_MEMBERS, ASSESSMENT
UPLOAD_DOSSIER, GIVE_FEEDBACK, CREATE_QUIZ, WRITE_EJOURNAL, ANNOTATE_DOSSIER, FINALIZE_DOSSIER,
FINALIZE_EJOURNAL,
FORM_GROUPS_MANUALLY, EDIT_FORMED_GROUPS, CONTACT_GROUP_MEMBERS, ASSESSMENT, EDIT_FEEDBACK
}
......@@ -114,7 +114,7 @@ public class Menu extends SimpleTagSupport {
" <li class=\"icon inactive\">Noten</li>\n";
break;
}
case Execution:{
case DossierFeedback:{
phaseViewString += " <li class=\"neutral icon closed\">Projektinitialisierung</li>\n" +
" <li class=\"draft icon closed\">Entwurfsphase</li>\n" +
" <li class=\"feedback icon\">Feedbackphase</li>\n" +
......@@ -123,7 +123,7 @@ public class Menu extends SimpleTagSupport {
" <li class=\"icon inactive\">Noten</li>\n";
break;
}
case DossierFeedback:{
case Execution:{
phaseViewString += " <li class=\"neutral icon closed\">Projektinitialisierung</li>\n" +
" <li class=\"draft icon closed\">Entwurfsphase</li>\n" +
" <li class=\"feedback icon closed\">Feedbackphase</li>\n" +
......
......@@ -120,6 +120,10 @@ function fitObjectInTmpl(object){
result.solveTaskWith="Lege ein EJournal an";
result.solveTaskWithLink="../journal/create-journal.jsp?projectName="+object.projectName;
break;
case "ANNOTATE_DOSSIER":
result.solveTaskWith="Annotiere das Dossier";
result.solveTaskWithLink="../annotation/create-unstructured-annotation.jsp?projectName="+object.projectName+"&submissionId=" + object.taskData.fullSubmissionId;
break;
case "FINALIZE_DOSSIER":
result.solveTaskWith="Finalisiere das Dossier";
result.solveTaskWithLink="../annotation/create-unstructured-annotation.jsp?projectName="+object.projectName+"&submissionId=" + object.taskData.fullSubmissionId;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment