Skip to content
Snippets Groups Projects
Commit 59cbb742 authored by Julian Dehne's avatar Julian Dehne
Browse files

- feat: continued porting features from the existing group finding tool.

parent 2407ded4
No related branches found
No related tags found
No related merge requests found
Showing
with 404 additions and 14 deletions
......@@ -7,6 +7,7 @@ import unipotsdam.gf.core.management.ManagementImpl;
import unipotsdam.gf.core.management.project.ProjectDAO;
import unipotsdam.gf.core.management.user.UserDAO;
import unipotsdam.gf.core.states.PhasesImpl;
import unipotsdam.gf.core.tasks.TaskDAO;
import unipotsdam.gf.core.testsandbox.TestList;
import unipotsdam.gf.core.testsandbox.TestListInterface;
import unipotsdam.gf.interfaces.Feedback;
......@@ -46,5 +47,6 @@ public class GFApplicationBinder extends AbstractBinder {
bind(GroupDAO.class).to(GroupDAO.class);
bind(MysqlConnect.class).to(MysqlConnect.class);
bind(GroupfindingImpl.class).to(IGroupFinding.class);
bind(TaskDAO.class).to(TaskDAO.class);
}
}
package unipotsdam.gf.core.tasks;
public enum Importance {
HIGH,
MEDIUM,
LOW
}
package unipotsdam.gf.core.tasks;
public enum Progress {
FINISHED,
INPROGRESS,
JUSTSTARTED
}
package unipotsdam.gf.core.tasks;
import unipotsdam.gf.core.states.model.ProjectPhase;
import java.sql.Timestamp;
public class Task {
// as in "Feedback"
private String technicalName;
// as in "Feedback geben"
private String title;
private Enum taskType;
// optional: only relevant if the task is show on the side
private Object taskData;
private Enum renderModel;
// relevant for time based warnings
private Timestamp eventCreated;
private Timestamp deadline;
private Boolean groupTask;
private Importance importance;
private ProjectPhase phase;
private String link;
public String getUserToken() {
return userToken;
}
public void setUserToken(String userToken) {
this.userToken = userToken;
}
private String userToken;
public String getProjectToken() {
return projectToken;
}
public void setProjectToken(String projectToken) {
this.projectToken = projectToken;
}
private String projectToken;
public Task() {
}
public String getTechnicalName() {
return technicalName;
}
public void setTechnicalName(String technicalName) {
this.technicalName = technicalName;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public Enum getTaskType() {
return taskType;
}
public void setTaskType(Enum taskType) {
this.taskType = taskType;
}
public Object getTaskData() {
return taskData;
}
public void setTaskData(Object taskData) {
this.taskData = taskData;
}
public Enum getRenderModel() {
return renderModel;
}
public void setRenderModel(Enum renderModel) {
this.renderModel = renderModel;
}
public Timestamp getEventCreated() {
return eventCreated;
}
public void setEventCreated(Timestamp eventCreated) {
this.eventCreated = eventCreated;
}
public Timestamp getDeadline() {
return deadline;
}
public void setDeadline(Timestamp deadline) {
this.deadline = deadline;
}
public Boolean getGroupTask() {
return groupTask;
}
public void setGroupTask(Boolean groupTask) {
this.groupTask = groupTask;
}
public Importance getImportance() {
return importance;
}
public void setImportance(Importance importance) {
this.importance = importance;
}
public ProjectPhase getPhase() {
return phase;
}
public void setPhase(ProjectPhase phase) {
this.phase = phase;
}
public String getLink() {
return link;
}
public void setLink(String link) {
this.link = link;
}
}
package unipotsdam.gf.core.tasks;
import com.mysql.jdbc.NotImplemented;
import unipotsdam.gf.core.database.mysql.MysqlConnect;
import javax.annotation.ManagedBean;
import javax.inject.Inject;
@ManagedBean
public class TaskDAO {
@Inject
MysqlConnect connect;
public Task[] getTasks(String userToken, String projectToken) throws NotImplemented {
throw new NotImplemented();
}
public void persist(Task task) throws NotImplemented {
connect.connect();
String query = "INSERT INTO fltrail.tasks (userId, projectId, taskUrl, speakingName, technicalName, " +
"linkedMode, groupTask, importance, progress, phase, created, due) VALUES ('?', '?', '?', '?', '?', " +
"'?', ?, '?', '?', '?', '?', '?')";
connect.issueInsertOrDeleteStatement(query, task.getUserToken());
connect.close();
throw new NotImplemented();
}
public void update(Task task) throws NotImplemented {
throw new NotImplemented();
}
}
package unipotsdam.gf.core.tasks;
public enum TaskType {
// the task can be completed directly on the overview page
ONSITE,
// the task is just an info that can be noticed (maybe)
INFO,
// the task is a link to a complex feature
LINKED
}
package unipotsdam.gf.core.tasks;
import com.mysql.jdbc.NotImplemented;
import javax.inject.Inject;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import java.awt.*;
@Path("/tasks")
public class TaskView {
@Inject
private TaskDAO taskDAO;
@Path("/user/{userToken}/project/{projectToken}")
@Produces(MediaType.APPLICATION_JSON)
public Task[] getTasks(@PathParam("userToken") String userToken,@PathParam("projectToken") String projectToken)
throws NotImplemented {
return taskDAO.getTasks(userToken, projectToken);
}
}
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 */;
CREATE DATABASE IF NOT EXISTS `fltrail` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
USE `fltrail`;
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` varchar(120) DEFAULT NULL,
`targetCategory` varchar(30) NOT 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;
CREATE TABLE IF NOT EXISTS `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=utf8;
CREATE TABLE IF NOT EXISTS `assessmentmechanismselected` (
`projectId` varchar(100) NOT NULL,
`amSelected` 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 `contributionrating` (
`projectId` varchar(400) NOT NULL,
`studentId` varchar(400) NOT NULL,
`fromPeer` varchar(400) NOT NULL,
`dossier` int(11) NOT NULL,
`eJournal` int(11) NOT NULL,
`research` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `fullsubmissions` (
`id` varchar(120) NOT NULL,
`timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`user` varchar(120) NOT NULL,
`text` mediumtext NOT NULL,
`projectId` varchar(120) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `grades` (
`projectId` varchar(400) NOT NULL,
`studentId` varchar(400) NOT NULL,
`grade` double 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 `groups` (
`id` int(11) 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(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
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 `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,
UNIQUE KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `projectuser` (
`projectId` varchar(100) NOT NULL,
`userId` varchar(100) NOT NULL,
UNIQUE KEY `projectId_2` (`projectId`,`userId`),
KEY `projectId` (`projectId`,`userId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
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 `submissionpartbodyelements` (
`fullSubmissionId` varchar(120) NOT NULL,
`category` varchar(30) NOT NULL,
`startCharacter` int(11) NOT NULL,
`endCharacter` int(11) NOT NULL,
PRIMARY KEY (`fullSubmissionId`,`category`,`startCharacter`,`endCharacter`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `submissionparts` (
`timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`userId` varchar(120) NOT NULL,
`fullSubmissionId` varchar(120) NOT NULL,
`category` varchar(30) NOT NULL,
PRIMARY KEY (`fullSubmissionId`,`category`)
) 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 `tasks` (
`userId` varchar(400) NOT NULL,
`projectId` varchar(400) NOT NULL,
`taskUrl` varchar(400) NOT NULL,
`speakingName` varchar(400) DEFAULT NULL,
`technicalName` varchar(400) DEFAULT NULL,
`linkedMode` varchar(400) DEFAULT NULL,
`groupTask` tinyint(4) DEFAULT NULL,
`importance` varchar(100) DEFAULT NULL,
`progress` varchar(100) DEFAULT NULL,
`phase` varchar(100) DEFAULT NULL,
`created` timestamp NULL DEFAULT NULL,
`due` timestamp NULL DEFAULT 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) DEFAULT '1',
UNIQUE KEY `email` (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `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=utf8;
COMMIT;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
INSERT INTO fltrail.tasks (userId, projectId, taskUrl, speakingName, technicalName, linkedMode, groupTask, importance, progress, phase, created, due) VALUES ('1', '1', '1', '1', '1', '1', 1, '1', '1', '1', '1', '1');
\ No newline at end of file
use munschkins;
CREATE TABLE IF NOT EXISTS Munschkins (
MunschkinId int,
LastName varchar(255),
FirstName varchar(255),
BadThings varchar(255),
Strength int
);
INSERT INTO `Munschkins` (MunschkinId, LastName, FirstName, BadThings, Strength) values(1, "Thor", "Theodor", "he
will eat your feet", 5);
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