12
12
import com .arextest .storage .repository .scenepool .ScenePoolProvider ;
13
13
import com .arextest .storage .service .InvalidRecordService ;
14
14
import com .arextest .storage .service .MockSourceEditionService ;
15
+ import com .arextest .storage .service .config .ApplicationDefaultConfig ;
15
16
import com .arextest .storage .service .handler .mocker .MockerHandler ;
16
17
import com .arextest .storage .trace .MDCTracer ;
17
18
import java .util .HashMap ;
@@ -35,6 +36,7 @@ public class CoverageMockerHandler implements MockerHandler {
35
36
private ScenePoolFactory scenePoolFactory ;
36
37
private CoverageHandlerSwitch handlerSwitch ;
37
38
private InvalidRecordService invalidRecordService ;
39
+ private ApplicationDefaultConfig applicationDefaultConfig ;
38
40
public final List <MetricListener > metricListeners ;
39
41
// coverage metric constants
40
42
private static final String COVERAGE_METRIC_NAME = "coverage.recording" ;
@@ -70,7 +72,7 @@ public void handleOnRecordSaving(Mocker coverageMocker) {
70
72
// if replayId is empty, meaning this coverage mocker is received during record phase
71
73
if (StringUtils .isEmpty (coverageMocker .getReplayId ()) && handlerSwitch .allowRecordTask (appId )) {
72
74
scenePoolProvider = scenePoolFactory .getProvider (ScenePoolFactory .RECORDING_SCENE_POOL );
73
- task = new RecordTask (scenePoolProvider , coverageMocker , invalidRecordService );
75
+ task = new RecordTask (scenePoolProvider , coverageMocker , invalidRecordService , applicationDefaultConfig );
74
76
coverageHandleDelayedPool .schedule (task , 5 , TimeUnit .SECONDS );
75
77
76
78
} else if (CaseSendScene .MIXED_NORMAL .name ().equals (scheduleSendScene ) &&
@@ -163,7 +165,10 @@ private class RecordTask implements Runnable {
163
165
private final ScenePoolProvider scenePoolProvider ;
164
166
private final Mocker coverageMocker ;
165
167
private final InvalidRecordService invalidRecordService ;
166
- private static final long EXPIRATION_EXTENSION_DAYS = 14L ;
168
+ private final ApplicationDefaultConfig applicationDefaultConfig ;
169
+
170
+ private static final long COVERAGE_EXPIRATION_DAYS = 14L ;
171
+ private static final String COVERAGE_EXPIRATION_DAYS_KEY = "coverage.expiration.days" ;
167
172
private static final String NEW_SCENE_OP = "NEW_SCENE" ;
168
173
private static final String EXISTING_SCENE_OP = "EXISTING_SCENE" ;
169
174
@@ -190,7 +195,8 @@ public void run() {
190
195
191
196
scenePoolProvider .upsertOne (scene );
192
197
mockSourceEditionService .extendMockerExpirationByRecordId (ProviderNames .DEFAULT ,
193
- coverageMocker .getRecordId (), EXPIRATION_EXTENSION_DAYS );
198
+ coverageMocker .getRecordId (),
199
+ applicationDefaultConfig .getConfigAsLong (COVERAGE_EXPIRATION_DAYS_KEY , COVERAGE_EXPIRATION_DAYS ));
194
200
LOGGER .info ("CoverageMockerHandler received new case, recordId: {}, pathKey: {}" ,
195
201
coverageMocker .getRecordId (), coverageMocker .getOperationName ());
196
202
}
0 commit comments