package TestingSystem.DVM.DVMTasks; import Common.Constants; import Common.Current; import Common.Database.DBObject; import Common.Global; import GlobalData.Tasks.TaskState; import ProjectData.LanguageName; import TestingSystem.Common.Group.Group; import TestingSystem.Common.Test.Test; import TestingSystem.DVM.Configuration.Configuration; import TestingSystem.DVM.Tasks.TestRunTask; import TestingSystem.DVM.Tasks.TestTask; import com.sun.org.glassfish.gmbal.Description; import java.util.Vector; public class DVMRunTask extends DVMTask { //не факт что тут нужно переводить на полный интерфейс. достаточно убрать фильтрацию public int dvmcompilationtask_id = Constants.Nan; public String matrix = ""; public String args = ""; public double CleanTime = 0.0; public int progress = 0; public LanguageName language = LanguageName.fortran; public int cube = 1; public int min_dim = 1; public int max_dim = 1; public String environments = ""; public String usr_par = ""; public int compilation_maxtime = 40; public String compilation_output = ""; public String compilation_errors = ""; public TaskState compilation_state = TaskState.Waiting; public double compilation_time = 0.0; public String statistic = ""; public DVMRunTask(Configuration configuration, Group group, Test test, String matrix_in, String flags_in, String environments_in, String par_in) { super(configuration, group, test, flags_in); //-------------------------- //инфа о компиляции. language = group.language; compilation_maxtime = configuration.c_maxtime; compilation_output = ""; compilation_errors = ""; compilation_state = TaskState.Waiting; //инфа о запуске cube = configuration.cube; min_dim = configuration.max_dim_proc_count; max_dim = configuration.max_dim_proc_count; maxtime = configuration.r_maxtime; environments = environments_in; usr_par = par_in; args = test.args; //--------- matrix = matrix_in; } public DVMRunTask() { } @Override public void SynchronizeFields(DBObject src) { super.SynchronizeFields(src); DVMRunTask rt = (DVMRunTask) src; dvmcompilationtask_id = rt.dvmcompilationtask_id; matrix = rt.matrix; CleanTime = rt.CleanTime; progress = rt.progress; language = rt.language; cube = rt.cube; min_dim = rt.min_dim; max_dim = rt.max_dim; maxtime = rt.maxtime; environments = rt.environments; usr_par = rt.usr_par; compilation_maxtime = rt.compilation_maxtime; compilation_output = rt.compilation_output; compilation_errors = rt.compilation_errors; compilation_state = rt.compilation_state; compilation_time = rt.compilation_time; statistic = rt.statistic; args = rt.args; } public DVMRunTask(TestRunTask src) { this.SynchronizeFields(src); } //- @Override public Vector pack(int kernels_in) { Vector res = new Vector<>(); res.add(String.valueOf(id)); //1 res.add(String.valueOf(maxtime)); //2 res.add(String.valueOf(dvmcompilationtask_id)); //3 res.add(matrix); //4 res.add(environments); //5 res.add(usr_par.replace("\n", "|")); //6 res.add(args); //7 res.add(String.valueOf(kernels_in)); //8 return res; } public String getEnvironments() { return environments.replace("\n", ";"); } public String getUsrPar() { return usr_par.replace("\n", ";"); } } //--