• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

temporalio / sdk-java / #401

09 Oct 2026 10:57PM UTC coverage: 68.331% (+0.007%) from 68.324%
#401

push

github

web-flow
Automate Java SDK releases (#3127)

* Automate Java SDK releases

* Support draft GitHub releases

* Allow manual release dispatches

* Fix release workflow runner context

* Publish GitHub releases before Maven

* Support releases from backport branches

* Harden release publication recovery

* Make release commit resolution consistent

* Validate release headings consistently

* Reject malformed release headings

* Anchor release heading lookup

* Keep changelog policy additions under Unreleased

7911 of 13718 branches covered (57.67%)

Branch coverage included in aggregate %.

32088 of 44819 relevant lines covered (71.59%)

0.72 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

56.1
/temporal-sdk/src/main/java/io/temporal/client/ActivityCompletionException.java
1
package io.temporal.client;
2

3
import io.temporal.activity.ActivityInfo;
4
import io.temporal.failure.TemporalException;
5
import java.util.Optional;
6

7
/** Base exception for all failures returned by an activity completion client. Do not extend! */
8
public class ActivityCompletionException extends TemporalException {
9

10
  private final String workflowId;
11

12
  private final String runId;
13

14
  private final String activityType;
15

16
  private final String activityId;
17

18
  protected ActivityCompletionException(ActivityInfo info) {
19
    this(info, null);
1 ✔
20
  }
1 ✔
21

22
  protected ActivityCompletionException(ActivityInfo info, Throwable cause) {
23
    super(
1 ✔
24
        info != null
1 !
25
            ? "WorkflowId="
26
                + info.getWorkflowId()
1 ✔
27
                + ", RunId="
28
                + info.getWorkflowRunId()
1 ✔
29
                + ", ActivityType="
30
                + info.getActivityType()
1 ✔
31
                + ", ActivityId="
32
                + info.getActivityId()
1 ✔
33
            : null,
1 ✔
34
        cause);
35
    if (info != null) {
1 !
36
      workflowId = info.getWorkflowId();
1 ✔
37
      runId = info.getWorkflowRunId();
1 ✔
38
      activityType = info.getActivityType();
1 ✔
39
      activityId = info.getActivityId();
1 ✔
40
    } else {
41
      this.workflowId = null;
×
42
      this.runId = null;
×
43
      activityType = null;
×
44
      activityId = null;
×
45
    }
46
  }
1 ✔
47

48
  protected ActivityCompletionException(String activityId, Throwable cause) {
49
    super("ActivityId=" + activityId, cause);
1 ✔
50
    this.workflowId = null;
1 ✔
51
    this.runId = null;
1 ✔
52
    this.activityType = null;
1 ✔
53
    this.activityId = activityId;
1 ✔
54
  }
1 ✔
55

56
  protected ActivityCompletionException(Throwable cause) {
57
    this((ActivityInfo) null, cause);
×
58
  }
×
59

60
  protected ActivityCompletionException() {
61
    super(null, null);
×
62
    workflowId = null;
×
63
    runId = null;
×
64
    activityType = null;
×
65
    activityId = null;
×
66
  }
×
67

68
  /** Optional as it might be not known to the exception source. */
69
  public Optional<String> getWorkflowId() {
70
    return Optional.ofNullable(workflowId);
×
71
  }
72

73
  /** Optional as it might be not known to the exception source. */
74
  public Optional<String> getRunId() {
75
    return Optional.ofNullable(runId);
×
76
  }
77

78
  /** Optional as it might be not known to the exception source. */
79
  public Optional<String> getActivityType() {
80
    return Optional.ofNullable(activityType);
×
81
  }
82

83
  /** Optional as it might be not known to the exception source. */
84
  public Optional<String> getActivityId() {
85
    return Optional.ofNullable(activityId);
×
86
  }
87
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc