1010import java .util .ArrayList ;
1111import java .util .HashMap ;
1212import java .util .HashSet ;
13+ import java .util .LinkedHashMap ;
1314import java .util .List ;
1415import java .util .Map ;
1516import 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