protected String parsePolicyWeights(Map<SubClusterIdInfo, Float> policyWeights) {
    if (MapUtils.isEmpty(policyWeights)) {
      return null;
    }
    List<String> policyWeightList = new ArrayList<>();
    for (Map.Entry<SubClusterIdInfo, Float> entry : policyWeights.entrySet()) {
      SubClusterIdInfo key = entry.getKey();
      Float value = entry.getValue();
      policyWeightList.add(key.toId() + ":" + value);
    }
    return StringUtils.join(policyWeightList, ",");
  }
@Test
  public void testParsePolicyWeights() {
    Map<SubClusterIdInfo, Float> policyWeights = new LinkedHashMap<>();
    SubClusterIdInfo sc1 = new SubClusterIdInfo("SC-1");
    policyWeights.put(sc1, 0.7f);
    SubClusterIdInfo sc2 = new SubClusterIdInfo("SC-2");
    policyWeights.put(sc2, 0.3f);
    String policyWeight = interceptor.parsePolicyWeights(policyWeights);
    assertEquals("SC-1:0.7,SC-2:0.3", policyWeight);
  }