открытие версии из дерева пакета. как проекта ( осталось соощения распаковать)

This commit is contained in:
2023-11-12 02:14:20 +03:00
parent f80904209d
commit 84f87ca957
9 changed files with 117 additions and 12 deletions

10
.idea/workspace.xml generated
View File

@@ -7,9 +7,15 @@
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment=""> <list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment="">
<change afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/OpenSapforEtalonVersion.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/OpenSapforVersion.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/OpenSapforVersionPass.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/SapforTestingSystem/Json/SapforVersion_json.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/SapforTestingSystem/Json/SapforVersion_json.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTask/SapforTask.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTask/SapforTask.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTasksPackage/UI/SapforTasksPackageTree.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTasksPackage/UI/SapforTasksPackageTree.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTasksPackage/UI/SapforTasksPackageTree.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTasksPackage/UI/SapforTasksPackageTree.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Main/SapforPackagesComparisonForm.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Main/SapforPackagesComparisonForm.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/PassCode_2021.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/PassCode_2021.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Main/SapforVersionsComparisonForm.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Main/SapforVersionsComparisonForm.java" afterDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -31,8 +37,8 @@
<list> <list>
<option value="FxmlFile" /> <option value="FxmlFile" />
<option value="Interface" /> <option value="Interface" />
<option value="Class" />
<option value="Enum" /> <option value="Enum" />
<option value="Class" />
</list> </list>
</option> </option>
</component> </component>

View File

@@ -4,6 +4,9 @@ import Common.Global;
import Common.Utils.Utils; import Common.Utils.Utils;
import ProjectData.Files.FileType; import ProjectData.Files.FileType;
import ProjectData.Files.ProjectFile; import ProjectData.Files.ProjectFile;
import ProjectData.LanguageName;
import ProjectData.Project.db_project_info;
import SapforTestingSystem.SapforTask.SapforTask;
import com.google.gson.annotations.Expose; import com.google.gson.annotations.Expose;
import org.apache.commons.io.FileUtils; import org.apache.commons.io.FileUtils;
@@ -27,6 +30,9 @@ public class SapforVersion_json implements Serializable {
public ProjectFile out = null; public ProjectFile out = null;
public ProjectFile err = null; public ProjectFile err = null;
//-- //--
public SapforTask task = null; //родная задача. Нужна для построения дерева версий.
public db_project_info project = null;
//--
public SapforVersion_json(String version_in, String description_in) { public SapforVersion_json(String version_in, String description_in) {
version = version_in; version = version_in;
description = description_in; description = description_in;
@@ -99,4 +105,17 @@ public class SapforVersion_json implements Serializable {
} }
return true; return true;
} }
public void createProject(File rootHome) throws Exception {
project = null;
String version_ = Global.isWindows ? Utils.toW(version) : Utils.toU(version);
project = new db_project_info();
project.Home = Paths.get(rootHome.getAbsolutePath(), version_).toFile();
project.name = project.Home.getName();
project.description = description;
project.languageName = LanguageName.fortran;
project.creationDate = Utils.getDateNumber();
//---
FileUtils.copyDirectory(Home, project.Home);
project.CreateVisualiserData();
}
} }

View File

