Skip to content

Commit 632c133

Browse files
authored
Move ReplicateActionResponse from iexec-common to iexec-worker (#599)
1 parent a7a8400 commit 632c133

File tree

6 files changed

+156
-57
lines changed

6 files changed

+156
-57
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ All notable changes to this project will be documented in this file.
1414
- Fix `LoginServiceTests#shouldLoginOnceOnSimultaneousCalls` test. (#587)
1515
- Always use `WorkerpoolAuhorization` to retrieve JWT on Result Proxy. (#588)
1616
- Improve checks when receiving a `computed.json` file from a REST call. (#598)
17+
- Move `ReplicateActionResponse` from `iexec-common` to `iexec-worker`. (#599)
1718

1819
### Quality
1920

src/main/java/com/iexec/worker/executor/TaskManagerService.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,10 @@
1818

1919
import com.iexec.common.contribution.Contribution;
2020
import com.iexec.common.lifecycle.purge.PurgeService;
21-
import com.iexec.common.replicate.*;
21+
import com.iexec.common.replicate.ComputeLogs;
22+
import com.iexec.common.replicate.ReplicateStatus;
23+
import com.iexec.common.replicate.ReplicateStatusCause;
24+
import com.iexec.common.replicate.ReplicateStatusDetails;
2225
import com.iexec.common.result.ComputedFile;
2326
import com.iexec.commons.poco.chain.ChainReceipt;
2427
import com.iexec.commons.poco.chain.WorkerpoolAuthorization;
@@ -33,6 +36,7 @@
3336
import com.iexec.worker.compute.pre.PreComputeResponse;
3437
import com.iexec.worker.dataset.DataService;
3538
import com.iexec.worker.pubsub.SubscriptionService;
39+
import com.iexec.worker.replicate.ReplicateActionResponse;
3640
import com.iexec.worker.result.ResultService;
3741
import com.iexec.worker.sms.SmsService;
3842
import com.iexec.worker.tee.TeeService;

src/main/java/com/iexec/worker/executor/TaskNotificationService.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,10 @@
1616

1717
package com.iexec.worker.executor;
1818

19-
import com.iexec.common.replicate.*;
19+
import com.iexec.common.replicate.ReplicateStatus;
20+
import com.iexec.common.replicate.ReplicateStatusCause;
21+
import com.iexec.common.replicate.ReplicateStatusDetails;
22+
import com.iexec.common.replicate.ReplicateStatusUpdate;
2023
import com.iexec.commons.poco.chain.ChainTask;
2124
import com.iexec.commons.poco.task.TaskAbortCause;
2225
import com.iexec.commons.poco.task.TaskDescription;
@@ -27,6 +30,7 @@
2730
import com.iexec.worker.chain.WorkerpoolAuthorizationService;
2831
import com.iexec.worker.feign.CustomCoreFeignClient;
2932
import com.iexec.worker.pubsub.SubscriptionService;
33+
import com.iexec.worker.replicate.ReplicateActionResponse;
3034
import com.iexec.worker.sms.SmsService;
3135
import lombok.extern.slf4j.Slf4j;
3236
import net.jodah.expiringmap.ExpiringMap;
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
/*
2+
* Copyright 2020-2023 IEXEC BLOCKCHAIN TECH
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
package com.iexec.worker.replicate;
18+
19+
import com.iexec.common.replicate.ComputeLogs;
20+
import com.iexec.common.replicate.ReplicateStatusCause;
21+
import com.iexec.common.replicate.ReplicateStatusDetails;
22+
import com.iexec.commons.poco.chain.ChainReceipt;
23+
import lombok.AllArgsConstructor;
24+
import lombok.Builder;
25+
import lombok.Data;
26+
import lombok.NoArgsConstructor;
27+
28+
@Data
29+
@Builder
30+
@NoArgsConstructor
31+
@AllArgsConstructor
32+
public class ReplicateActionResponse {
33+
34+
private boolean isSuccess;
35+
private ReplicateStatusDetails details;
36+
37+
public static ReplicateActionResponse success() {
38+
return new ReplicateActionResponse(true, null);
39+
}
40+
41+
public static ReplicateActionResponse success(ChainReceipt chainReceipt) {
42+
ReplicateStatusDetails details = ReplicateStatusDetails.builder()
43+
.chainReceipt(chainReceipt)
44+
.build();
45+
return new ReplicateActionResponse(true, details);
46+
}
47+
48+
public static ReplicateActionResponse success(String resultLink, String callbackData) {
49+
ReplicateStatusDetails details = ReplicateStatusDetails.builder()
50+
.resultLink(resultLink)
51+
.chainCallbackData(callbackData)
52+
.build();
53+
return new ReplicateActionResponse(true, details);
54+
}
55+
56+
public static ReplicateActionResponse successWithLogs(ComputeLogs computeLogs) {
57+
ReplicateStatusDetails details = ReplicateStatusDetails.builder()
58+
.computeLogs(computeLogs)
59+
.build();
60+
return new ReplicateActionResponse(true, details);
61+
}
62+
63+
public static ReplicateActionResponse failure() {
64+
return new ReplicateActionResponse(false, null);
65+
}
66+
67+
public static ReplicateActionResponse failure(ReplicateStatusCause cause) {
68+
ReplicateStatusDetails details = ReplicateStatusDetails.builder()
69+
.cause(cause)
70+
.build();
71+
return new ReplicateActionResponse(false, details);
72+
}
73+
74+
public static ReplicateActionResponse failureWithStdout(String stdout) {
75+
ReplicateStatusDetails details = ReplicateStatusDetails.builder()
76+
.computeLogs(ComputeLogs.builder().stdout(stdout).build())
77+
.build();
78+
return new ReplicateActionResponse(false, details);
79+
}
80+
81+
public static ReplicateActionResponse failureWithStdout(ReplicateStatusCause cause, String stdout) {
82+
ReplicateStatusDetails details = ReplicateStatusDetails.builder()
83+
.cause(cause)
84+
.computeLogs(ComputeLogs.builder().stdout(stdout).build())
85+
.build();
86+
return new ReplicateActionResponse(false, details);
87+
}
88+
89+
public static ReplicateActionResponse failureWithDetails(ReplicateStatusDetails details) {
90+
return new ReplicateActionResponse(false, details);
91+
}
92+
}

0 commit comments

Comments
 (0)