public void getTraceSummaryLine(StringBuilder buff) {
    super.getTraceSummaryLine(buff);
    
    buff.append(",subMsgType=");
    buff.append(getSubscriptionMessageType());

    List topics = getTopics();
    buff.append(",topicCount=");
    buff.append(topics.size());
    
    // As we may have a lot of topics, with a lot of duplication of topic space
    // and mapping, we need to condense the topic output. The following form is chosen:
    // topics=[my/topic1|0|1,my/topic2|0|2],0=Topic.Space.1,1=Topic.Space.2,2=Topic.Space.3
    //
    // Even condensed there's a concern the output could get too large, so it's limited to around 4KB
    Iterator tIterator = topics.iterator();
    Iterator tsIterator = getTopicSpaces().iterator();
    Iterator tsmIterator = getTopicSpaceMappings().iterator();
    // We use a list, not a map, for the list of unique names. This is because
    // we expect this list to be small, and want to keep it in order without
    // the overhead of a sorted map.
    ArrayList<String> uniqueNames = new ArrayList<String>();
    
    // Iterate through the topics
    buff.append(",topics=[");
    while(tIterator.hasNext()) {
      String topic = String.valueOf(tIterator.next());
      
      // Get integer keys for the string topicSpace/topicSpaceMapping values, coping with nulls
      int tsInteger  = getIntKeyForString(uniqueNames, tsIterator.hasNext()?tsIterator.next():null);
      int tsmInteger = getIntKeyForString(uniqueNames, tsmIterator.hasNext()?tsmIterator.next():null);
      
      // Append a compressed version of the topic + mapping
      buff.append(topic);
      buff.append('|');
      buff.append(tsInteger);
      buff.append('|');
      buff.append(tsmInteger);
      
      // Break out of the loop if it looks like we're going to
      // produce a dangerously large amount of output on the line.
      if (buff.length() > 4000) {
        buff.append(",..."); // We've already printed the count
        break;
      }
      
      // Append a separator if we're going round again
      if (tIterator.hasNext()) buff.append(',');
    }
    buff.append(']');
    
    // Append the unique topic space names with their integer values
    for (int i = 0; i < uniqueNames.size(); i++) {
      buff.append(',');
      buff.append(i);
      buff.append('=');
      buff.append(uniqueNames.get(i));
    }
    
    buff.append(",meName=");
    buff.append(getMEName());
    
    buff.append(",meUuid=");
    buff.append(new SIBUuid8(getMEUUID()));
    
    buff.append(",busName=");
    buff.append(getBusName());
    
  }
public void getTraceSummaryLine ( StringBuilder buff ) { super . getTraceSummaryLine ( buff ) ; buff . append ( ",subMsgType=" ) ; buff . append ( getSubscriptionMessageType ( ) ) ; List topics = getTopics ( ) ; buff . append ( ",topicCount=" ) ; buff . append ( topics . size ( ) ) ; Iterator tIterator = topics . iterator ( ) ; Iterator tsIterator = getTopicSpaces ( ) . iterator ( ) ; Iterator tsmIterator = getTopicSpaceMappings ( ) . iterator ( ) ; ArrayList < String > uniqueNames = new ArrayList < String > ( ) ; buff . append ( ",topics=[" ) ; while ( tIterator . hasNext ( ) ) { String topic = String . valueOf ( tIterator . next ( ) ) ; int tsInteger = getIntKeyForString ( uniqueNames , tsIterator . hasNext ( ) ? tsIterator . next ( ) : null ) ; int tsmInteger = getIntKeyForString ( uniqueNames , tsmIterator . hasNext ( ) ? tsmIterator . next ( ) : null ) ; buff . append ( topic ) ; buff . append ( '|' ) ; buff . append ( tsInteger ) ; buff . append ( '|' ) ; buff . append ( tsmInteger ) ; if ( buff . length ( ) > 4000 ) { buff . append ( ",..." ) ; break ; } if ( tIterator . hasNext ( ) ) buff . append ( ',' ) ; } buff . append ( ']' ) ; for ( int i = 0 ; i < uniqueNames . size ( ) ; i ++ ) { buff . append ( ',' ) ; buff . append ( i ) ; buff . append ( '=' ) ; buff . append ( uniqueNames . get ( i ) ) ; } buff . append ( ",meName=" ) ; buff . append ( getMEName ( ) ) ; buff . append ( ",meUuid=" ) ; buff . append ( new SIBUuid8 ( getMEUUID ( ) ) ) ; buff . append ( ",busName=" ) ; buff . append ( getBusName ( ) ) ; }
/*
Summary information for Subscription messages