From 85323ee1802314d82c17de38c86868de5ad41824 Mon Sep 17 00:00:00 2001 From: Dolph Flynn <96876199+DolphFlynn@users.noreply.github.com> Date: Wed, 14 Feb 2024 18:47:17 +0000 Subject: [PATCH 1/2] Encapsulate KeysModelListener within ConfigView. --- .../model/keys/KeysModelListener.java | 23 ++++++++++++++++++ .../jwteditor/view/config/ConfigView.java | 24 ++++--------------- 2 files changed, 28 insertions(+), 19 deletions(-) diff --git a/src/main/java/com/blackberry/jwteditor/model/keys/KeysModelListener.java b/src/main/java/com/blackberry/jwteditor/model/keys/KeysModelListener.java index f6a9fc7..dd2e513 100644 --- a/src/main/java/com/blackberry/jwteditor/model/keys/KeysModelListener.java +++ b/src/main/java/com/blackberry/jwteditor/model/keys/KeysModelListener.java @@ -20,4 +20,27 @@ public void notifyKeyDeleted(int rowIndex) { public void notifyKeyDeleted(Key key) { } } + + class SimpleKeyModelListener implements KeysModelListener { + private final Runnable action; + + public SimpleKeyModelListener(Runnable action) { + this.action = action; + } + + @Override + public void notifyKeyInserted(Key key) { + action.run(); + } + + @Override + public void notifyKeyDeleted(int rowIndex) { + action.run(); + } + + @Override + public void notifyKeyDeleted(Key key) { + action.run(); + } + } } diff --git a/src/main/java/com/blackberry/jwteditor/view/config/ConfigView.java b/src/main/java/com/blackberry/jwteditor/view/config/ConfigView.java index 5909acd..bb95017 100644 --- a/src/main/java/com/blackberry/jwteditor/view/config/ConfigView.java +++ b/src/main/java/com/blackberry/jwteditor/view/config/ConfigView.java @@ -27,7 +27,7 @@ import burp.scanner.ScannerConfig; import com.blackberry.jwteditor.model.keys.Key; import com.blackberry.jwteditor.model.keys.KeysModel; -import com.blackberry.jwteditor.model.keys.KeysModelListener; +import com.blackberry.jwteditor.model.keys.KeysModelListener.SimpleKeyModelListener; import com.blackberry.jwteditor.view.utils.DocumentAdapter; import javax.swing.*; @@ -38,7 +38,7 @@ import static java.awt.Font.BOLD; -public class ConfigView implements KeysModelListener { +public class ConfigView { private final IntruderConfig intruderConfig; private JPanel mainPanel; @@ -65,7 +65,6 @@ public ConfigView(BurpConfig burpConfig, UserInterface userInterface, boolean is this.intruderConfig = burpConfig.intruderConfig(); ProxyConfig proxyConfig = burpConfig.proxyConfig(); - keysModel.addKeyModelListener(this); checkBoxHighlightJWT.setSelected(proxyConfig.highlightJWT()); checkBoxHighlightJWT.addActionListener(e -> { @@ -87,9 +86,10 @@ public ConfigView(BurpConfig burpConfig, UserInterface userInterface, boolean is comboBoxPayloadPosition.setSelectedItem(intruderConfig.fuzzLocation()); comboBoxPayloadPosition.addActionListener(e -> intruderConfig.setFuzzLocation((FuzzLocation) comboBoxPayloadPosition.getSelectedItem())); - this.updateSigningKeyList(); + updateSigningKeyList(); comboBoxIntruderSigningKeyId.addActionListener(e -> intruderConfig.setSigningKeyId((String) comboBoxIntruderSigningKeyId.getSelectedItem())); resignIntruderJWS.addActionListener(e -> intruderConfig.setResign(resignIntruderJWS.isSelected())); + keysModel.addKeyModelListener(new SimpleKeyModelListener(this::updateSigningKeyList)); ScannerConfig scannerConfig = burpConfig.scannerConfig(); @@ -114,7 +114,7 @@ public ConfigView(BurpConfig burpConfig, UserInterface userInterface, boolean is comboBoxHighlightColor.setRenderer(new HighlightComboRenderer()); } - public void updateSigningKeyList() { + private void updateSigningKeyList() { List signingKeys = keysModel.getSigningKeys(); String[] signingKeyIds = signingKeys.stream().map(Key::getID).toArray(String[]::new); String selectedSigningId = intruderConfig.signingKeyId(); @@ -161,18 +161,4 @@ public Component getListCellRendererComponent(JList li return label; } } - - public void notifyKeyInserted(Key key) { - this.updateSigningKeyList(); - } - - @Override - public void notifyKeyDeleted(int rowIndex) { - this.updateSigningKeyList(); - } - - @Override - public void notifyKeyDeleted(Key key) { - this.updateSigningKeyList(); - } } From 94b3c57ad183cce68fff4a1fc17352bc2b5d0e21 Mon Sep 17 00:00:00 2001 From: Dolph Flynn <96876199+DolphFlynn@users.noreply.github.com> Date: Wed, 14 Feb 2024 18:50:17 +0000 Subject: [PATCH 2/2] Update names of KeysModelListener implementations. --- .../blackberry/jwteditor/model/keys/KeysModelListener.java | 6 +++--- .../com/blackberry/jwteditor/view/config/ConfigView.java | 4 ++-- src/test/java/com/blackberry/jwteditor/KeysModelTest.java | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/blackberry/jwteditor/model/keys/KeysModelListener.java b/src/main/java/com/blackberry/jwteditor/model/keys/KeysModelListener.java index dd2e513..6ce2045 100644 --- a/src/main/java/com/blackberry/jwteditor/model/keys/KeysModelListener.java +++ b/src/main/java/com/blackberry/jwteditor/model/keys/KeysModelListener.java @@ -7,7 +7,7 @@ public interface KeysModelListener { void notifyKeyDeleted(Key key); - class InertKeyModelListener implements KeysModelListener { + class InertKeysModelListener implements KeysModelListener { @Override public void notifyKeyInserted(Key key) { } @@ -21,10 +21,10 @@ public void notifyKeyDeleted(Key key) { } } - class SimpleKeyModelListener implements KeysModelListener { + class SimpleKeysModelListener implements KeysModelListener { private final Runnable action; - public SimpleKeyModelListener(Runnable action) { + public SimpleKeysModelListener(Runnable action) { this.action = action; } diff --git a/src/main/java/com/blackberry/jwteditor/view/config/ConfigView.java b/src/main/java/com/blackberry/jwteditor/view/config/ConfigView.java index bb95017..fa116e4 100644 --- a/src/main/java/com/blackberry/jwteditor/view/config/ConfigView.java +++ b/src/main/java/com/blackberry/jwteditor/view/config/ConfigView.java @@ -27,7 +27,7 @@ import burp.scanner.ScannerConfig; import com.blackberry.jwteditor.model.keys.Key; import com.blackberry.jwteditor.model.keys.KeysModel; -import com.blackberry.jwteditor.model.keys.KeysModelListener.SimpleKeyModelListener; +import com.blackberry.jwteditor.model.keys.KeysModelListener.SimpleKeysModelListener; import com.blackberry.jwteditor.view.utils.DocumentAdapter; import javax.swing.*; @@ -89,7 +89,7 @@ public ConfigView(BurpConfig burpConfig, UserInterface userInterface, boolean is updateSigningKeyList(); comboBoxIntruderSigningKeyId.addActionListener(e -> intruderConfig.setSigningKeyId((String) comboBoxIntruderSigningKeyId.getSelectedItem())); resignIntruderJWS.addActionListener(e -> intruderConfig.setResign(resignIntruderJWS.isSelected())); - keysModel.addKeyModelListener(new SimpleKeyModelListener(this::updateSigningKeyList)); + keysModel.addKeyModelListener(new SimpleKeysModelListener(this::updateSigningKeyList)); ScannerConfig scannerConfig = burpConfig.scannerConfig(); diff --git a/src/test/java/com/blackberry/jwteditor/KeysModelTest.java b/src/test/java/com/blackberry/jwteditor/KeysModelTest.java index 0db1b38..01d00ed 100644 --- a/src/test/java/com/blackberry/jwteditor/KeysModelTest.java +++ b/src/test/java/com/blackberry/jwteditor/KeysModelTest.java @@ -19,7 +19,7 @@ package com.blackberry.jwteditor; import com.blackberry.jwteditor.model.keys.KeysModel; -import com.blackberry.jwteditor.model.keys.KeysModelListener.InertKeyModelListener; +import com.blackberry.jwteditor.model.keys.KeysModelListener.InertKeysModelListener; import com.blackberry.jwteditor.model.keys.PasswordKey; import org.junit.jupiter.api.Test; @@ -111,7 +111,7 @@ void deleteMultipleKeys_listenerOnlyFiresOncePerKey() { .withKey(new PasswordKey("testKeyId", "secret", 8, 1337)) .withKey(new PasswordKey("another", "shrubbery", 8, 1337)) .build(); - model.addKeyModelListener(new InertKeyModelListener() { + model.addKeyModelListener(new InertKeysModelListener() { @Override public void notifyKeyDeleted(int rowIndex) { noOfListenerInvocations.incrementAndGet();