diff --git a/OnlineSchuhDemo/src/main/resources/backup/MatchingTestcollectionOld.bpmn-testgen b/OnlineSchuhDemo/src/main/resources/backup/MatchingTestcollectionOld.bpmn-testgen new file mode 100644 index 0000000000000000000000000000000000000000..573d0905a7227d2d6dcfc94565f5346c053e65dc --- /dev/null +++ b/OnlineSchuhDemo/src/main/resources/backup/MatchingTestcollectionOld.bpmn-testgen @@ -0,0 +1,165 @@ +BPMNDiagram process +with testpackage "de.sample.onlineschuhdemo" with bpmn "retoure.bpmn" with key "Retoure" with dmn : [ "\\schuh_vernichtung_spende.dmn" ] with embedded : [ "\\forms\\warendaten-erfassen-form.html" ] ; + +Loop Loop0 +starts with "Gateway_Einpackung_Fehlerhaft" +follows by "Gateway_Auspacken" +ends with "Gateway_Einpackung_Fehlerhaft_Closed" +has complexity 2 passed : [ 0 , 1 ] ; + +FlowElement Retoure_Start : StartEvent with inputVariables : [ kundennummer , erstattung , beschaedigt ] ; +FlowElement Flow_Start : SequenceFlow ; +FlowElement Gateway_Parallel_Lager_Neusendung : Gateway ; +FlowElement Flow_0eh02jo : SequenceFlow ; +FlowElement Gateway_Beschaedigt : Gateway ; +FlowElement Flow_unbeschaedigt : SequenceFlow ; +FlowElement Ware_einsortieren : ManualTask ; +FlowElement Flow_0a9rzst : SequenceFlow ; +FlowElement New_Task_1 : ManualTask ; +FlowElement Flow_New_1 : SequenceFlow ; +FlowElement Gateway_Beschaedigt_Close : Gateway ; +FlowElement Flow_1c2tfla : SequenceFlow ; +FlowElement Flow_1gu0k49 : SequenceFlow ; +FlowElement Kundendaten_ermitteln : ServiceTask with external : customer ; +FlowElement Flow_0iibopi : SequenceFlow ; +FlowElement Gateway_Neusendung : Gateway ; +FlowElement Flow_Erstattung : SequenceFlow with expression : "#{erstattung}" ; +FlowElement Finanzdaten_ermitteln : ServiceTask with external : financial with hardcoded inputs : [ serviceIdentifier = "getData" ] ; +FlowElement Flow_Erstattung_Datenermittlung : SequenceFlow ; +FlowElement Erstattung : ServiceTask with external : financial with hardcoded inputs : [ serviceIdentifier = "refund" ] ; +FlowElement Flow_Erstattung_abgeschlossen : SequenceFlow ; +FlowElement New_Task_2 : ManualTask ; +FlowElement New_Flow_2 : ManualTask ; +FlowElement Gateway_Neusendung_Closed : Gateway ; +FlowElement Flow_0m33odz : SequenceFlow ; +FlowElement Gateway_Parallel_Lager_Neusendung_Closed : Gateway ; +FlowElement Flow_Ende : SequenceFlow ; +FlowElement Retoure_Ende : EndEvent ; +FlowElement Flow_neusenden : SequenceFlow ; +FlowElement Manuelle_Pruefung : UserTask ; +FlowElement Flow_0u77zm0 : SequenceFlow ; +FlowElement Warennummer_ermitteln : ServiceTask with delegate : "warennummer" ; +FlowElement Flow_03ubi3l : SequenceFlow ; +FlowElement Gateway_Einpackung_Fehlerhaft_Closed : Gateway ; +FlowElement Flow_006t3wo : SequenceFlow ; +FlowElement Paket_packen : UserTask with inputVariables : [ pakettyp ] ; +FlowElement Flow_0bhr7g8 : SequenceFlow ; +FlowElement Paket_pruefen : UserTask with inputVariables : [ paket ] ; +FlowElement Flow_1n6o3h6 : SequenceFlow ; +FlowElement Gateway_Einpackung_Fehlerhaft : Gateway ; +FlowElement Flow_paket_okay : SequenceFlow ; +FlowElement Paket_senden : UserTask ; +FlowElement Flow_0u4n4gn : SequenceFlow ; +FlowElement Flow_fehlerhaft_eingepackt : SequenceFlow with expression : "#{paket==false}" ; +FlowElement Gateway_Auspacken : Gateway ; +FlowElement Flow_normal_auspacken : SequenceFlow with expression : "#{pakettyp==\"Normalverpackung\"}" ; +FlowElement Ware_auspacken_normal : ManualTask ; +FlowElement Flow_0d8lhxo : SequenceFlow ; +FlowElement Gateway_14evkap : Gateway ; +FlowElement Flow_1bnro90 : SequenceFlow ; +FlowElement Flow_luxus_auspacken : SequenceFlow with expression : "#{pakettyp==\"Luxusverpackung\"}" ; +FlowElement Ware_auspacken_luxus : ManualTask ; +FlowElement Flow_04tyvq1 : SequenceFlow ; +FlowElement Flow_beschaedigt : SequenceFlow with expression : "#{beschaedigt == true}" ; +FlowElement Warendaten_erfassen : UserTask with inputVariables : [ marke , preis ] ; +FlowElement Flow_01lf19r : SequenceFlow ; +FlowElement Vernichtung_ermitteln : BusinessRuleTask ; +FlowElement Flow_0kgxxke : SequenceFlow ; +FlowElement Gateway_Vernichtung : Gateway ; +FlowElement Flow_vernichten : SequenceFlow with expression : "#{vernichten == true}" ; +FlowElement Ware_vernichten : UserTask ; +FlowElement Flow_0zkq7z5 : SequenceFlow ; +FlowElement Gateway_Vernichtung_Close : Gateway ; +FlowElement Flow_14jbtgw : SequenceFlow ; +FlowElement Flow_spenden : SequenceFlow with expression : "#{vernichten == false}" ; +FlowElement Ware_spenden : UserTask ; +FlowElement Flow_0f171gg : SequenceFlow ; + +String kundennummer with proposals : [ ] ; +String marke with proposals : [ "Luxury Foot" , "Simply Shoe" , "Shoe One" ] ; +String iban with proposals : [ ] ; +String vorname with proposals : [ ] ; +String nachname with proposals : [ ] ; +String pakettyp with proposals : [ "Normalverpackung" , "Luxusverpackung" ] ; +String emailGesendet with proposals : [ ] ; +String firstname with proposals : [ ] ; +String lastname with proposals : [ ] ; +String ibanRefund with proposals : [ ] ; +String confirmationEmailSent with proposals : [ ] ; +String serviceIdentifier with proposals : [ "getData" , "refund" ] ; +Integer preis with proposals : [ 350 , 349 , 70 , 71 ] ; +Boolean erstattung with proposals : [ true , false ] ; +Boolean paket with proposals : [ true , false ] ; +Boolean beschaedigt with proposals : [ true , false ] ; + +ExternalTopic customer ; +ExternalTopic financial ; + +Flow Flow_0 for process +with elements : [ Retoure_Start , Flow_Start , Gateway_Parallel_Lager_Neusendung , Flow_0eh02jo , Gateway_Beschaedigt , Flow_unbeschaedigt , Ware_einsortieren , Flow_0a9rzst , New_Task_1 , Flow_New_1 , Gateway_Beschaedigt_Close , Flow_1c2tfla , Flow_1gu0k49 , Kundendaten_ermitteln , Flow_0iibopi , Gateway_Neusendung , Flow_neusenden , Manuelle_Pruefung , Flow_0u77zm0 , Warennummer_ermitteln , Flow_03ubi3l , Gateway_Einpackung_Fehlerhaft_Closed , Flow_006t3wo , Paket_packen , Flow_0bhr7g8 , Paket_pruefen , Flow_1n6o3h6 , Gateway_Einpackung_Fehlerhaft , Flow_paket_okay , Paket_senden , Flow_0u4n4gn , Gateway_Neusendung_Closed , Flow_0m33odz , Gateway_Parallel_Lager_Neusendung_Closed , Flow_Ende , Retoure_Ende ] +without elements : [ Flow_Erstattung , Finanzdaten_ermitteln , Flow_Erstattung_Datenermittlung , Erstattung , Flow_Erstattung_abgeschlossen , New_Task_2 , New_Flow_2 , Flow_fehlerhaft_eingepackt , Gateway_Auspacken , Flow_normal_auspacken , Ware_auspacken_normal , Flow_0d8lhxo , Gateway_14evkap , Flow_1bnro90 , Flow_luxus_auspacken , Ware_auspacken_luxus , Flow_04tyvq1 , Flow_beschaedigt , Warendaten_erfassen , Flow_01lf19r , Vernichtung_ermitteln , Flow_0kgxxke , Gateway_Vernichtung , Flow_vernichten , Ware_vernichten , Flow_0zkq7z5 , Gateway_Vernichtung_Close , Flow_14jbtgw , Flow_spenden , Ware_spenden , Flow_0f171gg ] ; +Flow Flow_1 for process +with elements : [ Retoure_Start , Flow_Start , Gateway_Parallel_Lager_Neusendung , Flow_0eh02jo , Gateway_Beschaedigt , Flow_unbeschaedigt , Ware_einsortieren , Flow_0a9rzst , New_Task_1 , Flow_New_1 , Gateway_Beschaedigt_Close , Flow_1c2tfla , Flow_1gu0k49 , Kundendaten_ermitteln , Flow_0iibopi , Gateway_Neusendung , Flow_neusenden , Manuelle_Pruefung , Flow_0u77zm0 , Warennummer_ermitteln , Flow_03ubi3l , Gateway_Einpackung_Fehlerhaft_Closed , Flow_006t3wo , Paket_packen , Flow_0bhr7g8 , Paket_pruefen , Flow_1n6o3h6 , Gateway_Einpackung_Fehlerhaft , Flow_fehlerhaft_eingepackt , Gateway_Auspacken , Flow_normal_auspacken , Ware_auspacken_normal , Flow_0d8lhxo , Gateway_14evkap , Flow_1bnro90 , Gateway_Einpackung_Fehlerhaft_Closed , Flow_006t3wo , Paket_packen , Flow_0bhr7g8 , Paket_pruefen , Flow_1n6o3h6 , Gateway_Einpackung_Fehlerhaft , Flow_paket_okay , Paket_senden , Flow_0u4n4gn , Gateway_Neusendung_Closed , Flow_0m33odz , Gateway_Parallel_Lager_Neusendung_Closed , Flow_Ende , Retoure_Ende ] +without elements : [ Flow_Erstattung , Finanzdaten_ermitteln , Flow_Erstattung_Datenermittlung , Erstattung , Flow_Erstattung_abgeschlossen , New_Task_2 , New_Flow_2 , Flow_luxus_auspacken , Ware_auspacken_luxus , Flow_04tyvq1 , Flow_beschaedigt , Warendaten_erfassen , Flow_01lf19r , Vernichtung_ermitteln , Flow_0kgxxke , Gateway_Vernichtung , Flow_vernichten , Ware_vernichten , Flow_0zkq7z5 , Gateway_Vernichtung_Close , Flow_14jbtgw , Flow_spenden , Ware_spenden , Flow_0f171gg ] ; +Flow Flow_2 for process +with elements : [ Retoure_Start , Flow_Start , Gateway_Parallel_Lager_Neusendung , Flow_0eh02jo , Gateway_Beschaedigt , Flow_unbeschaedigt , Ware_einsortieren , Flow_0a9rzst , New_Task_1 , Flow_New_1 , Gateway_Beschaedigt_Close , Flow_1c2tfla , Flow_1gu0k49 , Kundendaten_ermitteln , Flow_0iibopi , Gateway_Neusendung , Flow_neusenden , Manuelle_Pruefung , Flow_0u77zm0 , Warennummer_ermitteln , Flow_03ubi3l , Gateway_Einpackung_Fehlerhaft_Closed , Flow_006t3wo , Paket_packen , Flow_0bhr7g8 , Paket_pruefen , Flow_1n6o3h6 , Gateway_Einpackung_Fehlerhaft , Flow_fehlerhaft_eingepackt , Gateway_Auspacken , Flow_luxus_auspacken , Ware_auspacken_luxus , Flow_04tyvq1 , Gateway_14evkap , Flow_1bnro90 , Gateway_Einpackung_Fehlerhaft_Closed , Flow_006t3wo , Paket_packen , Flow_0bhr7g8 , Paket_pruefen , Flow_1n6o3h6 , Gateway_Einpackung_Fehlerhaft , Flow_paket_okay , Paket_senden , Flow_0u4n4gn , Gateway_Neusendung_Closed , Flow_0m33odz , Gateway_Parallel_Lager_Neusendung_Closed , Flow_Ende , Retoure_Ende ] +without elements : [ Flow_Erstattung , Finanzdaten_ermitteln , Flow_Erstattung_Datenermittlung , Erstattung , Flow_Erstattung_abgeschlossen , New_Task_2 , New_Flow_2 , Flow_normal_auspacken , Ware_auspacken_normal , Flow_0d8lhxo , Flow_beschaedigt , Warendaten_erfassen , Flow_01lf19r , Vernichtung_ermitteln , Flow_0kgxxke , Gateway_Vernichtung , Flow_vernichten , Ware_vernichten , Flow_0zkq7z5 , Gateway_Vernichtung_Close , Flow_14jbtgw , Flow_spenden , Ware_spenden , Flow_0f171gg ] ; +Flow Flow_3 for process +with elements : [ Retoure_Start , Flow_Start , Gateway_Parallel_Lager_Neusendung , Flow_0eh02jo , Gateway_Beschaedigt , Flow_unbeschaedigt , Ware_einsortieren , Flow_0a9rzst , New_Task_1 , Flow_New_1 , Gateway_Beschaedigt_Close , Flow_1c2tfla , Flow_1gu0k49 , Kundendaten_ermitteln , Flow_0iibopi , Gateway_Neusendung , Flow_Erstattung , Finanzdaten_ermitteln , Flow_Erstattung_Datenermittlung , Erstattung , Flow_Erstattung_abgeschlossen , New_Task_2 , New_Flow_2 , Gateway_Neusendung_Closed , Flow_0m33odz , Gateway_Parallel_Lager_Neusendung_Closed , Flow_Ende , Retoure_Ende ] +without elements : [ Flow_neusenden , Manuelle_Pruefung , Flow_0u77zm0 , Warennummer_ermitteln , Flow_03ubi3l , Gateway_Einpackung_Fehlerhaft_Closed , Flow_006t3wo , Paket_packen , Flow_0bhr7g8 , Paket_pruefen , Flow_1n6o3h6 , Gateway_Einpackung_Fehlerhaft , Flow_paket_okay , Paket_senden , Flow_0u4n4gn , Flow_fehlerhaft_eingepackt , Gateway_Auspacken , Flow_normal_auspacken , Ware_auspacken_normal , Flow_0d8lhxo , Gateway_14evkap , Flow_1bnro90 , Flow_luxus_auspacken , Ware_auspacken_luxus , Flow_04tyvq1 , Flow_beschaedigt , Warendaten_erfassen , Flow_01lf19r , Vernichtung_ermitteln , Flow_0kgxxke , Gateway_Vernichtung , Flow_vernichten , Ware_vernichten , Flow_0zkq7z5 , Gateway_Vernichtung_Close , Flow_14jbtgw , Flow_spenden , Ware_spenden , Flow_0f171gg ] ; +Flow Flow_4 for process +with elements : [ Retoure_Start , Flow_Start , Gateway_Parallel_Lager_Neusendung , Flow_0eh02jo , Gateway_Beschaedigt , Flow_beschaedigt , Warendaten_erfassen , Flow_01lf19r , Vernichtung_ermitteln , Flow_0kgxxke , Gateway_Vernichtung , Flow_vernichten , Ware_vernichten , Flow_0zkq7z5 , Gateway_Vernichtung_Close , Flow_14jbtgw , Gateway_Beschaedigt_Close , Flow_1c2tfla , Flow_1gu0k49 , Kundendaten_ermitteln , Flow_0iibopi , Gateway_Neusendung , Flow_Erstattung , Finanzdaten_ermitteln , Flow_Erstattung_Datenermittlung , Erstattung , Flow_Erstattung_abgeschlossen , New_Task_2 , New_Flow_2 , Gateway_Neusendung_Closed , Flow_0m33odz , Gateway_Parallel_Lager_Neusendung_Closed , Flow_Ende , Retoure_Ende ] +without elements : [ Flow_unbeschaedigt , Ware_einsortieren , Flow_0a9rzst , New_Task_1 , Flow_New_1 , Flow_neusenden , Manuelle_Pruefung , Flow_0u77zm0 , Warennummer_ermitteln , Flow_03ubi3l , Gateway_Einpackung_Fehlerhaft_Closed , Flow_006t3wo , Paket_packen , Flow_0bhr7g8 , Paket_pruefen , Flow_1n6o3h6 , Gateway_Einpackung_Fehlerhaft , Flow_paket_okay , Paket_senden , Flow_0u4n4gn , Flow_fehlerhaft_eingepackt , Gateway_Auspacken , Flow_normal_auspacken , Ware_auspacken_normal , Flow_0d8lhxo , Gateway_14evkap , Flow_1bnro90 , Flow_luxus_auspacken , Ware_auspacken_luxus , Flow_04tyvq1 , Flow_spenden , Ware_spenden , Flow_0f171gg ] ; +Flow Flow_5 for process +with elements : [ Retoure_Start , Flow_Start , Gateway_Parallel_Lager_Neusendung , Flow_0eh02jo , Gateway_Beschaedigt , Flow_beschaedigt , Warendaten_erfassen , Flow_01lf19r , Vernichtung_ermitteln , Flow_0kgxxke , Gateway_Vernichtung , Flow_vernichten , Ware_vernichten , Flow_0zkq7z5 , Gateway_Vernichtung_Close , Flow_14jbtgw , Gateway_Beschaedigt_Close , Flow_1c2tfla , Flow_1gu0k49 , Kundendaten_ermitteln , Flow_0iibopi , Gateway_Neusendung , Flow_neusenden , Manuelle_Pruefung , Flow_0u77zm0 , Warennummer_ermitteln , Flow_03ubi3l , Gateway_Einpackung_Fehlerhaft_Closed , Flow_006t3wo , Paket_packen , Flow_0bhr7g8 , Paket_pruefen , Flow_1n6o3h6 , Gateway_Einpackung_Fehlerhaft , Flow_paket_okay , Paket_senden , Flow_0u4n4gn , Gateway_Neusendung_Closed , Flow_0m33odz , Gateway_Parallel_Lager_Neusendung_Closed , Flow_Ende , Retoure_Ende ] +without elements : [ Flow_unbeschaedigt , Ware_einsortieren , Flow_0a9rzst , New_Task_1 , Flow_New_1 , Flow_Erstattung , Finanzdaten_ermitteln , Flow_Erstattung_Datenermittlung , Erstattung , Flow_Erstattung_abgeschlossen , New_Task_2 , New_Flow_2 , Flow_fehlerhaft_eingepackt , Gateway_Auspacken , Flow_normal_auspacken , Ware_auspacken_normal , Flow_0d8lhxo , Gateway_14evkap , Flow_1bnro90 , Flow_luxus_auspacken , Ware_auspacken_luxus , Flow_04tyvq1 , Flow_spenden , Ware_spenden , Flow_0f171gg ] ; +Flow Flow_6 for process +with elements : [ Retoure_Start , Flow_Start , Gateway_Parallel_Lager_Neusendung , Flow_0eh02jo , Gateway_Beschaedigt , Flow_beschaedigt , Warendaten_erfassen , Flow_01lf19r , Vernichtung_ermitteln , Flow_0kgxxke , Gateway_Vernichtung , Flow_vernichten , Ware_vernichten , Flow_0zkq7z5 , Gateway_Vernichtung_Close , Flow_14jbtgw , Gateway_Beschaedigt_Close , Flow_1c2tfla , Flow_1gu0k49 , Kundendaten_ermitteln , Flow_0iibopi , Gateway_Neusendung , Flow_neusenden , Manuelle_Pruefung , Flow_0u77zm0 , Warennummer_ermitteln , Flow_03ubi3l , Gateway_Einpackung_Fehlerhaft_Closed , Flow_006t3wo , Paket_packen , Flow_0bhr7g8 , Paket_pruefen , Flow_1n6o3h6 , Gateway_Einpackung_Fehlerhaft , Flow_fehlerhaft_eingepackt , Gateway_Auspacken , Flow_normal_auspacken , Ware_auspacken_normal , Flow_0d8lhxo , Gateway_14evkap , Flow_1bnro90 , Gateway_Einpackung_Fehlerhaft_Closed , Flow_006t3wo , Paket_packen , Flow_0bhr7g8 , Paket_pruefen , Flow_1n6o3h6 , Gateway_Einpackung_Fehlerhaft , Flow_paket_okay , Paket_senden , Flow_0u4n4gn , Gateway_Neusendung_Closed , Flow_0m33odz , Gateway_Parallel_Lager_Neusendung_Closed , Flow_Ende , Retoure_Ende ] +without elements : [ Flow_unbeschaedigt , Ware_einsortieren , Flow_0a9rzst , New_Task_1 , Flow_New_1 , Flow_Erstattung , Finanzdaten_ermitteln , Flow_Erstattung_Datenermittlung , Erstattung , Flow_Erstattung_abgeschlossen , New_Task_2 , New_Flow_2 , Flow_luxus_auspacken , Ware_auspacken_luxus , Flow_04tyvq1 , Flow_spenden , Ware_spenden , Flow_0f171gg ] ; +Flow Flow_7 for process +with elements : [ Retoure_Start , Flow_Start , Gateway_Parallel_Lager_Neusendung , Flow_0eh02jo , Gateway_Beschaedigt , Flow_beschaedigt , Warendaten_erfassen , Flow_01lf19r , Vernichtung_ermitteln , Flow_0kgxxke , Gateway_Vernichtung , Flow_vernichten , Ware_vernichten , Flow_0zkq7z5 , Gateway_Vernichtung_Close , Flow_14jbtgw , Gateway_Beschaedigt_Close , Flow_1c2tfla , Flow_1gu0k49 , Kundendaten_ermitteln , Flow_0iibopi , Gateway_Neusendung , Flow_neusenden , Manuelle_Pruefung , Flow_0u77zm0 , Warennummer_ermitteln , Flow_03ubi3l , Gateway_Einpackung_Fehlerhaft_Closed , Flow_006t3wo , Paket_packen , Flow_0bhr7g8 , Paket_pruefen , Flow_1n6o3h6 , Gateway_Einpackung_Fehlerhaft , Flow_fehlerhaft_eingepackt , Gateway_Auspacken , Flow_luxus_auspacken , Ware_auspacken_luxus , Flow_04tyvq1 , Gateway_14evkap , Flow_1bnro90 , Gateway_Einpackung_Fehlerhaft_Closed , Flow_006t3wo , Paket_packen , Flow_0bhr7g8 , Paket_pruefen , Flow_1n6o3h6 , Gateway_Einpackung_Fehlerhaft , Flow_paket_okay , Paket_senden , Flow_0u4n4gn , Gateway_Neusendung_Closed , Flow_0m33odz , Gateway_Parallel_Lager_Neusendung_Closed , Flow_Ende , Retoure_Ende ] +without elements : [ Flow_unbeschaedigt , Ware_einsortieren , Flow_0a9rzst , New_Task_1 , Flow_New_1 , Flow_Erstattung , Finanzdaten_ermitteln , Flow_Erstattung_Datenermittlung , Erstattung , Flow_Erstattung_abgeschlossen , New_Task_2 , New_Flow_2 , Flow_normal_auspacken , Ware_auspacken_normal , Flow_0d8lhxo , Flow_spenden , Ware_spenden , Flow_0f171gg ] ; +Flow Flow_8 for process +with elements : [ Retoure_Start , Flow_Start , Gateway_Parallel_Lager_Neusendung , Flow_0eh02jo , Gateway_Beschaedigt , Flow_beschaedigt , Warendaten_erfassen , Flow_01lf19r , Vernichtung_ermitteln , Flow_0kgxxke , Gateway_Vernichtung , Flow_spenden , Ware_spenden , Flow_0f171gg , Gateway_Vernichtung_Close , Flow_14jbtgw , Gateway_Beschaedigt_Close , Flow_1c2tfla , Flow_1gu0k49 , Kundendaten_ermitteln , Flow_0iibopi , Gateway_Neusendung , Flow_neusenden , Manuelle_Pruefung , Flow_0u77zm0 , Warennummer_ermitteln , Flow_03ubi3l , Gateway_Einpackung_Fehlerhaft_Closed , Flow_006t3wo , Paket_packen , Flow_0bhr7g8 , Paket_pruefen , Flow_1n6o3h6 , Gateway_Einpackung_Fehlerhaft , Flow_paket_okay , Paket_senden , Flow_0u4n4gn , Gateway_Neusendung_Closed , Flow_0m33odz , Gateway_Parallel_Lager_Neusendung_Closed , Flow_Ende , Retoure_Ende ] +without elements : [ Flow_unbeschaedigt , Ware_einsortieren , Flow_0a9rzst , New_Task_1 , Flow_New_1 , Flow_Erstattung , Finanzdaten_ermitteln , Flow_Erstattung_Datenermittlung , Erstattung , Flow_Erstattung_abgeschlossen , New_Task_2 , New_Flow_2 , Flow_fehlerhaft_eingepackt , Gateway_Auspacken , Flow_normal_auspacken , Ware_auspacken_normal , Flow_0d8lhxo , Gateway_14evkap , Flow_1bnro90 , Flow_luxus_auspacken , Ware_auspacken_luxus , Flow_04tyvq1 , Flow_vernichten , Ware_vernichten , Flow_0zkq7z5 ] ; +Flow Flow_9 for process +with elements : [ Retoure_Start , Flow_Start , Gateway_Parallel_Lager_Neusendung , Flow_0eh02jo , Gateway_Beschaedigt , Flow_beschaedigt , Warendaten_erfassen , Flow_01lf19r , Vernichtung_ermitteln , Flow_0kgxxke , Gateway_Vernichtung , Flow_spenden , Ware_spenden , Flow_0f171gg , Gateway_Vernichtung_Close , Flow_14jbtgw , Gateway_Beschaedigt_Close , Flow_1c2tfla , Flow_1gu0k49 , Kundendaten_ermitteln , Flow_0iibopi , Gateway_Neusendung , Flow_Erstattung , Finanzdaten_ermitteln , Flow_Erstattung_Datenermittlung , Erstattung , Flow_Erstattung_abgeschlossen , New_Task_2 , New_Flow_2 , Gateway_Neusendung_Closed , Flow_0m33odz , Gateway_Parallel_Lager_Neusendung_Closed , Flow_Ende , Retoure_Ende ] +without elements : [ Flow_unbeschaedigt , Ware_einsortieren , Flow_0a9rzst , New_Task_1 , Flow_New_1 , Flow_neusenden , Manuelle_Pruefung , Flow_0u77zm0 , Warennummer_ermitteln , Flow_03ubi3l , Gateway_Einpackung_Fehlerhaft_Closed , Flow_006t3wo , Paket_packen , Flow_0bhr7g8 , Paket_pruefen , Flow_1n6o3h6 , Gateway_Einpackung_Fehlerhaft , Flow_paket_okay , Paket_senden , Flow_0u4n4gn , Flow_fehlerhaft_eingepackt , Gateway_Auspacken , Flow_normal_auspacken , Ware_auspacken_normal , Flow_0d8lhxo , Gateway_14evkap , Flow_1bnro90 , Flow_luxus_auspacken , Ware_auspacken_luxus , Flow_04tyvq1 , Flow_vernichten , Ware_vernichten , Flow_0zkq7z5 ] ; +Flow Flow_10 for process +with elements : [ Retoure_Start , Flow_Start , Gateway_Parallel_Lager_Neusendung , Flow_0eh02jo , Gateway_Beschaedigt , Flow_beschaedigt , Warendaten_erfassen , Flow_01lf19r , Vernichtung_ermitteln , Flow_0kgxxke , Gateway_Vernichtung , Flow_spenden , Ware_spenden , Flow_0f171gg , Gateway_Vernichtung_Close , Flow_14jbtgw , Gateway_Beschaedigt_Close , Flow_1c2tfla , Flow_1gu0k49 , Kundendaten_ermitteln , Flow_0iibopi , Gateway_Neusendung , Flow_neusenden , Manuelle_Pruefung , Flow_0u77zm0 , Warennummer_ermitteln , Flow_03ubi3l , Gateway_Einpackung_Fehlerhaft_Closed , Flow_006t3wo , Paket_packen , Flow_0bhr7g8 , Paket_pruefen , Flow_1n6o3h6 , Gateway_Einpackung_Fehlerhaft , Flow_fehlerhaft_eingepackt , Gateway_Auspacken , Flow_luxus_auspacken , Ware_auspacken_luxus , Flow_04tyvq1 , Gateway_14evkap , Flow_1bnro90 , Gateway_Einpackung_Fehlerhaft_Closed , Flow_006t3wo , Paket_packen , Flow_0bhr7g8 , Paket_pruefen , Flow_1n6o3h6 , Gateway_Einpackung_Fehlerhaft , Flow_paket_okay , Paket_senden , Flow_0u4n4gn , Gateway_Neusendung_Closed , Flow_0m33odz , Gateway_Parallel_Lager_Neusendung_Closed , Flow_Ende , Retoure_Ende ] +without elements : [ Flow_unbeschaedigt , Ware_einsortieren , Flow_0a9rzst , New_Task_1 , Flow_New_1 , Flow_Erstattung , Finanzdaten_ermitteln , Flow_Erstattung_Datenermittlung , Erstattung , Flow_Erstattung_abgeschlossen , New_Task_2 , New_Flow_2 , Flow_normal_auspacken , Ware_auspacken_normal , Flow_0d8lhxo , Flow_vernichten , Ware_vernichten , Flow_0zkq7z5 ] ; +Flow Flow_11 for process +with elements : [ Retoure_Start , Flow_Start , Gateway_Parallel_Lager_Neusendung , Flow_0eh02jo , Gateway_Beschaedigt , Flow_beschaedigt , Warendaten_erfassen , Flow_01lf19r , Vernichtung_ermitteln , Flow_0kgxxke , Gateway_Vernichtung , Flow_spenden , Ware_spenden , Flow_0f171gg , Gateway_Vernichtung_Close , Flow_14jbtgw , Gateway_Beschaedigt_Close , Flow_1c2tfla , Flow_1gu0k49 , Kundendaten_ermitteln , Flow_0iibopi , Gateway_Neusendung , Flow_neusenden , Manuelle_Pruefung , Flow_0u77zm0 , Warennummer_ermitteln , Flow_03ubi3l , Gateway_Einpackung_Fehlerhaft_Closed , Flow_006t3wo , Paket_packen , Flow_0bhr7g8 , Paket_pruefen , Flow_1n6o3h6 , Gateway_Einpackung_Fehlerhaft , Flow_fehlerhaft_eingepackt , Gateway_Auspacken , Flow_normal_auspacken , Ware_auspacken_normal , Flow_0d8lhxo , Gateway_14evkap , Flow_1bnro90 , Gateway_Einpackung_Fehlerhaft_Closed , Flow_006t3wo , Paket_packen , Flow_0bhr7g8 , Paket_pruefen , Flow_1n6o3h6 , Gateway_Einpackung_Fehlerhaft , Flow_paket_okay , Paket_senden , Flow_0u4n4gn , Gateway_Neusendung_Closed , Flow_0m33odz , Gateway_Parallel_Lager_Neusendung_Closed , Flow_Ende , Retoure_Ende ] +without elements : [ Flow_unbeschaedigt , Ware_einsortieren , Flow_0a9rzst , New_Task_1 , Flow_New_1 , Flow_Erstattung , Finanzdaten_ermitteln , Flow_Erstattung_Datenermittlung , Erstattung , Flow_Erstattung_abgeschlossen , New_Task_2 , New_Flow_2 , Flow_luxus_auspacken , Ware_auspacken_luxus , Flow_04tyvq1 , Flow_vernichten , Ware_vernichten , Flow_0zkq7z5 ] ; + +DelegateMock Warennummer_ermitteln for Warennummer_ermitteln with delegate "de.sample.onlineschuhdemo.externalaccess.WarennummerErmittelnDelegate" with manual "de.sample.onlineschuhdemo.externalaccess.LagerService" by setter "setLagerService" ; + +ExternalServiceMock customerProvider for topic customer +with rule : if [ kundennummer == "C-123A456" ] set [ firstname = "Max" , lastname = "Mustermann" ] , +with rule : if [ kundennummer == "C-987A654" ] set [ firstname = "Erika" , lastname = "Mustermann" ] ; + +ExternalServiceMock financialMock for topic financial +with rule : if [ serviceIdentifier == "getData" , kundennummer == "C-123A456" ] set [ ibanRefund = "DE12345678900000123456" ] , +with rule : if [ serviceIdentifier == "getData" , kundennummer == "C-987A654" ] set [ ibanRefund = "DE12345678900000987654" ] , +with rule : if [ serviceIdentifier == "refund" , iban == "DE12345678900000123456" ] set [ confirmationEmailSent = "Nein" ] , +with rule : if [ serviceIdentifier == "refund" ] set [ confirmationEmailSent = "Ja" ] ; + +Test normalverpackungAuspacken for Flow_2 +with variables for Retoure_Start : [ kundennummer = "C-123A456" , erstattung = false , beschaedigt = false ] , +with variables for Paket_packen : [ pakettyp = "Normalverpackung" ] , +with variables for Paket_pruefen : [ paket = false ] , +with variables for Paket_packen : [ pakettyp = "Luxusverpackung" ] , +with variables for Paket_pruefen : [ paket = true ] +with check : [ kundennummer == "C-123A456" , vorname == "Max" , nachname == "Mustermann" , erstattung == false , beschaedigt == false ] +with mocks : [ Warennummer_ermitteln , customerProvider ] ; + +Test vernichtenErstattung for Flow_4 +with variables for Retoure_Start : [ kundennummer = "C-123A456" , erstattung = true , beschaedigt = true ] , +with variables for Warendaten_erfassen : [ marke = "Luxury Foot" , preis = 350 ] +with check : [ kundennummer == "C-123A456" , marke == "Luxury Foot" , iban == "DE12345678900000123456" , vorname == "Max" , nachname == "Mustermann" , emailGesendet == "Nein" , erstattung == true , beschaedigt == true ] +with mocks : [ financialMock , customerProvider ] ; + +Test casetill1 for Flow_0 +with variables for Retoure_Start : [ kundennummer = "123" , erstattung = true , beschaedigt = true ] +with check : [ kundennummer == "123" , marke == "wer" , iban == "DE80123084556" , vorname == "till" , nachname == "Brinkhus" , pakettyp == "Normalverpackung" , emailGesendet == "Ja" , firstname == "Till" , lastname == "Brinkhus" , ibanRefund == "DE80123084556" , confirmationEmailSent == "Ja" , serviceIdentifier == "getData" , preis == 1234 , erstattung == true , paket == true , beschaedigt == false ] +with mocks : [ financialMock , customerProvider ] ; 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 a5dc67a44d2e93073a2b4a53436af444ab8a2b27..185a6343f49888adeebc49c3905504423bed6dd9 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 @@ -37,6 +37,8 @@ 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; +import de.fhmuenster.masterthesis.services.TestgeneratorDSLGrammarAccess.FlowElements; +import de.fhmuenster.masterthesis.testgeneratorDSL.BPMNReference; import de.fhmuenster.masterthesis.testgeneratorDSL.Flow; import de.fhmuenster.masterthesis.testgeneratorDSL.FlowElement; import de.fhmuenster.masterthesis.testgeneratorDSL.FlowElementReference; @@ -58,14 +60,13 @@ public class ChangeController { private MigrationService migrationService; @RequestMapping(path = "/project/{projectId}/match", method = RequestMethod.GET) - public String getNewFlows(@PathVariable(required = true) Long projectId) { + public void getNewFlows(@PathVariable(required = true) Long projectId) { boolean success = true; List <List<String>> newFlowsElements = new ArrayList<List<String>>(); List <List<String>> oldFlowsElements = new ArrayList<List<String>>(); //neue Flow ist erste Element, alte Flow zweite - List <List<String>> matchingFlows = new ArrayList<List<String>>(); // String[] keywords = { "Flow Flow_", "with elements", "without elements"}; @@ -89,77 +90,46 @@ public class ChangeController { //speichern von neuen Flow Elementen aller Flows - List<Flow> newFlows = flowService.getFlows(projectForId.getProjectDirectories()); - List<BPMNFlowDTO> newFlowDtos = MAPPER_FLOW.mapToList(newFlows, BPMNFlowDTO.class); + List<Flow> newFlows = flowService.getFlows(projectForId.getProjectDirectories()); - System.out.println("neu:"); - - //for Schleife durchläuft alle Flows - for (int i= 0; i<newFlowDtos.size(); i++) { - List<String> currentFlow = new ArrayList<String>(); - currentFlow.add("Flow_"+i); - - //for Schleife durchläuft alle Flow-Elemente - for(FlowElementDTO flowElement : newFlowDtos.get(i).getFlowElements()){ - currentFlow.add(flowElement.getId()); - } - newFlowsElements.add(currentFlow); - } -// System.out.println("new: " +newFlowsElements); - - -// System.out.println("old flow --------------------------------------------"); //für alte Flows //String pathOld = "C:\\Users\\tillb\\Desktop\\fe_projekt\\fe-pda-testing-tool\\OnlineSchuhDemo\\dsl_matching\\MatchingTestcollectionOld.bpmn-testgen"; String pathOld = "C:\\CodePro\\bpmndemo\\src\\test\\java\\de\\sample\\bpmndemo\\Testcollection-old.bpmn-testgen"; List<Flow> oldFlows = flowService.getOldFlows(pathOld); - List<BPMNFlowDTO> oldFlowDtos = MAPPER_FLOW.mapToList(oldFlows, BPMNFlowDTO.class); - //for Schleife durchläuft alle alten Flows - for (int i= 0; i<oldFlowDtos.size(); i++) { - List<String> currentFlow = new ArrayList<String>(); - currentFlow.add("Flow_"+i); - - //for Schleife durchläuft alle Flow-Elemente - for(FlowElementDTO flowElement : oldFlowDtos.get(i).getFlowElements()){ - currentFlow.add(flowElement.getId()); - } - oldFlowsElements.add(currentFlow); - } -// System.out.println("old :"+ oldFlowsElements); - -// System.out.println("alt:"); -// for(FlowElementReference e : oldFlows.get(0).getInclElements()){ -// System.out.println(e.getRef().getName()); -// } - - matchingFlows = compareFlows(newFlowsElements, oldFlowsElements); - System.out.println(matchingFlows); - return "false"; + + Flow [][] matchingFlows = new Flow [newFlows.size()][]; + + matchingFlows = compareFlows(newFlows, oldFlows); } + - private List<List<String>> compareFlows(List<List<String>> newFlowsElements, List<List<String>> oldFlowsElements) { + private Flow[][] compareFlows(List<Flow> newFlows, List<Flow> oldFlows) { + //hier werden die Flows gespeichert, die zurückgegeben werden. [x][0] -> Flow neu, [x][1] -> passender Flow alt + Flow [][] matchingFlows = new Flow [newFlows.size()][2]; - List <Integer> checkedFlowsOld = new ArrayList <Integer>(); - + List <Integer> checkedFlowsOld = new ArrayList <Integer>(); List <String> checkedElements = new ArrayList <String>(); - - - //an Stelle [x][0] ist neuer Flow, [x][1] alter Flow, [x][2] Gemeinsamkeiten, [x][3] Unterschiede - String [][] matchingFlows = new String [newFlowsElements.size()][4]; - int currentNewFlow = 0; - for (List newFlow: newFlowsElements) { + for (Flow newFlow: newFlows) { + + EList<FlowElementReference> newFlowElements = newFlow.getInclElements(); + + int mostSimilarities = 0; + int leastDifferences = 10000; int currentOldFlow = 0; - for (List oldFlow: oldFlowsElements) { + for (Flow oldFlow: oldFlows) { + + EList<FlowElementReference> oldFlowElements = oldFlow.getInclElements(); + int similarities = 0; int differences = 0; @@ -167,19 +137,20 @@ public class ChangeController { else { - for (Object newFlowElement: newFlow) { - if((newFlowElement.toString().contains("Flow_"+currentNewFlow)&& newFlowElement.toString().length()==6) || checkedElements.contains(newFlowElement.toString())) {} + for (FlowElementReference newFlowElement: newFlowElements) { + if(checkedElements.contains(newFlowElement.getRef().getName())) {} else { - for (Object oldFlowElement: oldFlow) { + for (FlowElementReference oldFlowElement: oldFlowElements) { - if((oldFlowElement.toString().contains("Flow_"+currentOldFlow)&& oldFlowElement.toString().length()==6) || checkedElements.contains(oldFlowElement.toString())) {} + if(checkedElements.contains(oldFlowElement.getRef().getName())) {} else { - if(newFlowElement.equals(oldFlowElement)) { + + if(newFlowElement.getRef().getName().equals(oldFlowElement.getRef().getName())) { similarities++; - checkedElements.add(newFlowElement.toString()); + checkedElements.add(newFlowElement.getRef().getName()); } @@ -189,21 +160,19 @@ public class ChangeController { } } //berechnen der Elemente, die aus dem alten und neuen Flow nicht zueinander gepasst haben - differences = oldFlow.size()-similarities + newFlow.size()-similarities; + differences = oldFlow.getInclElements().size()-similarities + newFlow.getInclElements().size()-similarities; -// System.out.println("Neuer Flow: "+ currentNewFlow+ " ; alter Flow: "+currentOldFlow+" ; similarities: "+similarities + " ; difference: "+ differences); // falls aktuell übprüfte Flow alt und neu Kombination die meisten Gemeinsamkeiten haben oder noch nichts in matchingFlows gespeichert wurde - if(matchingFlows[currentNewFlow][2]==null || Integer.parseInt(matchingFlows[currentNewFlow][2])<similarities || - (Integer.parseInt(matchingFlows[currentNewFlow][2])==similarities && Integer.parseInt(matchingFlows[currentNewFlow][3])> differences)) { + if(mostSimilarities<similarities || (mostSimilarities==similarities && leastDifferences> differences)) { -// System.out.println(currentNewFlow +" "+ currentOldFlow +" "+ similarities+ " "+ differences); - - matchingFlows[currentNewFlow][0] = "Flow_"+currentNewFlow; - matchingFlows[currentNewFlow][1] = "Flow_"+currentOldFlow; - matchingFlows[currentNewFlow][2] = Integer.toString(similarities); - matchingFlows[currentNewFlow][3] = Integer.toString(differences); -// System.out.println("checked: "+checkedElements + " "+ checkedElements.size()); + + mostSimilarities=similarities; + leastDifferences = differences; + + matchingFlows[currentNewFlow][0] = newFlow; + matchingFlows[currentNewFlow][1] = oldFlow; + } checkedElements = new ArrayList <String>(); @@ -214,12 +183,12 @@ public class ChangeController { currentNewFlow++; } + - for (int i=0; i<newFlowsElements.size();i++) { - System.out.println(matchingFlows[i][0]+" "+matchingFlows[i][1]+" "+matchingFlows[i][2]+" "+matchingFlows[i][3]); - - } - return null; + + + + return matchingFlows; }