Skip to content
Snippets Groups Projects
Commit 76c3620f authored by tudtianus's avatar tudtianus
Browse files

feat: connect Journal to DB

parent 5bbfe9e6
No related branches found
No related tags found
No related merge requests found
......@@ -149,7 +149,6 @@ public class JournalDAOImpl implements JournalDAO {
}
@Override
public void closeJournal(String id) {
// establish connection
......@@ -164,7 +163,13 @@ public class JournalDAOImpl implements JournalDAO {
connection.close();
}
public boolean existsJournalId(String annotationId) {
/**
* Checks if uuid ist used
*
* @param journalId uuid
* @return true if free
*/
public boolean existsJournalId(String journalId) {
// establish connection
MysqlConnect connection = new MysqlConnect();
......@@ -172,7 +177,7 @@ public class JournalDAOImpl implements JournalDAO {
// build and execute request
String request = "SELECT COUNT(*) > 0 AS `exists` FROM journals WHERE id = ?;";
VereinfachtesResultSet rs = connection.issueSelectStatement(request, annotationId);
VereinfachtesResultSet rs = connection.issueSelectStatement(request, journalId);
if (rs.next()) {
// save the response
......@@ -194,6 +199,12 @@ public class JournalDAOImpl implements JournalDAO {
}
/**
* extracts a journal from VereinfachtesResultSet
*
* @param rs VereinfachtesResultSet
* @return journal
*/
private Journal getJournalFromResultSet(VereinfachtesResultSet rs) {
String id = rs.getString("id");
......
//package unipotsdam.gf.modules.journal.service;
//
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
//import unipotsdam.gf.modules.journal.model.Journal;
//import unipotsdam.gf.modules.journal.model.JournalFilter;
//import unipotsdam.gf.modules.journal.model.Visibility;
//
//import java.util.ArrayList;
//import java.util.Calendar;
//
///**
// * Service Implementation to test rest, no Database operations
// */
//
//public class DummyJournalService implements JournalService {
//
// private final Logger log = LoggerFactory.getLogger(DummyJournalService.class);
//
//
// private final Calendar cal = Calendar.getInstance();
//
// private long id = 4;
//
// private ArrayList<Journal> journals = new ArrayList<>();
//
// public DummyJournalService(){
//
// resetList();
// }
//
// @Override
// public Journal getJournal(String id) {
// for (Journal j : journals) {
// if(j.getId() == Long.valueOf(id)){
// return j;
// }
// }
// return null;
// }
//
// @Override
// public ArrayList<Journal> getAllJournals(String student, String project, JournalFilter filter) {
// log.debug(">> get all journals(" + student + "," + project + "," + filter + ")");
//
// ArrayList<Journal> result = new ArrayList<>();
//
// for (Journal j: journals) {
//
// //always show own Journals
// if(j.getStudentIdentifier().getStudentId().equals(student)){
// result.add(j);
// }else{
//
// // if Visibility All, show if Filter allows it
// if (j.getVisibility() == Visibility.ALL && filter==JournalFilter.ALL){
// result.add(j);
// }
//
// //If Visibility Group, show if student is in group and filter allows it
// //TODO: project != Group, for testing ok, change for real Service
// if (j.getVisibility()== Visibility.GROUP && j.getStudentIdentifier().getProjectId().equals(project) && filter == JournalFilter.ALL){
// result.add(j);
// }
//
// //TODO if Dozent
// }
//
// }
// log.debug("<< get all journals(" + student , "," + project + ")");
//
// return result;
// }
//
// @Override
// public ArrayList<Journal> getAllJournals(String student, String project) {
// return getAllJournals(student,project,JournalFilter.ALL);
// }
//
// @Override
// public boolean saveJournal(long id, String student, String project, String text, String visibility, String category) {
// if (id == -1){
//
// StudentIdentifier studentId = new StudentIdentifier(student,project);
// journals.add(new Journal(this.id++, studentId, text , cal.getTimeInMillis(), stringToVisibility(visibility) , category));
//
// } else {
// for (Journal j : journals){
// if(j.getId() == id){
// j.setEntry(text);
// j.setVisibility(stringToVisibility(visibility));
// j.setCategory(category);
// }
// }
// resetList();
// }
// return true;
// }
//
// @Override
// public boolean deleteJournal(long id) {
// for (Journal j : journals) {
// if (j.getId() == id) {
// journals.remove(j);
// return true;
// }
// }
// return false;
// }
//
// @Override
// public void closeJournal(String journal) {
//
// }
//
// private Visibility stringToVisibility(String visibility) {
// // If String does not match enum IllegalArgumentException
// Visibility v ;
// try{
// v = Visibility.valueOf(visibility);
// }catch (IllegalArgumentException e){
// v = Visibility.MINE;
// log.debug("Illegal argument for visibility, default to MINE");
// }
// return v;
// }
//
// private void resetList() {
//
// StudentIdentifier studentIdentifier = new StudentIdentifier("0","0");
// StudentIdentifier studentIdentifier2 = new StudentIdentifier("0","1");
//
// String test = "**nec** nec facilisis nibh, sed sagittis tortor. Suspendisse vel felis ac leo dignissim efficitur. Nunc non egestas eros, sit amet vestibulum nunc. Sed bibendum varius molestie. Proin augue mauris, mollis sed efficitur efficitur, sagittis quis eros. Praesent tincidunt tincidunt porttitor. Maecenas quis ornare tellus. Nunc euismod vestibulum neque, sed luctus neque convallis in. Duis molestie ex ut nunc dignissim condimentum ut vitae dui. Vestibulum diam lorem, eleifend sit amet lobortis nec, vulputate a leo. In nec ante felis. Maecenas interdum nunc et odio placerat fringilla. Aenean felis purus, mollis id lectus non, fringilla tincidunt mi. Nunc sed rutrum ex, vel tempus odio.";
//
// Journal j1 = new Journal(0,studentIdentifier,test, cal.getTimeInMillis() , Visibility.ALL, "Recherche");
// j1.setAuthor("Test Test");
// Journal j2 = new Journal(1,studentIdentifier,test, cal.getTimeInMillis() , Visibility.MINE, "Untersuchungskonzept");
// j2.setAuthor("Test Test");
// Journal j3 = new Journal(2,studentIdentifier,test, cal.getTimeInMillis() , Visibility.GROUP, "Methodik");
// j3.setAuthor("Test Test");
// Journal j4 = new Journal(3,studentIdentifier,test, cal.getTimeInMillis() , Visibility.DOZENT ,"Recherche");
// j4.setAuthor("Test Test");
// Journal j5 = new Journal(4,studentIdentifier2,test, cal.getTimeInMillis() , Visibility.GROUP, "Durchführung");
// j5.setAuthor("ASD DSA");
//
// journals = new ArrayList<>();
//
// journals.add(j1);
// journals.add(j2);
// journals.add(j3);
// journals.add(j4);
// journals.add(j5);
//
// }
//
//
//
//}
......@@ -54,31 +54,44 @@ public class JournalServiceImpl implements JournalService {
@Override
public ArrayList<Journal> getAllJournals(String student, String project) {
log.debug(">> get all journals(" + student + "," + project + ")");
return journalDAO.getAllByProject(project);
}
@Override
public void saveJournal(String id, String student, String project, String text, String visibility, String category) {
log.debug(">> save journal(" + id + "," + student + "," + project + "," + text + "," + visibility + "," + category + ")");
Journal journal = new Journal(id, new StudentIdentifier(student, project), text, JournalUtils.stringToVisibility(visibility), JournalUtils.stringToCategory(category));
//if id = 0 new Journal else update
if (id.equals("0")) {
log.debug("save journal: create new");
journalDAO.createJournal(journal);
} else {
log.debug("save journal: update" + journal.getId());
journalDAO.updateJournal(journal);
}
log.debug("<<< save journal");
}
@Override
public void deleteJournal(String id) {
public void deleteJournal(String journal) {
log.debug(">>> delete journal:" + journal);
journalDAO.deleteJournal(journal);
log.debug("<<< delete journal");
}
@Override
public void closeJournal(String journal) {
log.debug(">>> close journal: " + journal);
journalDAO.closeJournal(journal);
log.debug("<<< close journal");
}
//TODO Export for assessment
}
......@@ -5,13 +5,24 @@ import org.slf4j.LoggerFactory;
import unipotsdam.gf.core.management.utils.Category;
import unipotsdam.gf.modules.journal.model.Visibility;
/**
* Utility class for Journal and Project description
*/
public class JournalUtils {
public static final Logger log = LoggerFactory.getLogger(JournalUtils.class);
/**
* Coverts a strirng to enum category
*
* @param category string
* @return category, TITLE if string does not match
*/
public static Category stringToCategory(String category) {
// If String does not match enum IllegalArgumentException
Category c;
// If String does not match enum IllegalArgumentException
try {
c = Category.valueOf(category);
} catch (IllegalArgumentException e) {
......@@ -22,9 +33,16 @@ public class JournalUtils {
return c;
}
/**
* Converts a string to enum visibility
*
* @param visibility string
* @return visibility, NONE if string does not match
*/
public static Visibility stringToVisibility(String visibility) {
// If String does not match enum IllegalArgumentException
Visibility v;
// If String does not match enum IllegalArgumentException
try {
v = Visibility.valueOf(visibility);
} catch (IllegalArgumentException e) {
......
......@@ -118,6 +118,7 @@ function linkLoeschen(name) {
}
function closeJournal() {
//TODO reload when modal close
var journalID = $('#journalID-input').val();
console.log("schließe:=" + journalID);
......
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