package utils;
import com.google.gson.Gson;
import net.tomp2p.peers.Number160;
import se.chalmers.gdcn.files.TaskMeta;
/**
* Created by Leif on 2014-04-17.
*/
public class TaskHolder {
private final static Gson gson = new Gson();
private final static String TASK_META_A = "{\n" +
" \"taskName\":\"PrimeTask_01\",\n" +
" \"module\":{\"fileName\":\"Prime.hs\",\"fileLocation\":\"code\",\"sticky\":true,\"checkSum\":500},\n" +
" \"dependencies\":\n" +
" [\n" +
" {\"fileName\":\"2_10000.raw\",\"fileLocation\":\"resources\",\"sticky\":false,\"checkSum\":25}\n" +
" ]\n" +
"}";
private final static String TASK_META_B = "{\n" +
" \"taskName\":\"PrimeTask_02\",\n" +
" \"module\":{\"fileName\":\"Prime.hs\",\"fileLocation\":\"code\",\"sticky\":true,\"checkSum\":500},\n" +
" \"dependencies\":\n" +
" [\n" +
" {\"fileName\":\"2_10000.raw\",\"fileLocation\":\"resources\",\"sticky\":false,\"checkSum\":25}\n" +
" ]\n" +
"}";
private static TaskMeta taskA = null;
private static TaskMeta taskB = null;
private static TaskMeta parse(String task){
return gson.fromJson(task, TaskMeta.class);
}
public static TaskMeta getTaskA() {
if(taskA == null){
taskA = parse(TASK_META_A);
taskA.getModule().setDhtKey(Number160.createHash(taskA.getModule().getFileName()));
}
return taskA;
}
public static TaskMeta getTaskB() {
if(taskB == null){
taskB = parse(TASK_META_B);
taskB.getModule().setDhtKey(Number160.createHash(taskB.getModule().getFileName()));
}
return taskB;
}
}