package com.datascience.core.commands; import com.datascience.core.base.*; import com.datascience.datastoring.jobs.JobCommand; import com.datascience.core.commands.Utils.ShallowAssign; import java.util.Collection; /** * * @author artur */ public class AssignsCommands { static public class AddAssigns extends JobCommand<Object, Project> { Collection<ShallowAssign> assigns; public AddAssigns(Collection<ShallowAssign> assigns){ super(true); this.assigns = assigns; } @Override protected void realExecute() { IData data = project.getData(); for (ShallowAssign al : assigns){ Worker worker = data.getOrCreateWorker(al.worker); LObject object = data.getOrCreateObject(al.object); data.addAssign(new AssignedLabel(worker, object, al.label)); } setResult("Assigns added"); } } static public class GetAssigns<T> extends JobCommand<Collection<AssignedLabel<T>>, Project> { public GetAssigns(){ super(false); } @Override protected void realExecute() { setResult(project.getData().getAssigns()); } } static public class GetWorkerAssigns<T> extends JobCommand<Collection<AssignedLabel<T>>, Project> { String workerId; public GetWorkerAssigns(String workerId){ super(false); this.workerId = workerId; } @Override protected void realExecute() { Worker w = ParamChecking.worker(project.getData(), workerId); setResult(project.getData().getWorkerAssigns(w)); } } }