|
|
@@ -146,30 +146,40 @@ public class Postback |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// No reports |
|
|
// No reports |
|
|
BroadcastState finalState = null; |
|
|
|
|
|
|
|
|
BroadcastState toState = null; |
|
|
String reason = null; |
|
|
String reason = null; |
|
|
switch (broadcast.getState()) |
|
|
switch (broadcast.getState()) |
|
|
{ |
|
|
{ |
|
|
case ALLDONE: |
|
|
case ALLDONE: |
|
|
finalState = BroadcastState.COMPLETED; |
|
|
|
|
|
|
|
|
toState = BroadcastState.COMPLETED; |
|
|
reason = "All posted"; |
|
|
reason = "All posted"; |
|
|
break; |
|
|
break; |
|
|
case CANCELING: |
|
|
case CANCELING: |
|
|
finalState = BroadcastState.CANCELED; |
|
|
|
|
|
|
|
|
if (broadcast.getActiveJobCount() > 0) break; |
|
|
|
|
|
toState = BroadcastState.CANCELED; |
|
|
reason = "User canceled"; |
|
|
reason = "User canceled"; |
|
|
break; |
|
|
break; |
|
|
case PAUSING: |
|
|
case PAUSING: |
|
|
finalState = BroadcastState.PAUSED; |
|
|
|
|
|
|
|
|
if (broadcast.getActiveJobCount() > 0) break; |
|
|
|
|
|
toState = BroadcastState.PAUSED; |
|
|
reason = "User paused"; |
|
|
reason = "User paused"; |
|
|
break; |
|
|
break; |
|
|
default: |
|
|
default: |
|
|
} |
|
|
} |
|
|
if (finalState != null) |
|
|
|
|
|
{ |
|
|
|
|
|
broadcast.terminate(finalState, reason); |
|
|
|
|
|
myLogger.info("All posted, thread terminating"); |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
if (toState != null) |
|
|
|
|
|
{ |
|
|
|
|
|
if (toState.isFinal) |
|
|
|
|
|
{ |
|
|
|
|
|
broadcast.terminate(toState, reason); |
|
|
|
|
|
myLogger.info("All posted, thread terminating"); |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
else |
|
|
|
|
|
{ |
|
|
|
|
|
broadcast.setState(toState); |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
if (broadcast.getState().isFinal) |
|
|
if (broadcast.getState().isFinal) |
|
|
{ |
|
|
{ |
|
|
// No more. Notify all waiting postback threads and exit thread |
|
|
// No more. Notify all waiting postback threads and exit thread |
|
|
|