diff --git a/src/org/testKitGen/TestDivider.java b/src/org/testKitGen/TestDivider.java index 8d503d7f..cdd1412f 100644 --- a/src/org/testKitGen/TestDivider.java +++ b/src/org/testKitGen/TestDivider.java @@ -24,6 +24,7 @@ import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; +import java.io.StringReader; import java.io.FileReader; import org.json.simple.JSONArray; import org.json.simple.JSONObject; @@ -229,19 +230,34 @@ private Map getDataFromTRSS() { String command = "curl --silent --max-time 120 -L " + URL; System.out.println("Attempting to get test duration data from TRSS."); System.out.println(command); - Process process; try { - process = Runtime.getRuntime().exec(command); + Process process = Runtime.getRuntime().exec(command); + try (InputStream responseStream = process.getInputStream(); + BufferedReader reader = new BufferedReader(new InputStreamReader(responseStream))) { + String line; + StringBuilder responseBuilder = new StringBuilder(); + while ((line = reader.readLine()) != null) { + responseBuilder.append(line); + } + String responseData = responseBuilder.toString(); + if (!responseData.isEmpty()) { + try (Reader stringReader = new StringReader(responseData)) { + parseDuration(stringReader, map); + } catch (ParseException e) { + System.out.println("Error parsing the data: " + e.getMessage()); + e.printStackTrace(); + } + } else { + System.out.println("No data received from TRSS."); + } + } catch (IOException e) { + System.out.println("Error reading input from TRSS: " + e.getMessage()); + e.printStackTrace(); + } } catch (IOException e) { - System.out.println("Warning: cannot get data from TRSS."); - return map; - } - try (InputStream responseStream = process.getInputStream(); - Reader responseReader = new BufferedReader(new InputStreamReader(responseStream))) { - parseDuration(responseReader, map); - } catch (IOException | ParseException e) { - System.out.println("Warning: cannot parse data from TRSS."); + System.out.println("Error executing curl command or reading input from TRSS: " + e.getMessage()); e.printStackTrace(); + return map; } return map; } @@ -276,7 +292,15 @@ private Queue> createDurationQueue() { Map testsInvalid = new HashMap<>(); for (String test : allTests) { if (matchTRSS.contains(test) || matchCache.contains(test)) { - int duration = TRSSMap.containsKey(test) ? TRSSMap.get(test) : cacheMap.get(test); + int duration; + if (TRSSMap.containsKey(test)) { + duration = TRSSMap.get(test); + System.out.println("TRSSMap.get(" + test + "): " + duration); + } else { + duration = cacheMap.get(test); + System.out.println("cacheMap.get(" + test + "): " + duration); + } + // int duration = TRSSMap.containsKey(test) ? TRSSMap.get(test) : cacheMap.get(test); if (duration > 0) { durationQueue.offer(new AbstractMap.SimpleEntry<>(test, duration)); } else {