From 3e74dc18e596708ddc2edfffe59af4f725fd3c3d Mon Sep 17 00:00:00 2001 From: Axel <wiepke@uni-potsdam.de> Date: Thu, 5 Jul 2018 14:52:24 +0200 Subject: [PATCH] feat: first real db to website works!! on viewQuiz.jsp --- .../gf/core/management/ManagementImpl.java | 51 +++++++++++++++++-- .../controller/service/PeerAssessment.java | 2 +- .../assessment/controller/view/QuizView.java | 12 +++-- .../src/main/webapp/assets/js/Quiz.js | 3 +- .../src/main/webapp/assets/js/createQuiz.js | 2 +- .../src/main/webapp/assets/js/takeQuiz.js | 3 +- .../src/main/webapp/assets/js/viewQuiz.js | 4 +- .../src/main/webapp/pages/Quiz.jsp | 2 +- .../src/main/webapp/pages/createQuiz.jsp | 2 +- .../src/main/webapp/pages/takeQuiz.jsp | 4 +- .../src/main/webapp/pages/viewQuiz.jsp | 2 +- 11 files changed, 67 insertions(+), 20 deletions(-) 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 8d98b2c0..b29ba445 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/ManagementImpl.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/ManagementImpl.java @@ -203,15 +203,15 @@ public class ManagementImpl implements Management { public Quiz getQuizByProjectGroupId(String projectId, String quizId){ MysqlConnect connect = new MysqlConnect(); connect.connect(); - String mysqlRequest = "SELECT * FROM quiz where projectId=" + projectId + " , question="+quizId; + String mysqlRequest = "SELECT * FROM quiz where projectId=? AND question=?"; VereinfachtesResultSet vereinfachtesResultSet = - connect.issueSelectStatement(mysqlRequest, ""); + connect.issueSelectStatement(mysqlRequest, projectId,quizId); boolean next = vereinfachtesResultSet.next(); String question = ""; ArrayList<String> correctAnswers = new ArrayList<String>(); ArrayList<String> incorrectAnswers = new ArrayList<String>(); - String answer = ""; - Boolean correct = false; + String answer; + Boolean correct; String mcType = ""; while (next) { mcType = vereinfachtesResultSet.getString("mcType"); @@ -230,6 +230,49 @@ public class ManagementImpl implements Management { return quiz; } + public ArrayList<Quiz> getQuizByProjectId(String projectId) { + MysqlConnect connect = new MysqlConnect(); + ArrayList<Quiz> result= new ArrayList<Quiz>(); + connect.connect(); + String mysqlRequest = "SELECT * FROM quiz where projectId= ?"; + VereinfachtesResultSet vereinfachtesResultSet = + connect.issueSelectStatement(mysqlRequest, projectId); + boolean next = vereinfachtesResultSet.next(); + String question = ""; + ArrayList<String> correctAnswers = new ArrayList<String>(); + ArrayList<String> incorrectAnswers = new ArrayList<String>(); + String answer; + String oldQuestion=""; + Boolean correct; + String mcType = ""; + while (next) { + mcType = vereinfachtesResultSet.getString("mcType"); + question = vereinfachtesResultSet.getString("question"); + answer = vereinfachtesResultSet.getString("answer"); + correct = vereinfachtesResultSet.getBoolean("correct"); + if (oldQuestion.equals(question)){ + if (correct){ + correctAnswers.add(answer); + }else{ + incorrectAnswers.add(answer); + } + }else{ + result.add(new Quiz(mcType,question, correctAnswers, incorrectAnswers)); + correctAnswers.clear(); + incorrectAnswers.clear(); + if (correct){ + correctAnswers.add(answer); + }else{ + incorrectAnswers.add(answer); + } + + } + oldQuestion = question; + next = vereinfachtesResultSet.next(); + } + return result; + } + private User getUserByField(String field, String value) { MysqlConnect connect = new MysqlConnect(); connect.connect(); 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 9ab276c6..5c88e90d 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 @@ -22,7 +22,7 @@ public class PeerAssessment implements IPeerAssessment { @Override //returns all quizzes in the course public ArrayList<Quiz> getQuiz(String projectId) { - return null; + return new ManagementImpl().getQuizByProjectId(projectId); } @Override diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/view/QuizView.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/view/QuizView.java index 4ee52595..9c542dda 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/view/QuizView.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/view/QuizView.java @@ -12,7 +12,7 @@ import java.util.List; @Path("/assessments") public class QuizView implements IPeerAssessment { - private static IPeerAssessment peer = new PeerAssessmentDummy(); //TestSubject + private static IPeerAssessment peer = new PeerAssessment(); //TestSubject //private static IPeerAssessment peer = new PeerAssessment(); //correct DB-conn and stuff @GET @Produces(MediaType.APPLICATION_JSON) @@ -60,7 +60,7 @@ public class QuizView implements IPeerAssessment { public Assessment getAssessmentDataFromDB(@PathParam("projectId") String projectId,@PathParam("studentId") String studentId){ StudentIdentifier student = new StudentIdentifier(projectId, studentId); return getAssessmentDataFromDB(student); - } ///////////////////////////////funktioniert wie geplant////////////////////////////////// + } //////////dummy//////////////funktioniert wie geplant////////////////////////////////// @POST @@ -71,6 +71,7 @@ public class QuizView implements IPeerAssessment { public void createQuiz(StudentAndQuiz studentAndQuiz) { peer.createQuiz(studentAndQuiz); } + ////////////////////////////////todo: sollte das nächste Element sein, was ich baue//////// @POST @Consumes(MediaType.APPLICATION_JSON) @@ -80,6 +81,7 @@ public class QuizView implements IPeerAssessment { public List<Grading> calculateAssessment(ArrayList<Performance> totalPerformance) { return peer.calculateAssessment(totalPerformance); } + ///////////////dummy/////////funktioniert glaube ich!?//////////////////////////////////////// @GET @Produces(MediaType.APPLICATION_JSON) @@ -96,12 +98,12 @@ public class QuizView implements IPeerAssessment { public ArrayList<Performance> getTotalAssessment(@PathParam("projectId") String ProjectId,@PathParam("student") String student){ StudentIdentifier studentIdentifier = new StudentIdentifier(ProjectId, student); return getTotalAssessment(studentIdentifier); - } ///////////////////////////////funktioniert wie geplant////////////////////////////////// + } //////////dummy/////////////funktioniert wie geplant////////////////////////////////// @Override public ArrayList<Performance> getTotalAssessment(StudentIdentifier studentIdentifier) { return peer.getTotalAssessment(studentIdentifier); - } ///////////////////////////////funktioniert wie geplant////////////////////////////////// + } /////////dummy/////////////funktioniert wie geplant////////////////////////////////// @GET @@ -116,6 +118,6 @@ public class QuizView implements IPeerAssessment { result.add(pf); result.add(pf2); return result; - } ///////////////////////////////returns what i expect it to return!!!!!////////////////////////////////// + } /////////dummy////////////returns what i expect it to return!!!!!////////////////////////////////// } diff --git a/gemeinsamforschen/src/main/webapp/assets/js/Quiz.js b/gemeinsamforschen/src/main/webapp/assets/js/Quiz.js index afd43343..c5053ab2 100644 --- a/gemeinsamforschen/src/main/webapp/assets/js/Quiz.js +++ b/gemeinsamforschen/src/main/webapp/assets/js/Quiz.js @@ -1,6 +1,7 @@ $(document).ready(function(){ + var projectId = document.getElementById('projectId').innerText.trim(); $.ajax({ - url: '../rest/assessments/project/1/quiz/', + url: '../rest/assessments/project/'+projectId+'/quiz/', type: 'GET', success: function (data) { var table = document.getElementById('myQuizzes'); diff --git a/gemeinsamforschen/src/main/webapp/assets/js/createQuiz.js b/gemeinsamforschen/src/main/webapp/assets/js/createQuiz.js index 764a7a90..5da5a5f0 100644 --- a/gemeinsamforschen/src/main/webapp/assets/js/createQuiz.js +++ b/gemeinsamforschen/src/main/webapp/assets/js/createQuiz.js @@ -1,5 +1,5 @@ $(document).ready(function () { - $("#save").on('click', function () { + $("#save").on('click', function () {//todo: remember to cut out whitespace and signs (?.,;) document.location = "Quiz.jsp?token=" + getUserTokenFromUrl(); }); }); diff --git a/gemeinsamforschen/src/main/webapp/assets/js/takeQuiz.js b/gemeinsamforschen/src/main/webapp/assets/js/takeQuiz.js index 9bc22615..69aa397b 100644 --- a/gemeinsamforschen/src/main/webapp/assets/js/takeQuiz.js +++ b/gemeinsamforschen/src/main/webapp/assets/js/takeQuiz.js @@ -28,8 +28,9 @@ $(document).ready(function () { return 'CORRECT'; }; + var projectId = document.getElementById('projectId').innerText.trim(); $.ajax({ - url: '../rest/assessments/project/1/quiz/', + url: '../rest/assessments/project/'+projectId+'/quiz/', type: 'GET', success: function (data) { var table = document.getElementById('tableQuiz'); diff --git a/gemeinsamforschen/src/main/webapp/assets/js/viewQuiz.js b/gemeinsamforschen/src/main/webapp/assets/js/viewQuiz.js index 362479e7..06a59b90 100644 --- a/gemeinsamforschen/src/main/webapp/assets/js/viewQuiz.js +++ b/gemeinsamforschen/src/main/webapp/assets/js/viewQuiz.js @@ -34,9 +34,9 @@ $(document).ready(function () { $_GET[decodeURIComponent(temp[0])] = decodeURIComponent(temp[1]); } var quizId = $_GET['quizId']; - + var projectId = document.getElementById('projectId').innerText.trim(); $.ajax({ - url: '../rest/assessments/project/1/quiz/'+quizId, + url: '../rest/assessments/project/'+projectId+'/quiz/'+quizId, type: 'GET', success: function (data) { var table = document.getElementById('tableQuiz'); diff --git a/gemeinsamforschen/src/main/webapp/pages/Quiz.jsp b/gemeinsamforschen/src/main/webapp/pages/Quiz.jsp index 276a9e02..6b160e8d 100644 --- a/gemeinsamforschen/src/main/webapp/pages/Quiz.jsp +++ b/gemeinsamforschen/src/main/webapp/pages/Quiz.jsp @@ -30,7 +30,7 @@ <menu:menu></menu:menu> <div class="page-content-wrapper"> <div class="container-fluid"> - <h1 id="projectId">project1 + <h1 id="projectId">gemeinsamForschen <a href="#"> <span class="glyphicon glyphicon-envelope" style="font-size:27px;margin-top:-17px;margin-left:600px;"></span> diff --git a/gemeinsamforschen/src/main/webapp/pages/createQuiz.jsp b/gemeinsamforschen/src/main/webapp/pages/createQuiz.jsp index ad122bc9..742ecfb0 100644 --- a/gemeinsamforschen/src/main/webapp/pages/createQuiz.jsp +++ b/gemeinsamforschen/src/main/webapp/pages/createQuiz.jsp @@ -33,7 +33,7 @@ </div> <div style="margin-left:50px;"> <div> - <input placeholder="Ihre Frage"> + <input placeholder="Ihre Frage"><!--todo: remember to cut out whitespace and signs (?.,;)--> </div> <div><label><input type="radio" name="type">Schwierigkeit 3</label></div> <div><label><input type="radio" name="type">Schwierigkeit 2</label></div> diff --git a/gemeinsamforschen/src/main/webapp/pages/takeQuiz.jsp b/gemeinsamforschen/src/main/webapp/pages/takeQuiz.jsp index 9ddb2424..6d187767 100644 --- a/gemeinsamforschen/src/main/webapp/pages/takeQuiz.jsp +++ b/gemeinsamforschen/src/main/webapp/pages/takeQuiz.jsp @@ -24,7 +24,7 @@ <menu:menu></menu:menu> <div class="page-content-wrapper"> <div class="container-fluid"> - <h1 id="projectId">project1 + <h1 id="projectId">gemeinsamForschen <a href="#"> <span class="glyphicon glyphicon-envelope" style="font-size:27px;margin-top:-17px;margin-left:600px;"></span> @@ -37,7 +37,7 @@ <table> <tr> <td id="yourContent"> - <h1>Quiz for project1 </h1> + <h1>Quiz for gemeinsamForschen </h1> <!-- here will be all the content --> diff --git a/gemeinsamforschen/src/main/webapp/pages/viewQuiz.jsp b/gemeinsamforschen/src/main/webapp/pages/viewQuiz.jsp index a484d938..800ad4dc 100644 --- a/gemeinsamforschen/src/main/webapp/pages/viewQuiz.jsp +++ b/gemeinsamforschen/src/main/webapp/pages/viewQuiz.jsp @@ -25,7 +25,7 @@ <menu:menu></menu:menu> <div class="page-content-wrapper"> <div class="container-fluid"> - <h1 id="projectId">project1 + <h1 id="projectId">gemeinsamForschen <a href="#"> <span class="glyphicon glyphicon-envelope" style="font-size:27px;margin-top:-17px;margin-left:600px;"></span> -- GitLab