From 4239801c61fd47aab4bd301f9a8a21c0026eae22 Mon Sep 17 00:00:00 2001 From: NaveenKumar Namachivayam Date: Sat, 19 Mar 2022 10:49:21 -0400 Subject: [PATCH 1/2] Add SVG Icon --- .../validatetg/gui/ValidateTGAction.java | 2 +- .../validatetg/gui/ValidateTGMenuItem.java | 6 ++--- .../jmeter/validatetg/Check-Mark.svg | 22 ++++++++++++++++++ .../validate-tg-icon-48x48 - Copy.png | Bin 0 -> 4923 bytes 4 files changed, 26 insertions(+), 4 deletions(-) create mode 100644 src/main/resources/org/qainsights/jmeter/validatetg/Check-Mark.svg create mode 100644 src/main/resources/org/qainsights/jmeter/validatetg/validate-tg-icon-48x48 - Copy.png 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..0dd2ed5 100644 --- a/src/main/java/org/qainsights/jmeter/validatetg/gui/ValidateTGAction.java +++ b/src/main/java/org/qainsights/jmeter/validatetg/gui/ValidateTGAction.java @@ -18,7 +18,7 @@ class ValidateTGAction extends AbstractAction { 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..1587034 100644 --- a/src/main/java/org/qainsights/jmeter/validatetg/gui/ValidateTGMenuItem.java +++ b/src/main/java/org/qainsights/jmeter/validatetg/gui/ValidateTGMenuItem.java @@ -24,8 +24,8 @@ 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); + public static ImageIcon getButtonIcon() { + String sizedImage = "/org/qainsights/jmeter/validatetg/check-mark.svg"; return new ImageIcon(Objects.requireNonNull(ValidateTGMenuItem.class.getResource(sizedImage))); } @@ -57,7 +57,7 @@ public void run() { } } private JButton getToolbarButton() { - JButton button = new JButton(getButtonIcon(22)); + JButton button = new JButton(getButtonIcon()); button.setToolTipText("Validate Thread Group(s)"); button.addActionListener(this); button.setActionCommand("validate_tg"); 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 @@ + +Created with Fabric.js 3.5.0 + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/org/qainsights/jmeter/validatetg/validate-tg-icon-48x48 - Copy.png b/src/main/resources/org/qainsights/jmeter/validatetg/validate-tg-icon-48x48 - Copy.png new file mode 100644 index 0000000000000000000000000000000000000000..cb25ac51c112862152b42f23e9dbbf4b93b7db90 GIT binary patch literal 4923 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 literal 0 HcmV?d00001 From c899157a88b19cc725882120fe711eba6e6df3af Mon Sep 17 00:00:00 2001 From: NaveenKumar Namachivayam Date: Sat, 19 Mar 2022 12:59:49 -0400 Subject: [PATCH 2/2] Add: SVG format --- pom.xml | 15 ++++++- .../validatetg/gui/ValidateTGAction.java | 3 +- .../validatetg/gui/ValidateTGMenuItem.java | 39 ++++++++++++++---- .../validatetg/validate-tg-icon-12x12.png | Bin 610 -> 0 bytes .../validatetg/validate-tg-icon-13x13.png | Bin 691 -> 0 bytes .../validatetg/validate-tg-icon-14x14.png | Bin 771 -> 0 bytes .../validatetg/validate-tg-icon-16x16.png | Bin 911 -> 0 bytes .../validatetg/validate-tg-icon-22x22.png | Bin 1579 -> 0 bytes .../validatetg/validate-tg-icon-32x32.png | Bin 2876 -> 0 bytes .../validate-tg-icon-48x48 - Copy.png | Bin 4923 -> 0 bytes .../validatetg/validate-tg-icon-48x48.png | Bin 4923 -> 0 bytes 11 files changed, 47 insertions(+), 10 deletions(-) delete mode 100644 src/main/resources/org/qainsights/jmeter/validatetg/validate-tg-icon-12x12.png delete mode 100644 src/main/resources/org/qainsights/jmeter/validatetg/validate-tg-icon-13x13.png delete mode 100644 src/main/resources/org/qainsights/jmeter/validatetg/validate-tg-icon-14x14.png delete mode 100644 src/main/resources/org/qainsights/jmeter/validatetg/validate-tg-icon-16x16.png delete mode 100644 src/main/resources/org/qainsights/jmeter/validatetg/validate-tg-icon-22x22.png delete mode 100644 src/main/resources/org/qainsights/jmeter/validatetg/validate-tg-icon-32x32.png delete mode 100644 src/main/resources/org/qainsights/jmeter/validatetg/validate-tg-icon-48x48 - Copy.png delete mode 100644 src/main/resources/org/qainsights/jmeter/validatetg/validate-tg-icon-48x48.png 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 0dd2ed5..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,7 +15,7 @@ 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); 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 1587034..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() { - String sizedImage = "/org/qainsights/jmeter/validatetg/check-mark.svg"; - 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,14 +67,19 @@ 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() { + private JButton getToolbarButton() throws URISyntaxException { JButton button = new JButton(getButtonIcon()); button.setToolTipText("Validate Thread Group(s)"); button.addActionListener(this); @@ -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/validate-tg-icon-12x12.png b/src/main/resources/org/qainsights/jmeter/validatetg/validate-tg-icon-12x12.png deleted file mode 100644 index 7a694c876204e62820d63460669f5916d4c57134..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 610 zcmV-o0-gPdP)!pgp5K2JdK2^x8Mx$+FlHeuRDrkC?pI=}EP_2**` z#U|@wbz1ANChg)hDFj8Rf>;4u2h;wGO(O%{+Ct7;b(XVV`dy%5y2jrS6?mCsuL_^w zhldlua~|+aL0kAFWRHrcshey$J2ykIH}$$3LpoA>5xP^rLVglHQGr$BaJv3BB0Hk^ zkbZ&JOZTy5WDL3#59(oMzjXEBC<5MUy!?I#sayiRkrC|Gn(=vM3{MuXK_m%A$uQ{r zggh;XVzfQnLp_amQL=S6?>ct-BbfU25aa1vux$g5#WPbc%~1CQ7vnuN>#6I>jJJkX?BJGtXFY4XpSZ3A2EK=O-}h*7<)LbK?kV wL3Fu5pAv*S4WPJ=l(~VCTn1w;r?5SZf0sYr_;#}MfB*mh07*qoM6N<$f^mHn>;M1& 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 e636c5aae94989808bf1e6b4b712aa396f17701c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 691 zcmV;k0!;mhP)XptLN!(IN$Sy@A(kS>So}wUqiOylu%bz9P9{| z);2fR(CD_0Y|+Kq%;}87g%ITn?*;iUluB5iG<*XDU>E2Y<6s$Xb@=m1JsZ`*SPZ z8Y>$<E)^%=s#ySs=@WIJJ!M!@Ou|F5*kjUOh-B_n(JmDB#F~g~SXV&0mE1MHmXtpmC53 z$_TZ-M2Hi)A&79Z ztS(3n(MM<8S816(AkNL20 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 ef0a3f44d159226e295eb025544ec3fb04d86c2b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 771 zcmV+e1N{7nP)zZ1wP+1WYQC2rWkYJ@jA${Bk-9=DD7lpLcAJA3Mg%F`> zenfUzL4k!vDC>rn>qn_+uCDH$J?HG%GmQ%k3^N1s%scP%{0Mw725On8lgpRAmF4cL zw(7!$b4AWT5Fo6iXJS*U!@YB)ZiHP17FV(Yxi_>T3C0 zWHXB|0wj|8EwH)7STwr&F+8hJ4m@d$q^R*7qy{v!Ruvq6wEtV`?9&nAq+K){3IYcu(X}y-+0=L_y*w0okmGBPAD6?K_0e3xn*#>@!+U&P1vG zZP0M39wp#ChpzagWDKt+!}y&X$A%s^>DrLraLOK~ zx%xg%1TG`CK8EK%Zz68aO6PzQy|>LSZ&f(a`lMwe(40Sru+GQKSP!O>}Q-wGfbB`Naw8w91yrhfRP1!^Cs7t@Nf`#q*vw2Yrf&d70t=Ro zJAa($$|2YC5^i}Ln$&#Ubr(~uvye#U`4j({sWE7)V5ucU%>=@k1O~b@G% z7b+zu+FX8|a}|I?4rp=2v=#JPX>?j;;E*E+`9D^HFdB)33MG^%k&8#2 zJ$9*iU|`$f6T3Ty2HV1(E>KjX%Hr=!*KhnVf8|VRv^I0}qG;!xD;M#qP(qc9_>l{Q zdpZw%ais6#_glj*RX2~ZE&&uNNfV}WRO|D;eD~DE?WLO^O^*>3N+<>J<^{qRx(BBZ zJ@?+wW?Z$#C1g^0Y0{wrg>emEHybWcO=O$$`rG@H*MD2MF>-B;NC3K9dQb0a+c$LY z(a-UEyrM<4_E=?HjPWtfJ0(hV&8+IVwL5Wt`>R9UEzg_=&__xf*wwcGD>LlmAbT)z5zZvC63r6?0d1L1L;|$Zh$xmf zmKomhA^UpX0HCXRr`%bZC7a3}43tt^H_S3(L-khQDIOr8J(E7OQ&F|!uZHI|n9j){eJX4wC>$_vLWHLm_rgz?} zhOJd}U(xN=f$Ui`3+|`IX?eNhFu8Oq+w=Ww&-bI0FjJZ0%X_1wLx(XIV`JyMl_-j? zinVq!Hg%H@0(r!JKKb=ED(m+VrBO;VQ@P67$|%`ZgIE7mvc!_u$QWZL^=yf`{vzEf z?e=FfI&L&q^)J;c^yX^>@g(Cx{cQaX9N^XMNDvbQ70GnFs)!;iQe|BX5Ut zS+OoR$JuyLQdv}6mtZ%Q_la{U11_PdvFfkegp&YLD51*7h>|)ZwSPF5G@PWHlmw%N_m2;S2~ThF;ZLRTvBJ`^0EKTR4AbUDHpMY5(AlbPULzR47bn)P+w(n;~_Wd l%bY0}nJJXefGZdA{{qrynsnv=7;^vs002ovPDHLkV1kzgz$*X% 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 16145703091e2d48558ecee06673bf07791094c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1579 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 diff --git a/src/main/resources/org/qainsights/jmeter/validatetg/validate-tg-icon-48x48 - Copy.png b/src/main/resources/org/qainsights/jmeter/validatetg/validate-tg-icon-48x48 - Copy.png deleted file mode 100644 index cb25ac51c112862152b42f23e9dbbf4b93b7db90..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4923 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 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 cb25ac51c112862152b42f23e9dbbf4b93b7db90..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4923 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