Skip to content
Snippets Groups Projects
Commit 7dade02d authored by Martin Staehr's avatar Martin Staehr
Browse files

remove .orig files

parent 4b0c34f1
No related branches found
No related tags found
No related merge requests found
/.idea/.name
/.idea/compiler.xml
/.idea/copyright/profiles_settings.xml
/.idea/dataSources.ids
/.idea/dataSources.local.xml
/.idea/dataSources.xml
/.idea/deployment.xml
/.idea/encodings.xml
/.idea/misc.xml
/.idea/modules.xml
/.idea/sqldialects.xml
**/*.iml
**/workspace.xml
/gemeinsamforschen/**/.idea/*
/gemeinsamforschen/**/out
/gemeinsamforschen/**/target
/gemeinsamforschen/**/.settings
**/.project
**/.classpath
/.idea/vcs.xml
/.idea/workspace.xml
<<<<<<< HEAD
**/.idea
=======
/.idea/workspace.xml
>>>>>>> PeerAssessmentAxel
package unipotsdam.gf.core.management;
import sun.misc.IOUtils;
import unipotsdam.gf.core.database.mysql.MysqlConnect;
import unipotsdam.gf.core.database.mysql.VereinfachtesResultSet;
import unipotsdam.gf.core.management.group.Group;
import unipotsdam.gf.core.management.project.Project;
import unipotsdam.gf.core.management.project.ProjectConfiguration;
import unipotsdam.gf.core.management.project.ProjectConfigurationDAO;
import unipotsdam.gf.core.management.user.User;
import unipotsdam.gf.core.management.user.UserInterests;
import unipotsdam.gf.core.management.user.UserProfile;
import unipotsdam.gf.core.states.model.ProjectPhase;
import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
import javax.annotation.ManagedBean;
import javax.annotation.Resource;
import javax.inject.Singleton;
import java.io.File;
import java.io.FileInputStream;
import java.sql.Blob;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.UUID;
/**
* Created by dehne on 31.05.2018.
*/
@ManagedBean
@Resource
@Singleton
public class ManagementImpl implements Management {
@Override
public void delete(StudentIdentifier identifier) {
MysqlConnect connect = new MysqlConnect();
connect.connect();
String mysqlRequest = "DELETE FROM users where email = (?)";
connect.issueInsertOrDeleteStatement(mysqlRequest, identifier.getStudentId());
connect.close();
}
@Override
public void create(User user, UserProfile profile) {
UUID uuid = UUID.randomUUID();
String token = uuid.toString();
MysqlConnect connect = new MysqlConnect();
connect.connect();
String mysqlRequest = "INSERT INTO users (`name`, `password`, `email`, `token`,`isStudent`," +
"`rocketChatId`,`rocketChatAuthToken`) values (?,?,?,?,?,?,?)";
connect.issueInsertOrDeleteStatement(mysqlRequest, user.getName(), user.getPassword(), user.getEmail(),
token, user.getStudent(), user.getRocketChatId(), user.getRocketChatAuthToken());
connect.close();
// TODO implmement UserProfile @Mar
}
@Override
public void create(Project project) {
UUID uuid = UUID.randomUUID();
String token = uuid.toString();
MysqlConnect connect = new MysqlConnect();
connect.connect();
String mysqlRequest =
"INSERT INTO projects (`id`, `password`, `active`, `timecreated`, `author`, "
+ "`adminPassword`, `token`, `phase`) values (?,?,?,?,?,?,?,?)";
connect.issueInsertOrDeleteStatement(mysqlRequest, project.getId(), project.getPassword(), project.isActive(),
project.getTimecreated(), project.getAuthor(), project.getAdminPassword(), token, project.getPhase()
== null ? ProjectPhase.CourseCreation : project.getPhase());
connect.close();
}
@Override
public void delete(Project project) {
MysqlConnect connect = new MysqlConnect();
connect.connect();
String mysqlRequest = "DELETE FROM projects where id = (?)";
connect.issueInsertOrDeleteStatement(mysqlRequest, project.getId());
// TODO: delete all groups of project?
connect.close();
}
@Override
public void register(User user, Project project, UserInterests interests) {
MysqlConnect connect = new MysqlConnect();
connect.connect();
String mysqlRequest = "INSERT INTO projectuser (`projectId`, `userId`) values (?,?)";
connect.issueInsertOrDeleteStatement(mysqlRequest, project.getId(), user.getId());
connect.close();
}
@Override
public void update(User user) {
MysqlConnect connect = new MysqlConnect();
connect.connect();
String mysqlRequest = "UPDATE `users` SET `name`=?,`password`=?,`email`=?,`token`=?,`isStudent`=?," +
"`rocketChatId`=?,`rocketChatAuthToken`=? WHERE email=? LIMIT 1";
//TODO: maybe add handling if a line is actually updated
//TODO: if user is updated, it also must update all other tables which includes some information about the user, for example project user
connect.issueUpdateStatement(mysqlRequest, user.getName(), user.getPassword(), user.getEmail(),
user.getToken(), user.getStudent(), user.getRocketChatId(), user.getRocketChatAuthToken(), user.getEmail());
connect.close();
}
@Override
public Boolean exists(User user) {
Boolean result;
MysqlConnect connect = new MysqlConnect();
connect.connect();
String mysqlRequest = "SELECT * FROM users where email = ? and password = ?";
VereinfachtesResultSet vereinfachtesResultSet =
connect.issueSelectStatement(mysqlRequest, user.getEmail(), user.getPassword());
result = vereinfachtesResultSet.next();
connect.close();
return result;
}
@Override
public Boolean exists(Project project) {
Boolean result;
MysqlConnect connect = new MysqlConnect();
connect.connect();
String mysqlRequest = "SELECT * FROM projects where id = ? and adminPassword = ?";
VereinfachtesResultSet vereinfachtesResultSet =
connect.issueSelectStatement(mysqlRequest, project.getId(), project.getAdminPassword());
result = vereinfachtesResultSet.next();
connect.close();
return result;
}
@Override
public List<User> getUsers(Project project) {
String query =
"SELECT * FROM users u "
+ " JOIN projectuser pu ON u.email=pu.userId"
+ " JOIN projects p ON pu.projectId = p.id"
+ " WHERE pu.projectId = ?";
ArrayList<User> result = new ArrayList<>();
MysqlConnect connect = new MysqlConnect();
connect.connect();
VereinfachtesResultSet vereinfachtesResultSet = connect.issueSelectStatement(query, project.getId());
while (!vereinfachtesResultSet.isLast()) {
Boolean next = vereinfachtesResultSet.next();
if (next) {
User user = getUserFromResultSet(vereinfachtesResultSet);
String token = vereinfachtesResultSet.getString("token");
user.setToken(token);
result.add(user);
} else {
break;
}
}
connect.close();
return result;
}
private User getUserFromResultSet(VereinfachtesResultSet vereinfachtesResultSet) {
String name = vereinfachtesResultSet.getString("name");
String password = vereinfachtesResultSet.getString("password");
String email = vereinfachtesResultSet.getString("email");
String token = vereinfachtesResultSet.getString("token");
String rocketChatId = vereinfachtesResultSet.getString("rocketChatId");
String rocketChatAuthToken = vereinfachtesResultSet.getString("rocketChatAuthToken");
Boolean isStudent = vereinfachtesResultSet.getBoolean("isStudent");
return new User(name, password, email, token, rocketChatId, rocketChatAuthToken, isStudent);
}
private Project getProjectFromResultSet(VereinfachtesResultSet vereinfachtesResultSet) {
String id = vereinfachtesResultSet.getString("id");
String password = vereinfachtesResultSet.getString("password");
boolean active = vereinfachtesResultSet.getBoolean("active");
Timestamp timestamp = vereinfachtesResultSet.getTimestamp("timecreated");
String author = vereinfachtesResultSet.getString("author");
String adminPassword = vereinfachtesResultSet.getString("adminpassword");
String token = vereinfachtesResultSet.getString("token");
String phase = vereinfachtesResultSet.getString("phase");
<<<<<<< HEAD
Project project = new Project(id, password, active, timestamp, author, adminPassword, token);
ProjectPhase projectPhase = ProjectPhase.valueOf(phase);
project.setPhase(projectPhase);
return project;
=======
return new Project(id, password, active, timestamp, author, adminPassword, token, phase);
>>>>>>> origin/#40_dummyProjectCreation
}
private void fillGroupFromResultSet(VereinfachtesResultSet vereinfachtesResultSet, HashMap<Integer, Group> existingGroups) {
int id = vereinfachtesResultSet.getInt("id");
if (existingGroups.containsKey(id)) {
existingGroups.get(id).addMember(getUserFromResultSet(vereinfachtesResultSet));
} else {
String projectId = vereinfachtesResultSet.getString("projectId");
User user = getUserFromResultSet(vereinfachtesResultSet);
String chatRoomId = vereinfachtesResultSet.getString("chatRoomId");
ArrayList<User> userList = new ArrayList<>(Collections.singletonList(user));
Group group = new Group(userList, projectId, chatRoomId);
existingGroups.put(id, group);
}
}
@Override
public String getUserToken(User user) {
MysqlConnect connect = new MysqlConnect();
connect.connect();
String mysqlRequest = "SELECT * FROM users where email = ? and password = ?";
VereinfachtesResultSet vereinfachtesResultSet =
connect.issueSelectStatement(mysqlRequest, user.getEmail(), user.getPassword());
boolean next = vereinfachtesResultSet.next();
if (!next) {
connect.close();
return null;
}
String token = vereinfachtesResultSet.getString("token");
connect.close();
return token;
}
@Override
public User getUserByToken(String token) {
return getUserByField("token", token);
}
@Override
public User getUserByEmail(String email) {
return getUserByField("email", email);
}
/**
<<<<<<< HEAD
*
* @param field
* @param value
* @return
*/
=======
* TODO @Axel bitte in modules/asessment verschieben
*
* @param projectId
* @param quizId
* @return
*/
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;
}
>>>>>>> origin/#40_dummyProjectCreation
private User getUserByField(String field, String value) {
MysqlConnect connect = new MysqlConnect();
connect.connect();
String mysqlRequest = "SELECT * FROM users where " + field + " = ?";
VereinfachtesResultSet vereinfachtesResultSet =
connect.issueSelectStatement(mysqlRequest, value);
boolean next = vereinfachtesResultSet.next();
if (next) {
User user = getUserFromResultSet(vereinfachtesResultSet);
connect.close();
return user;
} else {
connect.close();
return null;
}
}
@Override
public Project getProjectById(String id) {
if (id == null){
return null;
}
MysqlConnect connect = new MysqlConnect();
connect.connect();
String mysqlRequest = "SELECT * FROM projects where id = ?";
VereinfachtesResultSet vereinfachtesResultSet =
connect.issueSelectStatement(mysqlRequest, id);
boolean next = vereinfachtesResultSet.next();
if (next) {
Project project = getProjectFromResultSet(vereinfachtesResultSet);
connect.close();
return project;
} else {
connect.close();
return null;
}
}
@Override
public void create(Group group) {
MysqlConnect connect = new MysqlConnect();
connect.connect();
String mysqlRequestGroup = "INSERT INTO groups (`projectId`,`chatRoomId`) values (?,?)";
connect.issueInsertOrDeleteStatement(mysqlRequestGroup, group.getProjectId(), group.getChatRoomId());
for (User groupMember : group.getMembers()) {
String mysqlRequest2 = "INSERT INTO groupuser (`userEmail`, `groupId`) values (?,?)";
connect.issueInsertOrDeleteStatement(mysqlRequest2, groupMember.getEmail(), group.getProjectId());
}
connect.close();
}
@Override
public void addGroupMember(User groupMember, int groupId) {
// TODO: implement
}
@Override
public void deleteGroupMember(User groupMember, int groupId) {
// TODO: implement
}
@Override
public List<Group> getGroupsByProjectId(String projectId) {
MysqlConnect connect = new MysqlConnect();
connect.connect();
String mysqlRequest = "SELECT * FROM groups g " +
"JOIN groupuser gu ON g.id=gu.groupId " + "JOIN users u ON gu.userEmail=u.email" +
"where g.projectId = ?";
VereinfachtesResultSet vereinfachtesResultSet =
connect.issueSelectStatement(mysqlRequest, projectId);
HashMap<Integer, Group> groupHashMap = new HashMap<>();
while (vereinfachtesResultSet.next()) {
fillGroupFromResultSet(vereinfachtesResultSet, groupHashMap);
}
ArrayList<Group> groups = new ArrayList<>();
groupHashMap.forEach((key, group) -> groups.add(group));
if (groups.isEmpty()) {
return null;
}
return groups;
}
@Override
public void create(ProjectConfiguration projectConfiguration, Project project) {
ProjectConfigurationDAO projectConfigurationDAO = new ProjectConfigurationDAO();
projectConfigurationDAO.persistProjectConfiguration(projectConfiguration, project);
}
@Override
public ProjectConfiguration getProjectConfiguration(Project project) {
ProjectConfigurationDAO projectConfigurationDAO = new ProjectConfigurationDAO();
return projectConfigurationDAO.loadProjectConfiguration(project);
}
public String saveProfilePicture(FileInputStream image, String studentId){
MysqlConnect connect = new MysqlConnect();
connect.connect();
Blob blobbedImage= (Blob) image;
String mysqlRequest = "INSERT INTO `profilepicture`(`studentId`, `image`) VALUES (?,?)";
connect.issueInsertOrDeleteStatement(mysqlRequest, studentId, blobbedImage);
return "success";
}
}
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET AUTOCOMMIT = 0;
START TRANSACTION;
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
<<<<<<< HEAD
CREATE TABLE `annotations` (
`id` varchar(120) NOT NULL,
`timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`userId` int(11) DEFAULT NULL,
`targetId` int(11) DEFAULT NULL,
`body` varchar(280) DEFAULT NULL,
`startCharacter` int(11) DEFAULT NULL,
`endCharacter` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `answeredquiz` (
`projectId` varchar(400) NOT NULL,
`studentId` varchar(400) NOT NULL,
`question` varchar(400) NOT NULL,
`correct` tinyint(4) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `contributionrating` (
`groupId` int(11) NOT NULL,
`fromPeer` varchar(400) NOT NULL,
`dossier` int(11) NOT NULL,
`research` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `grades` (
`projectId` varchar(400) NOT NULL,
`studentId` varchar(400) NOT NULL,
`grade` double NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `groups` (
`id` int(11) NOT NULL,
`projectId` varchar(400) NOT NULL,
`chatRoomId` varchar(400) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `groupuser` (
`studentId` varchar(400) NOT NULL,
`projectId` varchar(400) NOT NULL,
`groupId` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `phasesselected` (
`projectId` varchar(100) NOT NULL,
`phaseSelected` varchar(200) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `profilepicture` (
`studentId` varchar(200) NOT NULL,
`image` longblob NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `projects` (
`id` varchar(400) NOT NULL,
`password` varchar(400) NOT NULL,
`active` tinyint(1) NOT NULL,
`timecreated` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`author` varchar(400) NOT NULL,
`adminPassword` varchar(400) NOT NULL,
`token` varchar(400) NOT NULL,
`phase` varchar(400) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `projectuser` (
`projectId` varchar(400) NOT NULL,
`userId` varchar(400) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `quiz` (
`studentId` varchar(400) NOT NULL,
`projectId` varchar(400) NOT NULL,
`question` varchar(400) NOT NULL,
`mcType` varchar(400) NOT NULL,
`answer` varchar(400) NOT NULL,
`correct` tinyint(1) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `tags` (
`projectId` varchar(400) NOT NULL,
`tag` varchar(400) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `tasks` (
`userId` varchar(400) NOT NULL,
`projectId` varchar(400) NOT NULL,
`taskUrl` varchar(400) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `users` (
`name` varchar(400) NOT NULL,
`password` varchar(200) NOT NULL,
`email` varchar(255) NOT NULL,
`token` varchar(800) NOT NULL,
`rocketChatId` varchar(400) NOT NULL,
`rocketChatAuthToken` varchar(800) NOT NULL,
`isStudent` tinyint(1) DEFAULT '1'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `workrating` (
`projectId` varchar(400) NOT NULL,
`studentId` varchar(400) NOT NULL,
`fromPeer` varchar(400) NOT NULL,
`responsibility` int(11) NOT NULL,
`partOfWork` int(11) NOT NULL,
`cooperation` int(11) NOT NULL,
`communication` int(11) NOT NULL,
`autonomous` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
=======
USE `fltrail`;
CREATE TABLE if not exists `projects` (
`id` varchar(100) NOT NULL,
`password` varchar(400) NOT NULL,
`active` tinyint(1) NOT NULL,
`timecreated` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP,
`author` varchar(400) NOT NULL,
`adminPassword` varchar(400) NOT NULL,
`token` varchar(400) NOT NULL,
`phase` varchar(400) NOT NULL
)ENGINE = InnoDB DEFAULT CHARSET = utf8;
CREATE TABLE if not exists `groups` (
`id` int NOT NULL AUTO_INCREMENT,
`projectId` varchar(400) NOT NULL,
`chatRoomId` varchar(400) NOT NULL,
PRIMARY KEY (id)
) ENGINE = InnoDB DEFAULT CHARSET = utf8;
CREATE TABLE if not exists groupuser (
userEmail varchar(400) NOT NULL,
groupId int NOT NULL
) ENGINE = InnoDB DEFAULT CHARSET = utf8;
CREATE TABLE if not exists `tags` (
`projectId` varchar(100) NOT NULL,
`tag` varchar(400) NOT NULL
) ENGINE = InnoDB
DEFAULT CHARSET = utf8;
CREATE TABLE if not exists `users` (
`name` varchar(100) NOT NULL,
`password` varchar(200) NOT NULL,
`email` varchar(255) NOT NULL,
`token` varchar(800) NOT NULL,
`rocketChatId` varchar(400) NOT NULL,
`rocketChatAuthToken` varchar(800) NOT NULL,
`isStudent` TINYINT(1),
UNIQUE (email)
)
ENGINE = InnoDB
DEFAULT CHARSET = utf8;
CREATE TABLE if not exists projectuser (
projectId varchar(100) NOT NULL,
userId varchar(100) NOT NULL
)
ENGINE = InnoDB
DEFAULT CHARSET = utf8;
CREATE TABLE if not exists `annotations` (
`id` varchar(120) NOT NULL,
`timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP,
`userToken` varchar(120) DEFAULT NULL,
`targetId` int(11) DEFAULT NULL,
`title` varchar(120) DEFAULT NULL,
`comment` varchar(400) DEFAULT NULL,
`startCharacter` int(11) DEFAULT NULL,
`endCharacter` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
)
ENGINE = InnoDB
DEFAULT CHARSET = utf8;
alter table users
add isStudent tinyint(1) default '1' null;
CREATE TABLE if not exists quiz (
author varchar(400) NOT NULL,
projectId varchar(400) NOT NULL,
question varchar(400) NOT NULL,
mcType varchar(400) NOT NULL,
answer varchar(400) NOT NULL,
correct tinyint(1) NOT NULL
)
ENGINE = InnoDB
DEFAULT CHARSET = utf8;
CREATE TABLE if not exists tasks (
userId varchar(400) NOT NULL,
projectId varchar(400) NOT NULL,
taskUrl varchar(400) NOT NULL
)
ENGINE = InnoDB
DEFAULT CHARSET = utf8;
>>>>>>> origin/#40_dummyProjectCreation
ALTER TABLE `annotations`
ADD PRIMARY KEY (`id`);
<<<<<<< HEAD
ALTER TABLE `groups`
ADD PRIMARY KEY (`id`);
ALTER TABLE `projectuser`
ADD KEY `projectId` (`projectId`(255),`userId`(255));
ALTER TABLE `users`
ADD UNIQUE KEY `email` (`email`);
=======
CREATE TABLE if not exists phasesSelected (
`projectId` varchar(100) NOT NULL,
phaseSelected varchar(200) NOT NULL
)
ENGINE = InnoDB
DEFAULT CHARSET = utf8;
CREATE TABLE if not exists categoriesSelected (
`projectId` varchar(100) NOT NULL,
categorySelected varchar(200) NOT NULL
)
ENGINE = InnoDB
DEFAULT CHARSET = utf8;
CREATE TABLE if not exists groupfindingMechanismSelected (
`projectId` varchar(100) NOT NULL,
gfmSelected varchar(200) NOT NULL
)
ENGINE = InnoDB
DEFAULT CHARSET = utf8;
CREATE TABLE if not exists assessmentMechanismSelected (
`projectId` varchar(100) NOT NULL,
amSelected varchar(200) NOT NULL
)
ENGINE = InnoDB
DEFAULT CHARSET = utf8;
>>>>>>> origin/#40_dummyProjectCreation
ALTER TABLE `groups`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
COMMIT;
\ No newline at end of file
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();
}
}
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