sebb 2004/09/20 17:41:14
Modified: bin Tag: rel-2_0 jmeter.properties
src/components/org/apache/jmeter/visualizers Tag: rel-2_0
ViewResultsFullVisualizer.java
Log:
Bug 23722 - allow frames to be displayed
Also add facility to not download embedded resources
Revision Changes Path
No revision
No revision
1.100.2.6 +6 -2 jakarta-jmeter/bin/jmeter.properties
Index: jmeter.properties
===================================================================
RCS file: /home/cvs/jakarta-jmeter/bin/jmeter.properties,v
retrieving revision 1.100.2.5
retrieving revision 1.100.2.6
diff -u -r1.100.2.5 -r1.100.2.6
--- jmeter.properties 5 Jul 2004 23:34:18 -0000 1.100.2.5
+++ jmeter.properties 21 Sep 2004 00:41:14 -0000 1.100.2.6
@@ -298,4 +298,8 @@
#mailer.successlimit=2
#
# Number of failed samples before a message is sent
-#mailer.failurelimit=2
\ No newline at end of file
+#mailer.failurelimit=2
+
+# Should View Results Tree download embedded resources?
+# TODO should be added to GUI one day
+#viewresults.embeddedresources=true
\ No newline at end of file
No revision
No revision
1.42.2.3 +76 -5
jakarta-jmeter/src/components/org/apache/jmeter/visualizers/ViewResultsFullVisualizer.java
Index: ViewResultsFullVisualizer.java
===================================================================
RCS file:
/home/cvs/jakarta-jmeter/src/components/org/apache/jmeter/visualizers/ViewResultsFullVisualizer.java,v
retrieving revision 1.42.2.2
retrieving revision 1.42.2.3
diff -u -r1.42.2.2 -r1.42.2.3
--- ViewResultsFullVisualizer.java 12 Jun 2004 18:32:05 -0000 1.42.2.2
+++ ViewResultsFullVisualizer.java 21 Sep 2004 00:41:14 -0000 1.42.2.3
@@ -43,9 +43,17 @@
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.text.BadLocationException;
+import javax.swing.text.ComponentView;
+import javax.swing.text.Document;
+import javax.swing.text.EditorKit;
+import javax.swing.text.Element;
import javax.swing.text.Style;
import javax.swing.text.StyleConstants;
import javax.swing.text.StyledDocument;
+import javax.swing.text.View;
+import javax.swing.text.ViewFactory;
+import javax.swing.text.html.HTML;
+import javax.swing.text.html.HTMLEditorKit;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeCellRenderer;
import javax.swing.tree.DefaultTreeModel;
@@ -82,6 +90,12 @@
private static final String HTML_COMMAND = "html";
private static final String TEXT_COMMAND = "text";
private boolean textMode = true;
+
+ // TODO add to GUI
+ private boolean downloadEmbeddedResources =
+ JMeterUtils.getPropDefault("viewresults.embeddedresources",true);
+
+ private static EditorKit customisedEditor = new LocalHTMLEditorKit();
private DefaultMutableTreeNode root;
private DefaultTreeModel treeModel;
@@ -312,7 +326,7 @@
}
else
{
- showRenderedResponse(response);
+ showRenderedResponse(response,res);
}
}
else
@@ -425,12 +439,12 @@
}
else
{
- showRenderedResponse(response);
+ showRenderedResponse(response,res);
}
}
}
- protected void showRenderedResponse(String response)
+ protected void showRenderedResponse(String response, SampleResult res)
{
if (response == null)
{
@@ -453,8 +467,27 @@
}
String html = response.substring(htmlIndex);
+
+ /*
+ * To disable downloading and rendering of images and frames,
+ * enable the editor-kit. The Stream property can then be
+ */
+
+ if (!downloadEmbeddedResources)
+ {
+ // Must be done before setContentType
+
results.setEditorKitForContentType("text/html",customisedEditor);
+ }
+
results.setContentType("text/html");
+ if (downloadEmbeddedResources)
+ {
+ // Allow JMeter to render frames (and relative images)
+ // Must be done after setContentType [Why?]
+
results.getDocument().putProperty(Document.StreamDescriptionProperty,res.getURL());
+ }
+
/* Get round problems parsing
* <META http-equiv='content-type' content='text/html; charset=utf-8'>
* See http://nagoya.apache.org/bugzilla/show_bug.cgi?id=23315
@@ -612,5 +645,43 @@
}
return this;
}
+ }
+
+ private static class LocalHTMLEditorKit extends HTMLEditorKit {
+
+ private static final ViewFactory defaultFactory = new LocalHTMLFactory();
+
+ public ViewFactory getViewFactory() {
+ return defaultFactory;
+ }
+
+ private static class LocalHTMLFactory
+ extends javax.swing.text.html.HTMLEditorKit.HTMLFactory
+ {
+ /*
+ * Provide dummy implementations to suppress download and display
+ * of related resources:
+ * - FRAMEs
+ * - IMAGEs
+ * TODO create better dummy displays
+ */
+ public View create(Element elem)
+ {
+ Object o =
elem.getAttributes().getAttribute(StyleConstants.NameAttribute);
+ if (o instanceof HTML.Tag)
+ {
+ HTML.Tag kind = (HTML.Tag) o;
+ if (kind == HTML.Tag.FRAME)
+ {
+ return new ComponentView(elem);
+ }
+ else if (kind==HTML.Tag.IMG)
+ {
+ return new ComponentView(elem);
+ }
+ }
+ return super.create(elem);
+ }
+ }
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]