++
перевод инфы о файлах в джсон. попутно задел под пользовательские типы файлов стиль язык
This commit is contained in:
@@ -1,15 +1,24 @@
|
||||
package _VisualDVM.TestingSystem.Common.Test.Json;
|
||||
import _VisualDVM.ProjectData.Files.FileType;
|
||||
import _VisualDVM.ProjectData.Files.LanguageStyle;
|
||||
import _VisualDVM.ProjectData.Files.ProjectFile;
|
||||
import _VisualDVM.ProjectData.LanguageName;
|
||||
import com.google.gson.annotations.Expose;
|
||||
public class TestFileJson {
|
||||
@Expose
|
||||
public String name="";
|
||||
public String name = "";
|
||||
@Expose
|
||||
public FileType type = FileType.none;
|
||||
@Expose
|
||||
public LanguageName language = LanguageName.n;
|
||||
@Expose
|
||||
public LanguageStyle style = LanguageStyle.none;
|
||||
public TestFileJson() {
|
||||
}
|
||||
public TestFileJson(ProjectFile src) {
|
||||
name = src.file.getName();
|
||||
type = src.fileType;
|
||||
language = src.languageName;
|
||||
style = src.style;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ import com.google.gson.annotations.Expose;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Vector;
|
||||
public class TestsFilesJson {
|
||||
public class TestFilesJson {
|
||||
@Expose
|
||||
public List<TestFileJson> values = new Vector<>();
|
||||
}
|
||||
@@ -12,6 +12,8 @@ import _VisualDVM.ProjectData.Files.FileState;
|
||||
import _VisualDVM.ProjectData.Files.FileType;
|
||||
import _VisualDVM.ProjectData.Files.ProjectFile;
|
||||
import _VisualDVM.ProjectData.LanguageName;
|
||||
import _VisualDVM.TestingSystem.Common.Test.Json.TestFileJson;
|
||||
import _VisualDVM.TestingSystem.Common.Test.Json.TestFilesJson;
|
||||
import com.sun.org.glassfish.gmbal.Description;
|
||||
import org.apache.commons.io.FileUtils;
|
||||
|
||||
@@ -27,8 +29,8 @@ public class Test extends riDBObject {
|
||||
public String args = ""; //аргументы командной строки. на всякий случай поле зарезервирую. пусть будут.
|
||||
@Description("DEFAULT -1")
|
||||
public int group_id = CommonConstants.Nan;
|
||||
@Description("DEFAULT ''")
|
||||
public String files = ""; //файлы теста
|
||||
//@Description("DEFAULT ''")
|
||||
//public String files = ""; //файлы теста
|
||||
@Description("DEFAULT ''")
|
||||
public String extended_description="";
|
||||
@Description("DEFAULT ''")
|
||||
@@ -110,9 +112,7 @@ public class Test extends riDBObject {
|
||||
throw new RepositoryRefuseException("Не удалось переписать архив проекта");
|
||||
return true;
|
||||
}
|
||||
public String getFilesForTable() {
|
||||
return files.replace("\n", ";");
|
||||
}
|
||||
//todo проджект файлы тут не нужны. сделать с учетом джсона
|
||||
public LinkedHashMap<LanguageName, Vector<ProjectFile>> getPrograms() {
|
||||
LinkedHashMap<LanguageName, Vector<ProjectFile>> res = new LinkedHashMap<>();
|
||||
//--
|
||||
@@ -120,14 +120,12 @@ public class Test extends riDBObject {
|
||||
res.put(LanguageName.c, new Vector<>());
|
||||
res.put(LanguageName.cpp, new Vector<>());
|
||||
//--
|
||||
String[] files_names = files.split("\n");
|
||||
for (String file_name : files_names) {
|
||||
ProjectFile file = new ProjectFile(new File(file_name));
|
||||
TestFilesJson json = Utils_.gson.fromJson(packedFilesJson,TestFilesJson.class);
|
||||
for (TestFileJson file : json.values) {
|
||||
//--
|
||||
if (!file.state.equals(FileState.Excluded) &&
|
||||
file.fileType.equals(FileType.program) &&
|
||||
(!file.languageName.equals(LanguageName.n)))
|
||||
res.get(file.languageName).add(file);
|
||||
if (file.type.equals(FileType.program) &&
|
||||
(!file.language.equals(LanguageName.n)))
|
||||
res.get(file.language).add(new ProjectFile(new File(file.name)));
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@ import _VisualDVM.GlobalData.Tasks.TaskState;
|
||||
import _VisualDVM.Passes.All.DownloadRepository;
|
||||
import _VisualDVM.Passes.All.ZipFolderPass;
|
||||
import _VisualDVM.Passes.PassCode;
|
||||
import _VisualDVM.ProjectData.Files.ProjectFile;
|
||||
import _VisualDVM.ProjectData.LanguageName;
|
||||
import _VisualDVM.Repository.EmailMessage;
|
||||
import _VisualDVM.Repository.Server.RepositoryServer;
|
||||
@@ -23,6 +24,8 @@ import _VisualDVM.Repository.Server.ServerExchangeUnit_2021;
|
||||
import _VisualDVM.TestingSystem.Common.Group.Group;
|
||||
import _VisualDVM.TestingSystem.Common.MachineProcess.MachineProcess;
|
||||
import _VisualDVM.TestingSystem.Common.MachineProcess.MachineProcessSet;
|
||||
import _VisualDVM.TestingSystem.Common.Test.Json.TestFileJson;
|
||||
import _VisualDVM.TestingSystem.Common.Test.Json.TestFilesJson;
|
||||
import _VisualDVM.TestingSystem.Common.Test.Test;
|
||||
import _VisualDVM.TestingSystem.Common.Test.TestType;
|
||||
import _VisualDVM.TestingSystem.Common.TestingPackageToKill.TestingPackageToKill;
|
||||
@@ -696,14 +699,15 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
|
||||
File[] files = src.listFiles(pathname -> !pathname.isDirectory());
|
||||
if (files != null && files.length > 0) {
|
||||
//--
|
||||
Vector<String> filesNames = new Vector<>();
|
||||
for (File file : files)
|
||||
filesNames.add(file.getName());
|
||||
TestFilesJson filesJson= new TestFilesJson();
|
||||
for (File file : files) {
|
||||
filesJson.values.add(new TestFileJson(new ProjectFile(file)));
|
||||
}
|
||||
//--
|
||||
Test test = new Test();
|
||||
test.group_id = group.id;
|
||||
test.description = name;
|
||||
test.files = String.join("\n", filesNames);
|
||||
test.packedFilesJson = Utils_.gson.toJson(filesJson);
|
||||
test.sender_address = group.sender_address;
|
||||
test.sender_name = group.sender_name;
|
||||
test.extended_description = descriptions.get(name);
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
package _VisualDVM.TestingSystem.Common;
|
||||
import Common.CommonConstants;
|
||||
import Common.Database.RepositoryRefuseException;
|
||||
import Common.Database.SQLITE.SQLiteDatabase;
|
||||
import Common.Utils.Utils_;
|
||||
import _VisualDVM.ComponentsServer.Component.Sapfor.Sapfor;
|
||||
@@ -9,9 +8,12 @@ import _VisualDVM.Constants;
|
||||
import _VisualDVM.Global;
|
||||
import _VisualDVM.Passes.All.ZipFolderPass;
|
||||
import _VisualDVM.Passes.PassCode;
|
||||
import _VisualDVM.ProjectData.Files.ProjectFile;
|
||||
import _VisualDVM.ServerObjectsCache.VisualCaches;
|
||||
import _VisualDVM.TestingSystem.Common.Group.Group;
|
||||
import _VisualDVM.TestingSystem.Common.Group.GroupsDBTable;
|
||||
import _VisualDVM.TestingSystem.Common.Test.Json.TestFileJson;
|
||||
import _VisualDVM.TestingSystem.Common.Test.Json.TestFilesJson;
|
||||
import _VisualDVM.TestingSystem.Common.Test.Test;
|
||||
import _VisualDVM.TestingSystem.Common.Test.TestDBTable;
|
||||
import _VisualDVM.TestingSystem.Common.TestingPackageToKill.TestingPackagesToKillDBTable;
|
||||
@@ -30,7 +32,6 @@ import _VisualDVM.TestingSystem.SAPFOR.SapforSettingsCommand.SapforSettingsComma
|
||||
import _VisualDVM.TestingSystem.SAPFOR.ServerSapfor.ServerSapfor;
|
||||
import _VisualDVM.TestingSystem.SAPFOR.ServerSapfor.ServerSapforState;
|
||||
import _VisualDVM.TestingSystem.SAPFOR.ServerSapfor.ServerSapforsDBTable;
|
||||
import _VisualDVM.Utils;
|
||||
import javafx.util.Pair;
|
||||
import org.apache.commons.io.FileUtils;
|
||||
|
||||
@@ -210,7 +211,9 @@ public class TestsDatabase extends SQLiteDatabase {
|
||||
test.sender_name = account.name;
|
||||
test.sender_address = account.email;
|
||||
test.group_id = group.id;
|
||||
test.files = file.getName();
|
||||
TestFilesJson testFilesJson=new TestFilesJson();
|
||||
testFilesJson.values.add(new TestFileJson(new ProjectFile(file)));
|
||||
test.packedFilesJson=Utils_.gson.toJson(testFilesJson);
|
||||
Insert(test);
|
||||
//->>
|
||||
SaveTestFromSingleFile(sapfor, group, test, file);
|
||||
|
||||
Reference in New Issue
Block a user