From 76c3620ff3ca83c3862f3aeb08f2814f15f74d39 Mon Sep 17 00:00:00 2001 From: tudtianus <tudtianus@gmail.com> Date: Sun, 8 Jul 2018 18:58:42 +0200 Subject: [PATCH] feat: connect Journal to DB --- .../modules/journal/model/JournalDAOImpl.java | 17 +- .../journal/service/DummyJournalService.java | 159 ------------------ .../journal/service/JournalServiceImpl.java | 17 +- .../gf/modules/journal/util/JournalUtils.java | 22 ++- .../src/main/webapp/assets/js/e-portfolio.js | 1 + 5 files changed, 50 insertions(+), 166 deletions(-) delete mode 100644 gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/DummyJournalService.java diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/JournalDAOImpl.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/JournalDAOImpl.java index 497a6f9a..4d4d340c 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/JournalDAOImpl.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/JournalDAOImpl.java @@ -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"); diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/DummyJournalService.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/DummyJournalService.java deleted file mode 100644 index 829e4320..00000000 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/DummyJournalService.java +++ /dev/null @@ -1,159 +0,0 @@ -//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); -// -// } -// -// -// -//} diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/JournalServiceImpl.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/JournalServiceImpl.java index 56e7a407..aa18b98e 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/JournalServiceImpl.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/JournalServiceImpl.java @@ -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 } diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/util/JournalUtils.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/util/JournalUtils.java index 6a3700f2..322cef1b 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/util/JournalUtils.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/util/JournalUtils.java @@ -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) { diff --git a/gemeinsamforschen/src/main/webapp/assets/js/e-portfolio.js b/gemeinsamforschen/src/main/webapp/assets/js/e-portfolio.js index 3e9df813..90c909ee 100644 --- a/gemeinsamforschen/src/main/webapp/assets/js/e-portfolio.js +++ b/gemeinsamforschen/src/main/webapp/assets/js/e-portfolio.js @@ -118,6 +118,7 @@ function linkLoeschen(name) { } function closeJournal() { + //TODO reload when modal close var journalID = $('#journalID-input').val(); console.log("schließe:=" + journalID); -- GitLab