Skip to content

Commit a3cea77

Browse files
committed
Refactor ExitCodeRequest
1 parent 58ac3ef commit a3cea77

File tree

8 files changed

+19
-18
lines changed

8 files changed

+19
-18
lines changed

src/main/java/com/blackduck/integration/detect/lifecycle/exit/ExitManager.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import java.util.Optional;
44

5+
import com.blackduck.integration.detect.lifecycle.shutdown.ExitCodePublisher;
56
import org.apache.commons.lang3.time.DurationFormatUtils;
67
import org.slf4j.Logger;
78
import org.slf4j.LoggerFactory;
@@ -34,7 +35,8 @@ public ExitResult exit(ExitOptions exitOptions, Optional<AutonomousManager> auto
3435

3536
//Generally, when requesting a failure status, an exit code is also requested, but if it is not, we default to an unknown error.
3637
if (statusManager.hasAnyFailure()) {
37-
eventSystem.publishEvent(Event.ExitCode, new ExitCodeRequest(ExitCodeType.FAILURE_UNKNOWN_ERROR, "A failure status was requested by one or more of Detect's tools."));
38+
ExitCodePublisher publisher = new ExitCodePublisher(eventSystem);
39+
publisher.publishExitCode(ExitCodeType.FAILURE_UNKNOWN_ERROR);
3840
}
3941

4042
//Find the final (as requested) exit code

src/main/java/com/blackduck/integration/detect/lifecycle/run/operation/OperationRunner.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1554,7 +1554,8 @@ public String findLicenseUrl(BlackDuckRunData blackDuckRunData, String licenseNa
15541554
}
15551555

15561556
public void publishDetectorFailure() {
1557-
eventSystem.publishEvent(Event.ExitCode, new ExitCodeRequest(ExitCodeType.FAILURE_DETECTOR, "A detector failed."));
1557+
ExitCodePublisher publisher = new ExitCodePublisher(eventSystem);
1558+
publisher.publishExitCode(ExitCodeType.FAILURE_DETECTOR);
15581559
}
15591560

15601561
public Optional<File> findRapidScanConfig() throws OperationException {

src/main/java/com/blackduck/integration/detect/lifecycle/shutdown/ExitCodeManager.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import com.blackduck.integration.detect.configuration.enumeration.ExitCodeType;
77
import com.blackduck.integration.detect.workflow.event.Event;
88
import com.blackduck.integration.detect.workflow.event.EventSystem;
9+
import org.jetbrains.annotations.TestOnly;
910

1011
public class ExitCodeManager {
1112
private final List<ExitCodeRequest> exitCodeRequests = new ArrayList<>();
@@ -24,6 +25,7 @@ public void requestExitCode(ExitCodeType exitCodeType) {
2425
exitCodeRequests.add(new ExitCodeRequest(exitCodeType));
2526
}
2627

28+
@TestOnly
2729
public void addExitCodeRequest(ExitCodeRequest request) {
2830
exitCodeRequests.add(request);
2931
}

src/main/java/com/blackduck/integration/detect/lifecycle/shutdown/ExitCodePublisher.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ public ExitCodePublisher(EventSystem eventSystem) {
1212
}
1313

1414
public void publishExitCode(ExitCodeType exitCodeType) {
15-
eventSystem.publishEvent(Event.ExitCode, new ExitCodeRequest(exitCodeType, null));
15+
eventSystem.publishEvent(Event.ExitCode, new ExitCodeRequest(exitCodeType));
1616
}
1717

1818
public void publishExitCode(ExitCodeRequestWithCustomDescription exitCodeRequest) {

src/main/java/com/blackduck/integration/detect/lifecycle/shutdown/ExitCodeRequest.java

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,25 +4,16 @@
44

55
public class ExitCodeRequest {
66
private final ExitCodeType exitCodeType;
7-
private final String reason;
8-
9-
public ExitCodeRequest(ExitCodeType exitCodeType, String reason) {
10-
this.exitCodeType = exitCodeType;
11-
this.reason = reason;
12-
}
137

148
public ExitCodeRequest(ExitCodeType exitCodeType) {
15-
this(exitCodeType, null);
9+
this.exitCodeType = exitCodeType;
1610
}
1711

1812
public ExitCodeType getExitCodeType() {
1913
return exitCodeType;
2014
}
2115

2216
public String getReason() {
23-
if (reason != null) {
24-
return reason;
25-
}
2617
return exitCodeType.getDescription();
2718
}
2819
}

src/main/java/com/blackduck/integration/detect/lifecycle/shutdown/ExitCodeRequestWithCustomDescription.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,14 @@
44

55
public class ExitCodeRequestWithCustomDescription extends ExitCodeRequest {
66

7+
private String customDescription;
78
public ExitCodeRequestWithCustomDescription(ExitCodeType exitCodeType, String reason) {
8-
super(exitCodeType, reason);
9+
super(exitCodeType);
10+
this.customDescription = reason;
11+
}
12+
13+
@Override
14+
public String getReason() {
15+
return customDescription;
916
}
1017
}

src/main/java/com/blackduck/integration/detect/workflow/blackduck/developer/RapidModeLogReportOperation.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
package com.blackduck.integration.detect.workflow.blackduck.developer;
22

33
import java.util.List;
4-
import java.util.Set;
54

6-
import com.blackduck.integration.detect.lifecycle.shutdown.ExitCodeRequestWithCustomDescription;
75
import org.slf4j.Logger;
86
import org.slf4j.LoggerFactory;
97

src/test/java/com/blackduck/integration/detect/lifecycle/exit/ExitManagerTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ public void testForceExit() {
4444
DetectStatusManager statusManager = new DetectStatusManager(eventSystem);
4545
ExceptionUtility exitCodeUtility = new ExceptionUtility();
4646
ExitCodeManager exitCodeManager = new ExitCodeManager(eventSystem, exitCodeUtility);
47-
exitCodeManager.addExitCodeRequest(new ExitCodeRequest(ExitCodeType.FAILURE_CONFIGURATION, "JUnit failure code."));
47+
exitCodeManager.addExitCodeRequest(new ExitCodeRequest(ExitCodeType.FAILURE_CONFIGURATION));
4848
ExitManager exitManager = new ExitManager(eventSystem, exitCodeManager, statusManager);
4949

5050
ExitOptions exitOptions = new ExitOptions(startTime, true, true);
@@ -63,7 +63,7 @@ public void testSkipExit() {
6363
DetectStatusManager statusManager = new DetectStatusManager(eventSystem);
6464
ExceptionUtility exitCodeUtility = new ExceptionUtility();
6565
ExitCodeManager exitCodeManager = new ExitCodeManager(eventSystem, exitCodeUtility);
66-
exitCodeManager.addExitCodeRequest(new ExitCodeRequest(ExitCodeType.FAILURE_CONFIGURATION, "JUnit failure code."));
66+
exitCodeManager.addExitCodeRequest(new ExitCodeRequest(ExitCodeType.FAILURE_CONFIGURATION));
6767
ExitManager exitManager = new ExitManager(eventSystem, exitCodeManager, statusManager);
6868

6969
ExitOptions exitOptions = new ExitOptions(startTime, false, false);

0 commit comments

Comments
 (0)