New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Set JSON as default into 'View Results Tree' #5235
Comments
@FSchumacher (migrated from Bugzilla): What are others thinking? Created attachment bug64119-order-renderer.diff: Use the order property to set the default renderer bug64119-order-renderer.diffdiff --git a/src/components/src/main/java/org/apache/jmeter/visualizers/ViewResultsFullVisualizer.java b/src/components/src/main/java/org/apache/jmeter/visualizers/ViewResultsFullVisualizer.java
index 315345378e..5e5e1549e0 100644
--- a/src/components/src/main/java/org/apache/jmeter/visualizers/ViewResultsFullVisualizer.java
+++ b/src/components/src/main/java/org/apache/jmeter/visualizers/ViewResultsFullVisualizer.java
@@ -449,15 +449,18 @@ implements ActionListener, TreeSelectionListener, Clearable, ItemListener {
} catch (IOException e1) {
// ignored
}
- String textRenderer = JMeterUtils.getResString("view_results_render_text"); // $NON-NLS-1$
- Object textObject = null;
+ String defaultRenderer = expandToClassname(".RenderAsText"); // $NON-NLS-1$
+ if (VIEWERS_ORDER.length() > 0) {
+ defaultRenderer = expandToClassname(VIEWERS_ORDER.split(",", 2)[0]);
+ }
+ Object defaultObject = null;
Map<String, ResultRenderer> map = new HashMap<>(classesToAdd.size());
for (String clazz : classesToAdd) {
try {
// Instantiate render classes
final ResultRenderer renderer = (ResultRenderer) Class.forName(clazz).getDeclaredConstructor().newInstance();
- if (textRenderer.equals(renderer.toString())){
- textObject=renderer;
+ if (defaultRenderer.equals(clazz)) {
+ defaultObject=renderer;
}
renderer.setBackgroundColor(getBackground());
map.put(renderer.getClass().getName(), renderer);
@@ -473,9 +476,7 @@ implements ActionListener, TreeSelectionListener, Clearable, ItemListener {
}
if (VIEWERS_ORDER.length() > 0) {
Arrays.stream(VIEWERS_ORDER.split(","))
- .map(key -> key.startsWith(".")
- ? "org.apache.jmeter.visualizers" + key //$NON-NLS-1$
- : key)
+ .map(this::expandToClassname)
.forEach(key -> {
ResultRenderer renderer = map.remove(key);
if (renderer != null) {
@@ -490,10 +491,17 @@ implements ActionListener, TreeSelectionListener, Clearable, ItemListener {
}
// Add remaining (plugins or missed in property)
map.values().forEach(renderer -> selectRenderPanel.addItem(renderer));
- nodesModel.setSelectedItem(textObject); // preset to "Text" option
+ nodesModel.setSelectedItem(defaultObject); // preset to "Text" option or the first option from the view.results.tree.renderers_order property
return selectRenderPanel;
}
+ private String expandToClassname(String name) {
+ if (name.startsWith(".")) {
+ return "org.apache.jmeter.visualizers" + name; // $NON-NLS-1$
+ }
+ return name;
+ }
+
/** {@inheritDoc} */
@Override
public void actionPerformed(ActionEvent event) { |
@pmouawad (migrated from Bugzilla): Regards |
@FSchumacher (migrated from Bugzilla): @vlatko606 can you try the next nightly and report back, if it works for you? commit 243e0d1
.../visualizers/ViewResultsFullVisualizer.java | 24 ++++++++++++++-------- |
vlatko606 (Bug 64119):
I can find way to set: order of the renders, but is it possible to set JSON as default?
What ever I set, text is always set as default render.
*The config file that i used is: jmeter.proporties
*JMeter version: 5.11
*view.results.tree.renderers_order=.RenderAsJSON,.RenderAsText,.RenderAsRegexp,.RenderAsBoundaryExtractor,.RenderAsCssJQuery,.RenderAsXPath,org.apache.jmeter.extractor.json.render.RenderAsJsonRenderer,.RenderAsHTML,.RenderAsHTMLFormatted,.RenderAsHTMLWithEmbedded,.RenderAsDocument,.RenderAsXML
Created attachment m6dHW.png: jmeter
OS: All
The text was updated successfully, but these errors were encountered: