Skip to content
Snippets Groups Projects
Commit da4573fe authored by Till Josef Brinkhus's avatar Till Josef Brinkhus
Browse files
parents 31513b89 43e0534a
No related branches found
No related tags found
No related merge requests found
Showing
with 579 additions and 138 deletions
......@@ -4,14 +4,10 @@ import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.support.SpringBootServletInitializer;
import de.fhmuenster.masterthesis.Testgenerator.migration.MigrationService;
@SpringBootApplication
public class BPMNTestgenerationApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(BPMNTestgenerationApplication.class, args);
//MigrationService service = new MigrationService();
}
}
package de.fhmuenster.masterthesis.Testgenerator.migration;
public enum ActionType {
ACTIVITY_ADD_MANUAL_TASK, ACTIVITY_ADD_USER_TASK, ACTIVITY_ADD_SCRIPT_TASK, ACTIVITY_ADD_SERVICE_TASK
}
package de.fhmuenster.masterthesis.Testgenerator.migration;
import java.util.ArrayList;
import java.util.List;
import de.fhmuenster.masterthesis.Testgenerator.rest.dto.BPMNFlowDTO;
import de.fhmuenster.masterthesis.Testgenerator.rest.dto.FlowChangeWrapperDTO;
import de.fhmuenster.masterthesis.Testgenerator.rest.dto.FlowElementDTO;
import de.fhmuenster.masterthesis.Testgenerator.rest.dto.MigrationResultDTO;
import de.fhmuenster.masterthesis.Testgenerator.yaml.MigrationResult;
import de.fhmuenster.masterthesis.testgeneratorDSL.Flow;
import de.fhmuenster.masterthesis.testgeneratorDSL.FlowElement;
import de.fhmuenster.masterthesis.testgeneratorDSL.FlowElementReference;
public class FlowChangeWrapper {
private Flow flow;
private ActionType actionType;
private FlowElement flowElement;
private MigrationResult migrationResult;
public FlowChangeWrapper() {
}
public Flow getFlow() {
return flow;
}
public void setFlow(Flow flow) {
this.flow = flow;
}
public ActionType getActionType() {
return actionType;
}
public void setActionType(ActionType actionType) {
this.actionType = actionType;
}
public FlowElement getFlowElement() {
return flowElement;
}
public void setFlowElementReference(FlowElement flowElement) {
this.flowElement = flowElement;
}
public FlowChangeWrapper(Flow flow, ActionType actionType, FlowElement flowElement, MigrationResult migrationResult) {
this.flow = flow;
this.actionType = actionType;
this.flowElement = flowElement;
this.migrationResult = migrationResult;
}
public MigrationResult getMigrationResult() {
return migrationResult;
}
public void setMigrationResult(MigrationResult migrationResult) {
this.migrationResult = migrationResult;
}
public FlowChangeWrapperDTO convertToDTO() {
FlowChangeWrapperDTO dto = new FlowChangeWrapperDTO();
BPMNFlowDTO bpmnFlowDTO = new BPMNFlowDTO();
bpmnFlowDTO.setName(this.getFlow().getName());
bpmnFlowDTO.setTestCount(0);
List<FlowElementDTO> flowElementDTOs = new ArrayList<>();
for(FlowElementReference f : this.getFlow().getInclElements()) {
FlowElementDTO fDTO = new FlowElementDTO();
fDTO.setId(f.getRef().getName());
flowElementDTOs.add(fDTO);
}
bpmnFlowDTO.setFlowElements(flowElementDTOs);
dto.setFlow(bpmnFlowDTO);
dto.setActionType(this.actionType.name());
FlowElementDTO flowElementDTO = new FlowElementDTO();
flowElementDTO.setId(this.getFlowElement().getName());
dto.setFlowElement(flowElementDTO);
MigrationResultDTO migrationResultDTO = new MigrationResultDTO();
migrationResultDTO.setPriority(this.getMigrationResult().getPriority());
migrationResultDTO.setPriority(this.getMigrationResult().getPriority());
migrationResultDTO.setStatus(this.getMigrationResult().getStatus().name());
dto.setMigrationResult(migrationResultDTO);
return dto;
}
}
package de.fhmuenster.masterthesis.Testgenerator.migration;
import java.util.ArrayList;
import java.util.List;
import de.fhmuenster.masterthesis.Testgenerator.rest.dto.FlowChangeWrapperDTO;
import de.fhmuenster.masterthesis.Testgenerator.rest.dto.MigrationResultWrapperDTO;
public class MigrationResultWrapper {
private List<FlowChangeWrapper> greenResults;
private List<FlowChangeWrapper> yellowResults;
private List<FlowChangeWrapper> redResults;
public MigrationResultWrapper() {
this.greenResults = new ArrayList<>();
this.yellowResults = new ArrayList<>();
this.redResults = new ArrayList<>();
}
public List<FlowChangeWrapper> getGreenResults() {
return greenResults;
}
public void setGreenResults(List<FlowChangeWrapper> greenResults) {
this.greenResults = greenResults;
}
public List<FlowChangeWrapper> getYellowResults() {
return yellowResults;
}
public void setYellowResults(List<FlowChangeWrapper> yellowResults) {
this.yellowResults = yellowResults;
}
public List<FlowChangeWrapper> getRedResults() {
return redResults;
}
public void setRedResults(List<FlowChangeWrapper> redResults) {
this.redResults = redResults;
}
public void addToGreenResult(FlowChangeWrapper wrapper) {
this.greenResults.add(wrapper);
}
public void addToYellowResult(FlowChangeWrapper wrapper) {
this.yellowResults.add(wrapper);
}
public void addToRedResult(FlowChangeWrapper wrapper) {
this.redResults.add(wrapper);
}
public MigrationResultWrapperDTO convertToDTO() {
MigrationResultWrapperDTO dto = new MigrationResultWrapperDTO();
List<FlowChangeWrapperDTO> greenDTO = new ArrayList<>();
List<FlowChangeWrapperDTO> yellowDTO = new ArrayList<>();
List<FlowChangeWrapperDTO> redDTO = new ArrayList<>();
for(FlowChangeWrapper f : this.getGreenResults()) {
greenDTO.add(f.convertToDTO());
}
for(FlowChangeWrapper f : this.getYellowResults()) {
yellowDTO.add(f.convertToDTO());
}
for(FlowChangeWrapper f : this.getRedResults()) {
redDTO.add(f.convertToDTO());
}
dto.setGreenResults(greenDTO);
dto.setYellowResults(yellowDTO);
dto.setRedResults(redDTO);
return dto;
}
}
package de.fhmuenster.masterthesis.Testgenerator.migration;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import javax.annotation.PostConstruct;
import org.eclipse.emf.common.util.BasicEList;
import org.eclipse.emf.common.util.EList;
import org.springframework.stereotype.Service;
import de.fhmuenster.masterthesis.Testgenerator.rest.dto.MigrationResultWrapperDTO;
import de.fhmuenster.masterthesis.Testgenerator.yaml.MigrationYaml;
import de.fhmuenster.masterthesis.Testgenerator.yaml.YamlReader;
import de.fhmuenster.masterthesis.serialization.TestgeneratorDSLSerializer;
import de.fhmuenster.masterthesis.testgeneratorDSL.Flow;
import de.fhmuenster.masterthesis.testgeneratorDSL.FlowElement;
import de.fhmuenster.masterthesis.testgeneratorDSL.FlowElementReference;
import de.fhmuenster.masterthesis.testgeneratorDSL.ManualTaskFlowElement;
import de.fhmuenster.masterthesis.testgeneratorDSL.UserTaskFlowElement;
import de.fhmuenster.masterthesis.testgeneratorDSL.SequenceFlowElement;
import de.fhmuenster.masterthesis.testgeneratorDSL.ServiceTaskFlowElement;
import de.fhmuenster.masterthesis.testgeneratorDSL.BusinessRuleTaskFlowElement;
import de.fhmuenster.masterthesis.utils.TestgeneratorDSLUtils;
import org.camunda.bpm.model.bpmn.instance.SequenceFlow;
import org.camunda.bpm.model.bpmn.instance.ServiceTask;
import org.camunda.bpm.model.bpmn.instance.ManualTask;
@Service
public class MigrationService {
private MigrationYaml yaml;
public MigrationService() {
}
@PostConstruct
public void initYaml() {
}
public MigrationResultWrapper detectChanges(TestgeneratorDSLSerializer oldDSL, TestgeneratorDSLSerializer newDSL) {
//Annahme: Flows sind identisch
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);
System.out.println("Ergebnis addAction");
for(FlowChangeWrapper fcw : activityAddActionResults) {
System.out.println("+++ Neu: " + fcw.getFlowElement().getName() + " [" + fcw.getActionType() + "] in Flow " + fcw.getFlow().getName()
+ " mit Status: " + fcw.getMigrationResult().getPriority());
}
return migrationResultWrapper;
}
private List<FlowChangeWrapper> detectActivityAddActions(List<Flow> oldFlows, List<Flow> newFlows) {
List<FlowChangeWrapper> result = new ArrayList<>();
//Flows miteinander vergleichen
for(int i=0; i < oldFlows.size(); i++) {
result.addAll(compareFlowsForAddAction(oldFlows.get(i), newFlows.get(i)));
}
return result;
}
private List<FlowChangeWrapper> compareFlowsForAddAction(Flow oldFlow, Flow newFlow) {
List<FlowElementReference> addedFlowElements = new ArrayList<>();
List<FlowElementReference> oldElements = TestgeneratorDSLUtils.getInclElements(oldFlow);
List<FlowElementReference> newElements = TestgeneratorDSLUtils.getInclElements(newFlow);
List<FlowChangeWrapper> result = new ArrayList<>();
for(FlowElementReference fer : newElements) {
if (fer.getRef() instanceof SequenceFlowElement) continue;
if(!checkIfElementExistsInFlowElements(fer, oldElements)) {
addedFlowElements.add(fer);
}
}
if(addedFlowElements.size() == 0) return result;
//Yaml laden
YamlReader yamlReader = new YamlReader();
MigrationYaml yaml = yamlReader.loadMigrationYaml();
System.out.println(yaml.getGateway().getAdd().getXor().getStatus());
for(FlowElementReference e : addedFlowElements) {
if(e.getRef() instanceof ManualTaskFlowElement) {
result.add(new FlowChangeWrapper(newFlow, ActionType.ACTIVITY_ADD_MANUAL_TASK,
e.getRef(), yaml.getActivity().getAdd().getManualTask()));
}
if(e.getRef() instanceof UserTaskFlowElement) {
result.add(new FlowChangeWrapper(newFlow, ActionType.ACTIVITY_ADD_USER_TASK,
e.getRef(), yaml.getActivity().getAdd().getManualTask()));
}
if(e.getRef() instanceof BusinessRuleTaskFlowElement) {
BusinessRuleTaskFlowElement element = (BusinessRuleTaskFlowElement) e.getRef();
//element.get
//element.get
result.add(new FlowChangeWrapper(newFlow, ActionType.ACTIVITY_ADD_USER_TASK,
e.getRef(), yaml.getActivity().getAdd().getManualTask()));
}
}
return result;
}
private boolean checkIfElementExistsInFlowElements(FlowElementReference fer, List<FlowElementReference> elements) {
String id = fer.getRef().getName();
for(FlowElementReference e : elements) {
if(e.getRef().getName().equals(id)) {
return true;
}
}
return false;
}
private void transferResultsToCorrespondingCategory(MigrationResultWrapper wrapper, List<FlowChangeWrapper> changes) {
if(changes.isEmpty()) return;
for(FlowChangeWrapper change : changes) {
switch(change.getMigrationResult().getStatus()) {
case GREEN:
wrapper.addToGreenResult(change);
break;
case YELLOW:
wrapper.addToYellowResult(change);
break;
case RED:
wrapper.addToRedResult(change);
break;
default:
wrapper.addToGreenResult(change);
break;
}
}
}
public MigrationResultWrapperDTO convertMigrationResultWrapper(MigrationResultWrapper wrapper) {
MigrationResultWrapperDTO dto = new MigrationResultWrapperDTO();
dto = wrapper.convertToDTO();
return dto;
}
}
package de.fhmuenster.masterthesis.Testgenerator.rest.dto;
public class FlowChangeWrapperDTO {
private BPMNFlowDTO flow;
private String actionType;
private FlowElementDTO flowElement;
private MigrationResultDTO migrationResult;
public FlowChangeWrapperDTO() {
}
public FlowChangeWrapperDTO(BPMNFlowDTO flow, String actionType, FlowElementDTO flowElement,
MigrationResultDTO migrationResult) {
this.flow = flow;
this.actionType = actionType;
this.flowElement = flowElement;
this.migrationResult = migrationResult;
}
public BPMNFlowDTO getFlow() {
return flow;
}
public void setFlow(BPMNFlowDTO flow) {
this.flow = flow;
}
public String getActionType() {
return actionType;
}
public void setActionType(String actionType) {
this.actionType = actionType;
}
public FlowElementDTO getFlowElement() {
return flowElement;
}
public void setFlowElement(FlowElementDTO flowElement) {
this.flowElement = flowElement;
}
public MigrationResultDTO getMigrationResult() {
return migrationResult;
}
public void setMigrationResult(MigrationResultDTO migrationResult) {
this.migrationResult = migrationResult;
}
}
package de.fhmuenster.masterthesis.Testgenerator.rest.dto;
public class MigrationResultDTO {
private String status;
private int priority;
public MigrationResultDTO() {
}
public MigrationResultDTO(String status, int priority) {
super();
this.status = status;
this.priority = priority;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public int getPriority() {
return priority;
}
public void setPriority(int priority) {
this.priority = priority;
}
}
package de.fhmuenster.masterthesis.Testgenerator.rest.dto;
import java.util.List;
public class MigrationResultWrapperDTO {
private List<FlowChangeWrapperDTO> greenResults;
private List<FlowChangeWrapperDTO> yellowResults;
private List<FlowChangeWrapperDTO> redResults;
public MigrationResultWrapperDTO() {
}
public MigrationResultWrapperDTO(List<FlowChangeWrapperDTO> greenResults, List<FlowChangeWrapperDTO> yellowResults,
List<FlowChangeWrapperDTO> redResults) {
super();
this.greenResults = greenResults;
this.yellowResults = yellowResults;
this.redResults = redResults;
}
public List<FlowChangeWrapperDTO> getGreenResults() {
return greenResults;
}
public void setGreenResults(List<FlowChangeWrapperDTO> greenResults) {
this.greenResults = greenResults;
}
public List<FlowChangeWrapperDTO> getYellowResults() {
return yellowResults;
}
public void setYellowResults(List<FlowChangeWrapperDTO> yellowResults) {
this.yellowResults = yellowResults;
}
public List<FlowChangeWrapperDTO> getRedResults() {
return redResults;
}
public void setRedResults(List<FlowChangeWrapperDTO> redResults) {
this.redResults = redResults;
}
}
......@@ -21,6 +21,9 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import de.fhmuenster.masterthesis.Testgenerator.migration.MigrationResultWrapper;
import de.fhmuenster.masterthesis.Testgenerator.migration.MigrationService;
import de.fhmuenster.masterthesis.Testgenerator.rest.dto.MigrationResultWrapperDTO;
import de.fhmuenster.masterthesis.Testgenerator.rest.dto.BPMNFlowDTO;
import de.fhmuenster.masterthesis.Testgenerator.rest.dto.BPMNFlowSetDTO;
import de.fhmuenster.masterthesis.Testgenerator.rest.dto.FlowElementDTO;
......@@ -29,6 +32,8 @@ import de.fhmuenster.masterthesis.Testgenerator.rest.service.flow.FlowService;
import de.fhmuenster.masterthesis.Testgenerator.rest.service.project.Project;
import de.fhmuenster.masterthesis.Testgenerator.rest.service.project.ProjectDirectories;
import de.fhmuenster.masterthesis.Testgenerator.rest.service.project.ProjectService;
import de.fhmuenster.masterthesis.Testgenerator.utils.ProjectDirectoryUtils;
import de.fhmuenster.masterthesis.serialization.TestgeneratorDSLSerializer;
import de.fhmuenster.masterthesis.Testgenerator.rest.service.test.TestService;
import de.fhmuenster.masterthesis.Testgenerator.utils.ProjectDirectoryUtils;
import de.fhmuenster.masterthesis.serialization.TestgeneratorDSLSerializer;
......@@ -51,6 +56,9 @@ public class ChangeController {
@Autowired
private TestService testService;
@Autowired
private MigrationService migrationService;
@RequestMapping(path = "/project/{projectId}/match", method = RequestMethod.GET)
public void getNewFlows(@PathVariable(required = true) Long projectId) {
......@@ -181,5 +189,35 @@ public class ChangeController {
return matchingFlows;
}
}
\ No newline at end of file
@RequestMapping(path = "/project/{projectId}/migration/changes", method = RequestMethod.GET)
public MigrationResultWrapperDTO detectChanges(@PathVariable(required = true) Long projectId) {
//Annahme: Flows stimmen überein
Project project = projectService.getProjectForId(projectId);
MigrationResultWrapperDTO migrationResultWrapperDTO = new MigrationResultWrapperDTO();
//Alte und neue DSL einlesen
Path testFilePath = ProjectDirectoryUtils.getTestspecificationPath(project.getProjectDirectories());
Path newDSLFile = Paths.get(testFilePath.toString());
Path oldDSLFile = Paths.get(project.getProjectDirectories().resolveTestPath(), "Testcollection-old.bpmn-testgen");
try {
TestgeneratorDSLSerializer oldDSL = new TestgeneratorDSLSerializer(oldDSLFile.toString());
TestgeneratorDSLSerializer newDSL = new TestgeneratorDSLSerializer(newDSLFile.toString());
MigrationResultWrapper migrationResultWrapper = migrationService.detectChanges(oldDSL, newDSL);
migrationResultWrapperDTO = migrationService.convertMigrationResultWrapper(migrationResultWrapper);
return migrationResultWrapperDTO;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return migrationResultWrapperDTO;
}
}
package de.fhmuenster.masterthesis.Testgenerator.yaml;
public class Configuration {
private int green;
private int yellow;
private int red;
public Configuration() {
}
public int getGreen() {
return green;
}
public void setGreen(int green) {
this.green = green;
}
public int getYellow() {
return yellow;
}
public void setYellow(int yellow) {
this.yellow = yellow;
}
public int getRed() {
return red;
}
public void setRed(int red) {
this.red = red;
}
}
......@@ -3,7 +3,7 @@ package de.fhmuenster.masterthesis.Testgenerator.yaml;
public class MigrationResult {
private MigrationResultStatus status;
private int priority;
private Integer priority;
public MigrationResult() {
......@@ -17,11 +17,11 @@ public class MigrationResult {
this.status = status;
}
public int getPriority() {
public Integer getPriority() {
return priority;
}
public void setPriority(int priority) {
public void setPriority(Integer priority) {
this.priority = priority;
}
}
package de.fhmuenster.masterthesis.Testgenerator.yaml;
public class MigrationYaml {
private Configuration configuration;
private Gateway gateway;
private Activity activity;
......@@ -23,6 +24,15 @@ public class MigrationYaml {
public void setActivity(Activity activity) {
this.activity = activity;
}
public Configuration getConfiguration() {
return configuration;
}
public void setConfiguration(Configuration configuration) {
this.configuration = configuration;
}
}
logging.level.root=INFO
testgenerator.projects=C:\\Users\\tillb\\Desktop\\fe_projekt\\projects.json
testgenerator.projects=C:\\CodePro\\projects.json
# globale Konfiguration für Status, kann dann spezieller überschrieben werden
configuration:
green: 100
yellow: 200
red: 500
gateway:
add:
xor:
......@@ -22,128 +27,4 @@ activity:
priority: 0
manualTask:
status: GREEN
priority: 0
businessRuleTask:
withOutput:
status: RED
priority: 0
withoutOutput:
status: GREEN
priority: 0
serviceTask:
withOutput:
status: RED
priority: 0
withoutOutput:
status: GREEN
priority: 0
scriptTask:
withOutput:
status: RED
priority: 0
withoutOutput:
status: GREEN
priority: 0
delete:
userTask:
status: YELLOW
priority: 0
manualTask:
status: GREEN
priority: 0
businessRuleTask:
withOutput:
status: YELLOW
priority: 0
withoutOutput:
status: GREEN
priority: 0
serviceTask:
withOutput:
status: YELLOW
priority: 0
withoutOutput:
status: GREEN
priority: 0
scriptTask:
withOutput:
status: YELLOW
priority: 0
withoutOutput:
status: GREEN
priority: 0
changeConstraints:
betweenMinAndMax:
status: GREEN
priority: 0
notBetweenMinAndMax:
status: RED
priority: 0
addProcessVariable:
withOutput:
status: RED
priority: 0
withoutOutput:
status: GREEN
priority: 0
deleteProcessVariable:
withOutput:
status: YELLOW
priority: 0
withoutOutput:
status: GREEN
priority: 0
changeTaskType:
toUserask:
status: RED
priority: 0
toManualTask:
status: GREEN
priority: 0
toBusinessRuleTask:
withOutput:
status: RED
priority: 0
withoutOutput:
status: GREEN
priority: 0
toServiceTask:
withOutput:
status: RED
priority: 0
withoutOutput:
status: GREEN
priority: 0
toScriptTask:
withOutput:
status: RED
priority: 0
withoutOutput:
status: GREEN
priority: 0
event:
rename:
status: GREEN
priority: 0
newVariable:
status: RED
priority: 0
add:
status: RED
priority: 0
delete:
status: RED
priority: 0
changeConstraints:
betweenMinAndMax:
status: GREEN
priority: 0
notBetweenMinAndMax:
status: RED
priority: 0
changeOutgoing:
status: RED
priority: 0
changeIncoming:
status: RED
priority: 0
\ No newline at end of file
priority: 0
\ No newline at end of file
......@@ -16,6 +16,7 @@ import { DeleteProjectComponent } from './components/delete-project/delete-proje
import { LoopsComponent } from './components/loops/loops.component';
import { LoopComponent } from './components/loop/loop.component';
import { UpdateProjectComponent } from './components/update-project/update-project.component';
import { MigrationOverviewComponent } from './migration-overview/migration-overview.component';
const routes: Routes = [
......@@ -34,9 +35,10 @@ const routes: Routes = [
{ path: 'project/:projectId/mocks/external/:mockId', component: NewExternalMockComponent },
{ path: 'project/:projectId/mocks/manual', component: NewManualMockComponent },
{ path: 'project/:projectId/mocks/manual/:mockId', component: NewManualMockComponent },
{ path: 'project/:projectId/update/migration', component: MigrationOverviewComponent },
{ path: 'project/:projectId/update', component: UpdateProjectComponent }, // new Update Component
{ path: 'impressum', component: ImprintComponent },
{ path: 'notfound', component: NotfoundComponent },
{ path: 'project/:projectId/update', component: UpdateProjectComponent }, // new Update Component
{ path: '**', redirectTo: 'notfound'} //has to be the last entry
];
......
......@@ -30,6 +30,7 @@ import { DeleteProjectComponent } from './components/delete-project/delete-proje
import { LoopsComponent } from './components/loops/loops.component';
import { LoopComponent } from './components/loop/loop.component';
import { UpdateProjectComponent } from './components/update-project/update-project.component';
import { MigrationOverviewComponent } from './migration-overview/migration-overview.component';
@NgModule({
declarations: [
......@@ -56,7 +57,8 @@ import { UpdateProjectComponent } from './components/update-project/update-proje
DeleteProjectComponent,
LoopsComponent,
LoopComponent,
UpdateProjectComponent
UpdateProjectComponent,
MigrationOverviewComponent
],
imports: [
BrowserModule,
......
......@@ -86,7 +86,7 @@
<mdb-icon fas icon="arrow-right"></mdb-icon>
</h3>
<p i18n="project update calling">Update the existing BPMN-Modell..</p>
<p i18n="project update calling">Update the existing project</p>
</div>
</a>
......
......@@ -23,6 +23,13 @@
<button mdbBtn type="submit" (click)="compareProjects()" class="testgen-btn-rounded testgen-primary" rounded="true"
i18n="compare bpmn">Compare BPMN-Diagrams</button>
</div>
<div class="col-md-6">
<a class="testgen-cardmenu testgen-card-basic" [routerLink]="['migration']">Migration starten</a>
</div>
<div class="col-md-6">
<button mdbBtn type="submit" (click)="parseFiles()" class="testgen-btn-rounded testgen-primary" rounded="true"
i18n="compare bpmn">@Henning parseFiles Testing-Button</button>
</div>
</div>
</div>
</div>
\ No newline at end of file
......@@ -78,6 +78,9 @@ export class UpdateProjectComponent implements OnInit {
newCanvas.addMarker(element, 'marker-added');
}
this.getMatchingFlowsMessage();
const url = `${environment.apiBaseUrl}project/${this.actualProject}/migration/changes`;
console.log(this.http.get(url, {responseType: 'json'}).toPromise());
}
identifyMatchingFlows(projectId: number): Promise<string> {
......@@ -121,4 +124,8 @@ export class UpdateProjectComponent implements OnInit {
}
}
showMigration() {
console.log('start');
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment