Hallo,
ich versuche es mal mein Anliegen zu schildern. Wir haben folgenden Arbeitsablauf:

Mir geht es um die erste Aktivität. Hier soll der Nutzer unbedingt einen Kommentar eingeben. Das klappt nun dank Ihrer Mithilfe.
In dem Dialog (siehe Bild aus dem ersten Eintrag) gibt es zwei Buttons "anfordern" und "abbrechen". Wenn ich das erste mal "abbrechen" klicke, wird der Dialog beendet und der Arbeitsablauf bleibt in der Aktivität stehen - genau wie gewünscht.
Klicke ich "anfordern" und habe keinen Kommentar eingegeben, wird ein Kommentar ausgegeben, dass ein Kommentar eingegeben werden muss und der Arbeitsablaufdialog wird wieder angezeigt. Wenn ich nun auf "abbrechen" klicke, läuft der Arbeitsablauf weiter (es werden die nächsten beiden Aktionen ausgeführt und der Arbeitsablauf kommt in "Freigabe prüfen" zum stehen). Der Arbeitsablauf soll aber auch in der Aktion stehen bleiben.
Hier das Script:
transition = context.showActionDialog();
if(transition == null) {
return;
}
comment = context.getTransitionParameters().getComment();
while (comment == null || comment.length() == 0) {
JOptionPane.showMessageDialog(null,"Bitte geben Sie einen Kommentar an!.");
transition = context.showActionDialog();
comment = context.getTransitionParameters().getComment();
if(transition == null) {
break;
}
}
if(transition == null) {
return;
}
Das erste
if(transition == null) {
return;
}
funktioniert (das erste mal "abbrechen" klicken). Die while-Schleife fragt solange den Kommentar ab, bis er nicht mehr leer ist. Wenn ich dann innerhalb der while-Schleife bin, bricht das transition==null die Abfrage ab. das transition == null nach der Schleife, stoppt den Arbeitsablauf aber nicht, wie das vor der while-Schleife. Ich sehe da keinen Unterschied.
Nun hatte ich eine weitere Transition von der ersten Aktion erstellt, die bei "abbrechen" gegangen werden soll. Diese wird mir dann aber in dem Arbeitsablaufdialog angezeigt. Somit habe ich zwei mal "abbrechen" als button in dem Dialog stehen.Wenn man in dem Dialog Transition nicht anzeigen lassen könnte, wäre das auch ein Weg.
Ich möchte also, dass der Arbeitsablauf wenn "abbrechen" geklickt wird in der Aktivität verbleibt.