diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IJournal.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IJournal.java index e53ddc887eac0127b51f629a31e14e7fc76586d6..6d28297f6abd51384a1cd68eeea02043e83948e4 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IJournal.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IJournal.java @@ -10,6 +10,8 @@ import unipotsdam.gf.modules.researchreport.ResearchReport; import java.io.File; import java.util.List; +import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier; + /** * Interface for learning journal */ diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/Assessment.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/Assessment.java index 7b269aa7f1059c0446d314714ffb38761f1d8e94..be42f1baa23fbece4fa842645201448c3fe0b6a9 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/Assessment.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/Assessment.java @@ -1,35 +1,78 @@ package unipotsdam.gf.modules.assessment.controller.model; +import com.fasterxml.jackson.annotation.JsonIgnore; +import unipotsdam.gf.core.database.mysql.MysqlConnect; +import unipotsdam.gf.core.database.mysql.VereinfachtesResultSet; +import unipotsdam.gf.core.management.project.Project; +import unipotsdam.gf.core.management.user.User; +import unipotsdam.gf.modules.assessment.controller.model.Performance; +import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier; + import javax.xml.bind.annotation.XmlRootElement; +import java.security.acl.Group; import java.util.ArrayList; + + +import javax.xml.bind.annotation.XmlRootElement; +import java.util.ArrayList; +import java.util.Date; + @XmlRootElement public class Assessment { - private StudentIdentifier student; + private StudentIdentifier student;// gemeint als Ziel der Bewertung, kann auch gruppe sein + @JsonIgnore private Performance performance; + private StudentIdentifier bewertender; + private String projektId; + private int bewertung; + private boolean adressat; + private Date deadline; + public Assessment(StudentIdentifier student, Performance performance) { this.student = student; this.performance = performance; } - public Assessment(){} + public Assessment(boolean adressat,StudentIdentifier student, Date deadline, StudentIdentifier bewertender, String projektId, int bewertung) { + this.student = student; + this.deadline = deadline; + this.bewertender = bewertender; + this.projektId = projektId; + this.bewertung = bewertung; + this.adressat=adressat; + } + + public Assessment() { + } - public ArrayList<Performance> getTotalAssessment() { return null; } + public ArrayList<Performance> getTotalAssessment() { + return null; + } public StudentIdentifier getStudent() { return student; } + public StudentIdentifier getBewertender() { + return bewertender; + } + + public void setBewertender(StudentIdentifier bewertender) { + this.bewertender = bewertender; + } + public void setStudent(StudentIdentifier student) { this.student = student; } + @JsonIgnore public Performance getPerformance() { return performance; } - + @JsonIgnore public void setPerformance(Performance performance) { this.performance = performance; } @@ -41,4 +84,52 @@ public class Assessment { ", performance=" + performance + '}'; } -} + + public int getBewertung() { + return bewertung; + } + + public void setBewertung(int bewertung) { + this.bewertung = bewertung; + } + + public String getProjektId() { + return projektId; + } + + public void setProjektId(String projektId) { + this.projektId = projektId; + } + + + public void setAssessment(Assessment assessment) { + MysqlConnect connect = new MysqlConnect(); + connect.connect(); + String mysqlRequest = "INSERT INTO assessments ( `adressat`, `deadline`, `erstellerId`,`empfaengerId`, `projektId`, `bewertung`) values (?,?,?,?,?,?)"; + connect.issueInsertOrDeleteStatement(mysqlRequest, + assessment.isAdressat(), + assessment.getDeadline(), + assessment.getBewertender().getStudentId(), + assessment.getStudent().getStudentId(), + assessment.getProjektId(), + assessment.getBewertung() + ); + connect.close(); + } + + public boolean isAdressat() { + return adressat; + } + + public void setAdressat(boolean adressat) { + this.adressat = adressat; + } + + public Date getDeadline() { + return deadline; + } + + public void setDeadline(Date deadline) { + this.deadline = deadline; + } +} \ No newline at end of file diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/GroupEvalDataDatasets.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/GroupEvalDataDatasets.java new file mode 100644 index 0000000000000000000000000000000000000000..17beba2eed381316a22488217073ebe04af84c4e --- /dev/null +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/GroupEvalDataDatasets.java @@ -0,0 +1,73 @@ +package unipotsdam.gf.modules.assessment.controller.model; + + + +public class GroupEvalDataDatasets { + private String label; + private int[] data= new int[50]; + + private String borderColor= "rgba(0,255,0,0.2)"; + private String backgroundColor= "rgba(0,255,0,0.2)"; + private boolean fill=false; + + public GroupEvalDataDatasets(){} + + public GroupEvalDataDatasets(String label,int[] data, String backgroundColor, String borderColor, boolean fill){ + this.backgroundColor=backgroundColor; + this.borderColor=borderColor; + this.data=data; + this.fill=fill; + this.label=label; + } + public GroupEvalDataDatasets(String label, int[] data){ + + this.data=data; + this.label=label; + } + + public int[] getData() { + return data; + } + + public void setData(int[] data) { + this.data = data; + } +/* + public void appendData(int data) { + this.data.add(data); + } +*/ + public String getBorderColor() { + return borderColor; + } + + public void setBorderColor(String borderColor) { + this.borderColor = borderColor; + } + + public String getBackgroundColor() { + return backgroundColor; + } + + public void setBackgroundColor(String backgroundColor) { + this.backgroundColor = backgroundColor; + } + + public boolean isFill() { + return fill; + } + + public void setFill(boolean fill) { + this.fill = fill; + } + + public String getLabel() { + return label; + } + + public void setLabel(String label) { + this.label = label; + } +} + + diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/GroupEvalDataList.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/GroupEvalDataList.java new file mode 100644 index 0000000000000000000000000000000000000000..05f44bce99da488ba3a1f29a3cb441031e88db20 --- /dev/null +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/GroupEvalDataList.java @@ -0,0 +1,41 @@ +package unipotsdam.gf.modules.assessment.controller.model; +import java.util.*; + +public class GroupEvalDataList { + private String[] labels ; + + private List<GroupEvalDataDatasets> datasets = new ArrayList<>(); + + public GroupEvalDataList(){} + public GroupEvalDataList(String[] labels, List<GroupEvalDataDatasets> datasets){ + this.datasets=datasets; + this.labels=labels; + } + + public GroupEvalDataList(List<GroupEvalDataDatasets> datasets,String[] labels){ + this.labels=labels; + this.datasets=datasets; + } + + + public List<GroupEvalDataDatasets> getDatasets() { + return datasets; + } + + public void setDatasets(List<GroupEvalDataDatasets> dataset) { + this.datasets = dataset; + } + + public String[] getLabels() { + return labels; + } + + public void setLabels(String[] labels) { + this.labels = labels; + } + + public void appendDataSet(GroupEvalDataDatasets data) { + this.datasets.add(data); + + } +} diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/GroupEvalDiagrammData.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/GroupEvalDiagrammData.java new file mode 100644 index 0000000000000000000000000000000000000000..67b8a15d28780375b88fa6e076b0c8c4814645c4 --- /dev/null +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/GroupEvalDiagrammData.java @@ -0,0 +1,123 @@ +package unipotsdam.gf.modules.assessment.controller.model; + +import unipotsdam.gf.core.database.mysql.MysqlConnect; +import unipotsdam.gf.core.database.mysql.VereinfachtesResultSet; + +import javax.ws.rs.*; +import javax.ws.rs.core.MediaType; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +@Path("/assessments4") + +public class GroupEvalDiagrammData { + private String type; + private GroupEvalDataList data; + private GroupEvalOption option; + + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public GroupEvalDataList getData() { + return data; + } + + public void setData(GroupEvalDataList data) { + this.data = data; + } + public GroupEvalDiagrammData(){} + + public GroupEvalDiagrammData(String type, GroupEvalDataList data){ + this.type=type; + this.data=data; + } + + public GroupEvalOption getOption() { + return option; + } + + public void setOption(GroupEvalOption option) { + this.option = option; + } + + @POST + @Produces(MediaType.APPLICATION_JSON) + @Path("/diagramm1/{projectId}") + public GroupEvalDiagrammData getValuesFromDBByProjectID(@PathParam("projectId") String projectId) + { + + //GruppenID muss noch irgendwie aus der Seite ausgelesen werden, wenn die dann mal dynamisch gefüllt wurde + GroupEvalDiagrammData diagramm= new GroupEvalDiagrammData(); + GroupEvalOption option=new GroupEvalOption(); + GroupEvalDiagrammLegende legende =new GroupEvalDiagrammLegende(); + + diagramm.setType("line"); + diagramm.setOption(option); + legende.setDisplay(false); + option.setLegende(legende); + + + MysqlConnect connect = new MysqlConnect(); + List<String> userNamen=new ArrayList<>(); + + GroupEvalDataDatasets datenSaetze = new GroupEvalDataDatasets(); + GroupEvalDataList datenDia = new GroupEvalDataList(); + + diagramm.setData(datenDia); + + + connect.connect(); + + String mysqlRequestGroupuser = "SELECT * FROM `groupuser` WHERE `groupId`=? "; + VereinfachtesResultSet namenDerUser = connect.issueSelectStatement(mysqlRequestGroupuser,3); + List<Integer> bewertungenZwischen = new ArrayList<Integer>(); + List<String> labelZwischen = new ArrayList<String>(); + + List<GroupEvalDataDatasets> hilfeBittefunktionierEndlich=new ArrayList<>(); + + while (namenDerUser.next()){ + userNamen.add(namenDerUser.getString("userEmail")); + } + for (String anUserNamen : userNamen) { + String mysqlRequestAssessment = "SELECT * FROM `assessments` WHERE `empfaengerId`=?"; + VereinfachtesResultSet bewertungDerUser = connect.issueSelectStatement(mysqlRequestAssessment, anUserNamen); + + while (bewertungDerUser.next()) { + bewertungenZwischen.add(bewertungDerUser.getInt("bewertung")); + labelZwischen.add(String.valueOf(bewertungDerUser.getTimestamp("deadline")).substring(0,10)); + } + int[] hilfeDaten = new int[bewertungenZwischen.size()]; + for (int z = 0; z < labelZwischen.size(); z++) { + hilfeDaten[z] = bewertungenZwischen.get(z); + } + + + + String[] hilfeLabel = new String[labelZwischen.size()]; + for (int z = 0; z < labelZwischen.size(); z++) { + hilfeLabel[z] = labelZwischen.get(z); + } + hilfeBittefunktionierEndlich.add(new GroupEvalDataDatasets(anUserNamen,hilfeDaten)); + datenSaetze.setData(hilfeDaten); + datenSaetze.setLabel(anUserNamen); + System.out.println(anUserNamen); + + bewertungenZwischen.clear(); + labelZwischen.clear(); + diagramm.setData(new GroupEvalDataList(hilfeLabel,hilfeBittefunktionierEndlich)); + } + + connect.close(); + + + + return diagramm; + } +} diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/GroupEvalDiagrammLegende.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/GroupEvalDiagrammLegende.java new file mode 100644 index 0000000000000000000000000000000000000000..3f33ecd5869920e59e002233711e3ef6bab2dea9 --- /dev/null +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/GroupEvalDiagrammLegende.java @@ -0,0 +1,14 @@ +package unipotsdam.gf.modules.assessment.controller.model; + +public class GroupEvalDiagrammLegende { + private boolean display; + + + public boolean isDisplay() { + return display; + } + + public void setDisplay(boolean display) { + this.display = display; + } +} diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/GroupEvalOption.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/GroupEvalOption.java new file mode 100644 index 0000000000000000000000000000000000000000..95d0d15834c58758cbad722e801349f5e5a3bd53 --- /dev/null +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/GroupEvalOption.java @@ -0,0 +1,16 @@ +package unipotsdam.gf.modules.assessment.controller.model; + + + +public class GroupEvalOption { + private GroupEvalDiagrammLegende legende; + + public GroupEvalDiagrammLegende getLegende() { + return legende; + } + + public void setLegende(GroupEvalDiagrammLegende legende) { + this.legende = legende; + } + +} diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/PACalculate.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/PACalculate.java new file mode 100644 index 0000000000000000000000000000000000000000..fa81556965e51fa31c6112337ca8d9a111b38cf0 --- /dev/null +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/PACalculate.java @@ -0,0 +1,40 @@ +package unipotsdam.gf.modules.assessment.controller.model; +import com.mysql.jdbc.Statement; +import unipotsdam.gf.core.database.mysql.MysqlConnect; +import unipotsdam.gf.core.database.mysql.VereinfachtesResultSet; + +import java.sql.ResultSet; +import java.util.ArrayList; +import java.util.List; + +public class PACalculate { + +public List<Double> meanOfAssessments(String name, String projekt){ + /* + Berechnet aus Namen und ProjektId das arithmetische Mittel der Bewertungen und gibt + eine Liste mit allen EInzelnoten und dem Mittel als letztem Eintrag zurück + */ + + double zwischenErgebnis=0.0; + double counter=0.0; + List<Double> results = new ArrayList<>(); + MysqlConnect connect = new MysqlConnect(); + + connect.connect(); + String mysqlRequest = "SELECT * FROM `assessments` WHERE `empfaengerId`=? AND `projektId`=?"; + + String nameDesKandidaten = name; + String projektDesKandidaten = projekt; + VereinfachtesResultSet ausgabe = connect.issueSelectStatement(mysqlRequest,nameDesKandidaten, projektDesKandidaten); + + while (ausgabe.next()){ + counter++; + zwischenErgebnis=zwischenErgebnis+ausgabe.getInt("bewertung"); + results.add((double) ausgabe.getInt("bewertung")); + } + results.add(zwischenErgebnis/counter); + connect.close(); + return results; + +} +} 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 74bac433e2e831ea9fe23b6d18a754c66490e517..c00f67d163ef745d9f5e4b1ffcd8debb86ecf376 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 @@ -8,6 +8,7 @@ import unipotsdam.gf.modules.assessment.controller.model.*; import java.util.*; public class PeerAssessmentDummy implements IPeerAssessment { + @Override public void addAssessmentDataToDB(Assessment assessment) { } @@ -33,10 +34,8 @@ public class PeerAssessmentDummy implements IPeerAssessment { 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) { ArrayList<String> correctAnswers = new ArrayList<>(); ArrayList<String> incorrectAnswers = new ArrayList<>(); diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/view/AssessmentView.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/view/AssessmentView.java new file mode 100644 index 0000000000000000000000000000000000000000..d568fff95a3a5bfd13c4d261ed663a2397c0b580 --- /dev/null +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/view/AssessmentView.java @@ -0,0 +1,126 @@ +package unipotsdam.gf.modules.assessment.controller.view; + +import unipotsdam.gf.interfaces.IPeerAssessment; +import unipotsdam.gf.modules.assessment.controller.model.Assessment; +import unipotsdam.gf.modules.assessment.controller.model.*; +import unipotsdam.gf.modules.assessment.controller.service.PeerAssessmentDummy; + + +import javax.ws.rs.*; +import javax.ws.rs.core.MediaType; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +@Path("/assessments2") +public class AssessmentView implements IPeerAssessment{ + private static IPeerAssessment peer = new PeerAssessmentDummy(); + @POST + @Consumes(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON) + @Path("/calculate3") + @Override + public Map<StudentIdentifier, Double> calculateAssessment(ArrayList<Performance> totalPerformance) { + return peer.calculateAssessment(totalPerformance); + } + + @POST + @Consumes(MediaType.APPLICATION_JSON) + @Produces(MediaType.TEXT_PLAIN) + @Path("/calculate2") + public String testDesReturn(Assessment assessment){ + Assessment shuttle = new Assessment(); //neues Objekt, dass dann bearbeitet werden kann + //System.out.println(assessment.getBewertung()); + shuttle.setAssessment(assessment); //inhalte werden in die DB geschrieben und es wird erfolg zurückgemeldet + return "1"; + } + + + + + + /*} + @GET + @Consumes(MediaType.APPLICATION_JSON) + @Path("dummy/calculate2") + public Assessment dummyAssessment(){ + StudentIdentifier student = new StudentIdentifier("projectID", "StudentId"); + Performance performance; + StudentIdentifier bewertender; + String projektId; + int bewertung; + boolean adressat; + Date deadline; + Assessment shuttle = new Assessment(student, ) + + return null; + }*/ + + @Override + public void addAssessmentDataToDB(Assessment assessment) { + } + + @Override + public Quiz getQuiz(String projectId, String groupId, String author) { + return null; + } + + + public Quiz getQuiz(String projectId, String groupId) { + return null; + } + @Override + public Assessment getAssessmentDataFromDB(StudentIdentifier student) { + return null; + } + @Override + public void createQuiz(StudentAndQuiz studentAndQuiz) { + } + @Override + public ArrayList<Performance> getTotalAssessment(StudentIdentifier studentIdentifier) { + return null; + } + + @Override + public int meanOfAssessment(String ProjectId) { + return 0; + } + + + public int meanOfAssessement(String ProjectId) { + return 0; + } + @Override + public ArrayList<Quiz> getQuiz(String projectId) { + return null; + } + + @Override + public void postPeerRating(ArrayList<PeerRating> peerRatings, String projectId) { + + } + + @Override + public void postContributionRating(StudentIdentifier student, String fromPeer, Map<String, Integer> contributionRating) { + + } + + @Override + public void answerQuiz(Map<String, List<String>> questions, StudentIdentifier student) { + + } + + @Override + public void deleteQuiz(String quizId) { + + } + + @Override + public Map<StudentIdentifier, Double> calculateAssessment(String projectId, String method) { + return null; + } + + + public void postPeerRating(ArrayList<PeerRating> peerRatings, String projectId, String groupId) { + } +} 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 1a484981db9ba3e13241412482670db23acd32af..f897c2561574cf9d896ce445d6879d8bc74443f4 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 @@ -5,6 +5,7 @@ import unipotsdam.gf.core.management.ManagementImpl; import unipotsdam.gf.interfaces.IPeerAssessment; import unipotsdam.gf.interfaces.IPhases; import unipotsdam.gf.modules.assessment.QuizAnswer; +import unipotsdam.gf.modules.assessment.controller.model.Assessment; import unipotsdam.gf.modules.assessment.controller.model.*; import unipotsdam.gf.modules.assessment.controller.service.PeerAssessment; diff --git a/gemeinsamforschen/src/main/webapp/assets/js/AlertAssessmentOutlier.js b/gemeinsamforschen/src/main/webapp/assets/js/AlertAssessmentOutlier.js new file mode 100644 index 0000000000000000000000000000000000000000..c839478e287cb4652039897471ab07afecdb92cd --- /dev/null +++ b/gemeinsamforschen/src/main/webapp/assets/js/AlertAssessmentOutlier.js @@ -0,0 +1,401 @@ +$(document).ready(function () { + + + $('#DiaBlende').on('click',function () { + + + + $.ajax({ + url: "../rest/assessments4/diagramm1/"+getQueryVariable("projectId"), + type: 'POST', + headers: { + "Content-Type": "application/json", + "Cache-Control": "no-cache" + }, + + success: function (response) { + var ctx = document.getElementById("Diagramm").getContext('2d'); + var myChart = new Chart(ctx, response); + + }, + error: function (a,b,c) { + alert('some error' + b); + } + }); + + /* + var ctx = document.getElementById("Diagramm").getContext('2d'); + var myChart = new Chart(ctx, { + type: 'line', + data: { + labels: ["05.06.1009", "05.06.1009", "05.06.1009", "05.06.1009"], + datasets: [{ + label: "Note Student 1", + data: [ + 5,4,4,3], + borderColor: "rgba(255,0,3,0.2)", + backgroundColor: "rgba(255,0,3,0.2)", + fill:false + } + , + { + label:"Note Student 2", + data: [ + 1,2,3,4 ] + ,borderColor: 'rgba(0,255,0,0.2)' + , backgroundColor: 'rgba(0,255,3,0.2)' + ,fill:false + + }, + { + label:"Note Student 3", + data: [ + 5,2,4,6] + ,borderColor: 'rgba(0,255,0,0.2)' + , backgroundColor: 'rgba(0,255,3,0.2)' + ,fill:false + + }] + }, + + options: {legend:{display:false}} + });*/ + }); +}); + +// hier noch dynamik ergänzen, damit der Student und die Gruppe ausgelesen werden + +$(document).ready(function () { + $('#ProblemGrp1').on('click',function () { + var alarm = prompt("hier gibt es Unstimmigeiten","Vorgeschlagene Note:") + if (alarm === "1"||alarm=="2"||alarm=="3"||alarm=="4"||alarm=="5"||alarm=="6") { + + var dataP= JSON.stringify({"adressat":true,"student": { + "projectId": getQueryVariable("projectId"), + "studentId": "fgnxnw" + }, "deadline":new Date(), + "bewertender": { + "projectId": getQueryVariable("projectId"), + "studentId": document.getElementById("user").innerText + }, + "projektId":getQueryVariable("projectId"), + "bewertung":alarm + }); + $.ajax({ + url: "../rest/assessments2/calculate2", + type: 'POST', + headers: { + "Content-Type": "application/json", + "Cache-Control": "no-cache" + }, + data: dataP, + success: function (response) { + document.getElementById('ProblemGrp1').innerHTML=response; + }, + error: function (a,b,c) { + alert('some error' + b); + } + }) + } + else{ + window.alert("Bitte eine Zahl zwischen eins und 6 angeben") + } + }); +}); + +$(document).ready(function () { + $('#ProblemGrp1S1').on('click',function () { + var alarm = prompt("hier gibt es Unstimmigeiten","Vorgeschlagene Note:") + if (alarm === "1"||alarm=="2"||alarm=="3"||alarm=="4"||alarm=="5"||alarm=="6") { + + var dataP= JSON.stringify({"adressat":true,"student": { + "projectId": getQueryVariable("projectId"), + "studentId": "fgnxnw" + }, "deadline":new Date(), + "bewertender": { + "projectId": getQueryVariable("projectId"), + "studentId": document.getElementById("user").innerText + }, + "projektId":getQueryVariable("projectId"), + "bewertung":alarm + }); + $.ajax({ + url: "../rest/assessments2/calculate2", + type: 'POST', + headers: { + "Content-Type": "application/json", + "Cache-Control": "no-cache" + }, + data: dataP, + success: function (response) { + document.getElementById('ProblemGrp1S1').innerHTML=response; + }, + error: function (a,b,c) { + alert('some error' + b); + } + }) + } + else{ + window.alert("Bitte eine Zahl zwischen eins und 6 angeben") + } + }); +}); +$(document).ready(function () { + $('#ProblemGrp1S2').on('click',function () { + var alarm = prompt("hier gibt es Unstimmigeiten","Vorgeschlagene Note:") + if (alarm === "1"||alarm=="2"||alarm=="3"||alarm=="4"||alarm=="5"||alarm=="6") { + + var dataP= JSON.stringify({"adressat":true,"student": { + "projectId": getQueryVariable("projectId"), + "studentId": "fgnxnw" + }, "deadline":new Date(), + "bewertender": { + "projectId": getQueryVariable("projectId"), + "studentId": document.getElementById("user").innerText + }, + "projektId":getQueryVariable("projectId"), + "bewertung":alarm + }); + $.ajax({ + url: "../rest/assessments2/calculate2", + type: 'POST', + headers: { + "Content-Type": "application/json", + "Cache-Control": "no-cache" + }, + data: dataP, + success: function (response) { + document.getElementById('ProblemGrp1S2').innerHTML=response; + }, + error: function (a,b,c) { + alert('some error' + b); + } + }) + } + else{ + window.alert("Bitte eine Zahl zwischen eins und 6 angeben") + } + }); +}); +$(document).ready(function () { + $('#ProblemGrp2').on('click',function () { + var alarm = prompt("hier gibt es Unstimmigeiten","Vorgeschlagene Note:") + if (alarm === "1"||alarm=="2"||alarm=="3"||alarm=="4"||alarm=="5"||alarm=="6") { + + var dataP= JSON.stringify({"adressat":true,"student": { + "projectId": getQueryVariable("projectId"), + "studentId": "fgnxnw" + }, "deadline":new Date(), + "bewertender": { + "projectId": getQueryVariable("projectId"), + "studentId": document.getElementById("user").innerText + }, + "projektId":getQueryVariable("projectId"), + "bewertung":alarm + }); + $.ajax({ + url: "../rest/assessments2/calculate2", + type: 'POST', + headers: { + "Content-Type": "application/json", + "Cache-Control": "no-cache" + }, + data: dataP, + success: function (response) { + document.getElementById('ProblemGrp2').innerHTML=response; + }, + error: function (a,b,c) { + alert('some error' + b); + } + }) + } + else{ + window.alert("Bitte eine Zahl zwischen eins und 6 angeben") + } + }); +}); +$(document).ready(function () { + $('#ProblemGrp2S3').on('click',function () { + var alarm = prompt("hier gibt es Unstimmigeiten","Vorgeschlagene Note:") + if (alarm === "1"||alarm=="2"||alarm=="3"||alarm=="4"||alarm=="5"||alarm=="6") { + + var dataP= JSON.stringify({"adressat":true,"student": { + "projectId": getQueryVariable("projectId"), + "studentId": "fgnxnw" + }, "deadline":new Date(), + "bewertender": { + "projectId": getQueryVariable("projectId"), + "studentId": document.getElementById("user").innerText + }, + "projektId":getQueryVariable("projectId"), + "bewertung":alarm + }); + $.ajax({ + url: "../rest/assessments2/calculate2", + type: 'POST', + headers: { + "Content-Type": "application/json", + "Cache-Control": "no-cache" + }, + data: dataP, + success: function (response) { + document.getElementById('ProblemGrp2S3').innerHTML=response; + }, + error: function (a,b,c) { + alert('some error' + b); + } + }) + } + else{ + window.alert("Bitte eine Zahl zwischen eins und 6 angeben") + } + }); +}); +$(document).ready(function () { + $('#ProblemGrp2S4').on('click',function () { + var alarm = prompt("hier gibt es Unstimmigeiten","Vorgeschlagene Note:") + if (alarm === "1"||alarm=="2"||alarm=="3"||alarm=="4"||alarm=="5"||alarm=="6") { + + var dataP= JSON.stringify({"adressat":true,"student": { + "projectId": getQueryVariable("projectId"), + "studentId": "fgnxnw" + }, "deadline":new Date(), + "bewertender": { + "projectId": getQueryVariable("projectId"), + "studentId": document.getElementById("user").innerText + }, + "projektId":getQueryVariable("projectId"), + "bewertung":alarm + }); + $.ajax({ + url: "../rest/assessments2/calculate2", + type: 'POST', + headers: { + "Content-Type": "application/json", + "Cache-Control": "no-cache" + }, + data: dataP, + success: function (response) { + document.getElementById('ProblemGrp2S4').innerHTML=response; + }, + error: function (a,b,c) { + alert('some error' + b); + } + }) + } + else{ + window.alert("Bitte eine Zahl zwischen eins und 6 angeben") + } + }); +}); +$(document).ready(function () { + $('#ProblemGrp3').on('click',function () { + var alarm = prompt("hier gibt es Unstimmigeiten","Vorgeschlagene Note:") + if (alarm === "1"||alarm=="2"||alarm=="3"||alarm=="4"||alarm=="5"||alarm=="6") { + + var dataP= JSON.stringify({"adressat":true,"student": { + "projectId": getQueryVariable("projectId"), + "studentId": "fgnxnw" + }, "deadline":new Date(), + "bewertender": { + "projectId": getQueryVariable("projectId"), + "studentId": document.getElementById("user").innerText + }, + "projektId":getQueryVariable("projectId"), + "bewertung":alarm + }); + $.ajax({ + url: "../rest/assessments2/calculate2", + type: 'POST', + headers: { + "Content-Type": "application/json", + "Cache-Control": "no-cache" + }, + data: dataP, + success: function (response) { + document.getElementById('ProblemGrp3').innerHTML=response; + }, + error: function (a,b,c) { + alert('some error' + b); + } + }) + } + else{ + window.alert("Bitte eine Zahl zwischen eins und 6 angeben") + } + }); +}); +$(document).ready(function () { + $('#ProblemGrp3S5').on('click',function () { + var alarm = prompt("hier gibt es Unstimmigeiten","Vorgeschlagene Note:") + if (alarm === "1"||alarm=="2"||alarm=="3"||alarm=="4"||alarm=="5"||alarm=="6") { + + var dataP= JSON.stringify({"adressat":true,"student": { + "projectId": getQueryVariable("projectId"), + "studentId": "fgnxnw" + }, "deadline":new Date(), + "bewertender": { + "projectId": getQueryVariable("projectId"), + "studentId": document.getElementById("user").innerText + }, + "projektId":getQueryVariable("projectId"), + "bewertung":alarm + }); + $.ajax({ + url: "../rest/assessments2/calculate2", + type: 'POST', + headers: { + "Content-Type": "application/json", + "Cache-Control": "no-cache" + }, + data: dataP, + success: function (response) { + document.getElementById('ProblemGrp3S5').innerHTML=response; + }, + error: function (a,b,c) { + alert('some error' + b); + } + }) + } + else{ + window.alert("Bitte eine Zahl zwischen eins und 6 angeben") + } + }); +}); +$(document).ready(function () { + $('#ProblemGrp3S6').on('click',function () { + var alarm = prompt("hier gibt es Unstimmigeiten","Vorgeschlagene Note:") + if (alarm === "1"||alarm=="2"||alarm=="3"||alarm=="4"||alarm=="5"||alarm=="6") { + + var dataP= JSON.stringify({"adressat":true,"student": { + "projectId": getQueryVariable("projectId"), + "studentId": "fgnxnw" + }, "deadline":new Date(), + "bewertender": { + "projectId": getQueryVariable("projectId"), + "studentId": document.getElementById("user").innerText + }, + "projektId":getQueryVariable("projectId"), + "bewertung":alarm + }); + $.ajax({ + url: "../rest/assessments2/calculate2", + type: 'POST', + headers: { + "Content-Type": "application/json", + "Cache-Control": "no-cache" + }, + data: dataP, + success: function (response) { + document.getElementById('ProblemGrp3S6').innerHTML=response; + }, + error: function (a,b,c) { + alert('some error' + b); + } + }) + } + else{ + window.alert("Bitte eine Zahl zwischen eins und 6 angeben") + } + }); +}); diff --git a/gemeinsamforschen/src/main/webapp/assets/js/grading.js b/gemeinsamforschen/src/main/webapp/assets/js/grading.js new file mode 100644 index 0000000000000000000000000000000000000000..5f6823dab004b402bdb5e4eccbb87a88c8541f53 --- /dev/null +++ b/gemeinsamforschen/src/main/webapp/assets/js/grading.js @@ -0,0 +1,8 @@ +$(document).ready(function () { + $('#ProjektFinalisieren').on('click',function () { + + document.getElementById("ProjektFinalisieren").style.color="magenta"; + + + }); +}); \ No newline at end of file diff --git a/gemeinsamforschen/src/main/webapp/assets/js/overview-docent.js b/gemeinsamforschen/src/main/webapp/assets/js/overview-docent.js index 77cd2693f2740cc2cb0a36e504271eecae90310e..57444d11682ab734826fd91d6b29f3619847520a 100644 --- a/gemeinsamforschen/src/main/webapp/assets/js/overview-docent.js +++ b/gemeinsamforschen/src/main/webapp/assets/js/overview-docent.js @@ -1,9 +1,11 @@ $(document).ready(function(){ $('#project1Link').on('click', function(){ - location.href="project-docent.jsp?token="+getUserTokenFromUrl()+'&projectId='+'gemeinsamForschen'; + window.location.href="project-docent_CG.jsp?token="+getUserTokenFromUrl(); + location.href="project-docent_CG.jsp?token="+getUserTokenFromUrl()+'&projectId='+'gemeinsamForschen'; }); $('#project2Link').on('click', function(){ - location.href="project-docent.jsp?token="+getUserTokenFromUrl()+'&projectId='+'Kaleo'; + window.location.href="project-docent_CG.jsp?token="+getUserTokenFromUrl(); + location.href="project-docent_CG.jsp?token="+getUserTokenFromUrl()+'&projectId='+'Kaleo'; }); $('#createProject').on('click', function(){ location.href="createProject.jsp?token="+getUserTokenFromUrl(); diff --git a/gemeinsamforschen/src/main/webapp/assets/js/utility.js b/gemeinsamforschen/src/main/webapp/assets/js/utility.js index 3f21a38cd0eb8e61357a783869a2db3cc4e4f57d..f1e57818483d03a870abf92d5e24b23495bab11c 100644 --- a/gemeinsamforschen/src/main/webapp/assets/js/utility.js +++ b/gemeinsamforschen/src/main/webapp/assets/js/utility.js @@ -73,3 +73,4 @@ function getQueryVariable(variable) { } return (false); } + diff --git a/gemeinsamforschen/src/main/webapp/pages/project-docent_CG.jsp b/gemeinsamforschen/src/main/webapp/pages/project-docent_CG.jsp new file mode 100644 index 0000000000000000000000000000000000000000..ab4ab32c16da0455e463e051cde43c30f1dea16a --- /dev/null +++ b/gemeinsamforschen/src/main/webapp/pages/project-docent_CG.jsp @@ -0,0 +1,166 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> +<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu" %> +<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="headLine" %> +<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="omniDependencies" %> + +<!DOCTYPE html> +<html> + + +<head> + <omniDependencies:omniDependencies/> + <script src="../assets/js/utility.js"></script> + <script src="../assets/js/AlertAssessmentOutlier.js"></script> + <script src="../assets/js/grading.js"></script> + <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.2/Chart.js"></script> +</head> + + + +<body> +<div id="wrapper"> + <menu:menu></menu:menu> + + <div class="page-content-wrapper"> + <div class="container-fluid"> + <headLine:headLine/> + <button class="btn btn-default" type="button">Gruppen erstellen</button> + <button class="btn btn-default" type="button" id="ProjektFinalisieren">Projekt finalisieren</button> + <button class="btn btn-default" type="button">Exportiere Projektergebnisse</button> + </div> + <p hidden id="ProjektId">Projekt1</p> + <button + class="btn btn-default" type="button">Exportiere Zwischenstand</button><button class="btn btn-default" type="button">Quizfrage erstellen</button> + <div> + <div class="container"> + <div class="row"> + <div class="col-md-4"> + <div class="table-responsive" style="width:294px;"> + <table class="table"> + <thead> + <tr> + <th id="testAjax">Gruppe1 </th> + <th>Beiträge </th> + <th> <button id="ProblemGrp1">!</button> </th> + </tr> + </thead> + <tbody> + <tr> + <td>student1 </td> + <td>Interfaces </td> + <th> <button id="ProblemGrp1S1">!</button> </th> + </tr> + <tr> + <td>student2 </td> + <td>Design </td> + <th> <button id="ProblemGrp1S2">!</button> </th> + </tr> + </tbody> + </table> + </div> + <div class="table-responsive" style="width:294px;"> + <table class="table"> + <thead> + <tr> + <th>Gruppe2 </th> + <th>Beiträge </th> + <th> <button id="ProblemGrp2">!</button> </th> + </tr> + </thead> + <tbody> + <tr> + <td>student3 </td> + <td>Interfaces </td> + <th> <button id="ProblemGrp2S3">!</button> </th> + </tr> + <tr> + <td>student4 </td> + <td>Design </td> + <th> <button id="ProblemGrp2S4">!</button> </th> + </tr> + </tbody> + </table> + </div> + <div class="table-responsive" style="width:294px;"> + <table class="table"> + <thead> + <tr> + <th>Gruppe3 </th> + <th>Beiträge </th> + <th> <button id="ProblemGrp3">!</button> </th> + </tr> + </thead> + <tbody> + <tr> + <td>student5 </td> + <td>Interfaces </td> + <th> <button id="ProblemGrp3S5">!</button> </th> + </tr> + <tr> + <td>student6 </td> + <td>Design </td> + <th> <button id="ProblemGrp3S6">!</button> </th> + </tr> + </tbody> + </table> + </div> + </div> + <div class="col-md-4"> + <button id="DiaBlende">Zeitlicher Verlauf</button> + <canvas height="480" width="480", id = "Diagramm" ></canvas> + </div> + <div class="col-md-4"> + <div class="panel panel-default"> + <div class="panel-heading"> + <h3 class="panel-title">ProjektChat</h3> + </div> + <div class="panel-body" style="height:233px;"> + <ul class="list-group"> + <li class="list-group-item" style="margin-bottom:6px;"> + <div class="media"> + <div class="media-left"><a></a></div> + <div class="media-body"> + <div class="media" style="overflow:visible;"> + <div class="media-left"><a><img src="../assets/img/1.jpg" class="img-rounded" style="width: 25px; height:25px;"></a></div> + <div class="media-body" style="overflow:visible;"> + <div class="row"> + <div class="col-md-12"> + <p><a href="#">Sara Doe:</a> This guy has been going 100+ MPH on side streets. <br> + <small class="text-muted">August 6, 2016 @ 10:35am </small></p> + </div> + </div> + </div> + </div> + </div> + </div> + </li> + <li class="list-group-item" style="margin-bottom:6px;"> + <div class="media"> + <div class="media-left"><a></a></div> + <div class="media-body"> + <div class="media" style="overflow:visible;"> + <div class="media-left"><a><img src="../assets/img/1.jpg" class="img-rounded" style="width: 25px; height:25px;"></a></div> + <div class="media-body" style="overflow:visible;"> + <div class="row"> + <div class="col-md-12"> + <p><a href="#">Brennan Prill:</a> This guy has been going 100+ MPH on side streets. <br> + <small class="text-muted">August 6, 2016 @ 10:35am </small></p> + </div> + </div> + </div> + </div> + </div> + </div> + </li> + </ul><button class="btn btn-default" type="button" style="margin-left:601px;margin-top:-9px;">Add Comment</button></div> + </div> + </div> + </div> + </div> + </div> + </div> +</div> +<communication:chatWindow orientation="right"></communication:chatWindow> +</body> + +</html> \ No newline at end of file diff --git a/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/assessment/TestAddAssessment.java b/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/assessment/TestAddAssessment.java index cb7e6b830ee9af24b2b7f60c99e7a1bb45fc0cf2..b3bfe14bb933d9858e25bfe183e19448a6a36474 100644 --- a/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/assessment/TestAddAssessment.java +++ b/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/assessment/TestAddAssessment.java @@ -1,14 +1,16 @@ package unipotsdam.gf.modules.assessment; import org.junit.Test; +import unipotsdam.gf.core.database.mysql.MysqlConnect; +import unipotsdam.gf.core.database.mysql.VereinfachtesResultSet; import unipotsdam.gf.interfaces.IPeerAssessment; import unipotsdam.gf.modules.assessment.controller.model.*; import unipotsdam.gf.modules.assessment.controller.service.FBAssessement; -import unipotsdam.gf.modules.assessment.controller.service.PeerAssessment; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; + +import static javax.swing.UIManager.getString; import java.util.Map; public class TestAddAssessment { @@ -86,5 +88,61 @@ public class TestAddAssessment { //Assessment assessment = new Assessment(student, performance); //iPeerAssessment.addAssessmentDataToDB(assessment); } + @Test + public void meanOfAssessments(){ + double Ergebnis=0.0; + double zwischenErgebnis=0.0; + double counter=0.0; + List<Double> results = new ArrayList<>(); + MysqlConnect connect = new MysqlConnect(); + + connect.connect(); + String mysqlRequest = "SELECT * FROM `assessments` WHERE `empfaengerId`=? AND `projektId`=?"; + String test = "fgnxn"; + String test2 = "projekt"; + VereinfachtesResultSet ausgabe = connect.issueSelectStatement(mysqlRequest,test, test2); + while (ausgabe.next()){ + counter++; + zwischenErgebnis=zwischenErgebnis+ausgabe.getInt("bewertung"); + results.add((double) ausgabe.getInt("bewertung")); + } + results.add(zwischenErgebnis/counter); + System.out.println(results); + //Integer bewertung = ausgabe.getInt("bewertung"); + connect.close(); + } + @Test + public void groupDatafromDB(){ + MysqlConnect connect = new MysqlConnect(); + List<String> userNamen=new ArrayList<>(); + GroupEvalDataDatasets datenSaetze = new GroupEvalDataDatasets(); + GroupEvalDataList datenDia = new GroupEvalDataList(); + connect.connect(); + + String mysqlRequestGroupuser = "SELECT * FROM `groupuser` WHERE `groupId`=? "; + + VereinfachtesResultSet namenDerUser = connect.issueSelectStatement(mysqlRequestGroupuser,3); + int[] bewertungenZwischen=new int[10]; + while (namenDerUser.next()){ + userNamen.add(namenDerUser.getString("userEmail")); + } + for (int i=0;i<userNamen.size();i++){ + String mysqlRequestAssessment = "SELECT * FROM `assessments` WHERE `empfaengerId`=?"; + VereinfachtesResultSet bewertungDerUser = connect.issueSelectStatement(mysqlRequestAssessment,userNamen.get(i)); + + while (bewertungDerUser.next()) { + //bewertungenZwischen.add(bewertungDerUser.getInt("bewertung")); + System.out.println("Hass"); + } + datenSaetze.setData(bewertungenZwischen); + //datenSaetze.setLabel(userNamen.get(i)); + datenDia.appendDataSet(datenSaetze); + System.out.println(datenSaetze.getData()); + System.out.println(datenSaetze.getLabel()); + + } + connect.close(); + } + } diff --git a/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/assessment/TestAddAssessment.java.orig b/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/assessment/TestAddAssessment.java.orig new file mode 100644 index 0000000000000000000000000000000000000000..9551fecdd8a1ff851d2613269ab51347f7b791cc --- /dev/null +++ b/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/assessment/TestAddAssessment.java.orig @@ -0,0 +1,156 @@ +package unipotsdam.gf.modules.assessment; + +import org.junit.Test; +import unipotsdam.gf.core.database.mysql.MysqlConnect; +import unipotsdam.gf.core.database.mysql.VereinfachtesResultSet; +import unipotsdam.gf.interfaces.IPeerAssessment; +import unipotsdam.gf.modules.assessment.controller.model.*; +import unipotsdam.gf.modules.assessment.controller.service.FBAssessement; +<<<<<<< HEAD +import unipotsdam.gf.modules.assessment.controller.service.PeerAssessment; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +======= + +import java.util.ArrayList; +import java.util.List; + +import static javax.swing.UIManager.getString; +>>>>>>> origin/PeerAssessmentChristian_2 + +public class TestAddAssessment { + + private IPeerAssessment peer = new PeerAssessment(); + private String studentId = "Kevin"; + private String projectId = "test a la test"; + private String quizId = "Whats a good Test?"; + + @Test + public void createQuiz(){ + StudentAndQuiz studentAndQuiz = new StudentAndQuiz(); + StudentIdentifier student = new StudentIdentifier(projectId, studentId); + studentAndQuiz.setStudentIdentifier(student); + Quiz quiz = new Quiz(); + ArrayList<String> correctAnswers = new ArrayList<>(); + correctAnswers.add("1"); + correctAnswers.add("2"); + correctAnswers.add("3"); + ArrayList<String> incorrectAnswers = new ArrayList<>(); + incorrectAnswers.add("4"); + incorrectAnswers.add("5"); + incorrectAnswers.add("6"); + quiz.setQuestion(quizId); + quiz.setIncorrectAnswers(incorrectAnswers); + quiz.setType("mc"); + quiz.setCorrectAnswers(correctAnswers); + studentAndQuiz.setQuiz(quiz); + peer.createQuiz(studentAndQuiz); + } + + @Test + public void getAllQuizzesInProject(){ + peer.getQuiz(projectId); + } + + @Test + public void getQuiz(){ + peer.getQuiz(projectId, quizId, studentId); + } + + @Test + public void answerQuiz(){ + Map<String, List<String>> questions = new HashMap<>(); + StudentIdentifier student = new StudentIdentifier(projectId, studentId); + List<String> answers = new ArrayList<>(); + answers.add("1"); + answers.add("2"); + answers.add("3"); + questions.put(quizId, answers); + peer.answerQuiz(questions, student); + } + + @Test + public void deleteQuiz(){ + peer.deleteQuiz(quizId); + } + + @Test + public void addTestAssessment() { + IPeerAssessment iPeerAssessment = new FBAssessement(); + int [] quizAnswers = new int[5]; + quizAnswers[0] = 0; + quizAnswers[1] = 1; + quizAnswers[2] = 0; + quizAnswers[3] = 1; + quizAnswers[4] = 1; + int [] workRating = new int[3]; + workRating[0] = 5; //Führungsqualität + workRating[1] = 1; //Pünktlichkeit + workRating[2] = 4; //Hilfsbereitschaft oder so + + StudentIdentifier student = new StudentIdentifier("Spaß", "Haralf"); + //Performance performance = new Performance(student, quizAnswers,"so ein toller Typ", workRating); + //Assessment assessment = new Assessment(student, performance); + //iPeerAssessment.addAssessmentDataToDB(assessment); + } + @Test + public void meanOfAssessments(){ + double Ergebnis=0.0; + double zwischenErgebnis=0.0; + double counter=0.0; + List<Double> results = new ArrayList<>(); + MysqlConnect connect = new MysqlConnect(); + + connect.connect(); + String mysqlRequest = "SELECT * FROM `assessments` WHERE `empfaengerId`=? AND `projektId`=?"; + String test = "fgnxn"; + String test2 = "projekt"; + VereinfachtesResultSet ausgabe = connect.issueSelectStatement(mysqlRequest,test, test2); + while (ausgabe.next()){ + counter++; + zwischenErgebnis=zwischenErgebnis+ausgabe.getInt("bewertung"); + results.add((double) ausgabe.getInt("bewertung")); + } + results.add(zwischenErgebnis/counter); + System.out.println(results); + //Integer bewertung = ausgabe.getInt("bewertung"); + connect.close(); + } + @Test + public void groupDatafromDB(){ + MysqlConnect connect = new MysqlConnect(); + List<String> userNamen=new ArrayList<>(); + GroupEvalDataDatasets datenSaetze = new GroupEvalDataDatasets(); + GroupEvalDataList datenDia = new GroupEvalDataList(); + connect.connect(); + + String mysqlRequestGroupuser = "SELECT * FROM `groupuser` WHERE `groupId`=? "; + + VereinfachtesResultSet namenDerUser = connect.issueSelectStatement(mysqlRequestGroupuser,3); + int[] bewertungenZwischen=new int[10]; + while (namenDerUser.next()){ + userNamen.add(namenDerUser.getString("userEmail")); + } + for (int i=0;i<userNamen.size();i++){ + String mysqlRequestAssessment = "SELECT * FROM `assessments` WHERE `empfaengerId`=?"; + VereinfachtesResultSet bewertungDerUser = connect.issueSelectStatement(mysqlRequestAssessment,userNamen.get(i)); + + while (bewertungDerUser.next()) { + //bewertungenZwischen.add(bewertungDerUser.getInt("bewertung")); + System.out.println("Hass"); + } + datenSaetze.setData(bewertungenZwischen); + //datenSaetze.setLabel(userNamen.get(i)); + datenDia.appendDataSet(datenSaetze); + System.out.println(datenSaetze.getData()); + System.out.println(datenSaetze.getLabel()); + + } + connect.close(); + } + + +} diff --git a/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/communication/view/CommunicationViewTest.java b/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/communication/view/CommunicationViewTest.java deleted file mode 100644 index d9bbfc17d3e19b4b5d5a737134c5b90c445a13a8..0000000000000000000000000000000000000000 --- a/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/communication/view/CommunicationViewTest.java +++ /dev/null @@ -1,128 +0,0 @@ -package unipotsdam.gf.modules.communication.view; - -import org.glassfish.jersey.test.JerseyTest; -import org.glassfish.jersey.test.util.runner.ConcurrentRunner; -import org.junit.Test; -import org.junit.runner.RunWith; -import unipotsdam.gf.config.GFResourceConfig; -import unipotsdam.gf.core.management.user.User; -import unipotsdam.gf.modules.communication.model.Message; -import unipotsdam.gf.modules.communication.model.chat.ChatRoom; - -import javax.ws.rs.client.Entity; -import javax.ws.rs.core.Application; -import javax.ws.rs.core.Response; -import java.util.ArrayList; -import java.util.List; - -import static javax.ws.rs.core.Response.Status.BAD_REQUEST; -import static javax.ws.rs.core.Response.Status.CREATED; -import static javax.ws.rs.core.Response.Status.NOT_FOUND; -import static javax.ws.rs.core.Response.Status.OK; -import static org.hamcrest.Matchers.is; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertThat; - -@RunWith(ConcurrentRunner.class) -public class CommunicationViewTest extends JerseyTest { - - private final static String ENDPOINT = "chat/"; - - @Override - protected Application configure() { - CommunicationView communicationView = new CommunicationView(); - GFResourceConfig gfResourceConfig = new GFResourceConfig(); - gfResourceConfig.register(communicationView); - return gfResourceConfig; - } - - @Test - public void getChatRoomInformation() { - String path = ENDPOINT + "info/"; - Response responseOk = target().path(path + "1").request().get(); - assertThat(responseOk.getStatus(), is(OK.getStatusCode())); - assertNotNull(responseOk.readEntity(ChatRoom.class)); - - Response responseNotFound = target().path(path).request().get(); - assertThat(responseNotFound.getStatus(), is(NOT_FOUND.getStatusCode())); - } - - @Test - public void getChatHistory() { - String path = ENDPOINT + "history/"; - Response responseOk = target().path(path + "1").request().get(); - assertThat(responseOk.getStatus(), is(OK.getStatusCode())); - assertNotNull(responseOk.readEntity(List.class)); - - Response responseNotFound = target().path(path).request().get(); - assertThat(responseNotFound.getStatus(), is(NOT_FOUND.getStatusCode())); - } - - @Test - public void createChatRoom() { - String path = ENDPOINT + "create"; - Response responseOk = target().path(path).queryParam("name", "test").request().post(null); - assertThat(responseOk.getStatus(), is(CREATED.getStatusCode())); - assertNotNull(responseOk.readEntity(String.class)); - - ArrayList<User> users = new ArrayList<>(); - users.add(new User("test", "test", "test", true)); - Response responseOk2 = target().path(path).queryParam("name", "test").request().post(Entity.json(users)); - assertThat(responseOk2.getStatus(), is(CREATED.getStatusCode())); - assertNotNull(responseOk2.readEntity(String.class)); - - Response responseBadRequest = target().path(path).request().post(Entity.json(users)); - assertThat(responseBadRequest.getStatus(), is(BAD_REQUEST.getStatusCode())); - } - - @Test - public void sendMessage() { - String path = ENDPOINT + "send"; - Message message = new Message(); - message.setMessage("test"); - message.setRoomIdOrChannel("1"); - Response responseOk = target().path(path + "/1").request().post(Entity.json(message)); - assertThat(responseOk.getStatus(), is(OK.getStatusCode())); - assertNotNull(responseOk.readEntity(String.class)); - - Response responseBadRequest = target().path(path + "/1").request().post(Entity.json(null)); - assertThat(responseBadRequest.getStatus(), is(BAD_REQUEST.getStatusCode())); - } - - @Test - public void addUserToChatRoom() { - String fullPath = ENDPOINT + "addUser" + "/1"; - - User user = new User("test", "test", "test", true); - Response responseOk = target().path(fullPath).request().post(Entity.json(user)); - assertThat(responseOk.getStatus(), is(OK.getStatusCode())); - assertNotNull(responseOk.readEntity(String.class)); - - Response responseBadRequest = target().path(fullPath).request().post(Entity.json(null)); - assertThat(responseBadRequest.getStatus(), is(BAD_REQUEST.getStatusCode())); - } - - @Test - public void removeUserFromChatRoom() { - String fullPath = ENDPOINT + "removeUser" + "/1"; - - User user = new User("test2", "test2", "test", true); - Response responseOk = target().path(fullPath).request().post(Entity.json(user)); - assertThat(responseOk.getStatus(), is(OK.getStatusCode())); - assertNotNull(responseOk.readEntity(String.class)); - - Response responseBadRequest = target().path(fullPath).request().post(Entity.json(null)); - assertThat(responseBadRequest.getStatus(), is(BAD_REQUEST.getStatusCode())); - } - - @Test - public void setChatRoomTopic() { - String fullPath = ENDPOINT + "setTopic" + "/1"; - Response responseOk = target().path(fullPath).queryParam("topic", "test").request().post(null); - assertThat(responseOk.getStatus(), is(OK.getStatusCode())); - assertNotNull(responseOk.readEntity(String.class)); - - Response responseBadRequest = target().path(fullPath).request().post(Entity.json(null)); - assertThat(responseBadRequest.getStatus(), is(BAD_REQUEST.getStatusCode())); - } -}