Skip to content
Snippets Groups Projects
Commit da238004 authored by KKlaue's avatar KKlaue
Browse files

#78 added functionality to view feedback

#79 improved peerfeedback interface implementation
parent f16c1f87
No related branches found
No related tags found
No related merge requests found
package unipotsdam.gf.modules.peer2peerfeedback.peerfeedback.Controller;
import unipotsdam.gf.core.database.mysql.MysqlConnect;
import unipotsdam.gf.core.database.mysql.VereinfachtesResultSet;
import unipotsdam.gf.modules.annotation.model.Annotation;
import unipotsdam.gf.modules.annotation.model.AnnotationBody;
import unipotsdam.gf.modules.peer2peerfeedback.Category;
import unipotsdam.gf.modules.peer2peerfeedback.peerfeedback.Model.Peer2PeerFeedback;
import java.util.UUID;
public class PeerFeedbackController{
public class PeerFeedbackController {
//@Override
public void createPeer2PeerFeedback(Peer2PeerFeedback feedback) {
// create a new id if we found no id.
String uuid = UUID.randomUUID().toString();
// while (existsfeedbackId(uuid)) { //Todo: existsfeedbackId
// uuid = UUID.randomUUID().toString();
// }
// while (existsfeedbackId(uuid)) { //Todo: existsfeedbackId
// uuid = UUID.randomUUID().toString();
// }
// establish connection
MysqlConnect connection = new MysqlConnect();
......@@ -22,19 +26,64 @@ public class PeerFeedbackController{
// build and execute request
String request = "INSERT INTO peerfeedback (`id`, `reciever`, `sender`, `text`, `category`, `filename`) VALUES (?,?,?,?,?,?);";
connection.issueInsertOrDeleteStatement(request, uuid, feedback.getFeedbackreceiver(), feedback.getFeedbacksender(), feedback.getText(), feedback.getFeedbackcategory(),feedback.getFilename());
connection.issueInsertOrDeleteStatement(request, uuid, feedback.getFeedbackreceiver(), feedback.getFeedbacksender(), feedback.getText(), feedback.getFeedbackcategory(), feedback.getFilename());
// close connection
connection.close();
// build response annotation
//Annotation annotationResponse = getAnnotation(uuid);
//Annotation annotationResponse = getAnnotation(uuid);
// return Response.ok().build();
// return Response.ok().build();
//return null;
}
//@Override
public Peer2PeerFeedback getPeer2PeerFeedback(String id) {
// establish connection
MysqlConnect connection = new MysqlConnect();
connection.connect();
// build and execute request
String request = "SELECT * FROM peerfeedback WHERE id = ?;";
VereinfachtesResultSet rs = connection.issueSelectStatement(request, id);
System.out.print(rs);
if (rs.next()) {
// save annotation
Peer2PeerFeedback feedback = getPeerfeedbackFromResultSet(rs);
// close connection
connection.close();
System.out.print(feedback);
return feedback;
} else {
// close connection
connection.close();
System.out.print("null");
return null;
}
}
private Peer2PeerFeedback getPeerfeedbackFromResultSet(VereinfachtesResultSet rs) {
String id = rs.getString("id");
long timestamp = rs.getTimestamp(2).getTime();
String reciever = rs.getString("reciever");
String sender = rs.getString("sender");
String text = rs.getString("text");
Object category = rs.getObject("category");
String filename = rs.getString("filename");
//AnnotationBody body = new AnnotationBody(title, comment, startCharacter, endCharacter);
//return new Peer2PeerFeedback("id", 1234, Category.TITEL, "reciever", "sender", "test", "filename");
return new Peer2PeerFeedback(id,timestamp,Category.TITEL,reciever, sender, text, filename);
}
}
......@@ -38,9 +38,19 @@ public class PeerFeedbackView {
controller.createPeer2PeerFeedback(feedback);
return Response.ok(feedback).build();
return Response.ok().build(); //feedback
}
@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("{id}")
public Response getPeerfeedback(@PathParam("id") String id){
PeerFeedbackController controller = new PeerFeedbackController();
Peer2PeerFeedback fd = controller.getPeer2PeerFeedback(id);
return Response.ok(fd).build();
}
}
var student = getQueryVariable("token");
var project = getQueryVariable("projectId");
$(document).ready(function() {
$('#student').val(student);
$('#project').val(project);
var peerfeedbackID = getQueryVariable("Peerfeedback");
console.log(peerfeedbackID);
var peerfeedbackID = "a3cef66d-e1b7-4030-8fcd-1413d6e77ba0";
console.log(peerfeedbackID);
//if(peerfeedbackID) {
$.ajax({
url: "../rest/peerfeedback/"+peerfeedbackID //{id}
}).then(function (data) {
//$('#editor').append(data.descriptionMD);
console.log("function1");
loadFeedback(data);
console.log("function2");
document.getElementById("Peerfeedback").innerHTML = data;
//document.write(data);
//console.log(data);
var newDiv = document.createElement("div");
var newContent = document.createTextNode(data.text);
newDiv.appendChild(newContent); // füge den Textknoten zum neu erstellten div hinzu.
// füge das neu erstellte Element und seinen Inhalt ins DOM ein
var currentDiv = document.getElementById("div1");
document.body.insertBefore(newDiv, currentDiv);
//$('#peerfeedbackID').val(peerfeedbackID);
console.log(data);
});
// }
function loadFeedback(data) {
for (var feedback in data) {
var feedbackString = '<div class="pf-container">' +
'<div class="journal-date"> ' +
data[feedback].timestamp +
'</div>' +
'<div class="journal-name">' +
// TODO id to name
data[feedback].text +
'</div>' +
'<div class="journal-category">' +
data[feedback].id +
'</div>' +
'<div class="journal-edit" align="right">';
feedbackString = feedbackString + '</div>' +
'<div class="journal-text">' +
data[feedback].entryHTML +
'</div>' +
'</div><br><br>';
$('.Peerfeedback').append(feedbackString)
}};
})
\ No newline at end of file
......@@ -29,13 +29,6 @@ function go(){
//b = document.getElementById("editor").innerHTML;
if ($('#form').valid()) {
// get title and comment from form
var text = $('#editor').val();
// save the new annotation in db and display it
//saveNewAnnotation(title, comment, startCharacter, endCharacter);
}
}
......@@ -48,14 +41,15 @@ $(document).ready(function() {
}).then(function (data) {
$('#editor').append(data.descriptionMD);
//TODO preselet in select tags
/** //TODO preselet in select tags
new InscrybMDE({
element: document.getElementById("editor"),
spellChecker: false,
forceSync: true,
});
console.log(data);
});*/
//console.log(data);
location.href="givefeedback.jsp?token=" + getUserTokenFromUrl();
alert("Feedback wurde gesendet!");
});
})
\ No newline at end of file
......@@ -7,10 +7,11 @@
<html>
<head>
<omniDependencies:omniDependencies/>
<script src="../assets/js/utility.js"></script>
<script src="../assets/js/project-student.js"></script>
<omniDependencies:omniDependencies/>
<script src="../assets/js/givepeerfeedback.js"></script>
</head>
<body>
......@@ -45,7 +46,12 @@
<td id="Peerfeedback">
<h2>Feedback Nachrichten von Student X</h2>
<iframe width="90%" height="200%" src="http://rocketchat.westeurope.cloudapp.azure.com/channel/general?layout=embedded"></iframe>
<%--<iframe width="90%" height="200%" src="http://rocketchat.westeurope.cloudapp.azure.com/channel/general?layout=embedded"></iframe>
--%>
<%--<p id="view"></p> type="hidden"--%>
<input name="peerfeedbackID" id="peerfeedbackID-input" value=""/>
<div id="div1"></div>
<button class="btn btn-secondary" onclick="goBack()">Zur&uuml;ck</button>
......
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