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

feat: implemented a central management class that allows for a project to be changed to a new phase

parent eadc5fbf
No related branches found
No related tags found
No related merge requests found
Showing
with 179 additions and 14 deletions
......@@ -3,7 +3,7 @@ package unipotsdam.gf.modules.journal.model;
import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
import static unipotsdam.gf.core.management.utils.MarkdownUtils.convertMarkdownToHtml;
import static unipotsdam.gf.view.MarkdownUtils.convertMarkdownToHtml;
/**
* Model Class for the learnig journal of the e-portfolio
......
......@@ -5,7 +5,7 @@ import unipotsdam.gf.core.management.project.Project;
import java.util.ArrayList;
import java.util.Map;
import static unipotsdam.gf.core.management.utils.MarkdownUtils.convertMarkdownToHtml;
import static unipotsdam.gf.view.MarkdownUtils.convertMarkdownToHtml;
/**
* Model class for the project descriptionHTML of the e portfolio
......
package unipotsdam.gf.core.management.utils;
package unipotsdam.gf.modules.peer2peerfeedback;
/**
Categories for feedback and documents
......
package unipotsdam.gf.modules.peer2peerfeedback;
import unipotsdam.gf.core.management.project.Project;
import unipotsdam.gf.core.management.user.User;
import unipotsdam.gf.interfaces.Feedback;
import java.io.File;
import java.util.ArrayList;
public class DummyFeedback implements Feedback {
@Override
public Peer2PeerFeedback createPeer2PeerFeedbackmask(
User feedbackuser, User selectedstudent, File document) {
return null;
}
@Override
public Boolean giveFeedback(Peer2PeerFeedback feedback, File document) {
return null;
}
@Override
public ArrayList<Peer2PeerFeedback> showFeedback(User student) {
return null;
}
@Override
public int countFeedback(User student) {
return 0;
}
@Override
public Boolean checkFeedbackConstraints(Project project) {
// TODO implement cornstaints
System.out.println("Checking fake constraints");
return true;
}
@Override
public void assigningMissingFeedbackTasks(Project project) {
System.out.println("assigning fake tasks");
}
}
package unipotsdam.gf.modules.peer2peerfeedback;
import unipotsdam.gf.core.management.user.User;
import unipotsdam.gf.core.management.utils.Category;
import java.io.File;
......
package unipotsdam.gf.modules.peer2peerfeedback;
import unipotsdam.gf.core.management.user.User;
import unipotsdam.gf.core.management.utils.Category;
import java.io.File;
......
package unipotsdam.gf.core.management.utils;
package unipotsdam.gf.view;
import org.commonmark.node.Node;
import org.commonmark.parser.Parser;
......
package unipotsdam.gf.view;
import unipotsdam.gf.core.management.project.Project;
public class Messages {
public static String GroupFormation(Project project){
// TODO add link to site + markup
return "Die Gruppen wurden für den Kurs "+ project.getId() + " erstellt";
}
public static String NewFeedbackTask(Project project) {
// TODO add link to site + markup
return "Eine neue Feedbackaufgabe wurde für den Kurs "+ project.getId() + " erstellt";
}
public static String AssessmentPhaseStarted(Project project) {
// TODO add link to site + markup
return "Die Bewertungsphase hat begonnen. Bitte geht auf ... und macht ....";
}
}
......@@ -8,7 +8,7 @@ USE `fltrail`;
CREATE TABLE if not exists `projects` (
`id` varchar(400) NOT NULL,
`id` varchar(100) NOT NULL,
`password` varchar(400) NOT NULL,
......@@ -62,7 +62,7 @@ CREATE TABLE if not exists groupuser
CREATE TABLE if not exists `tags` (
`projectId` varchar(400) NOT NULL,
`projectId` varchar(100) NOT NULL,
`tag` varchar(400) NOT NULL
......@@ -74,7 +74,7 @@ CREATE TABLE if not exists `tags` (
CREATE TABLE if not exists `users` (
`name` varchar(400) NOT NULL,
`name` varchar(100) NOT NULL,
`password` varchar(200) NOT NULL,
......@@ -98,9 +98,9 @@ CREATE TABLE if not exists projectuser
(
projectId varchar(400) NOT NULL,
projectId varchar(100) NOT NULL,
userId varchar(400) NOT NULL
userId varchar(100) NOT NULL
)
......@@ -124,7 +124,9 @@ CREATE TABLE if not exists projectuser
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;alter table users
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
alter table users
add isStudent tinyint(1) default '1' null;
......@@ -163,4 +165,8 @@ CREATE TABLE if not exists tasks
ENGINE = InnoDB
DEFAULT CHARSET = utf8;
\ No newline at end of file
DEFAULT CHARSET = utf8;
ALTER TABLE `projectuser` ADD INDEX( `projectId`, `userId`);
ALTER TABLE `projectuser` ADD UNIQUE( `projectId`, `userId`);
ALTER TABLE `projects` ADD UNIQUE( `id`);
\ No newline at end of file
package unipotsdam.gf.interfaces;
import javafx.application.Application;
import org.glassfish.hk2.api.ServiceLocator;
import org.glassfish.hk2.utilities.Binder;
import org.glassfish.hk2.utilities.ServiceLocatorUtilities;
import org.glassfish.jersey.server.ResourceConfig;
import org.glassfish.jersey.test.JerseyTest;
import org.junit.Before;
import org.junit.Test;
import unipotsdam.gf.config.GFApplicationBinder;
import unipotsdam.gf.config.GFResourceConfig;
import unipotsdam.gf.core.management.ManagementImpl;
import unipotsdam.gf.core.management.project.Project;
import unipotsdam.gf.core.management.user.User;
......@@ -14,7 +23,11 @@ import static org.junit.Assert.assertTrue;
/**
* Created by dehne on 01.06.2018.
*/
public class ManagementTest {
public class ManagementTest {
@Test
public void testDelete() {
......@@ -90,6 +103,8 @@ public class ManagementTest {
management.create(project);
management.register(user, project, null);
assertTrue(management.exists(project));
User user2 = new User("julian2", "12345", "from2@stuff.com", true);
management.create(user2, new UserProfile());
assert management.exists(user2);
......
package unipotsdam.gf.interfaces;
import org.glassfish.hk2.api.ServiceLocator;
import org.glassfish.hk2.utilities.Binder;
import org.glassfish.hk2.utilities.ServiceLocatorUtilities;
import org.glassfish.hk2.utilities.binding.AbstractBinder;
import org.glassfish.jersey.server.ResourceConfig;
import org.glassfish.jersey.test.JerseyTest;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import unipotsdam.gf.config.GFApplicationBinder;
import unipotsdam.gf.config.GFResourceConfig;
import unipotsdam.gf.core.management.ManagementImpl;
import unipotsdam.gf.core.management.project.Project;
import unipotsdam.gf.core.management.user.User;
import unipotsdam.gf.core.management.user.UserProfile;
import unipotsdam.gf.core.states.PhasesImpl;
import unipotsdam.gf.core.states.ProjectPhase;
import javax.inject.Inject;
import javax.ws.rs.core.Application;
public class PhaseTest {
@Inject
private IPhases phases;
@Before
public void setUp() {
final ServiceLocator locator = ServiceLocatorUtilities.bind(new GFApplicationBinder());
locator.inject(this);
}
@BeforeClass
public static void prepareProject() {
ManagementImpl management = new ManagementImpl();
User user = new User("julian", "1234", "from@stuff.com", false);
management.create(user, new UserProfile());
assert management.exists(user);
Project project = new Project("Gemainsam Forschen", "1235", true, "me", "keins");
management.create(project);
management.register(user, project, null);
}
@Test
public void phase1() {
Project project = new Project();
project.setId("Gemainsam Forschen");
phases.endPhase(ProjectPhase.CourseCreation, project);
}
@Test
public void phase2() {
Project project = new Project();
project.setId("Gemainsam Forschen");
phases.endPhase(ProjectPhase.GroupFormation, project);
}
@Test
public void phase3() {
Project project = new Project();
project.setId("Gemainsam Forschen");
phases.endPhase(ProjectPhase.DossierFeedback, project);
}
@Test
public void phase4() {
Project project = new Project();
project.setId("Gemainsam Forschen");
phases.endPhase(ProjectPhase.Execution, project);
}
@Test
public void phase5() {
Project project = new Project();
project.setId("Gemainsam Forschen");
phases.endPhase(ProjectPhase.Assessment, project);
}
}
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