diff --git a/pom.xml b/pom.xml
index 21ede6b..5e62bc3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -52,7 +52,7 @@
kg.apc
jmeter-plugins-cmn-jmeter
- 0.6
+ 0.7
kg.apc
@@ -95,5 +95,18 @@
maven-compiler-plugin
3.10.0
+
+ com.github.weisj
+ darklaf
+ 1.3.3.4
+ compile
+
+
+ com.github.weisj
+ darklaf
+ 1.3.3.4
+ pom
+
+
diff --git a/src/main/java/org/qainsights/jmeter/validatetg/gui/ValidateTGAction.java b/src/main/java/org/qainsights/jmeter/validatetg/gui/ValidateTGAction.java
index ad564af..7b06f98 100644
--- a/src/main/java/org/qainsights/jmeter/validatetg/gui/ValidateTGAction.java
+++ b/src/main/java/org/qainsights/jmeter/validatetg/gui/ValidateTGAction.java
@@ -7,6 +7,7 @@
import java.awt.event.ActionEvent;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
+import java.net.URISyntaxException;
import javax.swing.AbstractAction;
class ValidateTGAction extends AbstractAction {
@@ -14,11 +15,11 @@ class ValidateTGAction extends AbstractAction {
public static final KeyStroke VALIDATE_TG = KeyStroke.getKeyStroke(KeyEvent.VK_V, InputEvent.ALT_DOWN_MASK);
private static final Logger log = LoggerFactory.getLogger(ValidateTGAction.class);
- ValidateTGAction() {
+ ValidateTGAction() throws URISyntaxException {
super("Validate Thread Group(s)");
putValue(Action.ACTION_COMMAND_KEY, "validate_tg");
putValue(Action.ACCELERATOR_KEY, VALIDATE_TG);
- putValue(Action.SMALL_ICON, ValidateTGMenuItem.getButtonIcon(12));
+ putValue(Action.SMALL_ICON, ValidateTGMenuItem.getButtonIcon());
}
public void actionPerformed(ActionEvent actionEvent) {
diff --git a/src/main/java/org/qainsights/jmeter/validatetg/gui/ValidateTGMenuItem.java b/src/main/java/org/qainsights/jmeter/validatetg/gui/ValidateTGMenuItem.java
index 3c0f448..fc7d1cc 100644
--- a/src/main/java/org/qainsights/jmeter/validatetg/gui/ValidateTGMenuItem.java
+++ b/src/main/java/org/qainsights/jmeter/validatetg/gui/ValidateTGMenuItem.java
@@ -4,19 +4,31 @@
import org.apache.jmeter.gui.MainFrame;
import org.apache.jmeter.gui.util.JMeterToolBar;
import org.apache.jmeter.gui.action.ActionRouter;
+import org.apache.jmeter.util.JMeterUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.net.URL;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
-import java.util.Objects;
+import com.github.weisj.darklaf.icons.ThemedSVGIcon;
public class ValidateTGMenuItem extends JMenuItem implements ActionListener{
private static final Logger log = LoggerFactory.getLogger(ValidateTGMenuItem.class);
- private static final Action vtg = new ValidateTGAction();
+ private static Action vtg = null;
+
+ static {
+ try {
+ vtg = new ValidateTGAction();
+ } catch (URISyntaxException e) {
+ e.printStackTrace();
+ }
+ }
public ValidateTGMenuItem() {
super(vtg);
@@ -24,9 +36,15 @@ public ValidateTGMenuItem() {
addToolbarIcon();
}
- public static ImageIcon getButtonIcon(int pixelSize) {
- String sizedImage = String.format("/org/qainsights/jmeter/validatetg/validate-tg-icon-%2dx%2d.png", pixelSize, pixelSize);
- return new ImageIcon(Objects.requireNonNull(ValidateTGMenuItem.class.getResource(sizedImage)));
+ public static Icon getButtonIcon() throws URISyntaxException {
+ log.debug("Image");
+ String svgResourcePath = "/org/qainsights/jmeter/validatetg/Check-Mark.svg";
+ URL svgUrl = JMeterUtils.class.getResource(svgResourcePath);
+ URI svgUri = null;
+ svgUri = svgUrl.toURI();
+ Icon icon = new ThemedSVGIcon(svgUri, 22, 22);
+
+ return icon;
}
private void addToolbarIcon() {
@@ -49,15 +67,20 @@ public void run() {
}
int pos = getPositionForIcon(toolbar.getComponents());
log.debug("validate rootPos: " + String.valueOf(pos));
- Component toolbarButton = getToolbarButton();
+ Component toolbarButton = null;
+ try {
+ toolbarButton = getToolbarButton();
+ } catch (URISyntaxException e) {
+ e.printStackTrace();
+ }
toolbarButton.setSize(toolbar.getComponent(pos).getSize());
toolbar.add(toolbarButton, pos);
}
});
}
}
- private JButton getToolbarButton() {
- JButton button = new JButton(getButtonIcon(22));
+ private JButton getToolbarButton() throws URISyntaxException {
+ JButton button = new JButton(getButtonIcon());
button.setToolTipText("Validate Thread Group(s)");
button.addActionListener(this);
button.setActionCommand("validate_tg");
@@ -71,7 +94,7 @@ private int getPositionForIcon(Component[] toolbarComponents) {
if(itemClassName.contains("javax.swing.JButton")) {
String actionCommandText = ((JButton) item).getModel().getActionCommand();
log.debug("Running for iteration: "+ index + ", " + actionCommandText);
- if (actionCommandText != null && actionCommandText.equals("search_tree")){
+ if (actionCommandText != null && actionCommandText.equals("start")){
break;
}
}
diff --git a/src/main/resources/org/qainsights/jmeter/validatetg/Check-Mark.svg b/src/main/resources/org/qainsights/jmeter/validatetg/Check-Mark.svg
new file mode 100644
index 0000000..373ca7d
--- /dev/null
+++ b/src/main/resources/org/qainsights/jmeter/validatetg/Check-Mark.svg
@@ -0,0 +1,22 @@
+
\ No newline at end of file
diff --git a/src/main/resources/org/qainsights/jmeter/validatetg/validate-tg-icon-12x12.png b/src/main/resources/org/qainsights/jmeter/validatetg/validate-tg-icon-12x12.png
deleted file mode 100644
index 7a694c8..0000000
Binary files a/src/main/resources/org/qainsights/jmeter/validatetg/validate-tg-icon-12x12.png and /dev/null differ
diff --git a/src/main/resources/org/qainsights/jmeter/validatetg/validate-tg-icon-13x13.png b/src/main/resources/org/qainsights/jmeter/validatetg/validate-tg-icon-13x13.png
deleted file mode 100644
index e636c5a..0000000
Binary files a/src/main/resources/org/qainsights/jmeter/validatetg/validate-tg-icon-13x13.png and /dev/null differ
diff --git a/src/main/resources/org/qainsights/jmeter/validatetg/validate-tg-icon-14x14.png b/src/main/resources/org/qainsights/jmeter/validatetg/validate-tg-icon-14x14.png
deleted file mode 100644
index ef0a3f4..0000000
Binary files a/src/main/resources/org/qainsights/jmeter/validatetg/validate-tg-icon-14x14.png and /dev/null differ
diff --git a/src/main/resources/org/qainsights/jmeter/validatetg/validate-tg-icon-16x16.png b/src/main/resources/org/qainsights/jmeter/validatetg/validate-tg-icon-16x16.png
deleted file mode 100644
index 2763f03..0000000
Binary files a/src/main/resources/org/qainsights/jmeter/validatetg/validate-tg-icon-16x16.png and /dev/null differ
diff --git a/src/main/resources/org/qainsights/jmeter/validatetg/validate-tg-icon-22x22.png b/src/main/resources/org/qainsights/jmeter/validatetg/validate-tg-icon-22x22.png
deleted file mode 100644
index 1614570..0000000
Binary files a/src/main/resources/org/qainsights/jmeter/validatetg/validate-tg-icon-22x22.png and /dev/null differ
diff --git a/src/main/resources/org/qainsights/jmeter/validatetg/validate-tg-icon-32x32.png b/src/main/resources/org/qainsights/jmeter/validatetg/validate-tg-icon-32x32.png
deleted file mode 100644
index 2b79860..0000000
Binary files a/src/main/resources/org/qainsights/jmeter/validatetg/validate-tg-icon-32x32.png and /dev/null differ
diff --git a/src/main/resources/org/qainsights/jmeter/validatetg/validate-tg-icon-48x48.png b/src/main/resources/org/qainsights/jmeter/validatetg/validate-tg-icon-48x48.png
deleted file mode 100644
index cb25ac5..0000000
Binary files a/src/main/resources/org/qainsights/jmeter/validatetg/validate-tg-icon-48x48.png and /dev/null differ