1 51 52 package org.omg.CosActivity; 53 54 import javax.activity.ActivityCoordinator ; 55 import javax.activity.CompletionStatus ; 56 import javax.activity.CoordinationInformation ; 57 import javax.activity.Outcome ; 58 import javax.activity.Signal ; 59 import javax.activity.SignalSetActiveException ; 60 import javax.activity.SignalSetInactiveException ; 61 import javax.activity.coordination.SignalSet; 62 63 public class Failure implements SignalSet { 64 public static final String SSNAME = "org.omg.CosActivity.Failure"; 66 67 private String signalSetName; 69 70 private ActivityCoordinator ac; 71 72 private int completionStatus; 73 74 private int status; 75 76 private Outcome outcome; 77 78 private boolean started; 79 private boolean finished; 80 81 public Failure() { 82 signalSetName = SSNAME; 83 this.outcome = null; 84 this.started = false; 85 this.finished = false; 86 } 87 public String getSignalSetName() { 88 return SSNAME; 89 } 90 91 92 public Signal getSignal() { 94 return null; 95 } 96 97 public CoordinationInformation setResponse(Outcome response) 98 throws SignalSetInactiveException { 99 if (! started) throw new SignalSetInactiveException (); 100 101 CoordinationInformation info = new CoordinationInformation (false, false); 102 103 if ((completionStatus != CompletionStatus.CompletionStatusFailOnly) && (response.getName().equals("ActionError") || response.getName().equals("ActionError"))) { 104 completionStatus = CompletionStatus.CompletionStatusFailOnly; 105 } 106 107 return info; 108 } 109 110 public Outcome getOutcome() 111 throws SignalSetActiveException { 112 return outcome; 113 } 114 115 public void setCompletionStatus(int completionStatus, 116 int status) { 117 this.completionStatus = completionStatus; 118 this.status = status; 119 } 120 121 public int getCompletionStatus() 122 throws SignalSetActiveException { 123 if (! finished) throw new SignalSetActiveException (); 124 return this.completionStatus; 125 } 126 127 public void setActivityCoordinator(ActivityCoordinator coord) 128 throws SignalSetActiveException { 129 if (started) throw new SignalSetActiveException (); 130 ac = coord; 131 } 132 133 public void destroy() { 134 ac = null; 135 } 136 } 137 | Popular Tags |