test_class.file: central/src/test/java/org/glowroot/central/v09support/V09SupportTest.java
test_class.identifier: V09SupportTest
test_case.body: @Test
      public void shouldGetAgentRollupIdsV09() {
          assertThat(V09Support.getAgentRollupIdsV09("aaa")).containsExactly("aaa");
          assertThat(V09Support.getAgentRollupIdsV09("aaa::bbb")).containsExactly("bbb", "aaa");
          assertThat(V09Support.getAgentRollupIdsV09("aaa::bbb::ccc")).containsExactly("ccc",
                  "aaa/bbb", "aaa");
          assertThat(V09Support.getAgentRollupIdsV09("a")).containsExactly("a");
          assertThat(V09Support.getAgentRollupIdsV09("a::b")).containsExactly("b", "a");
          assertThat(V09Support.getAgentRollupIdsV09("a::b::c")).containsExactly("c", "a/b", "a");
          assertThat(V09Support.getAgentRollupIdsV09("a:b:c")).containsExactly("a:b:c");
      }
test_case.class_method_signature: V09SupportTest.shouldGetAgentRollupIdsV09()
test_case.full_signature: @Test public void shouldGetAgentRollupIdsV09()
test_case.identifier: shouldGetAgentRollupIdsV09
test_case.invocations: containsExactly assertThat getAgentRollupIdsV09 containsExactly assertThat getAgentRollupIdsV09 containsExactly assertThat getAgentRollupIdsV09 containsExactly assertThat getAgentRollupIdsV09 containsExactly assertThat getAgentRollupIdsV09 containsExactly assertThat getAgentRollupIdsV09 containsExactly assertThat getAgentRollupIdsV09
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void shouldGetAgentRollupIdsV09()
focal_class.file: central/src/main/java/org/glowroot/central/v09support/V09Support.java
focal_class.identifier: V09Support
focal_class.class_method_signature: V09Support.getAgentRollupIdsV09(String agentId)
focal_class.full_signature: static List<String> getAgentRollupIdsV09(String agentId)
focal_class.identifier: getAgentRollupIdsV09
focal_class.modifiers: static
focal_class.parameters: (String agentId)
focal_class.return: List<String>
focal_class.signature: List<String> getAgentRollupIdsV09(String agentId)
focal_class.class_method_signature: V09Support.getParentV09(String agentRollupId)
focal_class.full_signature: static @Nullable String getParentV09(String agentRollupId)
focal_class.identifier: getParentV09
focal_class.modifiers: static @Nullable
focal_class.parameters: (String agentRollupId)
focal_class.return: String
focal_class.signature: String getParentV09(String agentRollupId)
focal_class.class_method_signature: V09Support.convertToV09(String agentRollupId)
focal_class.full_signature: static String convertToV09(String agentRollupId)
focal_class.identifier: convertToV09
focal_class.modifiers: static
focal_class.parameters: (String agentRollupId)
focal_class.return: String
focal_class.signature: String convertToV09(String agentRollupId)
focal_class.class_method_signature: V09Support.isLeaf(String agentRollupId)
focal_class.full_signature: static boolean isLeaf(String agentRollupId)
focal_class.identifier: isLeaf
focal_class.modifiers: static
focal_class.parameters: (String agentRollupId)
focal_class.return: boolean
focal_class.signature: boolean isLeaf(String agentRollupId)
focal_class.class_method_signature: V09Support.getPlan(Set<String> v09AgentRollupIds, long v09LastCaptureTime,
              String agentRollupId, long from, long to)
focal_class.full_signature: static QueryPlan getPlan(Set<String> v09AgentRollupIds, long v09LastCaptureTime,
              String agentRollupId, long from, long to)
focal_class.identifier: getPlan
focal_class.modifiers: static
focal_class.parameters: (Set<String> v09AgentRollupIds, long v09LastCaptureTime,
              String agentRollupId, long from, long to)
focal_class.return: QueryPlan
focal_class.signature: QueryPlan getPlan(Set<String> v09AgentRollupIds, long v09LastCaptureTime,
              String agentRollupId, long from, long to)
focal_method.body: static List<String> getAgentRollupIdsV09(String agentId) {
          List<String> agentRollupIds = new ArrayList<>();
          int nextFoundIndex = agentId.lastIndexOf("::", agentId.length() - 3);
          if (nextFoundIndex == -1) {
              agentRollupIds.add(agentId);
          } else {
              agentRollupIds.add(agentId.substring(agentId.lastIndexOf("::", agentId.length()) + 2));
              while (nextFoundIndex != -1) {
                  agentRollupIds.add(agentId.substring(0, nextFoundIndex).replace("::", "/"));
                  nextFoundIndex = agentId.lastIndexOf("::", nextFoundIndex - 1);
              }
          }
          return agentRollupIds;
      }
focal_method.class_method_signature: V09Support.getAgentRollupIdsV09(String agentId)
focal_method.full_signature: static List<String> getAgentRollupIdsV09(String agentId)
focal_method.identifier: getAgentRollupIdsV09
focal_method.invocations: lastIndexOf length add add substring lastIndexOf length add replace substring lastIndexOf
focal_method.modifiers: static
focal_method.parameters: (String agentId)
focal_method.return: List<String>
focal_method.signature: List<String> getAgentRollupIdsV09(String agentId)