code: def grab_java_message():
      """scan through the java output text and extract the bad java messages that may or may not happened when
      unit tests are run.  It will not record any bad java messages that are stored in g_ok_java_messages.
  
      :return: none
      """
  
      global g_temp_filename
      global g_current_testname
      global g_java_start_text
      global g_ok_java_messages
      global g_java_general_bad_messages  # store bad java messages not associated with running a unit test
      global g_java_general_bad_message_types
      global g_failure_occurred
      global g_java_message_type
      global g_all_java_message_type
      global g_toContinue
  
      java_messages = (
          []
      )  # store all bad java messages associated with running a unit test
      java_message_types = (
          []
      )  # store all bad java message types associated with running a unit test
  
      if os.path.isfile(
          g_temp_filename
      ):  # open temp file containing content of some java_*_0.out.txt
          java_file = open(g_temp_filename, "r")
  
          g_toContinue = False  # denote if a multi-line message starts
  
          tempMessage = ""
          messageType = ""
  
          for each_line in java_file:
              if g_java_start_text in each_line:
                  startStr, found, endStr = each_line.partition(
                      g_java_start_text
                  )
  
                  if len(found) > 0:
                      if (
                          len(g_current_testname) > 0
                      ):  # a new unit test is being started.  Save old info and move on
                          associate_test_with_java(
                              g_current_testname,
                              java_messages,
                              java_message_types,
                          )
  
                      g_current_testname = (
                          endStr.strip()
                      )  # record the test name
  
                      java_messages = []
                      java_message_types = []
  
              temp_strings = each_line.strip().split()
  
              if (len(temp_strings) >= 6) and (
                  temp_strings[5] in g_all_java_message_type
              ):
                  if (
                      g_toContinue == True
                  ):  # at the end of last message fragment
                      addJavaMessages(
                          tempMessage,
                          messageType,
                          java_messages,
                          java_message_types,
                      )
                      tempMessage = ""
                      messageType = ""
  
                  # start of new message fragment
                  g_toContinue = False
              else:  # non standard output.  Continuation of last java message, add it to bad java message list
                  if g_toContinue:
                      tempMessage += (
                          each_line  # add more java message here
                      )
                      # if len(g_current_testname) == 0:
                      #     addJavaMessages(each_line.strip(),"",java_messages,java_message_types)
                      # else:
                      #     addJavaMessages(each_line.strip(),"",java_messages,java_message_types)
  
              if (len(temp_strings) > 5) and (
                  temp_strings[5] in g_java_message_type
              ):  # find a bad java message
                  startStr, found, endStr = each_line.partition(
                      temp_strings[5]
                  )  # can be WARN,ERRR,FATAL,TRACE
  
                  if found and (len(endStr.strip()) > 0):
                      tempMessage += endStr
                      messageType = temp_strings[5]
                      #                    if (tempMessage not in g_ok_java_messages["general"]):  # found new bad messages that cannot be ignored
                      g_toContinue = True
  
                      # add tempMessage to bad java message list
          #                        addJavaMessages(tempMessage,temp_strings[5],java_messages,java_message_types)
          java_file.close()
  
imports: import sys
  import os
  import json
  import pickle
  import copy
  import subprocess
label_desc: Use image node_id 14 for calling a global function with example usage: grab_java_message() without return types