Skip to content

Commit 40973f9

Browse files
author
Emil Gustafsson
committed
client cleanup
Signed-off-by: Emil-Gustafsson <[email protected]>
1 parent a81753c commit 40973f9

File tree

3 files changed

+88
-73
lines changed

3 files changed

+88
-73
lines changed

src/main/java/com/cisco/trex/ClientBase.java

Lines changed: 36 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,12 @@
4545
/** Base class for stateful and stateless classes */
4646
public abstract class ClientBase {
4747

48+
private static final String CAPTURE_ID = "capture_id";
49+
private static final String CAPTURE = "capture";
50+
private static final String COMMAND = "command";
51+
protected static final String API_H = "api_h";
52+
private static final String RESULT = "result";
53+
protected static final String PORT_ID = "port_id";
4854
protected static final Logger LOGGER = LoggerFactory.getLogger(ClientBase.class);
4955
protected static final Gson GSON = buildGson();
5056
protected String host;
@@ -72,7 +78,7 @@ private String buildRequest(String methodName, Map<String, Object> payload) {
7278
parameters.put("id", "aggogxls");
7379
parameters.put("jsonrpc", Constants.JSON_RPC_VERSION);
7480
parameters.put("method", methodName);
75-
payload.put("api_h", apiH);
81+
payload.put(API_H, apiH);
7682
parameters.put("params", payload);
7783
return GSON.toJson(parameters);
7884
}
@@ -81,30 +87,19 @@ private String call(String json) {
8187
return this.transport.sendJson(json);
8288
}
8389

84-
private List<TRexCommand> buildRemoveCaptureCommand(List<Integer> capture_ids) {
85-
return capture_ids
90+
private List<TRexCommand> buildRemoveCaptureCommand(List<Integer> captureIds) {
91+
return captureIds
8692
.stream()
8793
.map(
8894
captureId -> {
8995
Map<String, Object> parameters = new HashMap<>();
90-
parameters.put("command", "remove");
91-
parameters.put("capture_id", captureId);
92-
return buildCommand("capture", parameters);
96+
parameters.put(COMMAND, "remove");
97+
parameters.put(CAPTURE_ID, captureId);
98+
return buildCommand(CAPTURE, parameters);
9399
})
94100
.collect(Collectors.toList());
95101
}
96102

97-
private class SystemInfoResponse {
98-
99-
private String id;
100-
private String jsonrpc;
101-
private SystemInfo result;
102-
103-
public SystemInfo getResult() {
104-
return result;
105-
}
106-
}
107-
108103
/**
109104
* Get Ports
110105
*
@@ -236,7 +231,7 @@ public TRexCommand buildCommand(String methodName, Map<String, Object> parameter
236231
if (parameters == null) {
237232
parameters = new HashMap<>();
238233
}
239-
parameters.put("api_h", apiH);
234+
parameters.put(API_H, apiH);
240235
Map<String, Object> payload = new HashMap<>();
241236
int cmdId = randomizer.nextInt() & Integer.MAX_VALUE; // get a positive random value
242237
payload.put("id", cmdId);
@@ -298,7 +293,7 @@ public void connect(int timeout) throws TRexConnectionException {
298293
*/
299294
public List<String> getSupportedCommands() {
300295
Map<String, Object> payload = new HashMap<>();
301-
payload.put("api_h", apiH);
296+
payload.put(API_H, apiH);
302297
String json = callMethod("get_supported_cmds", payload);
303298
JsonArray cmds = getResultFromResponse(json).getAsJsonArray();
304299
return StreamSupport.stream(cmds.spliterator(), false)
@@ -309,11 +304,12 @@ public List<String> getSupportedCommands() {
309304
protected JsonElement getResultFromResponse(String json) {
310305
JsonElement response = new JsonParser().parse(json);
311306
if (response.isJsonArray()) {
312-
// for versions of TRex before v2.61, single entry response also wrapped with json array
313-
return response.getAsJsonArray().get(0).getAsJsonObject().get("result");
307+
// for versions of TRex before v2.61, single entry response also wrapped with
308+
// json array
309+
return response.getAsJsonArray().get(0).getAsJsonObject().get(RESULT);
314310
}
315311

316-
return response.getAsJsonObject().get("result");
312+
return response.getAsJsonObject().get(RESULT);
317313
}
318314

319315
/**
@@ -324,7 +320,7 @@ protected JsonElement getResultFromResponse(String json) {
324320
*/
325321
public TRexClientResult<PortStatus> getPortStatus(int portIdx) {
326322
Map<String, Object> parameters = new HashMap<>();
327-
parameters.put("port_id", portIdx);
323+
parameters.put(PORT_ID, portIdx);
328324
parameters.put("block", false);
329325
return callMethod("get_port_status", parameters, PortStatus.class);
330326
}
@@ -338,7 +334,7 @@ public TRexClientResult<PortStatus> getPortStatus(int portIdx) {
338334
*/
339335
public TRexClientResult<PortStatus> getPortStatus(int portIdx, String profileId) {
340336
Map<String, Object> parameters = new HashMap<>();
341-
parameters.put("port_id", portIdx);
337+
parameters.put(PORT_ID, portIdx);
342338
parameters.put("profile_id", profileId);
343339
parameters.put("block", false);
344340
return callMethod("get_port_status", parameters, PortStatus.class);
@@ -350,7 +346,7 @@ public TRexClientResult<PortStatus> getPortStatus(int portIdx, String profileId)
350346
*/
351347
public PortStatistics getPortStatistics(int portIndex) {
352348
Map<String, Object> parameters = new HashMap<>();
353-
parameters.put("port_id", portIndex);
349+
parameters.put(PORT_ID, portIndex);
354350
return callMethod("get_port_stats", parameters, PortStatistics.class).get();
355351
}
356352

@@ -360,15 +356,15 @@ public PortStatistics getPortStatistics(int portIndex) {
360356
*/
361357
public ExtendedPortStatistics getExtendedPortStatistics(int portIndex) {
362358
Map<String, Object> parameters = new HashMap<>();
363-
parameters.put("port_id", portIndex);
359+
parameters.put(PORT_ID, portIndex);
364360
return callMethod("get_port_xstats_values", parameters, ExtendedPortStatistics.class)
365361
.get()
366362
.setValueNames(getPortStatNames(portIndex));
367363
}
368364

369365
private XstatsNames getPortStatNames(int portIndex) {
370366
Map<String, Object> parameters = new HashMap<>();
371-
parameters.put("port_id", portIndex);
367+
parameters.put(PORT_ID, portIndex);
372368
return callMethod("get_port_xstats_names", parameters, XstatsNames.class).get();
373369
}
374370

@@ -379,8 +375,8 @@ private XstatsNames getPortStatNames(int portIndex) {
379375
*/
380376
public TRexClientResult<CaptureInfo[]> getActiveCaptures() {
381377
Map<String, Object> payload = new HashMap<>();
382-
payload.put("command", "status");
383-
return callMethod("capture", payload, CaptureInfo[].class);
378+
payload.put(COMMAND, "status");
379+
return callMethod(CAPTURE, payload, CaptureInfo[].class);
384380
}
385381

386382
/**
@@ -423,13 +419,13 @@ public TRexClientResult<CaptureMonitor> captureRecorderStart(
423419
public TRexClientResult<CaptureMonitor> startCapture(
424420
List<Integer> rxPorts, List<Integer> txPorts, String mode, int limit, String filter) {
425421
Map<String, Object> payload = new HashMap<>();
426-
payload.put("command", "start");
422+
payload.put(COMMAND, "start");
427423
payload.put("limit", limit);
428424
payload.put("mode", mode);
429425
payload.put("rx", rxPorts);
430426
payload.put("tx", txPorts);
431427
payload.put("filter", filter);
432-
return callMethod("capture", payload, CaptureMonitor.class);
428+
return callMethod(CAPTURE, payload, CaptureMonitor.class);
433429
}
434430

435431
/**
@@ -453,9 +449,9 @@ public TRexClientResult<List<RPCResponse>> removeAllCaptures() {
453449
*/
454450
public TRexClientResult<CaptureMonitorStop> captureMonitorStop(int captureId) {
455451
Map<String, Object> payload = new HashMap<>();
456-
payload.put("command", "stop");
457-
payload.put("capture_id", captureId);
458-
return callMethod("capture", payload, CaptureMonitorStop.class);
452+
payload.put(COMMAND, "stop");
453+
payload.put(CAPTURE_ID, captureId);
454+
return callMethod(CAPTURE, payload, CaptureMonitorStop.class);
459455
}
460456

461457
/**
@@ -484,10 +480,10 @@ public boolean captureMonitorRemove(int captureId) {
484480
*/
485481
public TRexClientResult<CapturedPackets> captureFetchPkts(int captureId, int chunkSize) {
486482
Map<String, Object> payload = new HashMap<>();
487-
payload.put("command", "fetch");
488-
payload.put("capture_id", captureId);
483+
payload.put(COMMAND, "fetch");
484+
payload.put(CAPTURE_ID, captureId);
489485
payload.put("pkt_limit", chunkSize);
490-
return callMethod("capture", payload, CapturedPackets.class);
486+
return callMethod(CAPTURE, payload, CapturedPackets.class);
491487
}
492488

493489
/**
@@ -499,7 +495,7 @@ public TRexClientResult<CapturedPackets> captureFetchPkts(int captureId, int chu
499495
*/
500496
public TRexClientResult<StubResult> setVlan(int portIdx, List<Integer> vlanIds) {
501497
Map<String, Object> parameters = new HashMap<>();
502-
parameters.put("port_id", portIdx);
498+
parameters.put(PORT_ID, portIdx);
503499
parameters.put("vlan", vlanIds);
504500
parameters.put("block", false);
505501
return callMethod("set_vlan", parameters, StubResult.class);
@@ -534,8 +530,8 @@ public PortStatus releasePort(int portIndex) {
534530

535531
protected Map<String, Object> createPayload(int portIndex) {
536532
Map<String, Object> payload = new HashMap<>();
537-
payload.put("port_id", portIndex);
538-
payload.put("api_h", apiH);
533+
payload.put(PORT_ID, portIndex);
534+
payload.put(API_H, apiH);
539535
if (!StringUtils.isEmpty(masterHandler)) {
540536
payload.put("handler", masterHandler);
541537
} else {

src/main/java/com/cisco/trex/stateful/TRexAstfClient.java

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ protected void serverAPISync() throws TRexConnectionException {
7373

7474
private Map<String, Object> createPayload() {
7575
Map<String, Object> payload = new HashMap<>();
76-
payload.put("api_h", apiH);
76+
payload.put(API_H, apiH);
7777
if (!StringUtils.isEmpty(masterHandler)) {
7878
payload.put("handler", masterHandler);
7979
}
@@ -217,18 +217,12 @@ public void updateLatencyTrafficRate(int mult) {
217217
this.callMethod("update_latency", payload);
218218
}
219219

220-
/**
221-
* Acquire Port
222-
*
223-
* @param force
224-
* @param portIndex
225-
*/
226220
@Override
227221
public PortStatus acquirePort(int portIndex, Boolean force) {
228222
Map<String, Object> payload = createPayload();
229223
payload.put("user", userName);
230224
payload.put("force", force);
231-
payload.put("port_id", portIndex);
225+
payload.put(PORT_ID, portIndex);
232226
String json = callMethod("acquire", payload);
233227
Set<Entry<String, JsonElement>> entrySet;
234228
try {
@@ -437,12 +431,12 @@ public Map<String, AstfStatistics> getTemplateGroupStatistics(
437431
String profileId, List<String> tgNames) {
438432

439433
// remove duplicated tgNames in input list
440-
tgNames = new ArrayList<>(new HashSet<>(tgNames));
441-
Map<String, AstfStatistics> stats = new LinkedHashMap<>(tgNames.size());
434+
List<String> tgNames2 = new ArrayList<>(new HashSet<>(tgNames));
435+
Map<String, AstfStatistics> stats = new LinkedHashMap<>(tgNames2.size());
442436

443437
Map<String, Object> payload = createPayload(profileId);
444438
payload.put("epoch", 1);
445-
Map<String, Integer> name2Id = translateNames2Ids(profileId, tgNames);
439+
Map<String, Integer> name2Id = translateNames2Ids(profileId, tgNames2);
446440
payload.put("tg_ids", new ArrayList<>(name2Id.values()));
447441

448442
String json = callMethod("get_tg_id_stats", payload);
@@ -477,7 +471,9 @@ private Map<String, Integer> translateNames2Ids(String profileId, List<String> t
477471
Map<String, Integer> name2Id = new LinkedHashMap<>(tgNames.size());
478472
List<String> allTgNames = getTemplateGroupNames(profileId);
479473
for (int i = 0; i < allTgNames.size(); i++) {
480-
if (tgNames.contains(allTgNames.get(i))) name2Id.put(allTgNames.get(i), i + 1);
474+
if (tgNames.contains(allTgNames.get(i))) {
475+
name2Id.put(allTgNames.get(i), i + 1);
476+
}
481477
}
482478

483479
return name2Id;

0 commit comments

Comments
 (0)