Skip to content
Snippets Groups Projects
Commit fb2790f1 authored by Axel's avatar Axel
Browse files

fix: post request works in /calculate and Grades was exchanged by...

fix: post request works in /calculate and Grades was exchanged by ArrayList(Grading), whoop uhm.. whoop!
parent 01c29a43
No related branches found
No related tags found
No related merge requests found
Showing
with 137 additions and 172 deletions
......@@ -2,6 +2,7 @@ package unipotsdam.gf.interfaces;
import unipotsdam.gf.modules.assessment.controller.model.*;
import java.util.ArrayList;
import java.util.List;
/**
......@@ -39,7 +40,7 @@ public interface IPeerAssessment {
*
* @param totalPerformance @return
*/
List<Grading> calculateAssessment(TotalPerformance totalPerformance); // calculates marks for every performance and writes it to an array
List<Grading> calculateAssessment(ArrayList<Performance> totalPerformance); // calculates marks for every performance and writes it to an array
/**
......@@ -47,7 +48,7 @@ public interface IPeerAssessment {
* @param studentIdentifier
* @return
*/
TotalPerformance getTotalAssessment(StudentIdentifier studentIdentifier);
ArrayList<Performance> getTotalAssessment(StudentIdentifier studentIdentifier);
/**
* calculates the mean value of all assessments in a project.
......
package unipotsdam.gf.modules.assessment.controller.model;
import javax.xml.bind.annotation.XmlRootElement;
import java.util.ArrayList;
@XmlRootElement
public class Assessment {
private StudentIdentifier student;
private Performance performance;
private TotalPerformance totalPerformance;
public Assessment(StudentIdentifier student, Performance performance) {
this.student = student;
......@@ -16,7 +16,7 @@ public class Assessment {
public Assessment(){}
public TotalPerformance getTotalAssessment() { return totalPerformance; }
public ArrayList<Performance> getTotalAssessment() { return null; }
public StudentIdentifier getStudent() {
return student;
......@@ -39,7 +39,6 @@ public class Assessment {
return "Assessment{" +
"student=" + student +
", performance=" + performance +
", totalPerformance=" +totalPerformance +
'}';
}
}
......@@ -2,16 +2,16 @@ package unipotsdam.gf.modules.assessment.controller.model;
public class Grading {
private StudentIdentifier studentIdentifier;
private int grade;
private double grade;
public Grading(){}
public Grading(StudentIdentifier studentIdentifier, int grade) {
public Grading(StudentIdentifier studentIdentifier, double grade) {
this.studentIdentifier = studentIdentifier;
this.grade = grade;
}
public int getGrade() {
public double getGrade() {
return grade;
}
......
......@@ -3,18 +3,27 @@ package unipotsdam.gf.modules.assessment.controller.model;
import java.util.Arrays;
public class Performance {
private StudentIdentifier studentIdentifier;
private int[] quizAnswer;
private String feedback;
private int[] workRating;
public Performance(int[] quizAnswer, String feedback, int[] workRating) {
this.quizAnswer = quizAnswer;
this.feedback = feedback;
this.workRating = workRating;
public Performance(){}
public Performance(StudentIdentifier student, int[] quiz, String feedback, int[] workRating) {
this.studentIdentifier = student;
this.quizAnswer = quiz;
this.feedback=feedback;
this.workRating=workRating;
}
public Performance() {
public StudentIdentifier getStudentIdentifier() {
return studentIdentifier;
}
public void setStudentIdentifier(StudentIdentifier studentIdentifier) {
this.studentIdentifier = studentIdentifier;
}
public int[] getQuizAnswer() {
......@@ -41,12 +50,15 @@ public class Performance {
this.workRating = workRating;
}
@Override
public String toString() {
return "Performance{" +
"quizAnswer=" + Arrays.toString(quizAnswer) +
"studentIdentifier=" + studentIdentifier +
", quizAnswer=" + Arrays.toString(quizAnswer) +
", feedback='" + feedback + '\'' +
", workRating=" + Arrays.toString(workRating) +
'}';
}
}
......@@ -9,6 +9,9 @@ public class StudentIdentifier {
this.studentId = studentId;
}
public StudentIdentifier() {
}
public String getProjectId() {
return projectId;
}
......
package unipotsdam.gf.modules.assessment.controller.model;
import java.util.Arrays;
public class TotalPerformance {
private StudentIdentifier[] studentIdentifier;
private Performance[] performances;
public TotalPerformance(StudentIdentifier[] studentIdentifier, Performance[] performances) {
this.studentIdentifier = studentIdentifier;
this.performances = performances;
}
public TotalPerformance() {
studentIdentifier = new StudentIdentifier[3];
performances = new Performance[3];
studentIdentifier[0] = new StudentIdentifier("hello", "world");
performances[0] = new Performance();
}
public Performance[] getPerformances() {
return performances;
}
public void setPerformances(Performance[] performances) {
this.performances = performances;
}
public StudentIdentifier[] getStudentIdentifier() {
return studentIdentifier;
}
public void setStudentIdentifier(StudentIdentifier[] studentIdentifier) {
this.studentIdentifier = studentIdentifier;
}
@Override
public String toString() {
return "TotalPerformance{" +
"studentIdentifier=" + studentIdentifier +
", performances=" + Arrays.toString(performances) +
'}';
}
}
......@@ -2,6 +2,7 @@ package unipotsdam.gf.modules.assessment.controller.service;
import unipotsdam.gf.modules.assessment.controller.model.*;
import java.util.ArrayList;
import java.util.List;
/**
......@@ -24,14 +25,13 @@ public class FBAssessement extends AssessmentDAO {
}
@Override
public List<Grading> calculateAssessment(TotalPerformance totalPerformance){ // calculates marks for every performance and writes it to an array
public List<Grading> calculateAssessment(ArrayList<Performance> totalPerformance) {
return null;
}
@Override
public TotalPerformance getTotalAssessment(StudentIdentifier studentIdentifier) {
public ArrayList<Performance> getTotalAssessment(StudentIdentifier studentIdentifier) {
return null;
}
......
......@@ -3,6 +3,7 @@ package unipotsdam.gf.modules.assessment.controller.service;
import unipotsdam.gf.interfaces.IPeerAssessment;
import unipotsdam.gf.modules.assessment.controller.model.*;
import java.util.ArrayList;
import java.util.List;
public class PeerAssessment implements IPeerAssessment {
......@@ -27,13 +28,12 @@ public class PeerAssessment implements IPeerAssessment {
}
@Override
public List<Grading> calculateAssessment(TotalPerformance totalPerformance) {
public List<Grading> calculateAssessment(ArrayList<Performance> totalPerformance) {
return null;
}
@Override
public TotalPerformance getTotalAssessment(StudentIdentifier studentIdentifier) {
public ArrayList<Performance> getTotalAssessment(StudentIdentifier studentIdentifier) {
return null;
}
......
......@@ -3,6 +3,7 @@ package unipotsdam.gf.modules.assessment.controller.service;
import unipotsdam.gf.interfaces.IPeerAssessment;
import unipotsdam.gf.modules.assessment.controller.model.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
......@@ -28,7 +29,7 @@ public class PeerAssessmentDummy implements IPeerAssessment {
public Assessment getAssessmentDataFromDB(StudentIdentifier student) {
int[] quizAnswer = {1,1,1,0,0,0,1,0,0,1,1};
int[] workRating = {1,5,3,4,1,5,5};
Performance performance = new Performance(quizAnswer, "what a nice guy", workRating);
Performance performance = new Performance(student, quizAnswer, "what a nice guy", workRating);
Assessment assessment = new Assessment(student, performance);
return assessment;
}
......@@ -38,43 +39,38 @@ public class PeerAssessmentDummy implements IPeerAssessment {
}
@Override
public List<Grading> calculateAssessment(TotalPerformance totalPerformance) {
Performance[] performanceOfAllStudents = totalPerformance.getPerformances();
StudentIdentifier[] allStudents = totalPerformance.getStudentIdentifier();
int[] allAssessements = new int[performanceOfAllStudents.length] ;
Grading[] grading = new Grading[performanceOfAllStudents.length];
public List<Grading> calculateAssessment(ArrayList<Performance> totalPerformance) {
double[] allAssessements = new double[totalPerformance.size()] ;
Grading[] grading = new Grading[totalPerformance.size()];
for (int i=0; i< performanceOfAllStudents.length;i++) {
for (int j=0; j< performanceOfAllStudents[i].getQuizAnswer().length;j++) {
allAssessements[i] += performanceOfAllStudents[i].getQuizAnswer()[j];
for (int i=0; i< totalPerformance.size();i++) {
for (int j=0; j< totalPerformance.get(i).getQuizAnswer().length;j++) {
allAssessements[i] += totalPerformance.get(i).getQuizAnswer()[j];
}
allAssessements[i] = allAssessements[i]/performanceOfAllStudents[i].getQuizAnswer().length;
allAssessements[i] = allAssessements[i]/totalPerformance.get(i).getQuizAnswer().length;
}
for (int i=0; i<performanceOfAllStudents.length; i++){
Grading shuttle = new Grading(allStudents[i], allAssessements[i]);
for (int i=0; i<totalPerformance.size(); i++){
Grading shuttle = new Grading(totalPerformance.get(i).getStudentIdentifier(), allAssessements[i]);
grading[i]= shuttle;
}
return Arrays.asList(grading);
}
@Override
public TotalPerformance getTotalAssessment(StudentIdentifier studentIdentifier) {
public ArrayList<Performance> getTotalAssessment(StudentIdentifier studentIdentifier) {
StudentIdentifier[] students = new StudentIdentifier[2];
StudentIdentifier student = new StudentIdentifier("gemeinsamForschen","Haralf");
students[0] = student;
student = new StudentIdentifier("gemeinsamForschen","Regine");
students[1] = student;
Performance[] performances = new Performance[2];
StudentIdentifier student1 = new StudentIdentifier("gemeinsamForschen","Haralf");
StudentIdentifier student2 = new StudentIdentifier("gemeinsamForschen","Regine");
ArrayList<Performance> performances = new ArrayList<Performance>();
int[] quiz = {1,0,1,0,0,0,1};
int[] quiz2 = {0,1,0,1,1,1,0};
int[] work = {5,4,3,2,1};
int[] work2 = {1,2,3,4,5};
Performance performance = new Performance(quiz, "toller dude",work);
performances[0] = performance;
performance = new Performance(quiz2, "tolle dudine",work2);
performances[1] = performance;
TotalPerformance totalPerformance = new TotalPerformance(students,performances);
return totalPerformance;
Performance performance = new Performance(student1, quiz, "toller dude",work);
performances.add(performance);
performance = new Performance(student2, quiz2, "tolle dudine",work2);
performances.add(performance);
return performances;
}
@Override
......
......@@ -18,7 +18,7 @@ public class QuizView implements IPeerAssessment {
@Override
public Quiz getQuiz(@PathParam("projectId") String projectId, @PathParam("quizId") String quizId) {
return peer.getQuiz(projectId, quizId);
}
} ///////////////////////////////funktioniert wie geplant//////////////////////////////////
@POST
@Produces(MediaType.TEXT_PLAIN)
......@@ -41,12 +41,12 @@ 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//////////////////////////////////
@POST
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
@Path("/quiz")
@Override
public void createQuiz(StudentAndQuiz studentAndQuiz) {
......@@ -54,12 +54,12 @@ public class QuizView implements IPeerAssessment {
}
@POST
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
@Path("/calculate")
@Override
public List<Grading> calculateAssessment(TotalPerformance totalPerformance) { //todo: maybe the return variable is the problem why it doesnt work.
return new ArrayList<Grading>();
public List<Grading> calculateAssessment(ArrayList<Performance> totalPerformance) {
return peer.calculateAssessment(totalPerformance);
}
@GET
......@@ -67,35 +67,36 @@ public class QuizView implements IPeerAssessment {
@Path("/mean/project/{projectId}")
@Override
public int meanOfAssessement(@PathParam("projectId") String ProjectId) {
return peer.meanOfAssessement(ProjectId);
}
} ///////////////////////////////return 0//////////////////////////////////
@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("/total/project/{projectId}/student/{student}")
public TotalPerformance getTotalAssessment(@PathParam("projectId") String ProjectId,@PathParam("student") String student){
public ArrayList<Performance> getTotalAssessment(@PathParam("projectId") String ProjectId,@PathParam("student") String student){
StudentIdentifier studentIdentifier = new StudentIdentifier(ProjectId, student);
return getTotalAssessment(studentIdentifier);
};
}; ///////////////////////////////funktioniert wie geplant//////////////////////////////////
@Override
public TotalPerformance getTotalAssessment(StudentIdentifier studentIdentifier) {
public ArrayList<Performance> getTotalAssessment(StudentIdentifier studentIdentifier) {
return peer.getTotalAssessment(studentIdentifier);
}
} ///////////////////////////////funktioniert wie geplant//////////////////////////////////
@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("/dummy/totalperformance")
public List<TotalPerformance> getTotalAssessment() {
ArrayList<TotalPerformance> result = new ArrayList<>();
TotalPerformance pf = new TotalPerformance();
TotalPerformance pf2 = new TotalPerformance();
public List<Performance> getTotalAssessment() {
ArrayList<Performance> result = new ArrayList<>();
StudentIdentifier student = new StudentIdentifier("projekt","student");
int[] quiz = {1,0,1,1,1,0};
Performance pf = new Performance(student,quiz,"toller dude",quiz);
Performance pf2 = new Performance(student,quiz,"super",quiz);
result.add(pf);
result.add(pf2);
return result;
//return peer.getTotalAssessment(studentIdentifier);
// TODO fix this
}
} ///////////////////////////////returns what i expect it to return!!!!!//////////////////////////////////
}
$(document).ready(function(){
$("#giveItBack").on("click", function(){
$(document).ready(function () {
$("#giveItBack").on("click", function () {
$.ajax({
url: "http://localhost:8080/gemeinsamforschen/rest/assessments/total/project/"+"gemeinsamForschen"+"/student/"+"Bela",
url: "http://localhost:8080/gemeinsamforschen/rest/assessments/total/project/" + "gemeinsamForschen" + "/student/" + "Bela",
type: 'GET',
success: function(data){
alert("here is the TotalPerformance: "+data);
success: function (data) {
alert("here is the TotalPerformance: " + data);
},
error: function(a,b,c){
alert('some error'+a);
error: function (a, b, c) {
alert('some error' + a);
}
})
});
$("#calculateNow").on("click", function(){
var data = {
"studentIdentifier":[{
"projectId":"gemeinsamForschen",
"studentId":"Haralf"
},
{
"projectId":"gemeinsamForschen",
"studentId":"Regine"
}
$("#calculateNow").on("click", function () {
var dataP = [
{
"studentIdentifier": {
"projectId": "projekt",
"studentId": "Keiler"
},
"quizAnswer": [
1,
0,
1,
1,
1,
0
],
"performances":[{
"quizAnswer":[1,0,1,0,0,0,1],
"feedback":"toller dude",
"workRating":[5,4,3,2,1]
},{
"quizAnswer":[0,1,0,1,1,1,0],
"feedback":"tolle dudine",
"workRating":[1,2,3,4,5]}
"feedback": "toller dude",
"workRating": [
5,
4,
3,
2,
1,
0
]
};
var datacorrect = { //todo: write it in maps instead of arrays
"studentIdentifier":[ {
"projectId": 'gemeinsamForschn',
"student": 'Max*i Mustermann*ine'
},
{
"projectId": 'gemeinsamForschn',
"student": 'John Doe'
},
{
"projectId": 'gemeinsamForschn',
"student": 'Harri Gründler'
}
],
"performance":[
{
"quizAnswers": [1,0,1,1,0,0,0,0,1],
"feedback": 'ganz feiner Student war das',
"workRating": [4,3,5,1,1,5,3]
"studentIdentifier": {
"projectId": "projekt",
"studentId": "Glucke"
},
{
"quizAnswers": [1,0,1,1,0,1,1,1,1],
"feedback": 'ganz feiner Student war das',
"workRating": [2,3,2,3,1,2,3]
},
{
"quizAnswers": [0,0,0,0,0,0,0,0,0],
"feedback": 'ganz feiner Student war das',
"workRating": [1,1,1,1,1,1,1]
}
]
};
"quizAnswer": [
1,
1,
1,
1,
1,
0
],
"feedback": "super",
"workRating": [
1,
1,
1,
2,
3,
2
]
}
];
$.ajax({
url: "http://localhost:8080/gemeinsamforschen/rest/assessments/calculate",
type: 'POST',
contentType: 'application/json; charset=utf-8',
data: data,
success: function(response){
alert(response);
headers: {
"Authorization": "Basic YeahSomethingInAWrap",
"Content-Type": "application/json",
"Cache-Control": "no-cache"
},
data: JSON.stringify(dataP),
success: function (response) {
alert(response[0].studentIdentifier.studentId + " got " +response[0].grade*100+"% /n"+
response[1].studentIdentifier.studentId + " got " +response[1].grade*100+"% /n");
},
error: function(a){
alert('some error'+a);
error: function (a) {
alert('some error' + a);
}
})
})
......
......@@ -24,7 +24,7 @@ public class TestAddAssessment {
workRating[2] = 4; //Hilfsbereitschaft oder so
StudentIdentifier student = new StudentIdentifier("Spaß", "Haralf");
Performance performance = new Performance(quizAnswers,"so ein toller Typ", workRating);
Performance performance = new Performance(student, quizAnswers,"so ein toller Typ", workRating);
Assessment assessment = new Assessment(student, performance);
iPeerAssessment.addAssessmentDataToDB(assessment);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment