diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/assignments/Assignee.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/assignments/Assignee.java new file mode 100644 index 0000000000000000000000000000000000000000..3e3df15225bbdacc627bfe7cdbe77d799fde5374 --- /dev/null +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/assignments/Assignee.java @@ -0,0 +1,15 @@ +package unipotsdam.gf.assignments; + + public enum Assignee { + AXEL, + CHRISTIAN, + KATHARINA, + LUDWIG, + MARTIN, + MIRJAM, + QUARK, + SVEN, + THOMAS + + +} diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/assignments/NotImplementedLogger.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/assignments/NotImplementedLogger.java new file mode 100644 index 0000000000000000000000000000000000000000..67e379f9a28b642da2a86de58dbcd7a0a803b3d1 --- /dev/null +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/assignments/NotImplementedLogger.java @@ -0,0 +1,69 @@ +package unipotsdam.gf.assignments; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import unipotsdam.gf.modules.communication.view.CommunicationView; +import unipotsdam.gf.modules.researchreport.ResearchReportManagement; + +import java.util.HashMap; +import java.util.concurrent.ConcurrentHashMap; + +public class NotImplementedLogger { + + private static final Logger log = LoggerFactory.getLogger(NotImplementedLogger.class); + private static final ConcurrentHashMap<String, Boolean> messagesSend = new ConcurrentHashMap<String, Boolean>(); + + public static synchronized void logAssignment(Assignee assignee, Class element) { + StringBuilder stringBuilder = new StringBuilder(); + stringBuilder.append(assignee.name()); + stringBuilder.append(": Please implement "); + stringBuilder.append(element); + String result = stringBuilder.toString(); + + if (!getMessageMap().keySet().contains(result)) { + log.info(result); + } + messagesSend.put(result, true); + } + + public static synchronized void logAssignment(Assignee assignee, Class element, String fakeMessage) { + StringBuilder stringBuilder = new StringBuilder(); + stringBuilder.append(assignee.name()); + stringBuilder.append(": Please implement "); + stringBuilder.append(element + "\n"); + stringBuilder.append("process: " + fakeMessage + "\n"); + String result = stringBuilder.toString(); + + if (!getMessageMap().keySet().contains(result)) { + log.info(result); + } + messagesSend.put(result, true); + } + + + + public static void logAssignment(Assignee assignee, Class className, String method, String fakeMessage) { + StringBuilder stringBuilder = new StringBuilder(); + stringBuilder.append(assignee.name()); + stringBuilder.append(": Please implement "); + stringBuilder.append(className.getCanonicalName()); + stringBuilder.append(":"); + stringBuilder.append(method); + stringBuilder.append("\n"); + stringBuilder.append(fakeMessage); + String result = stringBuilder.toString(); + + if (!getMessageMap().keySet().contains(result)) { + log.info(result); + } + messagesSend.put(result, true); + } + + public static synchronized ConcurrentHashMap<String, Boolean> getMessageMap() { + if (messagesSend == null) { + return new ConcurrentHashMap<String, Boolean>(); + } + return messagesSend; + } + +} diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/config/GFDatabaseConfig.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/config/GFDatabaseConfig.java index 252905102d2472eaa125f06499bbdfe1663ea254..cefe2e289c2727db459f27dc5606aa0ceb9f9d6b 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/config/GFDatabaseConfig.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/config/GFDatabaseConfig.java @@ -7,7 +7,7 @@ public class GFDatabaseConfig { public static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; public static final String DB_URL = "jdbc:mysql://localhost"; // Database credentials - public static final String USER = "root"; - public static final String PASS = ""; + public static final String USER = "root2"; + public static final String PASS = "voyager2"; public static final String DB_NAME = "fltrail"; } diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/ICommunication.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/ICommunication.java index 3370fa6586a58651923f35abd482b94bc179b2ef..2705893f7f91d50b0052c22d9171aa74de43681c 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/ICommunication.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/ICommunication.java @@ -2,6 +2,7 @@ package unipotsdam.gf.interfaces; import unipotsdam.gf.core.management.project.Project; import unipotsdam.gf.core.management.user.User; +import unipotsdam.gf.assignments.NotImplementedLogger; import unipotsdam.gf.modules.communication.model.Message; import unipotsdam.gf.modules.communication.model.chat.ChatMessage; import unipotsdam.gf.modules.communication.model.chat.ChatRoom; @@ -23,7 +24,7 @@ public interface ICommunication { List<ChatMessage> getChatHistory(String roomId); - boolean sendMessageToChat(Message message, String roomId); + boolean sendMessageToChat(Message message, String roomId) ; /** * endpoint: https://rocket.chat/docs/developer-guides/rest-api/groups/create/ @@ -45,7 +46,7 @@ public interface ICommunication { */ boolean addUserToChatRoom(String roomId, User user); - boolean removeUserFromChatRoom(User user, String roomId); + boolean removeUserFromChatRoom(User user, String roomId) ; /** * endpoint: https://rocket.chat/docs/developer-guides/rest-api/groups/settopic/ diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IGroupFinding.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IGroupFinding.java index f776d8f2f21cbaa4c613b9887986dd4e56201cd9..9b7f67050cf2a080cf0b70e191e35c31176c0622 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IGroupFinding.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IGroupFinding.java @@ -2,6 +2,7 @@ package unipotsdam.gf.interfaces; import unipotsdam.gf.core.management.group.Group; import unipotsdam.gf.core.management.project.Project; +import unipotsdam.gf.assignments.NotImplementedLogger; import unipotsdam.gf.modules.groupfinding.GroupFormationMechanism; import unipotsdam.gf.modules.groupfinding.GroupfindingCriteria; diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IJournal.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IJournal.java index 8f11eec4a9eef4c21a9d96997856224ecb411f64..6630d9f81ed28bcd5ecb4e3a9aeee9ecf795d37f 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IJournal.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IJournal.java @@ -3,6 +3,7 @@ package unipotsdam.gf.interfaces; import unipotsdam.gf.core.management.project.Project; import unipotsdam.gf.core.management.user.User; +import unipotsdam.gf.assignments.NotImplementedLogger; import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier; import unipotsdam.gf.modules.journal.model.Journal; import unipotsdam.gf.modules.researchreport.ResearchReport; @@ -22,27 +23,27 @@ public interface IJournal { * @param student StudentIdentifier * @return the journal as String (may change) */ - String exportJournal (StudentIdentifier student); + String exportJournal (StudentIdentifier student) ; /** * check if all students have prepared their portfolios to be evaluated * @return * @param project */ - Boolean getPortfoliosForEvaluationPrepared(Project project); + Boolean getPortfoliosForEvaluationPrepared(Project project) ; /** * find out, who hasn't prepared their portfolio for evaluation and send message or highlight in view * @param project */ - void assignMissingPortfolioTasks(Project project); + void assignMissingPortfolioTasks(Project project) ; /** * after user has uploaded a journal entry this function is called * @param journalEntry * @param student */ - void uploadJournalEntry(Journal journalEntry, User student); + void uploadJournalEntry(Journal journalEntry, User student) ; /** * persist final portfolio for assessment @@ -53,12 +54,12 @@ public interface IJournal { * @param presentation */ void uploadFinalPortfolio(Project project, List<Journal> journalEntries, ResearchReport finalResearchReport, File - presentation, User user); + presentation, User user) ; /** * * @param project * @return */ - HTML getFinalPortfolioForAssessment(Project project, User user); + HTML getFinalPortfolioForAssessment(Project project, User user) ; } diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPeerAssessment.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPeerAssessment.java index 07ccd75fe304acb09016ec9405eebba4ac72e72d..e204835e7693c672b2073dc9bce3839643cdadc2 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.assignments.NotImplementedLogger; import unipotsdam.gf.modules.assessment.QuizAnswer; import unipotsdam.gf.modules.assessment.controller.model.*; @@ -32,7 +33,7 @@ public interface IPeerAssessment { * * @param studentAndQuiz */ - void createQuiz(StudentAndQuiz studentAndQuiz); + void createQuiz(StudentAndQuiz studentAndQuiz) ; /** * calculate grades for everyone in a list. 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 368c39df41e9e7866efd372220eb19b16c316458..fced4060a23c7b245db8a4c8918913077a8d6b07 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 @@ -1,5 +1,7 @@ package unipotsdam.gf.modules.assessment.controller.service; +import unipotsdam.gf.assignments.Assignee; +import unipotsdam.gf.assignments.NotImplementedLogger; import unipotsdam.gf.interfaces.IPeerAssessment; import unipotsdam.gf.modules.assessment.QuizAnswer; import unipotsdam.gf.modules.assessment.controller.model.*; @@ -67,7 +69,7 @@ public class PeerAssessmentDummy implements IPeerAssessment { @Override public void answerQuiz(StudentAndQuiz studentAndQuiz, QuizAnswer quizAnswer) { - + NotImplementedLogger.logAssignment(Assignee.AXEL, IPeerAssessment.class); } @Override @@ -81,6 +83,7 @@ public class PeerAssessmentDummy implements IPeerAssessment { @Override public void createQuiz(StudentAndQuiz studentAndQuiz) { + NotImplementedLogger.logAssignment(Assignee.AXEL, PeerAssessmentDummy.class); } @Override diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/communication/service/CommunicationDummyService.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/communication/service/CommunicationDummyService.java index c9c17f71e19cf357b9b0703df97d89b93621cdba..1aa5c32fee0d669a6956d7822e9b084f294c264f 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/communication/service/CommunicationDummyService.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/communication/service/CommunicationDummyService.java @@ -4,6 +4,8 @@ import unipotsdam.gf.config.Constants; import unipotsdam.gf.core.management.Management; import unipotsdam.gf.core.management.project.Project; import unipotsdam.gf.core.management.user.User; +import unipotsdam.gf.assignments.Assignee; +import unipotsdam.gf.assignments.NotImplementedLogger; import unipotsdam.gf.interfaces.ICommunication; import unipotsdam.gf.modules.communication.model.Message; import unipotsdam.gf.modules.communication.model.chat.ChatMessage; @@ -39,7 +41,8 @@ public class CommunicationDummyService implements ICommunication { @Override public boolean sendMessageToChat(Message message, String roomId) { - return true; + NotImplementedLogger.logAssignment(Assignee.MARTIN, CommunicationDummyService.class); + return false; } @Override @@ -52,18 +55,22 @@ public class CommunicationDummyService implements ICommunication { } @Override - public boolean addUserToChatRoom(String roomId, User user) { - return true; + public boolean addUserToChatRoom(String roomId, User user) { + NotImplementedLogger.logAssignment(Assignee.MARTIN, CommunicationDummyService.class, "addUserToChatRoom"); + return false; } @Override - public boolean removeUserFromChatRoom(User user, String roomId) { - return true; + public boolean removeUserFromChatRoom(User user, String roomId) { + NotImplementedLogger.logAssignment(Assignee.MARTIN, CommunicationDummyService.class, "removing user from chat " + + "room"); + return false; } @Override public boolean setChatRoomTopic(String roomId, String topic) { - return true; + NotImplementedLogger.logAssignment(Assignee.MARTIN, CommunicationDummyService.class, "setting chat room topic"); + return false; } @Override @@ -102,15 +109,17 @@ public class CommunicationDummyService implements ICommunication { } @Override - public void sendSingleMessage(Message message, User user) { + public void sendSingleMessage(Message message, User user) { // TODO implement as email or directed message, popup after login or whatever - System.out.println("sending email with message: "+ message.getMessage() + " to: "+ user.getEmail()); + String message2 = "sending email with message: "+ message.getMessage() + " to: "+ user.getEmail(); + NotImplementedLogger.logAssignment(Assignee.MARTIN, CommunicationDummyService.class, message2); } @Override public void sendMessageToUsers(Project project, String message) { // TODO implement as email or directed message, popup after login or whatever - System.out.println("sending email with message: "+ message + " to: "+ project.getId()); + String message2 = "sending email with message: "+ message + " to: "+ project.getId(); + NotImplementedLogger.logAssignment(Assignee.MARTIN, CommunicationDummyService.class, message2); } // TODO: remove after done implementing diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/DummyGroupfinding.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/DummyGroupfinding.java index 1afe531452428511fac7d179801c537f5227d35a..c7f3f4577a605f80f6f2a3109445834140d28ce1 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/DummyGroupfinding.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/DummyGroupfinding.java @@ -2,29 +2,33 @@ package unipotsdam.gf.modules.groupfinding; import unipotsdam.gf.core.management.group.Group; import unipotsdam.gf.core.management.project.Project; +import unipotsdam.gf.assignments.Assignee; +import unipotsdam.gf.assignments.NotImplementedLogger; import unipotsdam.gf.interfaces.IGroupFinding; +import java.util.ArrayList; import java.util.List; public class DummyGroupfinding implements IGroupFinding { @Override - public void selectGroupfindingCriteria(GroupfindingCriteria groupfindingCriteria) { - + public void selectGroupfindingCriteria(GroupfindingCriteria groupfindingCriteria) { + NotImplementedLogger.logAssignment(Assignee.MIRJAM, IGroupFinding.class); } @Override public void persistGroups( - List<Group> groupComposition, Project project) { - + List<Group> groupComposition, Project project){ + NotImplementedLogger.logAssignment(Assignee.MIRJAM, IGroupFinding.class); } @Override public List<Group> getGroups(Project project) { - return null; + NotImplementedLogger.logAssignment(Assignee.MIRJAM, IGroupFinding.class); + return new ArrayList<>(); } @Override public void formGroups(GroupFormationMechanism groupFindingMechanism) { - + NotImplementedLogger.logAssignment(Assignee.MIRJAM, IGroupFinding.class); } } diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/DummyJournalImpl.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/DummyJournalImpl.java index ea5bc7e48132e436094ab4c4db783536e0937a4d..6ea1ea3526226d625dc486eb4d9ca57841c2a519 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/DummyJournalImpl.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/DummyJournalImpl.java @@ -4,6 +4,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import unipotsdam.gf.core.management.project.Project; import unipotsdam.gf.core.management.user.User; +import unipotsdam.gf.assignments.Assignee; +import unipotsdam.gf.assignments.NotImplementedLogger; import unipotsdam.gf.interfaces.IJournal; import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier; import unipotsdam.gf.modules.journal.model.Journal; @@ -19,39 +21,38 @@ public class DummyJournalImpl implements IJournal { private Logger log = LoggerFactory.getLogger(DummyJournalImpl.class); @Override - public String exportJournal(StudentIdentifier student) { - // TODO Impl was macht das hier? - + public String exportJournal(StudentIdentifier student) { + NotImplementedLogger.logAssignment(Assignee.THOMAS, IJournal.class); return null; } @Override - public Boolean getPortfoliosForEvaluationPrepared(Project project) { - - log.debug("checking fake constraints for the portfolio evaluation"); + public Boolean getPortfoliosForEvaluationPrepared(Project project) { + NotImplementedLogger.logAssignment(Assignee.THOMAS, IJournal.class); return false; } @Override public void assignMissingPortfolioTasks(Project project) { - log.debug("assigning fake MissingPortfolioTasks"); + NotImplementedLogger.logAssignment(Assignee.THOMAS, IJournal.class); } @Override public void uploadJournalEntry(Journal journalEntry, User student) { - + NotImplementedLogger.logAssignment(Assignee.THOMAS, IJournal.class); } @Override public void uploadFinalPortfolio( Project project, List<Journal> journalEntries, ResearchReport finalResearchReport, File presentation, - User user) { - + User user) { + NotImplementedLogger.logAssignment(Assignee.THOMAS, IJournal.class); } @Override public HTML getFinalPortfolioForAssessment( - Project project, User user) { + Project project, User user) { + NotImplementedLogger.logAssignment(Assignee.THOMAS, IJournal.class); return null; } } 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 c24769c309522632fa10ff82955a6c3e435afeed..b8098bebafa5b556b4403ef1ac256b7ac1450d2b 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/peer2peerfeedback/DummyFeedback.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/peer2peerfeedback/DummyFeedback.java @@ -3,6 +3,8 @@ package unipotsdam.gf.modules.peer2peerfeedback; import org.mockito.Mockito; import uk.co.jemos.podam.api.PodamFactory; import uk.co.jemos.podam.api.PodamFactoryImpl; +import unipotsdam.gf.assignments.Assignee; +import unipotsdam.gf.assignments.NotImplementedLogger; import unipotsdam.gf.core.management.project.Project; import unipotsdam.gf.core.management.user.User; import unipotsdam.gf.interfaces.Feedback; @@ -49,13 +51,15 @@ public class DummyFeedback implements Feedback { @Override public Boolean checkFeedbackConstraints(Project project) { // TODO implement cornstaints - System.out.println("Checking fake constraints"); + NotImplementedLogger.logAssignment(Assignee.KATHARINA, Feedback.class, "check Feedback constraints", + "checking feedback constraints "); return missingTaskAssigned; } @Override public void assigningMissingFeedbackTasks(Project project) { - System.out.println("assigning fake tasks"); + NotImplementedLogger.logAssignment(Assignee.KATHARINA, Feedback.class, "assigningMissingFeedbackTasks", + "assigning feedback tasks "); missingTaskAssigned = true; } diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/researchreport/DummyResearchReportManagement.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/researchreport/DummyResearchReportManagement.java index 7f7c0967e5089a13c9221e348048d5fd04e53e32..b383fe36766219dde8c5ebcbef5a5395124d513f 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/researchreport/DummyResearchReportManagement.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/researchreport/DummyResearchReportManagement.java @@ -4,6 +4,8 @@ import uk.co.jemos.podam.api.PodamFactory; import uk.co.jemos.podam.api.PodamFactoryImpl; import unipotsdam.gf.core.management.project.Project; import unipotsdam.gf.core.management.user.User; +import unipotsdam.gf.assignments.Assignee; +import unipotsdam.gf.assignments.NotImplementedLogger; import unipotsdam.gf.interfaces.Feedback; import javax.inject.Inject; @@ -37,24 +39,27 @@ public class DummyResearchReportManagement implements ResearchReportManagement { } @Override - public boolean updateResearchReport(ResearchReport researchReport) { + public boolean updateResearchReport(ResearchReport researchReport) { + NotImplementedLogger.logAssignment(Assignee.QUARK, ResearchReportManagement.class, null, "updateResearchReport"); return false; } @Override - public boolean deleteReport(ResearchReport researchReport) { + public boolean deleteReport(ResearchReport researchReport) { + NotImplementedLogger.logAssignment(Assignee.QUARK, ResearchReportManagement.class); return false; } @Override public File getResearchReport(ResearchReport researchReport) { + NotImplementedLogger.logAssignment(Assignee.QUARK, ResearchReportManagement.class); return null; } @Override public void createFinalResearchReport( ResearchReport researchReport, Project project, User student) { - + NotImplementedLogger.logAssignment(Assignee.QUARK, ResearchReportManagement.class); } @Override diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/researchreport/ResearchReportManagement.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/researchreport/ResearchReportManagement.java index edcce596bc9697f853b32f89ca46b3b861b53d37..c2226c52f436fae65caaa6962cb3b9faaf45b69a 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/researchreport/ResearchReportManagement.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/researchreport/ResearchReportManagement.java @@ -2,6 +2,7 @@ package unipotsdam.gf.modules.researchreport; import unipotsdam.gf.core.management.project.Project; import unipotsdam.gf.core.management.user.User; +import unipotsdam.gf.assignments.NotImplementedLogger; import unipotsdam.gf.interfaces.Feedback; import java.io.File; @@ -31,14 +32,14 @@ public interface ResearchReportManagement { * @param researchReport Name of the Report * @return Returns if the report is updated */ - boolean updateResearchReport(ResearchReport researchReport); + boolean updateResearchReport(ResearchReport researchReport) ; /** * Delete a File * * @param researchReport Name of the Report */ - boolean deleteReport(ResearchReport researchReport); + boolean deleteReport(ResearchReport researchReport) ; /** @@ -46,7 +47,7 @@ public interface ResearchReportManagement { * @param researchReport Name of the Report * @return Returns the Report */ - File getResearchReport(ResearchReport researchReport); + File getResearchReport(ResearchReport researchReport) ; /** @@ -57,7 +58,8 @@ public interface ResearchReportManagement { * @param project * @param student */ - void createFinalResearchReport(ResearchReport researchReport, Project project, User student); + void createFinalResearchReport(ResearchReport researchReport, Project project, User student) + ; /** * the dependency to feedback should be settable externally for test reasons