diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/ManagementImpl.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/ManagementImpl.java index 8875c571b97a9537eab6a29b379a9e822d6dc61b..7aca8e5bf74a12262fe836c4b905d1f9e7f40f07 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/ManagementImpl.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/ManagementImpl.java @@ -1,6 +1,5 @@ package unipotsdam.gf.core.management; -import sun.misc.IOUtils; import unipotsdam.gf.core.database.mysql.MysqlConnect; import unipotsdam.gf.core.database.mysql.VereinfachtesResultSet; import unipotsdam.gf.core.management.group.Group; @@ -10,13 +9,12 @@ import unipotsdam.gf.core.management.project.ProjectConfigurationDAO; import unipotsdam.gf.core.management.user.User; import unipotsdam.gf.core.management.user.UserInterests; import unipotsdam.gf.core.management.user.UserProfile; -import unipotsdam.gf.core.states.ProjectPhase; +import unipotsdam.gf.core.states.model.ProjectPhase; import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier; import javax.annotation.ManagedBean; import javax.annotation.Resource; import javax.inject.Singleton; -import java.io.File; import java.io.FileInputStream; import java.sql.Blob; import java.sql.Timestamp; diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/ManagementImpl.java.orig b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/ManagementImpl.java.orig index 5f22f04d171fd5ea57e82985d5517760beb1cd48..a9f8cae5c49aad332febf4bce32f0458125eb4a8 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/ManagementImpl.java.orig +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/ManagementImpl.java.orig @@ -10,7 +10,7 @@ import unipotsdam.gf.core.management.project.ProjectConfigurationDAO; import unipotsdam.gf.core.management.user.User; import unipotsdam.gf.core.management.user.UserInterests; import unipotsdam.gf.core.management.user.UserProfile; -import unipotsdam.gf.core.states.ProjectPhase; +import unipotsdam.gf.core.states.model.ProjectPhase; import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier; import javax.annotation.ManagedBean; diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/Footer.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/Footer.java index c4a98679e1b5417894290ce38e45a5f88a774352..d517c79ebb58ca45a7df73d4430fe546c3e91722 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/Footer.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/Footer.java @@ -1,7 +1,7 @@ package unipotsdam.gf.core.management.pageAppearance; import unipotsdam.gf.core.management.ManagementImpl; -import unipotsdam.gf.core.states.ProjectPhase; +import unipotsdam.gf.core.states.model.ProjectPhase; import javax.servlet.http.HttpServletRequest; import javax.servlet.jsp.JspWriter; diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/Menu.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/Menu.java index a6538bcaaf90f3441de5581c0c2feedab6ccb2a9..22c4f0446dd9a34a7fbd2a9d8cbe22e3dd6a7ec8 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/Menu.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/Menu.java @@ -2,7 +2,7 @@ package unipotsdam.gf.core.management.pageAppearance; import unipotsdam.gf.core.management.ManagementImpl; import unipotsdam.gf.core.management.user.User; -import unipotsdam.gf.core.states.ProjectPhase; +import unipotsdam.gf.core.states.model.ProjectPhase; import javax.servlet.http.HttpServletRequest; import javax.servlet.jsp.JspWriter; diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/Project.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/Project.java index 14871803ee64aba859de3f5702790905ebc1eb4e..a7d72442f6b46e6a333ac50c17c9e340c9dad2b3 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/Project.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/Project.java @@ -1,6 +1,6 @@ package unipotsdam.gf.core.management.project; -import unipotsdam.gf.core.states.ProjectPhase; +import unipotsdam.gf.core.states.model.ProjectPhase; import javax.xml.bind.annotation.XmlRootElement; import java.sql.Timestamp; diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/ProjectConfiguration.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/ProjectConfiguration.java index cc66f5634f1f05f969fcd423c24ce9134d21a653..1324034548c14f1cb9948d56d6d86b0481eed353 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/ProjectConfiguration.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/ProjectConfiguration.java @@ -1,6 +1,6 @@ package unipotsdam.gf.core.management.project; -import unipotsdam.gf.core.states.ProjectPhase; +import unipotsdam.gf.core.states.model.ProjectPhase; import unipotsdam.gf.modules.assessment.AssessmentMechanism; import unipotsdam.gf.modules.groupfinding.GroupFormationMechanism; import unipotsdam.gf.modules.peer2peerfeedback.Category; diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/ProjectConfigurationDAO.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/ProjectConfigurationDAO.java index 6a9f147857cc89528fa38a08e85c878b8d474cf3..ee57c4b4e0fd90df768c4093c1c7911f0e2de90f 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/ProjectConfigurationDAO.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/ProjectConfigurationDAO.java @@ -2,13 +2,11 @@ package unipotsdam.gf.core.management.project; import unipotsdam.gf.core.database.mysql.MysqlConnect; import unipotsdam.gf.core.database.mysql.VereinfachtesResultSet; -import unipotsdam.gf.core.management.user.User; -import unipotsdam.gf.core.states.ProjectPhase; +import unipotsdam.gf.core.states.model.ProjectPhase; import unipotsdam.gf.modules.assessment.AssessmentMechanism; import unipotsdam.gf.modules.groupfinding.GroupFormationMechanism; import unipotsdam.gf.modules.peer2peerfeedback.Category; -import java.util.ArrayList; import java.util.HashMap; public class ProjectConfigurationDAO { diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/UserService.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/UserService.java index 94bf3ef8713222df3c70a160a4cd0bc17922e220..5df13ac921258e35e664cda7c8d12d37101a8e68 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/UserService.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/UserService.java @@ -1,8 +1,6 @@ package unipotsdam.gf.core.management.user; -import org.glassfish.grizzly.streams.BufferedInput; import unipotsdam.gf.core.management.ManagementImpl; -import unipotsdam.gf.core.states.ProjectPhase; import unipotsdam.gf.interfaces.ICommunication; import unipotsdam.gf.modules.communication.service.CommunicationDummyService; @@ -11,8 +9,6 @@ import javax.inject.Inject; import javax.ws.rs.*; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; -import java.awt.image.BufferedImage; -import java.awt.image.BufferedImageOp; import java.io.File; import java.io.FileInputStream; import java.net.URI; diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/session/GFContext.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/session/GFContext.java index bdbac9ae7b6b1171b82063e4d34f320fadf242fd..7c60869c4da95d680d35d780eefbc71d63e32550 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/session/GFContext.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/session/GFContext.java @@ -2,7 +2,7 @@ package unipotsdam.gf.core.session; import unipotsdam.gf.core.management.project.Project; import unipotsdam.gf.core.management.user.User; -import unipotsdam.gf.core.states.ProjectPhase; +import unipotsdam.gf.core.states.model.ProjectPhase; import unipotsdam.gf.modules.assessment.controller.model.Quiz; import unipotsdam.gf.modules.communication.model.chat.ChatRoom; diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/PhasesImpl.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/PhasesImpl.java index ed289b311cfa75b30f22102953bd3ea80d17b49e..685e6018bd27b08078e15765b3f52c1d92dac648 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/PhasesImpl.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/PhasesImpl.java @@ -2,13 +2,19 @@ package unipotsdam.gf.core.states; import unipotsdam.gf.core.database.mysql.MysqlConnect; import unipotsdam.gf.core.management.project.Project; +import unipotsdam.gf.core.states.model.Constraints; +import unipotsdam.gf.core.states.model.ProjectPhase; import unipotsdam.gf.interfaces.*; +import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier; +import unipotsdam.gf.modules.assessment.controller.service.PeerAssessmentDummy; +import unipotsdam.gf.modules.communication.service.CommunicationDummyService; +import unipotsdam.gf.modules.peer2peerfeedback.DummyFeedback; import unipotsdam.gf.view.Messages; import javax.annotation.ManagedBean; -import javax.annotation.Resource; import javax.inject.Inject; -import javax.inject.Singleton; +import java.util.HashMap; +import java.util.Map; /** * Created by dehne on 31.05.2018. @@ -19,11 +25,11 @@ import javax.inject.Singleton; @ManagedBean public class PhasesImpl implements IPhases { - private IPeerAssessment iPeerAssessment; + private IPeerAssessment iPeerAssessment = new PeerAssessmentDummy(); - private Feedback feedback; + private Feedback feedback = new DummyFeedback(); - private ICommunication iCommunication; + private ICommunication iCommunication = new CommunicationDummyService(); private IJournal iJournal; @@ -45,8 +51,31 @@ public class PhasesImpl implements IPhases { this.iJournal = iJournal; } + /*Optionen für die Constraints: + Gesucht ist ein Objekt, welches man an den Dozenten übergibt, in dem die fehlenden Abgaben codiert sind + + Als Map<StudentIdentifier, class Constraints> + + Immer wenn etwas nicht erfüllt wurde, speichert man es hier ab + - Jedes Interface bräuchte eine Funktion, die diese Datenstruktur bedient + - einige nutzlose Daten müssten mitgeschliffen werden + - Die variable wird immer wieder neu erzeugt und so sollte alles in der DB gespeichert sein!? + Constraints als Enum + + Die Funktionen der Interfaces checken ob dieser Constraint überall gilt + - Jedes Interface muss eine Funktion schreiben, die jeden Studenten untersucht. + Sinnvoller wäre nur die Studenten zurück zu geben, die die Constraint nicht erfüllen + - Enums können glaube keine Werte als Default tragen + Map<StudentIdentifier, String> + + Wenn Map keine Elemente trägt, ist alles erfüllt. + + zurück zu geben vom Interface wäre die Kennung (StudentIdentifier) und was fehlt (Constraint) + - Keine Default Werte + + + */ + @Override - public void endPhase(ProjectPhase changeToPhase, Project project) { + public void endPhase(ProjectPhase currentPhase, Project project) { + ProjectPhase changeToPhase = getNextPhase(currentPhase); + Map<StudentIdentifier, Constraints> tasks = new HashMap<>(); switch (changeToPhase) { case CourseCreation: // saving the state @@ -59,6 +88,7 @@ public class PhasesImpl implements IPhases { break; case DossierFeedback: // check if everybody has uploaded a dossier + Boolean feedbacksGiven = feedback.checkFeedbackConstraints(project); if (!feedbacksGiven) { feedback.assigningMissingFeedbackTasks(project); @@ -70,7 +100,8 @@ public class PhasesImpl implements IPhases { break; case Execution: // check if the portfolios have been prepared for evaluation (relevant entries selected) - Boolean portfoliosReady = iJournal.getPortfoliosForEvaluationPrepared(project); + // todo: Boolean portfoliosReady = iJournal.getPortfoliosForEvaluationPrepared(project); + Boolean portfoliosReady = true; if (portfoliosReady) { // inform users about the end of the phase iCommunication.sendMessageToUsers(project, Messages.AssessmentPhaseStarted(project)); @@ -80,6 +111,15 @@ public class PhasesImpl implements IPhases { } break; case Assessment: + Boolean allAssessmentsDone = iPeerAssessment.allAssessmentsDone(project.getId()); + if(allAssessmentsDone){ + iCommunication.sendMessageToUsers(project, Messages.CourseEnds(project)); + saveState(project, changeToPhase); + }else{ + iPeerAssessment.assignMissingAssessmentTasks(project); + } + break; + case Projectfinished: closeProject(); break; } diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/PhasesService.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/PhasesService.java index c0d45a7532c298206bfd8a3ef371cfd5ae4381a0..49a65404c45db5aab532b94f98eb1e7ef9f427f2 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/PhasesService.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/PhasesService.java @@ -2,16 +2,15 @@ package unipotsdam.gf.core.states; import unipotsdam.gf.core.management.Management; import unipotsdam.gf.core.management.ManagementImpl; -import unipotsdam.gf.core.management.project.Project; +import unipotsdam.gf.core.states.model.ProjectPhase; import unipotsdam.gf.interfaces.IPhases; -import javax.inject.Inject; import javax.ws.rs.*; import javax.ws.rs.core.MediaType; /** * REST API for switching phases - * In order to look up the possible phases @see unipotsdam.gf.core.states.ProjectPhase + * In order to look up the possible phases @see unipotsdam.gf.core.states.model.ProjectPhase */ @Path("/phases") public class PhasesService { diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/configPhaseShift.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/configPhaseShift.java deleted file mode 100644 index b988f6f75f45b5bc04929a0cfe2d93b2fabd85a1..0000000000000000000000000000000000000000 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/configPhaseShift.java +++ /dev/null @@ -1,11 +0,0 @@ -package unipotsdam.gf.core.states; - -public class configPhaseShift { - Boolean DossierWritten; - Integer FeedbackCount =1; - Integer QuizCount =10; - Integer JournalCount=5; - Boolean DossierFinalized; - Boolean JournalFinalized; - Boolean AssessmentDone; -} diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/model/Constraints.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/model/Constraints.java new file mode 100644 index 0000000000000000000000000000000000000000..ac413e63a173d5a8dbbbffbebb90267c06bc984f --- /dev/null +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/model/Constraints.java @@ -0,0 +1,34 @@ +package unipotsdam.gf.core.states.model; + +import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier; + +public class Constraints { + + public static String DossierWritten(StudentIdentifier student){ + return student.getStudentId()+" hat noch kein Dossier hochgeladen."; + } + + public static String FeedbackCount(StudentIdentifier student){ + return student.getStudentId()+" hat noch nicht das erwartete Feedack gegeben."; + } + + public static String QuizCount(StudentIdentifier student){ + return student.getStudentId()+" hat noch kein Quiz erstellt."; + } + + public static String JournalCount(StudentIdentifier student){ + return student.getStudentId()+" hat noch nicht genug Tagebucheinträge verfasst."; + } + + public static String DossierFinalized(StudentIdentifier student){ + return student.getStudentId()+" hat sein Dossier noch nicht finalisiert."; + } + + public static String JournalFinalized(StudentIdentifier student){ + return student.getStudentId()+" hat sein Tagebuch noch nicht finalisiert"; + } + + public static String AssessmentDone(StudentIdentifier student){ + return student.getStudentId()+" hat die Bewertung noch nicht abgeschlossen."; + } +} diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/ProjectPhase.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/model/ProjectPhase.java similarity index 75% rename from gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/ProjectPhase.java rename to gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/model/ProjectPhase.java index ba8bffad7c29716ddfd9bbb5f049e3f19b0241c4..433ef0c96077d32bea6c4194a41fd32f765ce8f8 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/ProjectPhase.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/model/ProjectPhase.java @@ -1,4 +1,4 @@ -package unipotsdam.gf.core.states; +package unipotsdam.gf.core.states.model; public enum ProjectPhase { CourseCreation, GroupFormation, DossierFeedback, Execution, Assessment, diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPeerAssessment.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPeerAssessment.java index b07b990870b655615e72a1447eb09df9df642e98..1892ec3961260ec76a97bf0fa2aa0362fdad5070 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPeerAssessment.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPeerAssessment.java @@ -1,5 +1,6 @@ package unipotsdam.gf.interfaces; +import unipotsdam.gf.core.management.project.Project; import unipotsdam.gf.modules.assessment.controller.model.*; import java.util.ArrayList; @@ -42,6 +43,7 @@ public interface IPeerAssessment { * @param totalPerformance @return */ Map<StudentIdentifier, Double> calculateAssessment(ArrayList<Performance> totalPerformance); // calculates marks for every performance and writes it to an array + Map<StudentIdentifier, Double> calculateAssessment(String projectId, String method); /** @@ -95,5 +97,8 @@ public interface IPeerAssessment { void deleteQuiz(String quizId); String whatToRate(StudentIdentifier student); - Map<StudentIdentifier, Double> calculateAssessment(String projectId, String method); + + Boolean allAssessmentsDone(String projectId); + + void assignMissingAssessmentTasks(Project project); } diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPhases.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPhases.java index 976d67d13cdbb82a565b704b9213a8ac6677495e..5a11474e0842860a5063e06f2dcb13a7645d6f77 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPhases.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPhases.java @@ -1,7 +1,7 @@ package unipotsdam.gf.interfaces; import unipotsdam.gf.core.management.project.Project; -import unipotsdam.gf.core.states.ProjectPhase; +import unipotsdam.gf.core.states.model.ProjectPhase; public interface IPhases { /** diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/FBAssessement.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/FBAssessement.java index 8283f9a231c6c558032e108968a4386d379d9b8c..866d46be26992a8be17bd44f4b2cb6823ca60d37 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/FBAssessement.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/FBAssessement.java @@ -1,5 +1,6 @@ package unipotsdam.gf.modules.assessment.controller.service; +import unipotsdam.gf.core.management.project.Project; import unipotsdam.gf.modules.assessment.controller.model.*; import java.util.ArrayList; @@ -84,6 +85,16 @@ public class FBAssessement extends AssessmentDAO { return null; } + @Override + public Boolean allAssessmentsDone(String projectId) { + return null; + } + + @Override + public void assignMissingAssessmentTasks(Project project) { + + } + @Override public Map<StudentIdentifier, Double> calculateAssessment(String projectId, String method) { return null; diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessment.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessment.java index d65c047ccced3756dd13292542eac5f58f09f901..871b3c94af79f47dc054d632240a8648ee0992af 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessment.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessment.java @@ -1,5 +1,6 @@ package unipotsdam.gf.modules.assessment.controller.service; +import unipotsdam.gf.core.management.project.Project; import unipotsdam.gf.interfaces.IPeerAssessment; import unipotsdam.gf.modules.assessment.controller.model.*; @@ -59,6 +60,16 @@ public class PeerAssessment implements IPeerAssessment { return "done"; } + @Override + public Boolean allAssessmentsDone(String projectId) { + return null; + } + + @Override + public void assignMissingAssessmentTasks(Project project) { + + } + @Override public Map<StudentIdentifier, Double> calculateAssessment(ArrayList<Performance> totalPerformance) { Map<StudentIdentifier, Double> quizMean = new HashMap<>(quizGrade(totalPerformance)); diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessmentDummy.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessmentDummy.java index c00f67d163ef745d9f5e4b1ffcd8debb86ecf376..a5cb9fae5bdddcc98bf3b438665e17860e50a969 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessmentDummy.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessmentDummy.java @@ -2,6 +2,7 @@ package unipotsdam.gf.modules.assessment.controller.service; import unipotsdam.gf.assignments.Assignee; import unipotsdam.gf.assignments.NotImplementedLogger; +import unipotsdam.gf.core.management.project.Project; import unipotsdam.gf.interfaces.IPeerAssessment; import unipotsdam.gf.modules.assessment.controller.model.*; @@ -88,6 +89,16 @@ public class PeerAssessmentDummy implements IPeerAssessment { return null; } + @Override + public Boolean allAssessmentsDone(String projectId) { + return true; + } + + @Override + public void assignMissingAssessmentTasks(Project project) { + + } + @Override public Map<StudentIdentifier, Double> calculateAssessment(String projectId, String method) { return null; diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/dao/JournalDAOImpl.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/dao/JournalDAOImpl.java index 0ea368909eb9cdb4679bf36b77d51ea11dc490e6..a0561e81639ef40ef3d2394980c90c618680c381 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/dao/JournalDAOImpl.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/dao/JournalDAOImpl.java @@ -26,7 +26,7 @@ public class JournalDAOImpl implements JournalDAO { connection.connect(); // build and execute request - String request = "INSERT INTO journals (`id`, `author`, `project`, `text`, `visibility`,`category`, `open` ) VALUES (?,?,?,?,?,?,?);"; + String request = "INSERT INTO journals (`id`, `studentId`, `projectId`, `text`, `visibility`,`category`, `open` ) VALUES (?,?,?,?,?,?,?);"; connection.issueInsertOrDeleteStatement(request, uuid, journal.getStudentIdentifier().getStudentId(), journal.getStudentIdentifier().getProjectId(), journal.getEntryMD(), journal.getVisibility(), journal.getCategory(), true); @@ -105,7 +105,7 @@ public class JournalDAOImpl implements JournalDAO { connection.connect(); // build and execute request - String request = "SELECT * FROM journals WHERE project= ? AND (author = ? OR visibility = \"ALL\" or visibility = \"GROUP\");"; + String request = "SELECT * FROM journals WHERE projectId= ? AND (studentId = ? OR visibility = \"ALL\" or visibility = \"GROUP\");"; VereinfachtesResultSet rs = connection.issueSelectStatement(request, project, student); while (rs.next()) { @@ -128,7 +128,7 @@ public class JournalDAOImpl implements JournalDAO { connection.connect(); // build and execute request - String request = "SELECT * FROM journals WHERE author= ?;"; + String request = "SELECT * FROM journals WHERE studentId= ?;"; VereinfachtesResultSet rs = connection.issueSelectStatement(request, student); while (rs.next()) { @@ -175,7 +175,7 @@ public class JournalDAOImpl implements JournalDAO { connection.connect(); // build and execute request - String request = "SELECT * FROM journals WHERE project = ? AND open = ?;"; + String request = "SELECT * FROM journals WHERE projectId = ? AND open = ?;"; VereinfachtesResultSet rs = connection.issueSelectStatement(request, project.getId(), true); while (rs.next()) { @@ -199,8 +199,8 @@ public class JournalDAOImpl implements JournalDAO { String id = rs.getString("id"); long timestamp = rs.getTimestamp(2).getTime(); - String student = rs.getString("author"); - String project = rs.getString("project"); + String student = rs.getString("studentId"); + String project = rs.getString("projectId"); String text = rs.getString("text"); String visibility = rs.getString("visibility"); String category = rs.getString("category"); diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/dao/ProjectDescriptionDAOImpl.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/dao/ProjectDescriptionDAOImpl.java index c0b07344e684abc9a2912d02f8be0b2486e12d06..6bd193c998db83cb1cf0a8d18d5c0703e5a24f51 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/dao/ProjectDescriptionDAOImpl.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/dao/ProjectDescriptionDAOImpl.java @@ -1,7 +1,5 @@ package unipotsdam.gf.modules.journal.model.dao; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import unipotsdam.gf.core.database.mysql.MysqlConnect; import unipotsdam.gf.core.database.mysql.VereinfachtesResultSet; import unipotsdam.gf.core.management.project.Project; @@ -28,7 +26,7 @@ public class ProjectDescriptionDAOImpl implements ProjectDescriptionDAO { connection.connect(); // build and execute request - String request = "INSERT INTO projectdescription(`id`, `author`, `project`, `text`, `open`) VALUES (?,?,?,?,?);"; + String request = "INSERT INTO projectdescription(`id`, `studentId`, `projectId`, `text`, `open`) VALUES (?,?,?,?,?);"; connection.issueInsertOrDeleteStatement(request, uuid, projectDescription.getStudent().getStudentId(),projectDescription.getStudent().getProjectId(),projectDescription.getDescriptionMD(),true); //close connection @@ -57,7 +55,7 @@ public class ProjectDescriptionDAOImpl implements ProjectDescriptionDAO { connection.connect(); // build and execute request - String request = "SELECT * FROM projectdescription WHERE author = ? AND project = ?;"; + String request = "SELECT * FROM projectdescription WHERE studentId = ? AND projectId = ?;"; VereinfachtesResultSet rs = connection.issueSelectStatement(request, studentIdentifier.getStudentId(),studentIdentifier.getProjectId()); if (rs != null && rs.next()) { @@ -113,7 +111,7 @@ public class ProjectDescriptionDAOImpl implements ProjectDescriptionDAO { connection.connect(); // build and execute request - String request = "DELETE FROM projectdescription WHERE author = ? AND project = ?;"; + String request = "DELETE FROM projectdescription WHERE studentId = ? AND projectId = ?;"; connection.issueInsertOrDeleteStatement(request, studentIdentifier.getStudentId(),studentIdentifier.getProjectId()); // close connection @@ -145,7 +143,7 @@ public class ProjectDescriptionDAOImpl implements ProjectDescriptionDAO { connection.connect(); // build and execute request - String request = "SELECT * FROM projectdescription WHERE project = ? AND open = ?;"; + String request = "SELECT * FROM projectdescription WHERE projectId = ? AND open = ?;"; VereinfachtesResultSet rs = connection.issueSelectStatement(request, project.getId(), true); while (rs.next()) { @@ -161,8 +159,8 @@ public class ProjectDescriptionDAOImpl implements ProjectDescriptionDAO { private ProjectDescription getDescriptionFromResultSet(VereinfachtesResultSet rs) { String id = rs.getString("id"); long timestamp = rs.getTimestamp(2).getTime(); - String author = rs.getString("author"); - String project = rs.getString("project"); + String author = rs.getString("studentId"); + String project = rs.getString("projectId"); String text = rs.getString("text"); boolean open = rs.getBoolean("open"); diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/peer2peerfeedback/DummyFeedback.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/peer2peerfeedback/DummyFeedback.java index 443ce212400945a30640d7b3213233a3ed4e6e1f..0bf9d071c9cdeed87676e3570771afc632324aca 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/peer2peerfeedback/DummyFeedback.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/peer2peerfeedback/DummyFeedback.java @@ -16,11 +16,12 @@ import java.util.ArrayList; public class DummyFeedback implements Feedback { /** - * Utility to creaty dummy data for students + * Utility to create dummy data for students */ PodamFactory factory = new PodamFactoryImpl(); private static Boolean missingTaskAssigned = false; + private Boolean constraintsFulfilled = false; public DummyFeedback() { @@ -52,10 +53,11 @@ public class DummyFeedback implements Feedback { @Override public Boolean checkFeedbackConstraints(Project project) { - // TODO implement cornstaints + // TODO implement constraints NotImplementedLogger.logAssignment(Assignee.KATHARINA, Feedback.class, "check Feedback constraints", "checking feedback constraints "); - return missingTaskAssigned; + constraintsFulfilled = true; + return constraintsFulfilled; } @Override diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/view/Messages.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/view/Messages.java index 986c7d741e87d479673663e4afccd5d685bc2249..cffc1eae0018d01365f794eef5bc54ac21c69831 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/view/Messages.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/view/Messages.java @@ -17,4 +17,9 @@ public class Messages { // TODO add link to site + markup return "Die Bewertungsphase hat begonnen. Bitte geht auf ... und macht ...."; } + + public static String CourseEnds(Project project) { + // TODO add link to site + markup + return "Die Bewertung ist abgeschlossen. Sie erhalten ihre Bewertung in Kürze."; + } } diff --git a/gemeinsamforschen/src/main/webapp/annotation/js/annotationScript.js b/gemeinsamforschen/src/main/webapp/annotation/js/annotationScript.js index b356093d5bbd45e5e3fadf6d79b2426fee019556..54470a0048359ab9324f489e4311aef213b834df 100644 --- a/gemeinsamforschen/src/main/webapp/annotation/js/annotationScript.js +++ b/gemeinsamforschen/src/main/webapp/annotation/js/annotationScript.js @@ -68,14 +68,14 @@ $(document).ready(function() { * continue button */ $('#btnContinue').click(function () { - location.href="give-feedback.jsp?token=" + getUserTokenFromUrl(); + location.href="../feedback/give-feedback.jsp?token=" + getUserTokenFromUrl(); }); /** * back button */ $('#btnBack').click(function () { - location.href="project-student.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + getQueryVariable("projectId"); + location.href="../project-student.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + getQueryVariable("projectId"); }); /** diff --git a/gemeinsamforschen/src/main/webapp/annotation/js/unstructuredAnnotation.js b/gemeinsamforschen/src/main/webapp/annotation/js/unstructuredAnnotation.js index 21e4a47aae77b6fd0203fcdb1c36e0f48ae3b23c..a8ab85a55c8050287ac9228165ec1b0538659db7 100644 --- a/gemeinsamforschen/src/main/webapp/annotation/js/unstructuredAnnotation.js +++ b/gemeinsamforschen/src/main/webapp/annotation/js/unstructuredAnnotation.js @@ -285,7 +285,7 @@ function saveButtonHandler() { $.when.apply($, promises).then(function () { // redirect user to project page after saving - location.href="project-student.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + getQueryVariable("projectId"); + location.href="../project-student.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + getQueryVariable("projectId"); }); // redirect user to project page after saving diff --git a/gemeinsamforschen/src/main/webapp/annotation/js/unstructuredUpload.js b/gemeinsamforschen/src/main/webapp/annotation/js/unstructuredUpload.js index 9a2aa3d411d58df36cfa95201268d5ebc36e2211..2148e5cb04d95a8280dc4af60579aa8f6bdfa2e8 100644 --- a/gemeinsamforschen/src/main/webapp/annotation/js/unstructuredUpload.js +++ b/gemeinsamforschen/src/main/webapp/annotation/js/unstructuredUpload.js @@ -37,15 +37,15 @@ $(document).ready(function() { $('#upload-textarea').val(""); // jump to previous page - window.history.back(); - //location.href="project-student.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + getProjectIdFromUrl(); + //window.history.back(); + location.href="../project-student.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + getQueryVariable("projectId"); } } // nothing to check else { // jump to previous page - window.history.back(); - //location.href="project-student.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + getProjectIdFromUrl(); + //window.history.back(); + location.href="../project-student.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + getQueryVariable("projectId"); } }); diff --git a/gemeinsamforschen/src/main/webapp/core/footer.js b/gemeinsamforschen/src/main/webapp/core/footer.js index 9407ef60d1a1c1af5d8bce6c5dc1e9c1835645bc..6875866f0675741797ba62d75e5e2538556dfe19 100644 --- a/gemeinsamforschen/src/main/webapp/core/footer.js +++ b/gemeinsamforschen/src/main/webapp/core/footer.js @@ -1,3 +1,6 @@ $(document).ready(function(){ + $('#btnUnstructuredUpload').click(function () { + location.href="annotation/upload-unstructured-annotation.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + getQueryVariable("projectId"); + }); }); diff --git a/gemeinsamforschen/src/main/webapp/core/project-student.js b/gemeinsamforschen/src/main/webapp/core/project-student.js index 85b50ac80137b537eed4c87b5ba5702c32e9dba6..8c7642ebeff55680cc523f7e27005087a29082a6 100644 --- a/gemeinsamforschen/src/main/webapp/core/project-student.js +++ b/gemeinsamforschen/src/main/webapp/core/project-student.js @@ -11,7 +11,7 @@ $(document).ready(function(){ $('.annotationview').click(function () { let fullSubmissionId = $(this).closest("li").data("fullSubmissionId"); let category = $(this).closest("li").data("category"); - location.href="annotation-document.jsp?token=" + getUserTokenFromUrl() + + location.href="annotation/annotation-document.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + getQueryVariable("projectId") + "&fullSubmissionId=" + fullSubmissionId + "&category=" + category; @@ -30,20 +30,16 @@ $(document).ready(function(){ }); */ $('.givefeedback').click(function () { - location.href="givefeedback.jsp?token="+getUserTokenFromUrl(); + location.href="feedback/give-feedback.jsp?token="+getUserTokenFromUrl(); }); $('.viewfeedback').click(function () { - location.href="viewfeedback.jsp?token="+getUserTokenFromUrl(); + location.href="feedback/view-feedback.jsp?token="+getUserTokenFromUrl(); }); $('.annotationview').click(function () { - location.href="annotation-document.jsp?token="+getUserTokenFromUrl(); + location.href="annotation/annotation-document.jsp?token="+getUserTokenFromUrl(); }); - $('#btnUnstructuredUpload').click(function () { - location.href="unstructured-upload.jsp?token="+getUserTokenFromUrl() + "&projectId=" + getQueryVariable("projectId"); - }) - $('.viewprojectstudent').click(function () { location.href="project-student.jsp?token="+getUserTokenFromUrl(); }) diff --git a/gemeinsamforschen/src/main/webapp/core/utility.js b/gemeinsamforschen/src/main/webapp/core/utility.js index 0c674ce7e11611a7c2674a5220fc7f3dd263697a..334fdd7dbe9cace9e66a922b3e05773135a192d6 100644 --- a/gemeinsamforschen/src/main/webapp/core/utility.js +++ b/gemeinsamforschen/src/main/webapp/core/utility.js @@ -1,9 +1,3 @@ -function changeLocationTo(target) { - let level = $('#hierarchyLevel').html().trim(); - let link = calculateHierachy(level) + target; - return link; -} - $(document).ready(function(){ $('#headLineProject').html($('#projectId').html()); $('#logout').click(function(){ @@ -20,6 +14,13 @@ $(document).ready(function(){ }); }); +function changeLocationTo(target) { + let level = $('#hierarchyLevel').html().trim(); + let link = calculateHierachy(level) + target; + return link; +} + + function goBack() { window.history.back(); } diff --git a/gemeinsamforschen/src/main/webapp/feedback/give-feedback.jsp b/gemeinsamforschen/src/main/webapp/feedback/give-feedback.jsp index 26e9ed28d1e024b2f8f3523c0b90fb67020043c8..365f23b121e96b5df7443a4a4d105ef9e85cff92 100644 --- a/gemeinsamforschen/src/main/webapp/feedback/give-feedback.jsp +++ b/gemeinsamforschen/src/main/webapp/feedback/give-feedback.jsp @@ -2,6 +2,7 @@ <%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %> <%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %> <%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="footer" %> <!DOCTYPE html> <html> @@ -135,12 +136,8 @@ </table> </div> </div> + <footer:footer/> </div> - -<script src="js/jquery.min.js"></script> -<script src="../assets/bootstrap/js/bootstrap.min.js"></script> -<script src="js/Sidebar-Menu.js"></script> -<script src="js/createJournal.js"></script> </body> </html> \ No newline at end of file diff --git a/gemeinsamforschen/src/main/webapp/feedback/view-feedback.jsp b/gemeinsamforschen/src/main/webapp/feedback/view-feedback.jsp index 4673f4eb514b316bb8cd96f95ad277127f228c9c..b50e9f8921415b4e5fa7a16715c054c34045166e 100644 --- a/gemeinsamforschen/src/main/webapp/feedback/view-feedback.jsp +++ b/gemeinsamforschen/src/main/webapp/feedback/view-feedback.jsp @@ -2,6 +2,7 @@ <%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %> <%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %> <%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %> +<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="footer" %> <!DOCTYPE html> <html> @@ -113,7 +114,7 @@ <div></div> <div class="media-body"> <div class="media" style="overflow:visible;"> - <div><img src="../assets/img/1.jpg" class="mr-3" + <div><img src="../libs/img/1.jpg" class="mr-3" style="width: 25px; height:25px;"></div> <div class="media-body" style="overflow:visible;"> <div class="row"> @@ -135,7 +136,7 @@ <div></div> <div class="media-body"> <div class="media" style="overflow:visible;"> - <div><img src="../assets/img/2.jpg" class="mr-3" + <div><img src="../libs/img/2.jpg" class="mr-3" style="width: 25px; height:25px;"></div> <div class="media-body" style="overflow:visible;"> <div class="row"> @@ -163,11 +164,8 @@ </table> </div> </div> + <footer:footer/> </div> - -<script src="js/jquery.min.js"></script> -<script src="../assets/bootstrap/js/bootstrap.min.js"></script> -<script src="js/Sidebar-Menu.js"></script> </body> </html> diff --git a/gemeinsamforschen/src/main/webapp/project-student.jsp b/gemeinsamforschen/src/main/webapp/project-student.jsp index ccf60351f37ae9761a2e58426b12f97e1c7a222f..63562e8b66fa2b753455eb8d8b703094a1687d89 100644 --- a/gemeinsamforschen/src/main/webapp/project-student.jsp +++ b/gemeinsamforschen/src/main/webapp/project-student.jsp @@ -102,8 +102,6 @@ </tr> </table> - - <button onclick="goBack()" class="btn btn-secondary">Zurück</button> </td> </tr> </table> diff --git a/gemeinsamforschen/src/scripts/dbschema/createDummyCourses.sql b/gemeinsamforschen/src/scripts/dbschema/createDummyCourses.sql new file mode 100644 index 0000000000000000000000000000000000000000..873c6a89affc378b88bb7c2bf2bbbb438ac0f770 --- /dev/null +++ b/gemeinsamforschen/src/scripts/dbschema/createDummyCourses.sql @@ -0,0 +1,4 @@ +INSERT INTO `projects` (`id`, `password`, `active`, `timecreated`, `author`, `adminPassword`, `token`, `phase`) VALUES +('Kaleo', 'password', 1, '2018-09-07 12:13:21', 'axel', '1234', '4pingsfelmf4', 'CourseCreation'), +('gemeinsamForschen', 'password', 1, '2018-09-13 08:55:02', 'axel', '1234', '32ptng45g9', 'Execution'); +COMMIT; \ No newline at end of file diff --git a/gemeinsamforschen/src/scripts/dbschema/fltrail.sql b/gemeinsamforschen/src/scripts/dbschema/fltrail.sql index 7334c920b9272500d574d74d2ccf29d339f0570e..062476e03983706cdbc49fa9fd997c1f5a6534bf 100644 --- a/gemeinsamforschen/src/scripts/dbschema/fltrail.sql +++ b/gemeinsamforschen/src/scripts/dbschema/fltrail.sql @@ -9,16 +9,44 @@ SET time_zone = "+00:00"; /*!40101 SET NAMES utf8mb4 */; -CREATE TABLE `annotations` ( +CREATE TABLE if not exists `annotations` ( `id` varchar(120) NOT NULL, `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `userId` int(11) DEFAULT NULL, - `targetId` int(11) DEFAULT NULL, - `body` varchar(280) DEFAULT NULL, + `userToken` varchar(120) DEFAULT NULL, + `targetId` varchar(120) DEFAULT NULL, + `targetCategory` VARCHAR(30) NOT NULL, + `title` varchar(120) DEFAULT NULL, + `comment` varchar(400) DEFAULT NULL, `startCharacter` int(11) DEFAULT NULL, - `endCharacter` int(11) DEFAULT NULL + `endCharacter` int(11) DEFAULT NULL, + PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE if not exists `fullsubmissions` ( + `id` VARCHAR(120) NOT NULL, + `timestamp` TIMESTAMP on update CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + `user` VARCHAR(120) NOT NULL, + `text` MEDIUMTEXT NOT NULL, + `projectId` VARCHAR(120) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE = InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE if not exists `submissionparts` ( + `timestamp` TIMESTAMP on update CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + `userId` VARCHAR(120) NOT NULL, + `fullSubmissionId` VARCHAR(120) NOT NULL, + `category` VARCHAR(30) NOT NULL, + PRIMARY KEY (`fullSubmissionId`, `category`) +) ENGINE = InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE if not exists `submissionpartbodyelements` ( + `fullSubmissionId` VARCHAR(120) NOT NULL, + `category` VARCHAR(30) NOT NULL, + `startCharacter` int(11) NOT NULL, + `endCharacter` int(11) NOT NULL, + PRIMARY KEY (`fullSubmissionId`, `category`, `startCharacter`, `endCharacter`) +) ENGINE = InnoDB DEFAULT CHARSET=utf8; + CREATE TABLE `answeredquiz` ( `projectId` varchar(400) NOT NULL, `studentId` varchar(400) NOT NULL, @@ -96,7 +124,6 @@ CREATE TABLE `users` ( `rocketChatId` varchar(400) NOT NULL, `rocketChatAuthToken` varchar(800) NOT NULL, `isStudent` tinyint(1) DEFAULT '1' - ON UPDATE CURRENT_TIMESTAMP, ) ENGINE = InnoDB DEFAULT CHARSET = utf8; @@ -112,9 +139,6 @@ CREATE TABLE `workrating` ( `autonomous` int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -ALTER TABLE `annotations` - ADD PRIMARY KEY (`id`); - ALTER TABLE `groups` ADD PRIMARY KEY (`id`); diff --git a/gemeinsamforschen/src/scripts/dbschema/journal.sql b/gemeinsamforschen/src/scripts/dbschema/journal.sql index 16f050b3c5bba8230a1e136ffa4c86876c9f935d..e8e9ed5f3ab675341ce60e875c9611546c83f3a5 100644 --- a/gemeinsamforschen/src/scripts/dbschema/journal.sql +++ b/gemeinsamforschen/src/scripts/dbschema/journal.sql @@ -4,8 +4,8 @@ CREATE TABLE if not exists `journals` ( `id` varchar(400) NOT NULL, `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `author` varchar(400) NOT NULL, - `project` varchar(400) NOT NULL, + `studentId` varchar(400) NOT NULL, + `projectId` varchar(400) NOT NULL, `text` text, `visibility` varchar(50), `category` varchar(50), @@ -18,8 +18,8 @@ CREATE TABLE if not exists `projectDescription` ( `id` varchar(400) NOT NULL, `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `author` varchar(400) NOT NULL, - `project` varchar(400) NOT NULL, + `studentId` varchar(400) NOT NULL, + `projectId` varchar(400) NOT NULL, `text` text, `open` TINYINT(1) ) diff --git a/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/ActivityFlowTest.java b/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/ActivityFlowTest.java index 2022098901c1d33133d46ffa6ebe1268e8b960d9..284258c144cf54efabc89250533c0573edcd4e43 100644 --- a/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/ActivityFlowTest.java +++ b/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/ActivityFlowTest.java @@ -17,7 +17,7 @@ import unipotsdam.gf.core.management.Management; import unipotsdam.gf.core.management.project.Project; import unipotsdam.gf.core.management.project.ProjectConfiguration; import unipotsdam.gf.core.management.user.User; -import unipotsdam.gf.core.states.ProjectPhase; +import unipotsdam.gf.core.states.model.ProjectPhase; import unipotsdam.gf.modules.groupfinding.GroupFormationMechanism; import unipotsdam.gf.modules.groupfinding.GroupfindingCriteria; import unipotsdam.gf.modules.journal.model.Journal; diff --git a/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/PhaseTest.java b/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/PhaseTest.java index ff755d0a0e1b9a024730a3dad073dff9d1f7ed6b..8c7d831fc74d19deb2ebccfccd92624b2e0e57ce 100644 --- a/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/PhaseTest.java +++ b/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/PhaseTest.java @@ -12,7 +12,7 @@ import unipotsdam.gf.core.management.ManagementImpl; import unipotsdam.gf.core.management.project.Project; import unipotsdam.gf.core.management.user.User; import unipotsdam.gf.core.management.user.UserProfile; -import unipotsdam.gf.core.states.ProjectPhase; +import unipotsdam.gf.core.states.model.ProjectPhase; import javax.inject.Inject; public class PhaseTest { diff --git a/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/journal/model/dao/JournalDAOImplTest.java b/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/journal/model/dao/JournalDAOImplTest.java index 008ec65f6695807383dfcf4290acc293ef65e41a..d7d201f69c8a72f99538b3ba56cf9a3c32947891 100644 --- a/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/journal/model/dao/JournalDAOImplTest.java +++ b/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/journal/model/dao/JournalDAOImplTest.java @@ -31,8 +31,7 @@ public class JournalDAOImplTest { public void createJournal() { // Create Journal - Journal createJournal = testJournal; - journalDAO.createJournal(createJournal); + journalDAO.createJournal(testJournal); connection.connect(); @@ -108,13 +107,12 @@ public class JournalDAOImplTest { @Test public void deleteJournal() { - Journal deleteJournal = testJournal; //createJournal connection.connect(); // build and execute request - create(deleteJournal); + create(testJournal); //check if Journal was added ArrayList<Journal> resultJournals = getJournals(); @@ -138,14 +136,13 @@ public class JournalDAOImplTest { @Test public void getJournal() { - //create Journal - Journal getJournal = testJournal; + //createJournal connection.connect(); // build and execute request - create(getJournal); + create(testJournal); //get that Journal Journal resultJournal = journalDAO.getJournal(testId); @@ -224,8 +221,7 @@ public class JournalDAOImplTest { connection.connect(); //create Journal - Journal closeJournal = testJournal; - create(closeJournal); + create(testJournal); Journal resultJournal = getJournals().get(0); @@ -277,7 +273,7 @@ public class JournalDAOImplTest { //utility private ArrayList<Journal> getJournals() { - String request = "SELECT * FROM journals WHERE project= ?;"; + String request = "SELECT * FROM journals WHERE projectId= ?;"; VereinfachtesResultSet rs = connection.issueSelectStatement(request, testProject); ArrayList<Journal> resultJournals = new ArrayList<>(); @@ -288,7 +284,7 @@ public class JournalDAOImplTest { } private void create(Journal getJournal) { - String createRequest = "INSERT INTO journals (`id`, `author`, `project`, `text`, `visibility`,`category`, `open` ) VALUES (?,?,?,?,?,?,?);"; + String createRequest = "INSERT INTO journals (`id`, `studentId`, `projectId`, `text`, `visibility`,`category`, `open` ) VALUES (?,?,?,?,?,?,?);"; connection.issueInsertOrDeleteStatement(createRequest, getJournal.getId(), getJournal.getStudentIdentifier().getStudentId(), getJournal.getStudentIdentifier().getProjectId(), getJournal.getEntryMD(), getJournal.getVisibility(), getJournal.getCategory(), getJournal.isOpen()); } @@ -304,8 +300,8 @@ public class JournalDAOImplTest { String id = rs.getString("id"); long timestamp = rs.getTimestamp(2).getTime(); - String student = rs.getString("author"); - String project = rs.getString("project"); + String student = rs.getString("studentId"); + String project = rs.getString("projectId"); String text = rs.getString("text"); String visibility = rs.getString("visibility"); String category = rs.getString("category"); diff --git a/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/journal/model/dao/LinkDAOImplTest.java b/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/journal/model/dao/LinkDAOImplTest.java index 82b1b95d2e5711e2df937329a858027e26e3e982..151b6e7945671bcbb45c8d036a0b55cda4723915 100644 --- a/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/journal/model/dao/LinkDAOImplTest.java +++ b/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/journal/model/dao/LinkDAOImplTest.java @@ -12,14 +12,14 @@ import static org.junit.Assert.assertFalse; public class LinkDAOImplTest { - MysqlConnect connection = new MysqlConnect(); - LinkDAO linkDAO = new LinkDAOImpl(); - - String testId = "-1"; - String testProjectDescription = "testproject"; - String testName = "testname"; - String testLink = "https://www.test.de"; - Link testLinkObj = new Link(testId, testProjectDescription, testName, testLink); + private final MysqlConnect connection = new MysqlConnect(); + private final LinkDAO linkDAO = new LinkDAOImpl(); + + private final String testId = "-1"; + private final String testProjectDescription = "testproject"; + private final String testName = "testname"; + private final String testLink = "https://www.test.de"; + private final Link testLinkObj = new Link(testId, testProjectDescription, testName, testLink); @Test public void addLink() { diff --git a/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/journal/model/dao/ProjectDescriptionImplDAOTest.java b/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/journal/model/dao/ProjectDescriptionImplDAOTest.java index c63a1b8d70c2fd9251cab2852516f55a11966741..bcc98003103ad7c5d13e95336266e32b67657595 100644 --- a/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/journal/model/dao/ProjectDescriptionImplDAOTest.java +++ b/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/journal/model/dao/ProjectDescriptionImplDAOTest.java @@ -9,21 +9,19 @@ import unipotsdam.gf.modules.journal.model.ProjectDescription; import java.util.ArrayList; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; +import static org.junit.Assert.*; public class ProjectDescriptionImplDAOTest { private final ProjectDescriptionDAO descriptionDAO = new ProjectDescriptionDAOImpl(); private final MysqlConnect connection = new MysqlConnect(); - private String testId = "-1"; - private String testStudent = "testStudent"; - private String testDescription = "testDescription"; - private String testProjekt = "testProjekt"; + private final String testId = "-1"; + private final String testStudent = "testStudent"; + private final String testDescription = "testDescription"; + private final String testProjekt = "testProjekt"; - private ProjectDescription testProjectDescription = new ProjectDescription(testId, testStudent, testDescription, testProjekt, null /*Links are added in Service*/); + private final ProjectDescription testProjectDescription = new ProjectDescription(testId, testStudent, testDescription, testProjekt, null /*Links are added in Service*/); @Test public void createDescription() { @@ -82,9 +80,7 @@ public class ProjectDescriptionImplDAOTest { public void getDescriptionSI() { connection.connect(); - ProjectDescription getDescription = testProjectDescription; - - create(getDescription); + create(testProjectDescription); ProjectDescription result = descriptionDAO.getDescription(new StudentIdentifier(testProjekt, testStudent)); @@ -101,9 +97,7 @@ public class ProjectDescriptionImplDAOTest { public void getDescriptionID() { connection.connect(); - ProjectDescription getDescription = testProjectDescription; - - create(getDescription); + create(testProjectDescription); ProjectDescription result = descriptionDAO.getDescription(testId); @@ -120,9 +114,7 @@ public class ProjectDescriptionImplDAOTest { public void deleteDescription() { connection.connect(); - ProjectDescription deleteDescription = testProjectDescription; - - create(deleteDescription); + create(testProjectDescription); ArrayList<ProjectDescription> resultDescriptions = getProjectDescription(); @@ -143,9 +135,7 @@ public class ProjectDescriptionImplDAOTest { public void closeDescription() { connection.connect(); - ProjectDescription closeDescription = testProjectDescription; - - create(closeDescription); + create(testProjectDescription); ArrayList<ProjectDescription> resultDescriptions = getProjectDescription(); @@ -189,7 +179,7 @@ public class ProjectDescriptionImplDAOTest { //Utility private ArrayList<ProjectDescription> getProjectDescription() { - String request = "SELECT * FROM projectdescription WHERE project=?;"; + String request = "SELECT * FROM projectdescription WHERE projectId=?;"; VereinfachtesResultSet rs = connection.issueSelectStatement(request, testProjekt); ArrayList<ProjectDescription> resultDescriptions = new ArrayList<>(); @@ -200,7 +190,7 @@ public class ProjectDescriptionImplDAOTest { } private void create(ProjectDescription projectDescription) { - String request = "INSERT INTO projectdescription(`id`, `author`, `project`, `text`, `open`) VALUES (?,?,?,?,?);"; + String request = "INSERT INTO projectdescription(`id`, `studentId`, `projectId`, `text`, `open`) VALUES (?,?,?,?,?);"; connection.issueInsertOrDeleteStatement(request, projectDescription.getId(), projectDescription.getStudent().getStudentId(), projectDescription.getStudent().getProjectId(), projectDescription.getDescriptionMD(), projectDescription.isOpen()); } @@ -214,8 +204,8 @@ public class ProjectDescriptionImplDAOTest { private ProjectDescription getDescriptionFromResultSet(VereinfachtesResultSet rs) { String id = rs.getString("id"); long timestamp = rs.getTimestamp(2).getTime(); - String author = rs.getString("author"); - String project = rs.getString("project"); + String author = rs.getString("studentId"); + String project = rs.getString("projectId"); String text = rs.getString("text"); boolean open = rs.getBoolean("open");