4545/** Base class for stateful and stateless classes */
4646public 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 {
0 commit comments