From 3fbc6579f974259c248b11b13e3bade3bee5c081 Mon Sep 17 00:00:00 2001
From: Florian Lambers <fl462057@fh-muenster.de>
Date: Tue, 9 Nov 2021 23:58:27 +0100
Subject: [PATCH] added dsl backup

---
 .../migration/MigrationService.java           |  3 +-
 .../rest/service/change/ChangeController.java | 31 +++++++++++++++++--
 2 files changed, 30 insertions(+), 4 deletions(-)

diff --git a/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/migration/MigrationService.java b/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/migration/MigrationService.java
index 932e39c..aea5bf6 100644
--- a/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/migration/MigrationService.java
+++ b/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/migration/MigrationService.java
@@ -14,6 +14,7 @@ import org.springframework.stereotype.Service;
 
 import de.fhmuenster.masterthesis.Testgenerator.rest.dto.MigrationResultWrapperDTO;
 import de.fhmuenster.masterthesis.Testgenerator.rest.service.change.ChangeService;
+import de.fhmuenster.masterthesis.Testgenerator.rest.service.test.TestService;
 import de.fhmuenster.masterthesis.Testgenerator.yaml.MigrationResultStatus;
 import de.fhmuenster.masterthesis.Testgenerator.yaml.MigrationYaml;
 import de.fhmuenster.masterthesis.Testgenerator.yaml.YamlReader;
@@ -53,8 +54,6 @@ public class MigrationService {
 		MigrationResultWrapper migrationResultWrapper = new MigrationResultWrapper();
 		List<FlowChangeWrapper> result = new ArrayList<>();
 		
-		//oldDSL.getVariables().get(0).
-		
 		// 1. Schritt: Prüfen, ob in einem Flow neue Elemente hinzugekommen sind
 		List<FlowChangeWrapper> activityAddActionResults = detectActivityAddActions(oldDSL.getFlows(), newDSL.getFlows());
 		transferResultsToCorrespondingCategory(migrationResultWrapper, activityAddActionResults);
diff --git a/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/rest/service/change/ChangeController.java b/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/rest/service/change/ChangeController.java
index 7c29fa9..c5d0faf 100644
--- a/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/rest/service/change/ChangeController.java
+++ b/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/rest/service/change/ChangeController.java
@@ -4,8 +4,10 @@ import java.io.BufferedReader;
 import java.io.File;
 import java.io.FileReader;
 import java.io.IOException;
+import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
+import java.nio.file.StandardCopyOption;
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
@@ -57,6 +59,8 @@ public class ChangeController {
 	private ChangeService changeService;
 	@Autowired
 	private MigrationService migrationService;
+	@Autowired
+	private TestService testService;
 	
 	@RequestMapping(path = "/project/{projectId}/match", method = RequestMethod.GET)
 	public void getNewFlows(@PathVariable(required = true) Long projectId) {
@@ -91,10 +95,33 @@ public class ChangeController {
 		Project project = projectService.getProjectForId(projectId);
 		
 		MigrationResultWrapperDTO migrationResultWrapperDTO = new MigrationResultWrapperDTO();
-		//Alte und neue DSL einlesen
+		
+		//Alte DSL kopieren und neu generieren
 		Path testFilePath = ProjectDirectoryUtils.getTestspecificationPath(project.getProjectDirectories());
+		Path source = Paths.get(testFilePath.toString());
+		Path target = Paths.get(project.getProjectDirectories().getProjectRootPath().toString(),
+				project.getProjectDirectories().getModelPath(), this.projectService.getBackupFolderName(),
+				"Testcollection.bpmn-testgen");
+		
+		try {
+			Files.move(source,  target, StandardCopyOption.REPLACE_EXISTING);
+		}
+		catch(Exception e) {
+			
+		}
+		
+		
+		
+		//Path testFilePath = ProjectDirectoryUtils.getTestspecificationPath(project.getProjectDirectories());
 		Path newDSLFile = Paths.get(testFilePath.toString());
-		Path oldDSLFile = Paths.get(project.getProjectDirectories().resolveTestPath(), "Testcollection-old.bpmn-testgen");
+		//Path oldDSLFile = Paths.get(project.getProjectDirectories().resolveTestPath(), "Testcollection-old.bpmn-testgen");
+		Path oldDSLFile = Paths.get(project.getProjectDirectories().getProjectRootPath().toString(),
+				project.getProjectDirectories().getModelPath(), this.projectService.getBackupFolderName(),
+				"Testcollection.bpmn-testgen");
+		
+		testService.initLoops(project);
+		testService.initTestcollection(project);
+		
 		try {
 			TestgeneratorDSLSerializer oldDSL = new TestgeneratorDSLSerializer(oldDSLFile.toString());
 			TestgeneratorDSLSerializer newDSL = new TestgeneratorDSLSerializer(newDSLFile.toString());
-- 
GitLab