Skip to content
Snippets Groups Projects
Commit 769e315f authored by Julian Dehne's avatar Julian Dehne
Browse files

feat: added better logging to activities Test

parent 750e4863
No related branches found
No related tags found
No related merge requests found
Showing
with 163 additions and 47 deletions
package unipotsdam.gf.assignments;
public enum Assignee {
AXEL,
CHRISTIAN,
KATHARINA,
LUDWIG,
MARTIN,
MIRJAM,
QUARK,
SVEN,
THOMAS
}
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;
}
}
...@@ -7,7 +7,7 @@ public class GFDatabaseConfig { ...@@ -7,7 +7,7 @@ public class GFDatabaseConfig {
public static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; public static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
public static final String DB_URL = "jdbc:mysql://localhost"; public static final String DB_URL = "jdbc:mysql://localhost";
// Database credentials // Database credentials
public static final String USER = "root"; public static final String USER = "root2";
public static final String PASS = ""; public static final String PASS = "voyager2";
public static final String DB_NAME = "fltrail"; public static final String DB_NAME = "fltrail";
} }
...@@ -2,6 +2,7 @@ package unipotsdam.gf.interfaces; ...@@ -2,6 +2,7 @@ package unipotsdam.gf.interfaces;
import unipotsdam.gf.core.management.project.Project; import unipotsdam.gf.core.management.project.Project;
import unipotsdam.gf.core.management.user.User; 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.Message;
import unipotsdam.gf.modules.communication.model.chat.ChatMessage; import unipotsdam.gf.modules.communication.model.chat.ChatMessage;
import unipotsdam.gf.modules.communication.model.chat.ChatRoom; import unipotsdam.gf.modules.communication.model.chat.ChatRoom;
...@@ -23,7 +24,7 @@ public interface ICommunication { ...@@ -23,7 +24,7 @@ public interface ICommunication {
List<ChatMessage> getChatHistory(String roomId); 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/ * endpoint: https://rocket.chat/docs/developer-guides/rest-api/groups/create/
...@@ -45,7 +46,7 @@ public interface ICommunication { ...@@ -45,7 +46,7 @@ public interface ICommunication {
*/ */
boolean addUserToChatRoom(String roomId, User user); 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/ * endpoint: https://rocket.chat/docs/developer-guides/rest-api/groups/settopic/
......
...@@ -2,6 +2,7 @@ package unipotsdam.gf.interfaces; ...@@ -2,6 +2,7 @@ package unipotsdam.gf.interfaces;
import unipotsdam.gf.core.management.group.Group; import unipotsdam.gf.core.management.group.Group;
import unipotsdam.gf.core.management.project.Project; import unipotsdam.gf.core.management.project.Project;
import unipotsdam.gf.assignments.NotImplementedLogger;
import unipotsdam.gf.modules.groupfinding.GroupFormationMechanism; import unipotsdam.gf.modules.groupfinding.GroupFormationMechanism;
import unipotsdam.gf.modules.groupfinding.GroupfindingCriteria; import unipotsdam.gf.modules.groupfinding.GroupfindingCriteria;
......
...@@ -3,6 +3,7 @@ package unipotsdam.gf.interfaces; ...@@ -3,6 +3,7 @@ package unipotsdam.gf.interfaces;
import unipotsdam.gf.core.management.project.Project; import unipotsdam.gf.core.management.project.Project;
import unipotsdam.gf.core.management.user.User; import unipotsdam.gf.core.management.user.User;
import unipotsdam.gf.assignments.NotImplementedLogger;
import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier; import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
import unipotsdam.gf.modules.journal.model.Journal; import unipotsdam.gf.modules.journal.model.Journal;
import unipotsdam.gf.modules.researchreport.ResearchReport; import unipotsdam.gf.modules.researchreport.ResearchReport;
...@@ -22,27 +23,27 @@ public interface IJournal { ...@@ -22,27 +23,27 @@ public interface IJournal {
* @param student StudentIdentifier * @param student StudentIdentifier
* @return the journal as String (may change) * @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 * check if all students have prepared their portfolios to be evaluated
* @return * @return
* @param project * @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 * find out, who hasn't prepared their portfolio for evaluation and send message or highlight in view
* @param project * @param project
*/ */
void assignMissingPortfolioTasks(Project project); void assignMissingPortfolioTasks(Project project) ;
/** /**
* after user has uploaded a journal entry this function is called * after user has uploaded a journal entry this function is called
* @param journalEntry * @param journalEntry
* @param student * @param student
*/ */
void uploadJournalEntry(Journal journalEntry, User student); void uploadJournalEntry(Journal journalEntry, User student) ;
/** /**
* persist final portfolio for assessment * persist final portfolio for assessment
...@@ -53,12 +54,12 @@ public interface IJournal { ...@@ -53,12 +54,12 @@ public interface IJournal {
* @param presentation * @param presentation
*/ */
void uploadFinalPortfolio(Project project, List<Journal> journalEntries, ResearchReport finalResearchReport, File void uploadFinalPortfolio(Project project, List<Journal> journalEntries, ResearchReport finalResearchReport, File
presentation, User user); presentation, User user) ;
/** /**
* *
* @param project * @param project
* @return * @return
*/ */
HTML getFinalPortfolioForAssessment(Project project, User user); HTML getFinalPortfolioForAssessment(Project project, User user) ;
} }
package unipotsdam.gf.interfaces; package unipotsdam.gf.interfaces;
import unipotsdam.gf.assignments.NotImplementedLogger;
import unipotsdam.gf.modules.assessment.QuizAnswer; import unipotsdam.gf.modules.assessment.QuizAnswer;
import unipotsdam.gf.modules.assessment.controller.model.*; import unipotsdam.gf.modules.assessment.controller.model.*;
...@@ -32,7 +33,7 @@ public interface IPeerAssessment { ...@@ -32,7 +33,7 @@ public interface IPeerAssessment {
* *
* @param studentAndQuiz * @param studentAndQuiz
*/ */
void createQuiz(StudentAndQuiz studentAndQuiz); void createQuiz(StudentAndQuiz studentAndQuiz) ;
/** /**
* calculate grades for everyone in a list. * calculate grades for everyone in a list.
......
package unipotsdam.gf.modules.assessment.controller.service; 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.interfaces.IPeerAssessment;
import unipotsdam.gf.modules.assessment.QuizAnswer; import unipotsdam.gf.modules.assessment.QuizAnswer;
import unipotsdam.gf.modules.assessment.controller.model.*; import unipotsdam.gf.modules.assessment.controller.model.*;
...@@ -67,7 +69,7 @@ public class PeerAssessmentDummy implements IPeerAssessment { ...@@ -67,7 +69,7 @@ public class PeerAssessmentDummy implements IPeerAssessment {
@Override @Override
public void answerQuiz(StudentAndQuiz studentAndQuiz, QuizAnswer quizAnswer) { public void answerQuiz(StudentAndQuiz studentAndQuiz, QuizAnswer quizAnswer) {
NotImplementedLogger.logAssignment(Assignee.AXEL, IPeerAssessment.class);
} }
@Override @Override
...@@ -81,6 +83,7 @@ public class PeerAssessmentDummy implements IPeerAssessment { ...@@ -81,6 +83,7 @@ public class PeerAssessmentDummy implements IPeerAssessment {
@Override @Override
public void createQuiz(StudentAndQuiz studentAndQuiz) { public void createQuiz(StudentAndQuiz studentAndQuiz) {
NotImplementedLogger.logAssignment(Assignee.AXEL, PeerAssessmentDummy.class);
} }
@Override @Override
......
...@@ -4,6 +4,8 @@ import unipotsdam.gf.config.Constants; ...@@ -4,6 +4,8 @@ import unipotsdam.gf.config.Constants;
import unipotsdam.gf.core.management.Management; import unipotsdam.gf.core.management.Management;
import unipotsdam.gf.core.management.project.Project; import unipotsdam.gf.core.management.project.Project;
import unipotsdam.gf.core.management.user.User; 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.interfaces.ICommunication;
import unipotsdam.gf.modules.communication.model.Message; import unipotsdam.gf.modules.communication.model.Message;
import unipotsdam.gf.modules.communication.model.chat.ChatMessage; import unipotsdam.gf.modules.communication.model.chat.ChatMessage;
...@@ -39,7 +41,8 @@ public class CommunicationDummyService implements ICommunication { ...@@ -39,7 +41,8 @@ public class CommunicationDummyService implements ICommunication {
@Override @Override
public boolean sendMessageToChat(Message message, String roomId) { public boolean sendMessageToChat(Message message, String roomId) {
return true; NotImplementedLogger.logAssignment(Assignee.MARTIN, CommunicationDummyService.class);
return false;
} }
@Override @Override
...@@ -52,18 +55,22 @@ public class CommunicationDummyService implements ICommunication { ...@@ -52,18 +55,22 @@ public class CommunicationDummyService implements ICommunication {
} }
@Override @Override
public boolean addUserToChatRoom(String roomId, User user) { public boolean addUserToChatRoom(String roomId, User user) {
return true; NotImplementedLogger.logAssignment(Assignee.MARTIN, CommunicationDummyService.class, "addUserToChatRoom");
return false;
} }
@Override @Override
public boolean removeUserFromChatRoom(User user, String roomId) { public boolean removeUserFromChatRoom(User user, String roomId) {
return true; NotImplementedLogger.logAssignment(Assignee.MARTIN, CommunicationDummyService.class, "removing user from chat " +
"room");
return false;
} }
@Override @Override
public boolean setChatRoomTopic(String roomId, String topic) { public boolean setChatRoomTopic(String roomId, String topic) {
return true; NotImplementedLogger.logAssignment(Assignee.MARTIN, CommunicationDummyService.class, "setting chat room topic");
return false;
} }
@Override @Override
...@@ -102,15 +109,17 @@ public class CommunicationDummyService implements ICommunication { ...@@ -102,15 +109,17 @@ public class CommunicationDummyService implements ICommunication {
} }
@Override @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 // 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 @Override
public void sendMessageToUsers(Project project, String message) { public void sendMessageToUsers(Project project, String message) {
// TODO implement as email or directed message, popup after login or whatever // 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 // TODO: remove after done implementing
......
...@@ -2,29 +2,33 @@ package unipotsdam.gf.modules.groupfinding; ...@@ -2,29 +2,33 @@ package unipotsdam.gf.modules.groupfinding;
import unipotsdam.gf.core.management.group.Group; import unipotsdam.gf.core.management.group.Group;
import unipotsdam.gf.core.management.project.Project; import unipotsdam.gf.core.management.project.Project;
import unipotsdam.gf.assignments.Assignee;
import unipotsdam.gf.assignments.NotImplementedLogger;
import unipotsdam.gf.interfaces.IGroupFinding; import unipotsdam.gf.interfaces.IGroupFinding;
import java.util.ArrayList;
import java.util.List; import java.util.List;
public class DummyGroupfinding implements IGroupFinding { public class DummyGroupfinding implements IGroupFinding {
@Override @Override
public void selectGroupfindingCriteria(GroupfindingCriteria groupfindingCriteria) { public void selectGroupfindingCriteria(GroupfindingCriteria groupfindingCriteria) {
NotImplementedLogger.logAssignment(Assignee.MIRJAM, IGroupFinding.class);
} }
@Override @Override
public void persistGroups( public void persistGroups(
List<Group> groupComposition, Project project) { List<Group> groupComposition, Project project){
NotImplementedLogger.logAssignment(Assignee.MIRJAM, IGroupFinding.class);
} }
@Override @Override
public List<Group> getGroups(Project project) { public List<Group> getGroups(Project project) {
return null; NotImplementedLogger.logAssignment(Assignee.MIRJAM, IGroupFinding.class);
return new ArrayList<>();
} }
@Override @Override
public void formGroups(GroupFormationMechanism groupFindingMechanism) { public void formGroups(GroupFormationMechanism groupFindingMechanism) {
NotImplementedLogger.logAssignment(Assignee.MIRJAM, IGroupFinding.class);
} }
} }
...@@ -4,6 +4,8 @@ import org.slf4j.Logger; ...@@ -4,6 +4,8 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import unipotsdam.gf.core.management.project.Project; import unipotsdam.gf.core.management.project.Project;
import unipotsdam.gf.core.management.user.User; 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.interfaces.IJournal;
import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier; import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
import unipotsdam.gf.modules.journal.model.Journal; import unipotsdam.gf.modules.journal.model.Journal;
...@@ -19,39 +21,38 @@ public class DummyJournalImpl implements IJournal { ...@@ -19,39 +21,38 @@ public class DummyJournalImpl implements IJournal {
private Logger log = LoggerFactory.getLogger(DummyJournalImpl.class); private Logger log = LoggerFactory.getLogger(DummyJournalImpl.class);
@Override @Override
public String exportJournal(StudentIdentifier student) { public String exportJournal(StudentIdentifier student) {
// TODO Impl was macht das hier? NotImplementedLogger.logAssignment(Assignee.THOMAS, IJournal.class);
return null; return null;
} }
@Override @Override
public Boolean getPortfoliosForEvaluationPrepared(Project project) { public Boolean getPortfoliosForEvaluationPrepared(Project project) {
NotImplementedLogger.logAssignment(Assignee.THOMAS, IJournal.class);
log.debug("checking fake constraints for the portfolio evaluation");
return false; return false;
} }
@Override @Override
public void assignMissingPortfolioTasks(Project project) { public void assignMissingPortfolioTasks(Project project) {
log.debug("assigning fake MissingPortfolioTasks"); NotImplementedLogger.logAssignment(Assignee.THOMAS, IJournal.class);
} }
@Override @Override
public void uploadJournalEntry(Journal journalEntry, User student) { public void uploadJournalEntry(Journal journalEntry, User student) {
NotImplementedLogger.logAssignment(Assignee.THOMAS, IJournal.class);
} }
@Override @Override
public void uploadFinalPortfolio( public void uploadFinalPortfolio(
Project project, List<Journal> journalEntries, ResearchReport finalResearchReport, File presentation, Project project, List<Journal> journalEntries, ResearchReport finalResearchReport, File presentation,
User user) { User user) {
NotImplementedLogger.logAssignment(Assignee.THOMAS, IJournal.class);
} }
@Override @Override
public HTML getFinalPortfolioForAssessment( public HTML getFinalPortfolioForAssessment(
Project project, User user) { Project project, User user) {
NotImplementedLogger.logAssignment(Assignee.THOMAS, IJournal.class);
return null; return null;
} }
} }
...@@ -3,6 +3,8 @@ package unipotsdam.gf.modules.peer2peerfeedback; ...@@ -3,6 +3,8 @@ package unipotsdam.gf.modules.peer2peerfeedback;
import org.mockito.Mockito; import org.mockito.Mockito;
import uk.co.jemos.podam.api.PodamFactory; import uk.co.jemos.podam.api.PodamFactory;
import uk.co.jemos.podam.api.PodamFactoryImpl; 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.project.Project;
import unipotsdam.gf.core.management.user.User; import unipotsdam.gf.core.management.user.User;
import unipotsdam.gf.interfaces.Feedback; import unipotsdam.gf.interfaces.Feedback;
...@@ -49,13 +51,15 @@ public class DummyFeedback implements Feedback { ...@@ -49,13 +51,15 @@ public class DummyFeedback implements Feedback {
@Override @Override
public Boolean checkFeedbackConstraints(Project project) { public Boolean checkFeedbackConstraints(Project project) {
// TODO implement cornstaints // TODO implement cornstaints
System.out.println("Checking fake constraints"); NotImplementedLogger.logAssignment(Assignee.KATHARINA, Feedback.class, "check Feedback constraints",
"checking feedback constraints ");
return missingTaskAssigned; return missingTaskAssigned;
} }
@Override @Override
public void assigningMissingFeedbackTasks(Project project) { public void assigningMissingFeedbackTasks(Project project) {
System.out.println("assigning fake tasks"); NotImplementedLogger.logAssignment(Assignee.KATHARINA, Feedback.class, "assigningMissingFeedbackTasks",
"assigning feedback tasks ");
missingTaskAssigned = true; missingTaskAssigned = true;
} }
......
...@@ -4,6 +4,8 @@ import uk.co.jemos.podam.api.PodamFactory; ...@@ -4,6 +4,8 @@ import uk.co.jemos.podam.api.PodamFactory;
import uk.co.jemos.podam.api.PodamFactoryImpl; import uk.co.jemos.podam.api.PodamFactoryImpl;
import unipotsdam.gf.core.management.project.Project; import unipotsdam.gf.core.management.project.Project;
import unipotsdam.gf.core.management.user.User; import unipotsdam.gf.core.management.user.User;
import unipotsdam.gf.assignments.Assignee;
import unipotsdam.gf.assignments.NotImplementedLogger;
import unipotsdam.gf.interfaces.Feedback; import unipotsdam.gf.interfaces.Feedback;
import javax.inject.Inject; import javax.inject.Inject;
...@@ -37,24 +39,27 @@ public class DummyResearchReportManagement implements ResearchReportManagement { ...@@ -37,24 +39,27 @@ public class DummyResearchReportManagement implements ResearchReportManagement {
} }
@Override @Override
public boolean updateResearchReport(ResearchReport researchReport) { public boolean updateResearchReport(ResearchReport researchReport) {
NotImplementedLogger.logAssignment(Assignee.QUARK, ResearchReportManagement.class, null, "updateResearchReport");
return false; return false;
} }
@Override @Override
public boolean deleteReport(ResearchReport researchReport) { public boolean deleteReport(ResearchReport researchReport) {
NotImplementedLogger.logAssignment(Assignee.QUARK, ResearchReportManagement.class);
return false; return false;
} }
@Override @Override
public File getResearchReport(ResearchReport researchReport) { public File getResearchReport(ResearchReport researchReport) {
NotImplementedLogger.logAssignment(Assignee.QUARK, ResearchReportManagement.class);
return null; return null;
} }
@Override @Override
public void createFinalResearchReport( public void createFinalResearchReport(
ResearchReport researchReport, Project project, User student) { ResearchReport researchReport, Project project, User student) {
NotImplementedLogger.logAssignment(Assignee.QUARK, ResearchReportManagement.class);
} }
@Override @Override
......
...@@ -2,6 +2,7 @@ package unipotsdam.gf.modules.researchreport; ...@@ -2,6 +2,7 @@ package unipotsdam.gf.modules.researchreport;
import unipotsdam.gf.core.management.project.Project; import unipotsdam.gf.core.management.project.Project;
import unipotsdam.gf.core.management.user.User; import unipotsdam.gf.core.management.user.User;
import unipotsdam.gf.assignments.NotImplementedLogger;
import unipotsdam.gf.interfaces.Feedback; import unipotsdam.gf.interfaces.Feedback;
import java.io.File; import java.io.File;
...@@ -31,14 +32,14 @@ public interface ResearchReportManagement { ...@@ -31,14 +32,14 @@ public interface ResearchReportManagement {
* @param researchReport Name of the Report * @param researchReport Name of the Report
* @return Returns if the report is updated * @return Returns if the report is updated
*/ */
boolean updateResearchReport(ResearchReport researchReport); boolean updateResearchReport(ResearchReport researchReport) ;
/** /**
* Delete a File * Delete a File
* *
* @param researchReport Name of the Report * @param researchReport Name of the Report
*/ */
boolean deleteReport(ResearchReport researchReport); boolean deleteReport(ResearchReport researchReport) ;
/** /**
...@@ -46,7 +47,7 @@ public interface ResearchReportManagement { ...@@ -46,7 +47,7 @@ public interface ResearchReportManagement {
* @param researchReport Name of the Report * @param researchReport Name of the Report
* @return Returns the Report * @return Returns the Report
*/ */
File getResearchReport(ResearchReport researchReport); File getResearchReport(ResearchReport researchReport) ;
/** /**
...@@ -57,7 +58,8 @@ public interface ResearchReportManagement { ...@@ -57,7 +58,8 @@ public interface ResearchReportManagement {
* @param project * @param project
* @param student * @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 * the dependency to feedback should be settable externally for test reasons
......
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