Skip to content
Snippets Groups Projects
Commit cea36b3e authored by Florian Lambers's avatar Florian Lambers
Browse files
parents ab6d32dd da4573fe
No related branches found
No related tags found
No related merge requests found
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 ] ;
...@@ -37,6 +37,8 @@ import de.fhmuenster.masterthesis.serialization.TestgeneratorDSLSerializer; ...@@ -37,6 +37,8 @@ import de.fhmuenster.masterthesis.serialization.TestgeneratorDSLSerializer;
import de.fhmuenster.masterthesis.Testgenerator.rest.service.test.TestService; import de.fhmuenster.masterthesis.Testgenerator.rest.service.test.TestService;
import de.fhmuenster.masterthesis.Testgenerator.utils.ProjectDirectoryUtils; import de.fhmuenster.masterthesis.Testgenerator.utils.ProjectDirectoryUtils;
import de.fhmuenster.masterthesis.serialization.TestgeneratorDSLSerializer; 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.Flow;
import de.fhmuenster.masterthesis.testgeneratorDSL.FlowElement; import de.fhmuenster.masterthesis.testgeneratorDSL.FlowElement;
import de.fhmuenster.masterthesis.testgeneratorDSL.FlowElementReference; import de.fhmuenster.masterthesis.testgeneratorDSL.FlowElementReference;
...@@ -58,14 +60,13 @@ public class ChangeController { ...@@ -58,14 +60,13 @@ public class ChangeController {
private MigrationService migrationService; private MigrationService migrationService;
@RequestMapping(path = "/project/{projectId}/match", method = RequestMethod.GET) @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; boolean success = true;
List <List<String>> newFlowsElements = new ArrayList<List<String>>(); List <List<String>> newFlowsElements = new ArrayList<List<String>>();
List <List<String>> oldFlowsElements = new ArrayList<List<String>>(); List <List<String>> oldFlowsElements = new ArrayList<List<String>>();
//neue Flow ist erste Element, alte Flow zweite //neue Flow ist erste Element, alte Flow zweite
List <List<String>> matchingFlows = new ArrayList<List<String>>();
// String[] keywords = { "Flow Flow_", "with elements", "without elements"}; // String[] keywords = { "Flow Flow_", "with elements", "without elements"};
...@@ -89,77 +90,46 @@ public class ChangeController { ...@@ -89,77 +90,46 @@ public class ChangeController {
//speichern von neuen Flow Elementen aller Flows //speichern von neuen Flow Elementen aller Flows
List<Flow> newFlows = flowService.getFlows(projectForId.getProjectDirectories()); List<Flow> newFlows = flowService.getFlows(projectForId.getProjectDirectories());
List<BPMNFlowDTO> newFlowDtos = MAPPER_FLOW.mapToList(newFlows, BPMNFlowDTO.class);
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 //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:\\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"; String pathOld = "C:\\CodePro\\bpmndemo\\src\\test\\java\\de\\sample\\bpmndemo\\Testcollection-old.bpmn-testgen";
List<Flow> oldFlows = flowService.getOldFlows(pathOld); 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++) { Flow [][] matchingFlows = new Flow [newFlows.size()][];
List<String> currentFlow = new ArrayList<String>();
currentFlow.add("Flow_"+i); matchingFlows = compareFlows(newFlows, oldFlows);
//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";
} }
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>(); 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; 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; int currentOldFlow = 0;
for (List oldFlow: oldFlowsElements) { for (Flow oldFlow: oldFlows) {
EList<FlowElementReference> oldFlowElements = oldFlow.getInclElements();
int similarities = 0; int similarities = 0;
int differences = 0; int differences = 0;
...@@ -167,19 +137,20 @@ public class ChangeController { ...@@ -167,19 +137,20 @@ public class ChangeController {
else { else {
for (Object newFlowElement: newFlow) { for (FlowElementReference newFlowElement: newFlowElements) {
if((newFlowElement.toString().contains("Flow_"+currentNewFlow)&& newFlowElement.toString().length()==6) || checkedElements.contains(newFlowElement.toString())) {} if(checkedElements.contains(newFlowElement.getRef().getName())) {}
else { 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 { else {
if(newFlowElement.equals(oldFlowElement)) {
if(newFlowElement.getRef().getName().equals(oldFlowElement.getRef().getName())) {
similarities++; similarities++;
checkedElements.add(newFlowElement.toString()); checkedElements.add(newFlowElement.getRef().getName());
} }
...@@ -189,21 +160,19 @@ public class ChangeController { ...@@ -189,21 +160,19 @@ public class ChangeController {
} }
} }
//berechnen der Elemente, die aus dem alten und neuen Flow nicht zueinander gepasst haben //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 // 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 || if(mostSimilarities<similarities || (mostSimilarities==similarities && leastDifferences> differences)) {
(Integer.parseInt(matchingFlows[currentNewFlow][2])==similarities && Integer.parseInt(matchingFlows[currentNewFlow][3])> differences)) {
// System.out.println(currentNewFlow +" "+ currentOldFlow +" "+ similarities+ " "+ differences);
mostSimilarities=similarities;
matchingFlows[currentNewFlow][0] = "Flow_"+currentNewFlow; leastDifferences = differences;
matchingFlows[currentNewFlow][1] = "Flow_"+currentOldFlow;
matchingFlows[currentNewFlow][2] = Integer.toString(similarities); matchingFlows[currentNewFlow][0] = newFlow;
matchingFlows[currentNewFlow][3] = Integer.toString(differences); matchingFlows[currentNewFlow][1] = oldFlow;
// System.out.println("checked: "+checkedElements + " "+ checkedElements.size());
} }
checkedElements = new ArrayList <String>(); checkedElements = new ArrayList <String>();
...@@ -214,12 +183,12 @@ public class ChangeController { ...@@ -214,12 +183,12 @@ public class ChangeController {
currentNewFlow++; 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 matchingFlows;
return null;
} }
......
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