test_class.file: paparazzo/src/test/java/com/github/rtyley/android/screenshot/paparazzo/OnDemandScreenshotServiceTest.java
test_class.identifier: OnDemandScreenshotServiceTest
test_case.body: @Test
      public void shouldParseLogLineWithKeyValue() {
          assertThat(keyValueMapFor("{name=ConfigureMorseActivity-SOS}"),
                  IsMap.containingOnly("name", "ConfigureMorseActivity-SOS"));
      }
test_case.class_method_signature: OnDemandScreenshotServiceTest.shouldParseLogLineWithKeyValue()
test_case.full_signature: @Test public void shouldParseLogLineWithKeyValue()
test_case.identifier: shouldParseLogLineWithKeyValue
test_case.invocations: assertThat keyValueMapFor containingOnly
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void shouldParseLogLineWithKeyValue()
focal_class.declarator: device
focal_class.modifier: private final
focal_class.original_string: private final IDevice device;
focal_class.type: IDevice
focal_class.var_name: device
focal_class.declarator: processors
focal_class.modifier: private final
focal_class.original_string: private final List<ScreenshotProcessor> processors;
focal_class.type: List<ScreenshotProcessor>
focal_class.var_name: processors
focal_class.declarator: logListenerCommandShell
focal_class.modifier: private final
focal_class.original_string: private final ScreenshotRequestListener logListenerCommandShell;
focal_class.type: ScreenshotRequestListener
focal_class.var_name: logListenerCommandShell
focal_class.declarator: KEY_VALUE_HOLDER_PATTERN = Pattern.compile("\\{(.*)\\}$")
focal_class.modifier: private static final
focal_class.original_string: private static final Pattern KEY_VALUE_HOLDER_PATTERN = Pattern.compile("\\{(.*)\\}$");
focal_class.type: Pattern
focal_class.var_name: KEY_VALUE_HOLDER_PATTERN
focal_class.file: paparazzo/src/main/java/com/github/rtyley/android/screenshot/paparazzo/OnDemandScreenshotService.java
focal_class.identifier: OnDemandScreenshotService
focal_class.class_method_signature: OnDemandScreenshotService.OnDemandScreenshotService(IDevice device, ScreenshotProcessor... processors)
focal_class.full_signature: public  OnDemandScreenshotService(IDevice device, ScreenshotProcessor... processors)
focal_class.identifier: OnDemandScreenshotService
focal_class.modifiers: public
focal_class.parameters: (IDevice device, ScreenshotProcessor... processors)
focal_class.signature:  OnDemandScreenshotService(IDevice device, ScreenshotProcessor... processors)
focal_class.class_method_signature: OnDemandScreenshotService.start()
focal_class.full_signature: public void start()
focal_class.identifier: start
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void start()
focal_class.class_method_signature: OnDemandScreenshotService.finish()
focal_class.full_signature: public void finish()
focal_class.identifier: finish
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void finish()
focal_class.class_method_signature: OnDemandScreenshotService.takeScreenshotFor(String logLine)
focal_class.full_signature: private void takeScreenshotFor(String logLine)
focal_class.identifier: takeScreenshotFor
focal_class.modifiers: private
focal_class.parameters: (String logLine)
focal_class.return: void
focal_class.signature: void takeScreenshotFor(String logLine)
focal_class.class_method_signature: OnDemandScreenshotService.keyValueMapFor(String logLine)
focal_class.full_signature: static Map<String, String> keyValueMapFor(String logLine)
focal_class.identifier: keyValueMapFor
focal_class.modifiers: static
focal_class.parameters: (String logLine)
focal_class.return: Map<String, String>
focal_class.signature: Map<String, String> keyValueMapFor(String logLine)
focal_class.class_method_signature: OnDemandScreenshotService.bufferedImageFrom(RawImage rawImage)
focal_class.full_signature: private static BufferedImage bufferedImageFrom(RawImage rawImage)
focal_class.identifier: bufferedImageFrom
focal_class.modifiers: private static
focal_class.parameters: (RawImage rawImage)
focal_class.return: BufferedImage
focal_class.signature: BufferedImage bufferedImageFrom(RawImage rawImage)
focal_method.body: static Map<String, String> keyValueMapFor(String logLine) {
          Map<String, String> keyValueMap = new HashMap<String, String>();
          Matcher matcher = KEY_VALUE_HOLDER_PATTERN.matcher(logLine);
          if (matcher.find()) {
              for (String keyValuePair : matcher.group(1).split(",")) {
                  int separatorIndex = keyValuePair.indexOf("=");
                  if (separatorIndex > 0) {
                      String key = keyValuePair.substring(0, separatorIndex);
                      String value = keyValuePair.substring(separatorIndex + 1);
                      keyValueMap.put(key, value);
                  }
              }
          }
          return keyValueMap;
      }
focal_method.class_method_signature: OnDemandScreenshotService.keyValueMapFor(String logLine)
focal_method.full_signature: static Map<String, String> keyValueMapFor(String logLine)
focal_method.identifier: keyValueMapFor
focal_method.invocations: matcher find split group indexOf substring substring put
focal_method.modifiers: static
focal_method.parameters: (String logLine)
focal_method.return: Map<String, String>
focal_method.signature: Map<String, String> keyValueMapFor(String logLine)