Skip to content

Commit 256680d

Browse files
committed
refactor code so that the order of return value is the same as trex server
1 parent 7305842 commit 256680d

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

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

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import java.util.ArrayList;
1111
import java.util.HashMap;
1212
import java.util.HashSet;
13+
import java.util.LinkedHashMap;
1314
import java.util.List;
1415
import java.util.Map;
1516
import java.util.Map.Entry;
@@ -417,7 +418,8 @@ public List<String> getTemplateGroupNames(String profileId) {
417418
JsonElement response = new JsonParser().parse(json);
418419
JsonArray names = response.getAsJsonArray().get(0).getAsJsonObject().get("result").getAsJsonObject()
419420
.get("tg_names").getAsJsonArray();
420-
return StreamSupport.stream(names.spliterator(), false).map(name -> name.getAsString())
421+
return StreamSupport.stream(names.spliterator(), false)
422+
.map(JsonElement::getAsString)
421423
.collect(Collectors.toList());
422424
}
423425

@@ -439,16 +441,15 @@ public Map<String, AstfStatistics> getTemplateGroupStatistics(List<String> tgNam
439441
* @return Map key:tgName, value:AstfStatistics
440442
*/
441443
public Map<String, AstfStatistics> getTemplateGroupStatistics(String profileId, List<String> tgNames) {
442-
Map<String, AstfStatistics> stats = new HashMap<>();
443-
Map<String, Object> payload = createPayload(profileId);
444-
payload.put("epoch", 1);
445444

446445
//remove duplicated tgNames in input list
447446
tgNames = new ArrayList<>(new HashSet<>(tgNames));
447+
Map<String, AstfStatistics> stats = new LinkedHashMap<>(tgNames.size());
448+
449+
Map<String, Object> payload = createPayload(profileId);
450+
payload.put("epoch", 1);
448451
Map<String, Integer> name2Id = translateNames2Ids(profileId, tgNames);
449-
List<Integer> tgIds = new ArrayList<>(tgNames.size());
450-
tgNames.forEach(name -> tgIds.add(name2Id.get(name)));
451-
payload.put("tg_ids", tgIds);
452+
payload.put("tg_ids", new ArrayList<>(name2Id.values()));
452453

453454
String json = callMethod("get_tg_id_stats", payload);
454455
JsonElement response = new JsonParser().parse(json);
@@ -476,7 +477,7 @@ public Map<String, AstfStatistics> getTemplateGroupStatistics(String profileId,
476477
* @return Map key:tgName, value:tgId
477478
*/
478479
private Map<String, Integer> translateNames2Ids(String profileId, List<String> tgNames) {
479-
Map<String, Integer> name2Id = new HashMap<>(tgNames.size());
480+
Map<String, Integer> name2Id = new LinkedHashMap<>(tgNames.size());
480481
List<String> allTgNames = getTemplateGroupNames(profileId);
481482
for (int i = 0; i < allTgNames.size(); i++) {
482483
if(tgNames.contains(allTgNames.get(i)))

0 commit comments

Comments
 (0)