Commit 841d4d34 authored by Grzegorz Pietrusza's avatar Grzegorz Pietrusza

crypto and web task content

parent 11559d80
......@@ -15,8 +15,10 @@ import io.dropwizard.jersey.setup.JerseyEnvironment;
import io.dropwizard.setup.Bootstrap;
import io.dropwizard.setup.Environment;
import objects.Flag;
import objects.Task;
import objects.User;
import objects.tasks.Task;
import objects.tasks.TaskCryptoContent;
import objects.tasks.TaskWebContent;
import org.glassfish.jersey.server.filter.RolesAllowedDynamicFeature;
import org.mongodb.morphia.Datastore;
import org.mongodb.morphia.Morphia;
......@@ -78,7 +80,8 @@ public class CTFApplication extends Application<ApplicationConfiguration> {
for (int i = 0; i < numberOfNewTasks; i++) {
Task task = new Task(String.valueOf(UUID.randomUUID()), i,
i % 2 == 0 ? TaskType.CRYPTO : TaskType.WEB,
Flag.newRandomFlag()
Flag.newRandomFlag(),
i % 2 == 0 ? new TaskCryptoContent("crypto text") : new TaskWebContent("url text")
);
tasksRepository.add(task);
}
......
package objects;
package objects.tasks;
import core.TaskType;
import objects.Flag;
import org.bson.types.ObjectId;
import org.mongodb.morphia.annotations.Entity;
import org.mongodb.morphia.annotations.Id;
......@@ -16,12 +17,14 @@ public class Task {
private int level;
private TaskType taskType;
private Flag flag;
private TaskContent taskContent;
public Task(String name, int level, TaskType type, Flag flag) {
public Task(String name, int level, TaskType type, Flag flag, TaskContent taskContent) {
this.flag = flag;
this.taskType = type;
this.level = level;
this.name = name;
this.taskContent = taskContent;
}
public Task() {}
......@@ -57,4 +60,12 @@ public class Task {
public void setFlag(Flag flag) {
this.flag = flag;
}
public TaskContent getTaskContent() {
return taskContent;
}
public void setTaskContent(TaskContent taskContent) {
this.taskContent = taskContent;
}
}
package objects.tasks;
/**
* Created by gpietrus on 23.02.2016.
*/
public abstract class TaskContent {
}
package objects.tasks;
/**
* Created by gpietrus on 23.02.2016.
*/
public class TaskCryptoContent extends TaskContent {
private String text;
public TaskCryptoContent(String text) {
this.text = text;
}
public TaskCryptoContent() {}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
}
package objects.tasks;
/**
* Created by gpietrus on 23.02.2016.
*/
public class TaskWebContent extends TaskContent {
private String url;
public TaskWebContent(String url) {
this.url = url;
}
public TaskWebContent() {}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
}
......@@ -2,7 +2,7 @@ package repositories;
import core.ApplicationConfiguration;
import objects.Solution;
import objects.Task;
import objects.tasks.Task;
import objects.Team;
import objects.User;
import org.apache.commons.codec.binary.Hex;
......
......@@ -2,7 +2,7 @@ package resources;
import helpers.TaskUserPair;
import io.dropwizard.auth.Auth;
import objects.Task;
import objects.tasks.Task;
import objects.User;
import repositories.TasksRepository;
......
......@@ -3,7 +3,7 @@ package resources.tasks;
import core.TaskType;
import io.dropwizard.auth.Auth;
import objects.Task;
import objects.tasks.Task;
import objects.User;
import repositories.TasksRepository;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment