44
55package edu .caltech .ipac .firefly .core .background ;
66
7+ import com .fasterxml .jackson .annotation .JsonIgnore ;
8+ import com .fasterxml .jackson .annotation .JsonProperty ;
79import edu .caltech .ipac .firefly .core .Util ;
810import edu .caltech .ipac .firefly .server .SrvParam ;
911import edu .caltech .ipac .util .AppProperties ;
@@ -52,6 +54,7 @@ public enum Phase {PENDING, QUEUED, EXECUTING, COMPLETED, ERROR, ABORTED, HELD,
5254 public static final String ERROR_SUMMARY = "errorSummary" ;
5355 public static final String ERROR_TYPE = "type" ;
5456 public static final String ERROR_MSG = "message" ;
57+ public static final String ERROR_HAS_DETAILS = "hasDetail" ;
5558 public static final String META = "meta" ;
5659 public static final String JOB_INFO = "jobInfo" ;
5760
@@ -83,9 +86,9 @@ public enum Phase {PENDING, QUEUED, EXECUTING, COMPLETED, ERROR, ABORTED, HELD,
8386 private Instant endTime ;
8487 private int executionDuration = LIFE_SPAN ;
8588 private Instant destruction ;
86- private Map <String , String > params = new HashMap <>();
89+ private Map <String , String > parameters = new HashMap <>();
8790 private List <Result > results = new ArrayList <>();
88- private Error error ;
91+ private ErrorSummary errorSummary ;
8992
9093 //meta contains essential information needed to manage the job
9194 final private Meta meta = new Meta ();
@@ -113,6 +116,8 @@ public void setRunId(String runId) {
113116 public Meta getMeta () {
114117 return meta ;
115118 }
119+
120+ @ JsonProperty ("jobInfo" )
116121 public Aux getAux () {return aux ; }
117122
118123 public Phase getPhase () {
@@ -127,13 +132,13 @@ public void setPhase(Phase phase) {
127132 this .phase = phase ;
128133 }
129134
130- public Error getError () {
131- return error ;
135+ public ErrorSummary getErrorSummary () {
136+ return errorSummary ;
132137 }
133138
134- public void setError ( Error error ) {
139+ public void setErrorSummary ( ErrorSummary errorSummary ) {
135140 setPhase (Phase .ERROR );
136- this .error = error ;
141+ this .errorSummary = errorSummary ;
137142 }
138143
139144 public List <Result > getResults () {
@@ -145,11 +150,11 @@ public void setResults(List<Result> results) {
145150 }
146151
147152 @ Nonnull
148- public Map <String , String > getParams () {
149- return params ;
153+ public Map <String , String > getParameters () {
154+ return parameters ;
150155 }
151156
152- public void setParams (Map <String ,String > params ) { this .params = params ; }
157+ public void setParameters (Map <String ,String > parameters ) { this .parameters = parameters ; }
153158
154159 public String getOwnerId () { return ownerId ;}
155160
@@ -187,16 +192,17 @@ public Instant getEndTime() {
187192 /**
188193 * @return how long this job may run in seconds. zero implies unlimited execution duration.
189194 */
190- public long executionDuration () {
195+ public long getExecutionDuration () {
191196 return executionDuration ;
192197 }
193198 public void setExecutionDuration (int duration ) { executionDuration = duration ; }
194199
195200 /**
196201 * @return a SrvParam from the flatten params map
197202 */
203+ @ JsonIgnore
198204 public SrvParam getSrvParams () {
199- return SrvParam .makeSrvParamSimpleMap (getMeta ().getParams ());
205+ return SrvParam .makeSrvParamSimpleMap (getMeta ().getParameters ());
200206 }
201207
202208 public void copyFrom (JobInfo uws ) {
@@ -212,9 +218,9 @@ public void copyFrom(JobInfo uws) {
212218 this .endTime = uws .endTime ;
213219 this .executionDuration = uws .executionDuration ;
214220 this .destruction = uws .destruction ;
215- this .params = new HashMap <>(uws .params );
221+ this .parameters = new HashMap <>(uws .parameters );
216222 this .results = new ArrayList <>(uws .results );
217- this .error = uws .error ;
223+ this .errorSummary = uws .errorSummary ;
218224 ifNotNull (uws .aux .getJobUrl ()).apply (aux ::setJobUrl );
219225 ifNotNull (uws .aux .getUserId ()).apply (aux ::setUserId );
220226 ifNotNull (uws .aux .getUserName ()).apply (aux ::setUserName );
@@ -226,7 +232,11 @@ public void copyFrom(JobInfo uws) {
226232//
227233//====================================================================
228234
229- public record Error ( int code , String msg ) implements Serializable {}
235+ public record ErrorSummary (String message , String type , boolean hasDetail ) implements Serializable {
236+ public ErrorSummary (String message ) {
237+ this (message , "transient" , true );
238+ }
239+ }
230240 public record Result (String id , String href , String mimeType , String size ) implements Serializable {};
231241
232242 /**
@@ -237,7 +247,7 @@ public record Result(String id, String href, String mimeType, String size) imple
237247 public static class Meta implements Serializable {
238248 String jobId ;
239249 String runId ;
240- Map <String , String > params = new HashMap <>();
250+ Map <String , String > parameters = new HashMap <>();
241251 String userKey ;
242252 Job .Type type ;
243253 int progress ;
@@ -258,8 +268,8 @@ public static class Meta implements Serializable {
258268 public String getRunId () { return runId ; }
259269 public void setRunId (String runId ) { this .runId = runId ; }
260270
261- public Map <String , String > getParams () { return params ; }
262- public void setParams (Map <String , String > params ) { this .params = params ; }
271+ public Map <String , String > getParameters () { return parameters ; }
272+ public void setParameters (Map <String , String > parameters ) { this .parameters = parameters ; }
263273
264274 public String getUserKey () { return userKey ; }
265275 public void setUserKey (String userKey ) { this .userKey = userKey ;}
0 commit comments