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 1cecac2de82d93e049cbc159843b7f91334fb6ec..8d98b2c0dd607ff3b33a62ec367255863a030214 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/ManagementImpl.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/ManagementImpl.java @@ -7,6 +7,7 @@ import unipotsdam.gf.core.management.project.Project; import unipotsdam.gf.core.management.user.User; import unipotsdam.gf.core.management.user.UserInterests; import unipotsdam.gf.core.management.user.UserProfile; +import unipotsdam.gf.modules.assessment.controller.model.Quiz; import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier; import javax.annotation.ManagedBean; @@ -199,6 +200,36 @@ public class ManagementImpl implements Management { return getUserByField("email", email); } + public Quiz getQuizByProjectGroupId(String projectId, String quizId){ + MysqlConnect connect = new MysqlConnect(); + connect.connect(); + String mysqlRequest = "SELECT * FROM quiz where projectId=" + projectId + " , question="+quizId; + VereinfachtesResultSet vereinfachtesResultSet = + connect.issueSelectStatement(mysqlRequest, ""); + boolean next = vereinfachtesResultSet.next(); + String question = ""; + ArrayList<String> correctAnswers = new ArrayList<String>(); + ArrayList<String> incorrectAnswers = new ArrayList<String>(); + String answer = ""; + Boolean correct = false; + String mcType = ""; + while (next) { + mcType = vereinfachtesResultSet.getString("mcType"); + question = vereinfachtesResultSet.getString("question"); + answer = vereinfachtesResultSet.getString("answer"); + correct = vereinfachtesResultSet.getBoolean("correct"); + if (correct){ + correctAnswers.add(answer); + }else{ + incorrectAnswers.add(answer); + } + next = vereinfachtesResultSet.next(); + } + Quiz quiz = new Quiz(mcType,question, correctAnswers, incorrectAnswers); + connect.close(); + return quiz; + } + 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/model/Quiz.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/Quiz.java index 7abafb133a623a85028716af0e484734f06c93d9..e37fc2ffa474730ee1c56c1f57f18dd6a70a70ad 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/Quiz.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/Quiz.java @@ -1,16 +1,17 @@ package unipotsdam.gf.modules.assessment.controller.model; import javax.xml.bind.annotation.XmlRootElement; +import java.util.ArrayList; @XmlRootElement public class Quiz { private String type; private String question; - private String[] correctAnswers; - private String[] incorrectAnswers; + private ArrayList<String> correctAnswers; + private ArrayList<String> incorrectAnswers; - public Quiz(String type, String question, String[] correctAnswers, String[] incorrectAnswers) { + public Quiz(String type, String question, ArrayList<String> correctAnswers, ArrayList<String> incorrectAnswers) { this.type = type; this.question = question; this.correctAnswers = correctAnswers; @@ -18,19 +19,19 @@ public class Quiz { } public Quiz(){} - public String[] getIncorrectAnswers() { + public ArrayList<String> getIncorrectAnswers() { return incorrectAnswers; } - public void setIncorrectAnswers(String[] incorrectAnswers) { + public void setIncorrectAnswers(ArrayList<String> incorrectAnswers) { this.incorrectAnswers = incorrectAnswers; } - public String[] getCorrectAnswers() { + public ArrayList<String> getCorrectAnswers() { return correctAnswers; } - public void setCorrectAnswers(String[] correctAnswers) { + public void setCorrectAnswers(ArrayList<String> correctAnswers) { this.correctAnswers = correctAnswers; } 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 6c427c4bbe90c8d3b52417609a19b786112623be..9ab276c63b7e61ed7d1fbd121717f3ab1b8f8232 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 @@ -1,7 +1,10 @@ package unipotsdam.gf.modules.assessment.controller.service; +import unipotsdam.gf.core.management.ManagementImpl; +import unipotsdam.gf.core.management.user.User; import unipotsdam.gf.interfaces.IPeerAssessment; import unipotsdam.gf.modules.assessment.controller.model.*; +import unipotsdam.gf.core.database.mysql.MysqlConnect; import java.util.ArrayList; import java.util.List; @@ -12,8 +15,13 @@ public class PeerAssessment implements IPeerAssessment { } - @Override - public Quiz getQuiz(String projectId, String groupId) { + @Override//returns one quiz + public Quiz getQuiz(String projectId, String quizId) { + return new ManagementImpl().getQuizByProjectGroupId(projectId,quizId); + } + + @Override //returns all quizzes in the course + public ArrayList<Quiz> getQuiz(String projectId) { return null; } @@ -42,10 +50,7 @@ public class PeerAssessment implements IPeerAssessment { return 0; } - @Override - public ArrayList<Quiz> getQuiz(String projectId) { - return null; - } + @Override public void postPeerRating(ArrayList<PeerRating> peerRatings, String projectId, String groupId) { 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 9de14e218b2f2eb3eb99edd1da2fd22199bdd178..35920c8470ac2a075579c14183cbd7fa89818e52 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 @@ -14,36 +14,47 @@ public class PeerAssessmentDummy implements IPeerAssessment { @Override public Quiz getQuiz(String projectId, String quizId) { - String[] correctAnswers = new String[2]; + ArrayList<String> correctAnswers = new ArrayList<String>(); + ArrayList<String> incorrectAnswers = new ArrayList<String>(); Quiz sampleQuiz; if (quizId.equals("2")) { - correctAnswers[0] = "42"; - correctAnswers[1] = "" + projectId + " " + quizId; - String[] wrongAnswers = {"a god created creature", "a sum of my mistakes"}; - sampleQuiz = new Quiz("multiple", "Who am I and if so, how many?", correctAnswers, wrongAnswers); + correctAnswers.add("42"); + correctAnswers.add("" + projectId + " " + quizId); + + incorrectAnswers.add("a god created creature"); + incorrectAnswers.add( "a sum of my mistakes"); + sampleQuiz = new Quiz("multiple", "Who am I and if so, how many?", correctAnswers, incorrectAnswers); } else { - correctAnswers[0] = "ja, nicht?!"; - correctAnswers[1] = "nee, oder doch?!"; - String[] wrongAnswers = {"Mephistopheles", "Der alte Hexenmeister!?", "Der Schimmelreiter", "alle beide"}; - sampleQuiz = new Quiz("multiple", "Ist das nun des Pudels wahrer Kern?", correctAnswers, wrongAnswers); + correctAnswers.add("ja, nicht?!"); + correctAnswers.add("nee, oder doch?!"); + incorrectAnswers.add("Mephistopheles"); + incorrectAnswers.add("Der alte Hexenmeister!?"); + incorrectAnswers.add("Der Schimmelreiter"); + incorrectAnswers.add("alle beide"); + sampleQuiz = new Quiz("multiple", "Ist das nun des Pudels wahrer Kern?", correctAnswers, incorrectAnswers); } return sampleQuiz; } public ArrayList<Quiz> getQuiz(String projectId) { - String[] correctAnswers1 = new String[2]; + ArrayList<String> correctAnswers = new ArrayList<String>(); + ArrayList<String> incorrectAnswers = new ArrayList<String>(); ArrayList<Quiz> sampleQuiz = new ArrayList<Quiz>(); - correctAnswers1[0] = "42"; - correctAnswers1[1] = "" + projectId + " 24"; - String[] wrongAnswers = {"a god created creature", "a sum of my mistakes"}; - sampleQuiz.add(new Quiz("multiple", "Who am I and if so, how many?", correctAnswers1, wrongAnswers)); - - String[] correctAnswers2 = new String[2]; - correctAnswers2[0] = "ja, nicht?!"; - correctAnswers2[1] = "nee, oder doch?!"; - wrongAnswers = new String[]{"Mephistopheles", "Der alte Hexenmeister!?", "Der Schimmelreiter", "alle beide"}; - sampleQuiz.add(new Quiz("multiple", "Ist das nun des Pudels wahrer Kern?", correctAnswers2, wrongAnswers)); + correctAnswers.add("42"); + correctAnswers.add("" + projectId + " 24"); + incorrectAnswers.add("a god created creature"); + incorrectAnswers.add( "a sum of my mistakes"); + sampleQuiz.add(new Quiz("multiple", "Who am I and if so, how many?", correctAnswers, incorrectAnswers)); + correctAnswers.clear(); + incorrectAnswers.clear(); + correctAnswers.add("ja, nicht?!"); + correctAnswers.add("nee, oder doch?!"); + incorrectAnswers.add("Mephistopheles"); + incorrectAnswers.add("Der alte Hexenmeister!?"); + incorrectAnswers.add("Der Schimmelreiter"); + incorrectAnswers.add("alle beide"); + sampleQuiz.add(new Quiz("multiple", "Ist das nun des Pudels wahrer Kern?", correctAnswers, incorrectAnswers)); return sampleQuiz; } 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 4c80528c972530f75867f2f8c8260dc0ffc68893..4ee52595c40fdc7cc9163884de28199e63f1456e 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 @@ -2,6 +2,7 @@ package unipotsdam.gf.modules.assessment.controller.view; import unipotsdam.gf.interfaces.IPeerAssessment; import unipotsdam.gf.modules.assessment.controller.model.*; +import unipotsdam.gf.modules.assessment.controller.service.PeerAssessment; import unipotsdam.gf.modules.assessment.controller.service.PeerAssessmentDummy; import javax.ws.rs.*; @@ -11,7 +12,8 @@ import java.util.List; @Path("/assessments") public class QuizView implements IPeerAssessment { - private static IPeerAssessment peer = new PeerAssessmentDummy(); + private static IPeerAssessment peer = new PeerAssessmentDummy(); //TestSubject + //private static IPeerAssessment peer = new PeerAssessment(); //correct DB-conn and stuff @GET @Produces(MediaType.APPLICATION_JSON) @Path("/project/{projectId}/quiz/{quizId}")