@@ -68,6 +68,7 @@ public class SapforTask extends DBObject {
//-- //--
for (SapforVersion_json version_json : versions) { for (SapforVersion_json version_json : versions) {
version_json.init(configurationRoot); version_json.init(configurationRoot);
version_json.task = this;
//- //-
child = new VersionSummary(version_json); child = new VersionSummary(version_json);
if (parent == null) { if (parent == null) {
@@ -82,6 +83,7 @@ public class SapforTask extends DBObject {
if (parent != null) { if (parent != null) {
for (SapforVersion_json version_json : variants) { for (SapforVersion_json version_json : variants) {
version_json.init(configurationRoot); version_json.init(configurationRoot);
version_json.task = this;
parent.add(new VersionSummary(version_json)); parent.add(new VersionSummary(version_json));
} }
} }

View File

@@ -23,9 +23,6 @@ public class SapforTasksPackageTree extends DataTree {
return 1; return 1;
} }
@Override @Override
public void LeftMouseAction2() {
}
@Override
public TreeRenderers getRenderer() { public TreeRenderers getRenderer() {
return TreeRenderers.RendererSapforVersion; return TreeRenderers.RendererSapforVersion;
} }

View File

@@ -0,0 +1,9 @@
package Visual_DVM_2021.Passes.All;
import Common.Current;
import Visual_DVM_2021.Passes.OpenSapforVersionPass;
public class OpenSapforEtalonVersion extends OpenSapforVersionPass {
@Override
public Current getCurrentName() {
return Current.SapforEtalonVersion;
}
}

View File

@@ -0,0 +1,9 @@
package Visual_DVM_2021.Passes.All;
import Common.Current;
import Visual_DVM_2021.Passes.OpenSapforVersionPass;
public class OpenSapforVersion extends OpenSapforVersionPass {
@Override
public Current getCurrentName() {
return Current.SapforVersion;
}
}

View File

@@ -0,0 +1,52 @@
package Visual_DVM_2021.Passes;
import Common.Current;
import Common.Global;
import Common.Utils.Utils;
import GlobalData.Settings.SettingName;
import SapforTestingSystem.Json.SapforVersion_json;
import SapforTestingSystem.SapforTask.SapforTask;
import java.io.File;
import java.nio.file.Paths;
public abstract class OpenSapforVersionPass extends Pass_2021<SapforVersion_json> {
@Override
public String getIconPath() {
return "/icons/OpenProject.png";
}
@Override
public String getButtonText() {
return "";
}
public abstract Current getCurrentName();
@Override
protected boolean needsAnimation() {
return true;
}
@Override
protected boolean canStart(Object... args) throws Exception {
if (Current.Check(Log, getCurrentName())) {
target = (SapforVersion_json) Current.get(getCurrentName());
return true;
}
return false;
}
@Override
protected void body() throws Exception {
SapforTask task = target.task;
ShowMessage1("Построение дерева версий и создание баз данных...");
File rootHome = Paths.get(Global.getSetting(SettingName.Workspace).Value,
Utils.getDateName(task.test_description)).toFile();
for (SapforVersion_json version_json : task.versions) {
ShowMessage2(version_json.version);
version_json.createProject(rootHome);
}
for (SapforVersion_json version_json : task.variants) {
ShowMessage2(version_json.version);
version_json.createProject(rootHome);
}
}
@Override
protected void performDone() throws Exception {
passes.get(PassCode_2021.OpenCurrentProject).Do(target.project.Home);
}
}

View File

@@ -306,12 +306,18 @@ public enum PassCode_2021 {
//-> //->
DownloadSapforTasksPackage, DownloadSapforTasksPackage,
ShowSapforTaskPackage, //временный проход на демонстрацию дерева файлов и версий пакета. ShowSapforTaskPackage, //временный проход на демонстрацию дерева файлов и версий пакета.
OpenSapforEtalonVersion,
OpenSapforVersion,
//-> //->
TestPass; TestPass;
public String getDescription() { public String getDescription() {
switch (this) { switch (this) {
case Undefined: case Undefined:
return "?"; return "?";
case OpenSapforEtalonVersion:
return "Открыть текущую эталонную версию SAPFOR как проект";
case OpenSapforVersion:
return "Открыть текущую версию SAPFOR как проект";
case UnpackSapforTasksPackage: case UnpackSapforTasksPackage:
return "Распаковка пакета задач SAPFOR"; return "Распаковка пакета задач SAPFOR";
case ShowSapforTaskPackage: case ShowSapforTaskPackage:

View File

@@ -7,6 +7,8 @@ import Common.Utils.Utils;
import GlobalData.Settings.SettingName; import GlobalData.Settings.SettingName;
import ProjectData.Files.ProjectFile; import ProjectData.Files.ProjectFile;
import SapforTestingSystem.Json.SapforVersion_json; import SapforTestingSystem.Json.SapforVersion_json;
import Visual_DVM_2021.Passes.PassCode_2021;
import Visual_DVM_2021.Passes.Pass_2021;
import javax.swing.*; import javax.swing.*;
import java.util.Arrays; import java.util.Arrays;
@@ -31,14 +33,17 @@ public class SapforVersionsComparisonForm extends ComparisonForm<SapforVersion_j
bApplyObject.setVisible(false); bApplyObject.setVisible(false);
bClose.setVisible(false); bClose.setVisible(false);
cbFile = new JComboBox<>(); cbFile = new JComboBox<>();
tools.add(cbFile, 3); tools.add(Pass_2021.passes.get(
(current.equals(Current.SapforEtalonVersion) ? PassCode_2021.OpenSapforEtalonVersion : PassCode_2021.OpenSapforVersion
)).createButton(), 3);
tools.add(cbFile, 4);
//-- //--
cbFile.addActionListener(e -> { cbFile.addActionListener(e -> {
SelectFile(((cbFile.getSelectedItem() instanceof ProjectFile) ? ((ProjectFile) cbFile.getSelectedItem()) : null)); SelectFile(((cbFile.getSelectedItem() instanceof ProjectFile) ? ((ProjectFile) cbFile.getSelectedItem()) : null));
}); });
//-- //--
buttons = new LinkedHashMap<>(); buttons = new LinkedHashMap<>();
int i = 4; int i = 5;
for (SapforVersionComparisonState state : SapforVersionComparisonState.values()) { for (SapforVersionComparisonState state : SapforVersionComparisonState.values()) {
MenuBarButton button = new MenuBarButton(); MenuBarButton button = new MenuBarButton();
button.setIcon("/icons/" + state.toString() + ".png"); button.setIcon("/icons/" + state.toString() + ".png");