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..fed9aef3bbb95e97027c5a18f89397209e11c991 --- /dev/null +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/GroupEvalDataDatasets.java @@ -0,0 +1,69 @@ +package unipotsdam.gf.modules.assessment.controller.model; + + + +public class GroupEvalDataDatasets { + private String label; + private int[] data; + + 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 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..a1c7d66c31844d968dd31cf5fcebbf14c6ab2c4d --- /dev/null +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/GroupEvalDataList.java @@ -0,0 +1,40 @@ +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(List<GroupEvalDataDatasets> datasets,String[] labels){ + this.labels=labels; + this.datasets=datasets; + } + + + public List<GroupEvalDataDatasets> getDataset() { + return datasets; + } + + public void setDataset(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..5ffe86783edc9be6e9f2a71212a010b3c5a94b94 --- /dev/null +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/GroupEvalDiagrammData.java @@ -0,0 +1,114 @@ +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(); + diagramm.setType("line"); + GroupEvalOption option=new GroupEvalOption(); + GroupEvalDiagrammLegende legende =new GroupEvalDiagrammLegende(); + legende.setDisplay(false); + option.setLegende(legende); + diagramm.setOption(option); + 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); + List<Integer> bewertungenZwischen = new ArrayList<Integer>(); + List<String> labelZwischen = new ArrayList<String>(); + + + 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); + } + datenSaetze.setData(hilfeDaten); + datenSaetze.setLabel(anUserNamen); + datenDia.appendDataSet(datenSaetze); + + String[] hilfeLabel = new String[labelZwischen.size()]; + for (int z = 0; z < labelZwischen.size(); z++) { + hilfeLabel[z] = labelZwischen.get(z); + } + datenDia.setLabels(hilfeLabel); + System.out.println(Arrays.toString(datenSaetze.getData())); + System.out.println(labelZwischen); + System.out.println(anUserNamen); + bewertungenZwischen.clear(); + labelZwischen.clear(); + } + connect.close(); + diagramm.setData(datenDia); + + + 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/webapp/assets/js/AlertAssessmentOutlier.js b/gemeinsamforschen/src/main/webapp/assets/js/AlertAssessmentOutlier.js index 3e9991707b40930e2cd7ada0a9fef69c2306f04c..c839478e287cb4652039897471ab07afecdb92cd 100644 --- a/gemeinsamforschen/src/main/webapp/assets/js/AlertAssessmentOutlier.js +++ b/gemeinsamforschen/src/main/webapp/assets/js/AlertAssessmentOutlier.js @@ -2,31 +2,64 @@ $(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: ["Erstes Assessment", "Zweites Assessment", "Drittes Assessment", "Viertes Assessment", "Fünftes Assessment", "Sechstes Assessment"], + labels: ["05.06.1009", "05.06.1009", "05.06.1009", "05.06.1009"], datasets: [{ - label: 'Note Student 1', + label: "Note Student 1", data: [ - {x:1,y:2},{x:2,y:3},{x:3,y:1},{x:4,y:4}, {x:5,y:1}, {x:6,y:3}], - borderColor: 'rgba(255,0,3,0.2)', - backgroundColor: 'rgba(255,0,3,0.2)', + 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: [{x:1,y:3},{x:2,y:2},{x:3,y:5},{x:4,y:5}, {x:5,y:5}, {x:6,y:1}] + 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: {scales: {yAxes: [{ticks: {beginAtZero:true}}]},layout:{padding:{left:50,right:50,top:50, bottom:50}}} - }); + + options: {legend:{display:false}} + });*/ }); }); diff --git a/gemeinsamforschen/src/main/webapp/pages/project-docent_CG.jsp b/gemeinsamforschen/src/main/webapp/pages/project-docent_CG.jsp index 810fa8513e885a01f369b3189184c79d0d9152c3..ab4ab32c16da0455e463e051cde43c30f1dea16a 100644 --- a/gemeinsamforschen/src/main/webapp/pages/project-docent_CG.jsp +++ b/gemeinsamforschen/src/main/webapp/pages/project-docent_CG.jsp @@ -107,7 +107,7 @@ </div> <div class="col-md-4"> <button id="DiaBlende">Zeitlicher Verlauf</button> - <canvas height="280" width="280", id = "Diagramm" ></canvas> + <canvas height="480" width="480", id = "Diagramm" ></canvas> </div> <div class="col-md-4"> <div class="panel panel-default"> 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 61121a7611edb8eab9b3c674e1b784df07d2cb57..bf200233f7a92d16ee37ccff90afea7274709ef6 100644 --- a/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/assessment/TestAddAssessment.java +++ b/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/assessment/TestAddAssessment.java @@ -4,13 +4,10 @@ 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.Assessment; +import unipotsdam.gf.modules.assessment.controller.model.*; import unipotsdam.gf.modules.assessment.controller.service.FBAssessement; -import unipotsdam.gf.modules.assessment.controller.model.Performance; -import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier; import java.util.ArrayList; -import java.util.Date; import java.util.List; import static javax.swing.UIManager.getString; @@ -59,5 +56,38 @@ public class TestAddAssessment { //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(); + } + }