From fb347a8dc6e2606f7be4dc598f3c1abe14fd91a9 Mon Sep 17 00:00:00 2001 From: gh0stkey <24655118+gh0stkey@users.noreply.github.com> Date: Thu, 30 May 2024 15:56:49 +0800 Subject: [PATCH] Version: 3.2.1 Update --- .../board/message/MessageTableModel.java | 51 ++++++++----------- .../hae/utils/project/ProjectProcessor.java | 3 +- 2 files changed, 23 insertions(+), 31 deletions(-) diff --git a/src/main/java/hae/component/board/message/MessageTableModel.java b/src/main/java/hae/component/board/message/MessageTableModel.java index 2c68cc2..b93c8da 100644 --- a/src/main/java/hae/component/board/message/MessageTableModel.java +++ b/src/main/java/hae/component/board/message/MessageTableModel.java @@ -474,48 +474,39 @@ public class MessageTableModel extends AbstractTableModel { @Override public void changeSelection(int row, int col, boolean toggle, boolean extend) { super.changeSelection(row, col, toggle, extend); - int selectedIndex = convertRowIndexToModel(row); - if (lastSelectedIndex != selectedIndex) { - lastSelectedIndex = selectedIndex; - messageEntry = filteredLog.get(selectedIndex); + if (currentWorker != null && !currentWorker.isDone()) { + currentWorker.cancel(true); + } - requestEditor.setRequest(HttpRequest.httpRequest("Loading...")); - responseEditor.setResponse(HttpResponse.httpResponse("Loading...")); + currentWorker = new SwingWorker<>() { + @Override + protected Void doInBackground() { + int selectedIndex = convertRowIndexToModel(row); + if (lastSelectedIndex != selectedIndex) { + lastSelectedIndex = selectedIndex; + messageEntry = filteredLog.get(selectedIndex); - if (currentWorker != null && !currentWorker.isDone()) { - currentWorker.cancel(true); - } - - currentWorker = new SwingWorker<>() { - @Override - protected ByteArray[] doInBackground() { + requestEditor.setRequest(HttpRequest.httpRequest("Loading...")); + responseEditor.setResponse(HttpResponse.httpResponse("Loading...")); HttpRequestResponse httpRequestResponse = messageEntry.getRequestResponse(); - ByteArray requestByte = messageEntry.getRequestResponse().request().toByteArray(); - ByteArray responseByte = messageEntry.getRequestResponse().response().toByteArray(); + ByteArray requestByte = httpRequestResponse.request().toByteArray(); + ByteArray responseByte = httpRequestResponse.response().toByteArray(); if (responseByte.length() > MAX_LENGTH) { String ellipsis = "\r\n......"; responseByte = responseByte.subArray(0, MAX_LENGTH).withAppended(ellipsis); } - return new ByteArray[]{requestByte, responseByte}; + requestEditor.setRequest(HttpRequest.httpRequest(messageEntry.getRequestResponse().httpService(), requestByte)); + responseEditor.setResponse(HttpResponse.httpResponse(responseByte)); + } - @Override - protected void done() { - if (!isCancelled()) { - try { - ByteArray[] result = (ByteArray[]) get(); - requestEditor.setRequest(HttpRequest.httpRequest(messageEntry.getRequestResponse().httpService(), result[0])); - responseEditor.setResponse(HttpResponse.httpResponse(result[1])); - } catch (Exception ignored) { - } - } - } - }; - currentWorker.execute(); - } + return null; + } + }; + currentWorker.execute(); } } } diff --git a/src/main/java/hae/utils/project/ProjectProcessor.java b/src/main/java/hae/utils/project/ProjectProcessor.java index 0837bdf..1f8efd1 100644 --- a/src/main/java/hae/utils/project/ProjectProcessor.java +++ b/src/main/java/hae/utils/project/ProjectProcessor.java @@ -190,4 +190,5 @@ public class ProjectProcessor { return requiredRootEntries.isEmpty() && hasHttpDirectoryWithFiles; } -} \ No newline at end of file +} +