Skip to main content

This CGIT instance is deprecated, and repositories have been moved to Gitlab or Github. See the repository descriptions for specific locations.

summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordeboer2005-05-31 14:14:37 +0000
committerdeboer2005-05-31 14:14:37 +0000
commit28e8098e0472ffb8a178e4c74d13cde9d384eb6a (patch)
tree043107f4350a91e6450519dd1e2b854330256de3
parent627cc4ea4380419396152fa1f55cdf811cc51ce0 (diff)
downloadwebtools.servertools-28e8098e0472ffb8a178e4c74d13cde9d384eb6a.tar.gz
webtools.servertools-28e8098e0472ffb8a178e4c74d13cde9d384eb6a.tar.xz
webtools.servertools-28e8098e0472ffb8a178e4c74d13cde9d384eb6a.zip
*** empty log message ***
-rw-r--r--plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/ResendHTTPRequest.java4
-rw-r--r--plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/Request.java4
-rw-r--r--plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Messages.java1
-rw-r--r--plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Messages.properties23
-rw-r--r--plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/FilterAction.java4
-rw-r--r--plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/IViewerManager.java98
-rw-r--r--plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/MonitorView.java112
-rw-r--r--plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/Viewer.java73
-rw-r--r--plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/ViewerManager.java90
-rw-r--r--plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/BrowserViewer.java79
-rw-r--r--plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/ByteViewer.java70
-rw-r--r--plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/HeaderViewer.java14
-rw-r--r--plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/ImageViewer.java31
-rw-r--r--plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/XMLViewer.java34
-rw-r--r--plugins/org.eclipse.wst.internet.monitor.ui/plugin.properties7
-rw-r--r--plugins/org.eclipse.wst.internet.monitor.ui/plugin.xml11
16 files changed, 373 insertions, 282 deletions
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/ResendHTTPRequest.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/ResendHTTPRequest.java
index b015a99b3..2a48859dd 100644
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/ResendHTTPRequest.java
+++ b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/ResendHTTPRequest.java
@@ -100,7 +100,9 @@ public class ResendHTTPRequest extends HTTPRequest {
* @param type
*/
public void setRequest(byte[] request, int type) {
- if (type == TRANSPORT && request != null)
+ if (request == null)
+ request = new byte[0];
+ if (type == TRANSPORT)
header = request;
else if (type == CONTENT)
content = request;
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/Request.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/Request.java
index 386768edf..afc6eaddb 100644
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/Request.java
+++ b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/Request.java
@@ -153,7 +153,7 @@ public class Request implements IAdaptable {
* </p>
*
* @param type the content type: one of {@link #TRANSPORT},
- * {@link #CONTENT}, or {@link #ALL}
+ * {@link #CONTENT}, or {@link #ALL}
* @return the content bytes
*/
public byte[] getRequest(int type) {
@@ -171,7 +171,7 @@ public class Request implements IAdaptable {
* </p>
*
* @param type the content type: one of {@link #TRANSPORT},
- * {@link #CONTENT}, or {@link #ALL}
+ * {@link #CONTENT}, or {@link #ALL}
* @return the content bytes
*/
public byte[] getResponse(int type) {
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Messages.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Messages.java
index be61d116a..0f09c96bf 100644
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Messages.java
+++ b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Messages.java
@@ -40,6 +40,7 @@ public class Messages extends NLS {
public static String headerLabel;
public static String imageViewInvalid;
public static String xmlViewInvalid;
+ public static String htmlViewInvalid;
public static String viewDateFormat;
public static String viewTime;
public static String viewResponseTime;
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Messages.properties b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Messages.properties
index 829cd25e4..5fdfe8779 100644
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Messages.properties
+++ b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Messages.properties
@@ -33,32 +33,33 @@ actionProperties=Properties...
headerLabel=Header
imageViewInvalid=<Not a valid image file>
xmlViewInvalid=<Not a valid XML file>
+htmlViewInvalid=<Not a valid HTML file>
# --------------- Errors ---------------
errorDialogTitle=Error
# --------------- General UI ---------------
-monitorList=TCP/IP Monitors:
+monitorList=TCP/IP &Monitors:
columnLocal=Local Port
columnRemote=Host name
columnType=Type
columnStatus=Status
-add=Add...
-edit=Edit...
-remove=Remove
-start=Start
-stop=Stop
+add=&Add...
+edit=&Edit...
+remove=&Remove
+start=&Start
+stop=S&top
started=Started
stopped=Stopped
newMonitor=New Monitor
editMonitor=Edit Monitor
-localPort=Local monitoring port:
+localPort=&Local monitoring port:
remoteGroup=Monitor
-remoteHost=Host name:
-remotePort=Port:
-parseType=Type:
+remoteHost=&Host name:
+remotePort=&Port:
+parseType=&Type:
preferenceDescription=Configure TCP/IP monitors on local and remote ports.
-prefShowView=&Show the TCP/IP Monitor view when there is activity \ No newline at end of file
+prefShowView=S&how the TCP/IP Monitor view when there is activity \ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/FilterAction.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/FilterAction.java
index cc79b003c..3c4d83f96 100644
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/FilterAction.java
+++ b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/FilterAction.java
@@ -17,11 +17,11 @@ import org.eclipse.wst.internet.monitor.core.internal.IContentFilter;
*
*/
public class FilterAction extends Action {
- protected IViewerManager vm;
+ protected ViewerManager vm;
protected IContentFilter filter;
protected boolean enabled;
- public FilterAction(IViewerManager vm, IContentFilter filter) {
+ public FilterAction(ViewerManager vm, IContentFilter filter) {
super(filter.getName(), IAction.AS_CHECK_BOX);
this.vm = vm;
this.filter = filter;
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/IViewerManager.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/IViewerManager.java
deleted file mode 100644
index 3e41348f6..000000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/IViewerManager.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal.view;
-
-import java.util.List;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.wst.internet.monitor.core.internal.IContentFilter;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.Request;
-import org.eclipse.wst.internet.monitor.ui.internal.provisional.ContentViewer;
-import org.eclipse.wst.internet.monitor.ui.internal.viewers.HeaderViewer;
-/**
- * Manager interface for TCP/IP request and response message viewers
- */
-public interface IViewerManager {
- /**
- * Set whether or not to show HTTP header details.
- *
- * @param b boolean
- */
- public void setDisplayHeaderInfo(boolean b);
-
- /**
- * Returns whether or not HTTP header details is showing.
- *
- * @return boolean
- */
- public boolean getDisplayHeaderInfo();
-
- /**
- * Show the TCP/IP request message in a parent Composite
- *
- * @param request the request
- */
- public void setRequest(Request request);
-
- /**
- * Returns an array of the available TCP/IP request viewer ids
- *
- * @return a list of request viewers
- */
- public List getRequestViewers();
-
- /**
- * Returns an array of the available TCP/IP response viewer ids
- *
- * @return a list of response viewers
- */
- public List getResponseViewers();
-
- /**
- * Set the TCP/IP request message viewer
- *
- * @param element
- */
- public void setRequestViewer(IConfigurationElement element);
-
- /**
- * Set the TCP/IP response message viewer
- *
- * @param element
- */
- public void setResponseViewer(IConfigurationElement element);
-
- /**
- *
- * @param filter
- */
- public void addFilter(IContentFilter filter);
-
- /**
- *
- * @param filter
- */
- public void removeFilter(IContentFilter filter);
-
- /**
- * Return the current request viewer.
- *
- * @return the current request viewer
- */
- public ContentViewer getCurrentRequestViewer();
-
- /**
- * Return the current request header viewer.
- *
- * @return the current request header viewer
- */
- public HeaderViewer getCurrentRequestHeaderViewer();
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/MonitorView.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/MonitorView.java
index fdde091bd..1344c95bf 100644
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/MonitorView.java
+++ b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/MonitorView.java
@@ -14,7 +14,6 @@ import java.text.SimpleDateFormat;
import java.util.Iterator;
import java.util.List;
-import org.eclipse.core.runtime.IConfigurationElement;
import org.eclipse.jface.action.*;
import org.eclipse.jface.preference.IPreferenceNode;
import org.eclipse.jface.preference.PreferenceDialog;
@@ -25,8 +24,8 @@ import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.BusyIndicator;
import org.eclipse.swt.custom.SashForm;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Combo;
@@ -52,13 +51,13 @@ public class MonitorView extends ViewPart {
protected MonitorTreeContentProvider contentProvider;
protected IRequestListener listener;
- protected IViewerManager vm;
+ protected ViewerManager vm;
protected List requestViewers;
protected List responseViewers;
protected static SimpleDateFormat format = new SimpleDateFormat(Messages.viewDateFormat);
protected static final String VIEW_ID = "org.eclipse.wst.internet.monitor.view";
- protected static final String DEFAULT_VIEWER = "org.eclipse.wst.internet.monitor.viewers.byteviewer";
+ protected static final String DEFAULT_VIEWER = "org.eclipse.wst.internet.monitor.viewers.byte";
protected IAction httpHeaderAction;
@@ -91,6 +90,8 @@ public class MonitorView extends ViewPart {
public void doRequestChanged(final Request rr) {
Display.getDefault().asyncExec(new Runnable() {
public void run() {
+ if (treeViewer == null)
+ return;
IStructuredSelection sel = (IStructuredSelection) treeViewer.getSelection();
treeViewer.refresh(rr);
@@ -208,7 +209,7 @@ public class MonitorView extends ViewPart {
requestLabel.setText(NLS.bind(Messages.viewRequest, ""));
requestLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- Combo requestViewerCombo = new Combo(requestHeader, SWT.DROP_DOWN | SWT.READ_ONLY);
+ final Combo requestViewerCombo = new Combo(requestHeader, SWT.DROP_DOWN | SWT.READ_ONLY);
data = new GridData(GridData.HORIZONTAL_ALIGN_END);
data.verticalSpan = 2;
requestViewerCombo.setLayoutData(data);
@@ -240,7 +241,7 @@ public class MonitorView extends ViewPart {
responseLabel.setText(NLS.bind(Messages.viewResponse, ""));
responseLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- Combo responseViewerCombo = new Combo(responseHeader, SWT.DROP_DOWN | SWT.READ_ONLY);
+ final Combo responseViewerCombo = new Combo(responseHeader, SWT.DROP_DOWN | SWT.READ_ONLY);
data = new GridData(GridData.HORIZONTAL_ALIGN_END);
data.verticalSpan = 2;
responseViewerCombo.setLayoutData(data);
@@ -258,37 +259,49 @@ public class MonitorView extends ViewPart {
Iterator iterator = requestViewers.iterator();
int ctr = 0;
while (iterator.hasNext()) {
- IConfigurationElement element = (IConfigurationElement) iterator.next();
- requestViewerCombo.add(element.getAttribute("label"), ctr);
- if (element.getAttribute("id").equals(DEFAULT_VIEWER)) {
+ Viewer viewer = (Viewer) iterator.next();
+ requestViewerCombo.add(viewer.getLabel(), ctr);
+ if (viewer.getId().equals(DEFAULT_VIEWER)) {
requestViewerCombo.select(ctr);
- vm.setRequestViewer(element);
- }
- ctr++;
+ vm.setRequestViewer(viewer);
+ }
+ ctr++;
}
- requestViewerCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent arg0) {
- Combo rvCombo = (Combo) arg0.getSource();
- vm.setRequestViewer((IConfigurationElement) requestViewers.get(rvCombo.getSelectionIndex()));
+ requestViewerCombo.addSelectionListener(new SelectionListener() {
+ public void widgetSelected(SelectionEvent e) {
+ Viewer viewer = (Viewer) requestViewers.get(requestViewerCombo.getSelectionIndex());
+ if (currentRequest != null && viewer != null)
+ currentRequest.setProperty("request-viewer", viewer.getId());
+ vm.setRequestViewer(viewer);
+ }
+
+ public void widgetDefaultSelected(SelectionEvent e) {
+ // ignore
}
});
requestHeader.layout(true);
iterator = responseViewers.iterator();
ctr = 0;
- while(iterator.hasNext()) {
- IConfigurationElement element = (IConfigurationElement) iterator.next();
- responseViewerCombo.add(element.getAttribute("label"), ctr);
- if(element.getAttribute("id").equals(DEFAULT_VIEWER)) {
+ while (iterator.hasNext()) {
+ Viewer viewer = (Viewer) iterator.next();
+ responseViewerCombo.add(viewer.getLabel(), ctr);
+ if (viewer.getId().equals(DEFAULT_VIEWER)) {
responseViewerCombo.select(ctr);
- vm.setResponseViewer(element);
- }
+ vm.setResponseViewer(viewer);
+ }
ctr++;
}
- responseViewerCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent arg0) {
- Combo rvCombo = (Combo) arg0.getSource();
- vm.setResponseViewer((IConfigurationElement) requestViewers.get(rvCombo.getSelectionIndex()));
+ responseViewerCombo.addSelectionListener(new SelectionListener() {
+ public void widgetSelected(SelectionEvent e) {
+ Viewer viewer = (Viewer) responseViewers.get(responseViewerCombo.getSelectionIndex());
+ if (currentRequest != null && viewer != null)
+ currentRequest.setProperty("response-viewer", viewer.getId());
+ vm.setResponseViewer(viewer);
+ }
+
+ public void widgetDefaultSelected(SelectionEvent e) {
+ // ignore
}
});
responseHeader.layout(true);
@@ -298,35 +311,51 @@ public class MonitorView extends ViewPart {
public void selectionChanged(SelectionChangedEvent event) {
ISelection selection = event.getSelection();
- Request req = null;
+ currentRequest = null;
if (selection != null && !selection.isEmpty()) {
StructuredSelection sel = (StructuredSelection) selection;
currentSelection = sel;
Object obj = sel.iterator().next();
if (obj instanceof Request)
- req = (Request) obj;
+ currentRequest = (Request) obj;
}
- if (req != null) {
- label.setText(NLS.bind(Messages.viewTime, format.format(req.getDate())));
+ if (currentRequest != null) {
+ label.setText(NLS.bind(Messages.viewTime, format.format(currentRequest.getDate())));
- if (req.getResponseTime() == -1)
+ if (currentRequest.getResponseTime() == -1)
label2.setText(NLS.bind(Messages.viewResponseTime, ""));
else {
- String time = NLS.bind(Messages.viewResponseTimeFormat, req.getResponseTime() + "");
+ String time = NLS.bind(Messages.viewResponseTimeFormat, currentRequest.getResponseTime() + "");
label2.setText(NLS.bind(Messages.viewResponseTime, time));
}
- label3.setText(NLS.bind(Messages.viewType, req.getProtocol()));
+ label3.setText(NLS.bind(Messages.viewType, currentRequest.getProtocol()));
// request information
- requestLabel.setText(NLS.bind(Messages.viewRequest, "localhost:" + req.getLocalPort()));
- requestSizeLabel.setText(getSizeString(req.getRequest(Request.CONTENT), req.getRequest(Request.ALL)));
+ requestLabel.setText(NLS.bind(Messages.viewRequest, "localhost:" + currentRequest.getLocalPort()));
+ requestSizeLabel.setText(getSizeString(currentRequest.getRequest(Request.CONTENT), currentRequest.getRequest(Request.ALL)));
// response information
- responseLabel.setText(NLS.bind(Messages.viewResponse, req.getRemoteHost() + ":" + req.getRemotePort()));
- responseSizeLabel.setText(getSizeString(req.getResponse(Request.CONTENT), req.getResponse(Request.ALL)));
-
- vm.setRequest(req);
+ responseLabel.setText(NLS.bind(Messages.viewResponse, currentRequest.getRemoteHost() + ":" + currentRequest.getRemotePort()));
+ responseSizeLabel.setText(getSizeString(currentRequest.getResponse(Request.CONTENT), currentRequest.getResponse(Request.ALL)));
+
+ vm.setRequest(currentRequest);
+
+ Viewer viewer = vm.findViewer((String) currentRequest.getProperty("request-viewer"));
+ if (viewer == null)
+ viewer = vm.findViewer(DEFAULT_VIEWER);
+ if (viewer != null) {
+ vm.setRequestViewer(viewer);
+ requestViewerCombo.select(requestViewers.indexOf(viewer));
+ }
+
+ viewer = vm.findViewer((String) currentRequest.getProperty("response-viewer"));
+ if (viewer == null && currentRequest.getName() != null)
+ viewer = vm.getDefaultViewer(currentRequest.getName());
+ if (viewer != null) {
+ vm.setResponseViewer(viewer);
+ responseViewerCombo.select(responseViewers.indexOf(viewer));
+ }
} else {
label.setText(NLS.bind(Messages.viewTime, ""));
label2.setText(NLS.bind(Messages.viewResponseTime, ""));
@@ -334,9 +363,8 @@ public class MonitorView extends ViewPart {
requestSizeLabel.setText(NLS.bind(Messages.viewSize, ""));
responseLabel.setText(NLS.bind(Messages.viewResponse, ""));
responseSizeLabel.setText(NLS.bind(Messages.viewSize, ""));
- vm.setRequest(req);
+ vm.setRequest(currentRequest);
}
- currentRequest = req;
}
});
treeViewer.expandToLevel(2);
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/Viewer.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/Viewer.java
new file mode 100644
index 000000000..b5cce39d3
--- /dev/null
+++ b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/Viewer.java
@@ -0,0 +1,73 @@
+/**********************************************************************
+ * Copyright (c) 2003, 2005 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - Initial API and implementation
+ **********************************************************************/
+package org.eclipse.wst.internet.monitor.ui.internal.view;
+
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.wst.internet.monitor.ui.internal.Trace;
+import org.eclipse.wst.internet.monitor.ui.internal.provisional.ContentViewer;
+/**
+ *
+ */
+public class Viewer {
+ private IConfigurationElement element;
+
+ /**
+ * Create a new content viewer.
+ *
+ * @param element a configuration element
+ */
+ public Viewer(IConfigurationElement element) {
+ super();
+ this.element = element;
+ }
+
+ public String getId() {
+ return element.getAttribute("id");
+ }
+
+ public String getLabel() {
+ String label = element.getAttribute("label");
+ if (label == null)
+ return "n/a";
+ return label;
+ }
+
+ /**
+ * Create an instance of the viewer.
+ *
+ * @return the viewer, or <code>null</code> if it couldn't be loaded
+ */
+ public ContentViewer createViewer() {
+ try {
+ return (ContentViewer) element.createExecutableExtension("class");
+ } catch (Exception e) {
+ Trace.trace(Trace.SEVERE, "Could not create viewer" + toString() + ": " + e.getMessage());
+ return null;
+ }
+ }
+
+ public boolean isRequestViewer() {
+ return element.getAttribute("type").toLowerCase().indexOf("request") >= 0;
+ }
+
+ public boolean isResponseViewer() {
+ return element.getAttribute("type").toLowerCase().indexOf("response") >= 0;
+ }
+
+ /**
+ * Return a string representation of this object.
+ *
+ * @return String
+ */
+ public String toString() {
+ return "ContentViewer[" + getId() + "]";
+ }
+} \ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/ViewerManager.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/ViewerManager.java
index f8e28723b..67486c57f 100644
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/ViewerManager.java
+++ b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/ViewerManager.java
@@ -26,11 +26,13 @@ import org.eclipse.wst.internet.monitor.ui.internal.viewers.HeaderViewer;
/**
*
*/
-public class ViewerManager implements IViewerManager{
+public class ViewerManager {
private boolean displayHeaderInf;
protected ContentViewer reqViewer;
protected ContentViewer respViewer;
+ protected Viewer requestViewer;
+ protected Viewer responseViewer;
protected HeaderViewer reqHeader;
protected HeaderViewer respHeader;
@@ -59,16 +61,45 @@ public class ViewerManager implements IViewerManager{
respViewer = new ByteViewer();
respViewer.init(respVComp);
setDisplayHeaderInfo(MonitorUIPlugin.getShowHeaderPreference());
- setAvailableViewers();
+ loadAvailableViewers();
+ }
+
+ protected Viewer getDefaultViewer(String name) {
+ if (name == null)
+ return null;
+
+ String name2 = name.toLowerCase();
+ if (name2.endsWith(".xml"))
+ return findViewer("org.eclipse.wst.internet.monitor.viewers.xml");
+ else if (name2.endsWith(".html"))
+ return findViewer("org.eclipse.wst.internet.monitor.viewers.browser");
+ else if (name2.endsWith(".gif") || name2.endsWith(".jpg") ||
+ name2.endsWith(".jpeg") || name2.endsWith(".png"))
+ return findViewer("org.eclipse.wst.internet.monitor.viewers.image");
+ else
+ return findViewer("org.eclipse.wst.internet.monitor.viewers.byte");
}
- private void setAvailableViewers() {
+ protected Viewer findViewer(String id) {
+ if (id == null)
+ return null;
+
+ Iterator iterator = viewers.iterator();
+ while (iterator.hasNext()) {
+ Viewer viewer = (Viewer) iterator.next();
+ if (id.equals(viewer.getId()))
+ return viewer;
+ }
+ return null;
+ }
+
+ private void loadAvailableViewers() {
IExtensionRegistry registry = Platform.getExtensionRegistry();
IConfigurationElement[] cf = registry.getConfigurationElementsFor(MonitorUIPlugin.PLUGIN_ID, "viewers");
int size = cf.length;
viewers = new ArrayList(size);
for (int i = 0; i < size; i++) {
- viewers.add(cf[i]);
+ viewers.add(new Viewer(cf[i]));
}
}
@@ -122,8 +153,9 @@ public class ViewerManager implements IViewerManager{
b = filter(rr.getResponse(Request.CONTENT));
respViewer.setContent(b);
request = rr;
- // Set the editor to editable if the request hasn't been sent and the
- // editor can be set as editable.
+
+ // set the editor to editable if the request hasn't been sent and the
+ // editor can be set as editable
if (request instanceof ResendHTTPRequest && request.getResponse(Request.ALL) == null) {
if (displayHeaderInf) {
reqHeader.setEditable(true);
@@ -166,13 +198,12 @@ public class ViewerManager implements IViewerManager{
* @see org.eclipse.tcpip.monitor.internal.view.IViewerManager#getRequestViewers()
*/
public List getRequestViewers() {
- IConfigurationElement element;
Iterator iterator = viewers.iterator();
List temp = new ArrayList();
while (iterator.hasNext()) {
- element = (IConfigurationElement) iterator.next();
- if (element.getAttribute("type").toLowerCase().indexOf("request") >= 0)
- temp.add(element);
+ Viewer viewer = (Viewer) iterator.next();
+ if (viewer.isRequestViewer())
+ temp.add(viewer);
}
return temp;
}
@@ -181,13 +212,12 @@ public class ViewerManager implements IViewerManager{
* @see org.eclipse.tcpip.monitor.internal.view.IViewerManager#getResponseViewers()
*/
public List getResponseViewers() {
- IConfigurationElement element;
Iterator iterator = viewers.iterator();
List temp = new ArrayList();
while (iterator.hasNext()) {
- element = (IConfigurationElement) iterator.next();
- if (element.getAttribute("type").toLowerCase().indexOf("response") >= 0)
- temp.add(element);
+ Viewer viewer = (Viewer) iterator.next();
+ if (viewer.isResponseViewer())
+ temp.add(viewer);
}
return temp;
}
@@ -195,15 +225,19 @@ public class ViewerManager implements IViewerManager{
/* (non-Javadoc)
* @see org.eclipse.tcpip.monitor.internal.view.IViewerManager#setRequestViewer(java.lang.String)
*/
- public void setRequestViewer(IConfigurationElement element) {
- // Call set request to save and reset the request.
+ public void setRequestViewer(Viewer viewer) {
+ if (viewer != null && viewer.equals(requestViewer))
+ return;
+
+ // call set request to save and reset the request
setRequest(request);
reqViewer.dispose();
- try {
- reqViewer = (ContentViewer) element.createExecutableExtension("class");
- } catch (CoreException e) {
- Trace.trace(Trace.SEVERE, "Error", e);
- }
+
+ requestViewer = viewer;
+ reqViewer = viewer.createViewer();
+ if (reqViewer == null)
+ return;
+
reqViewer.init(reqVComp);
//reqViewer.setRequestResponse(rr);
byte[] b = null;
@@ -224,13 +258,15 @@ public class ViewerManager implements IViewerManager{
/* (non-Javadoc)
* @see org.eclipse.tcpip.monitor.internal.view.IViewerManager#setResponseViewer(java.lang.String)
*/
- public void setResponseViewer(IConfigurationElement element) {
+ public void setResponseViewer(Viewer viewer) {
+ if (viewer != null && viewer.equals(responseViewer))
+ return;
respViewer.dispose();
- try {
- respViewer = (ContentViewer) element.createExecutableExtension("class");
- } catch (CoreException e) {
- Trace.trace(Trace.SEVERE, "Error", e);
- }
+
+ responseViewer = viewer;
+ respViewer = viewer.createViewer();
+ if (respViewer == null)
+ return;
respViewer.init(respVComp);
//respViewer.setRequestResponse(rr);
byte[] b = null;
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/BrowserViewer.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/BrowserViewer.java
new file mode 100644
index 000000000..4cdfd8483
--- /dev/null
+++ b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/BrowserViewer.java
@@ -0,0 +1,79 @@
+/*******************************************************************************
+ * Copyright (c) 2003, 2005 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.internet.monitor.ui.internal.viewers;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.browser.Browser;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.wst.internet.monitor.ui.internal.Messages;
+import org.eclipse.wst.internet.monitor.ui.internal.provisional.ContentViewer;
+/**
+ * A browser viewer.
+ */
+public class BrowserViewer extends ContentViewer {
+ protected Browser browser;
+
+ protected byte[] content;
+
+ /** (non-Javadoc)
+ * @see ContentViewer#init(Composite)
+ */
+ public void init(Composite parent) {
+ browser = new Browser(parent, SWT.BORDER);
+ browser.setLayoutData(new GridData(GridData.FILL_BOTH));
+ }
+
+ /** (non-Javadoc)
+ * @see ContentViewer#setContent(byte[])
+ */
+ public void setContent(byte[] b) {
+ content = b;
+ if (b == null || b.length == 0) {
+ browser.setText(Messages.htmlViewInvalid);
+ } else {
+ byte cr = '\r';
+ byte lf = '\n';
+ int trimFront = 0;
+ int trimBack = 0;
+ int len = b.length - 1;
+ while (b[trimFront] == cr || b[trimFront] == lf)
+ trimFront++;
+ while (b[len - trimBack] == cr || b[len - trimBack] == lf)
+ trimBack++;
+
+ if (trimFront + trimBack > 0) {
+ byte[] temp = b;
+ b = new byte[temp.length - trimBack - trimFront];
+ for (int i = trimFront; i < temp.length - trimBack; i++) {
+ b[i - trimFront] = temp[i];
+ }
+ }
+ browser.setText(new String(b));
+ }
+ }
+
+ /**
+ * @see ContentViewer#getContent()
+ */
+ public byte[] getContent() {
+ return content;
+ }
+
+ /** (non-Javadoc)
+ * @see ContentViewer#dispose()
+ */
+ public void dispose() {
+ browser.dispose();
+ browser = null;
+ content = null;
+ }
+} \ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/ByteViewer.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/ByteViewer.java
index a88b17cde..30377dd28 100644
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/ByteViewer.java
+++ b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/ByteViewer.java
@@ -13,7 +13,6 @@ package org.eclipse.wst.internet.monitor.ui.internal.viewers;
import org.eclipse.jface.resource.JFaceResources;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Text;
@@ -26,51 +25,16 @@ import org.eclipse.wst.internet.monitor.ui.internal.provisional.ContentViewer;
*/
public class ByteViewer extends ContentViewer {
protected Text text;
- protected Composite comp;
-
- /** (non-Javadoc)
- * @see ContentViewer#dispose()
- */
- public void dispose() {
- comp.dispose();
- }
-
- /** (non-Javadoc)
- * @see ContentViewer#setContent(byte[])
- */
- public void setContent(byte[] b) {
- String out = "";
- if (b != null)
- out = MonitorUIPlugin.parse(b);
-
- String lineSeparator = System.getProperty("line.separator");
- int ls = lineSeparator.length();
- if (out.length() > ls) {
- while (out.substring(0, ls).indexOf(lineSeparator) >= 0)
- out = out.substring(ls, out.length());
- }
-
- text.setText(out);
- }
/** (non-Javadoc)
* @see ContentViewer#init(Composite)
*/
public void init(Composite parent) {
- comp = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout();
- layout.numColumns = 1;
- layout.marginHeight = 0;
- layout.marginWidth = 0;
- comp.setLayout(layout);
- GridData data = new GridData(GridData.FILL_BOTH);
- comp.setLayoutData(data);
-
- text = new Text(comp, SWT.BORDER | SWT.MULTI | SWT.READ_ONLY | SWT.H_SCROLL | SWT.V_SCROLL);
- Display display = comp.getDisplay();
+ text = new Text(parent, SWT.BORDER | SWT.MULTI | SWT.READ_ONLY | SWT.H_SCROLL | SWT.V_SCROLL);
+ Display display = parent.getDisplay();
text.setBackground(display.getSystemColor(SWT.COLOR_LIST_BACKGROUND));
text.setForeground(display.getSystemColor(SWT.COLOR_LIST_FOREGROUND));
- text.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL));
+ text.setLayoutData(new GridData(GridData.FILL_BOTH));
text.setFont(JFaceResources.getTextFont());
PlatformUI.getWorkbench().getHelpSystem().setHelp(text, ContextIds.VIEW_RESPONSE);
}
@@ -81,7 +45,7 @@ public class ByteViewer extends ContentViewer {
public void setEditable(boolean editable) {
text.setEditable(editable);
}
-
+
/** (non-Javadoc)
* @see ContentViewer#getContent()
*/
@@ -102,4 +66,30 @@ public class ByteViewer extends ContentViewer {
System.arraycopy(twoNewlines, 0, retBytes, contentBytes.length, 2);
return retBytes;
}
+
+ /** (non-Javadoc)
+ * @see ContentViewer#setContent(byte[])
+ */
+ public void setContent(byte[] b) {
+ String out = "";
+ if (b != null)
+ out = MonitorUIPlugin.parse(b);
+
+ String lineSeparator = System.getProperty("line.separator");
+ int ls = lineSeparator.length();
+ if (out.length() > ls) {
+ while (out.substring(0, ls).indexOf(lineSeparator) >= 0)
+ out = out.substring(ls, out.length());
+ }
+
+ text.setText(out);
+ }
+
+ /** (non-Javadoc)
+ * @see ContentViewer#dispose()
+ */
+ public void dispose() {
+ text.dispose();
+ text = null;
+ }
} \ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/HeaderViewer.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/HeaderViewer.java
index 7888ceccf..c8fe4138b 100644
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/HeaderViewer.java
+++ b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/HeaderViewer.java
@@ -27,11 +27,12 @@ import org.eclipse.wst.internet.monitor.ui.internal.MonitorUIPlugin;
* An transport (header) viewer.
*/
public class HeaderViewer {
+ private static final int HEADER_TEXT_SIZE = 110;
+
protected boolean displayHeader;
protected Composite headerComp;
protected Composite innerComp;
- protected Composite rootComp;
protected Label headerLabel;
protected Text headerText;
@@ -41,9 +42,6 @@ public class HeaderViewer {
protected GridData data;
protected boolean hidden;
-
- protected static int HEADER_LABEL_SIZE = 15;
- protected static int HEADER_TEXT_SIZE = 110;
/**
* Request header constant.
@@ -62,7 +60,6 @@ public class HeaderViewer {
* @param message
*/
public HeaderViewer(Composite parent, byte message) {
- rootComp = parent;
displayHeader = true;
hidden = false;
@@ -82,7 +79,6 @@ public class HeaderViewer {
layout.marginWidth = 2;
innerComp.setLayout(layout);
data = new GridData(GridData.FILL_BOTH);
- data.heightHint = HEADER_LABEL_SIZE;
innerComp.setLayoutData(data);
rr = null;
@@ -133,12 +129,11 @@ public class HeaderViewer {
headerText.setFont(JFaceResources.getTextFont());
PlatformUI.getWorkbench().getHelpSystem().setHelp(headerText, ContextIds.VIEW_RESPONSE);
- rootComp.layout(true);
+ headerComp.getParent().layout(true);
} else {
innerComp.dispose();
data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
- data.heightHint = HEADER_LABEL_SIZE;
headerComp.setLayoutData(data);
innerComp = new Composite(headerComp, SWT.NONE);
@@ -148,13 +143,12 @@ public class HeaderViewer {
layout.marginWidth = 2;
innerComp.setLayout(layout);
data = new GridData(GridData.FILL_BOTH);
- data.heightHint = HEADER_LABEL_SIZE;
innerComp.setLayoutData(data);
headerLabel = new Label(innerComp, SWT.NONE);
headerLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING));
- rootComp.layout(true);
+ headerComp.getParent().layout(true);
}
}
getView();
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/ImageViewer.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/ImageViewer.java
index 4c02f38b6..f8618ed17 100644
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/ImageViewer.java
+++ b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/ImageViewer.java
@@ -16,7 +16,6 @@ import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.ImageData;
import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
import org.eclipse.wst.internet.monitor.ui.internal.Messages;
@@ -25,8 +24,6 @@ import org.eclipse.wst.internet.monitor.ui.internal.provisional.ContentViewer;
* An image viewer.
*/
public class ImageViewer extends ContentViewer {
- protected Composite rootComp;
- protected Composite viewerComp;
protected Label messageLabel;
protected byte[] content;
@@ -35,18 +32,7 @@ public class ImageViewer extends ContentViewer {
* @see ContentViewer#init(Composite)
*/
public void init(Composite parent) {
- rootComp = parent;
-
- viewerComp = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout();
- layout.numColumns = 1;
- layout.marginHeight = 0;
- layout.marginWidth = 0;
- viewerComp.setLayout(layout);
- GridData data = new GridData(GridData.FILL_BOTH);
- viewerComp.setLayoutData(data);
-
- messageLabel = new Label(viewerComp, SWT.NONE);
+ messageLabel = new Label(parent, SWT.NONE);
messageLabel.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING | GridData.VERTICAL_ALIGN_BEGINNING));
messageLabel.setText(Messages.imageViewInvalid);
}
@@ -64,15 +50,15 @@ public class ImageViewer extends ContentViewer {
int trimFront = 0;
int trimBack = 0;
int len = b.length - 1;
- while(b[trimFront] == cr || b[trimFront] == lf)
+ while (b[trimFront] == cr || b[trimFront] == lf)
trimFront++;
- while(b[len - trimBack] == cr || b[len - trimBack] == lf)
+ while (b[len - trimBack] == cr || b[len - trimBack] == lf)
trimBack++;
if (trimFront + trimBack > 0) {
byte[] temp = b;
b = new byte[temp.length - trimBack - trimFront];
- for(int i = trimFront; i < temp.length - trimBack; i++) {
+ for (int i = trimFront; i < temp.length - trimBack; i++) {
b[i - trimFront] = temp[i];
}
}
@@ -85,8 +71,9 @@ public class ImageViewer extends ContentViewer {
}
}
- viewerComp.layout(true);
- messageLabel.setFont(viewerComp.getParent().getFont());
+ Composite parent = messageLabel.getParent();
+ messageLabel.setFont(parent.getFont());
+ parent.layout(true);
}
/**
@@ -100,6 +87,8 @@ public class ImageViewer extends ContentViewer {
* @see ContentViewer#dispose()
*/
public void dispose() {
- viewerComp.dispose();
+ messageLabel.dispose();
+ messageLabel = null;
+ content = null;
}
} \ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/XMLViewer.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/XMLViewer.java
index 3d8c0f4c1..150ebe4fd 100644
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/XMLViewer.java
+++ b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/XMLViewer.java
@@ -14,13 +14,7 @@ import java.io.*;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Result;
-import javax.xml.transform.Source;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.*;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
@@ -45,12 +39,9 @@ import org.xml.sax.*;
* XML Viewer.
*/
public class XMLViewer extends ContentViewer {
- protected GridData data;
+ protected Composite viewerComp;
protected StackLayout layout;
protected Text messageText;
-
- protected Composite rootComp;
- protected Composite viewerComp;
protected Label messageLabel;
protected boolean xmlTagMissing = false;
@@ -59,13 +50,6 @@ public class XMLViewer extends ContentViewer {
protected String originalEncoding;
protected byte[] content;
-
- /** (non-Javadoc)
- * @see ContentViewer#dispose()
- */
- public void dispose() {
- viewerComp.dispose();
- }
/** (non-Javadoc)
* @see ContentViewer#setContent(byte[])
@@ -136,15 +120,12 @@ public class XMLViewer extends ContentViewer {
* @see ContentViewer#init(Composite)
*/
public void init(Composite parent) {
- rootComp = parent;
-
viewerComp = new Composite(parent, SWT.NONE);
layout = new StackLayout();
layout.marginHeight = 0;
layout.marginWidth = 0;
viewerComp.setLayout(layout);
- data = new GridData(GridData.FILL_BOTH);
- viewerComp.setLayoutData(data);
+ viewerComp.setLayoutData(new GridData(GridData.FILL_BOTH));
messageText = new Text(viewerComp, SWT.BORDER | SWT.MULTI | SWT.READ_ONLY | SWT.H_SCROLL | SWT.V_SCROLL);
Display display = viewerComp.getDisplay();
@@ -227,4 +208,13 @@ public class XMLViewer extends ContentViewer {
}
return out.toByteArray();
}
+
+ /** (non-Javadoc)
+ * @see ContentViewer#dispose()
+ */
+ public void dispose() {
+ viewerComp.dispose();
+ viewerComp = null;
+ content = null;
+ }
} \ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/plugin.properties b/plugins/org.eclipse.wst.internet.monitor.ui/plugin.properties
index ae803d577..c45f6575e 100644
--- a/plugins/org.eclipse.wst.internet.monitor.ui/plugin.properties
+++ b/plugins/org.eclipse.wst.internet.monitor.ui/plugin.properties
@@ -18,8 +18,9 @@ actionResend=Resend request
actionModify=Modify request
actionModifyResend=Send Modified Request
-byteView=Byte View
-imageView=Image View
-xmlView=XML View
+byteView=Byte
+imageView=Image
+xmlView=XML
+browserView=Web Browser
preferenceTitle=TCP/IP Monitor
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/plugin.xml b/plugins/org.eclipse.wst.internet.monitor.ui/plugin.xml
index 96b286ec4..9b6c8552f 100644
--- a/plugins/org.eclipse.wst.internet.monitor.ui/plugin.xml
+++ b/plugins/org.eclipse.wst.internet.monitor.ui/plugin.xml
@@ -31,20 +31,25 @@
<extension point="org.eclipse.wst.internet.monitor.ui.viewers">
<viewer
- id="org.eclipse.wst.internet.monitor.viewers.byteviewer"
+ id="org.eclipse.wst.internet.monitor.viewers.byte"
class="org.eclipse.wst.internet.monitor.ui.internal.viewers.ByteViewer"
type="requestresponse"
label="%byteView"/>
<viewer
- id="org.eclipse.wst.internet.monitor.viewers.imageviewer"
+ id="org.eclipse.wst.internet.monitor.viewers.image"
class="org.eclipse.wst.internet.monitor.ui.internal.viewers.ImageViewer"
type="requestresponse"
label="%imageView"/>
<viewer
- id="org.eclipse.wst.internet.monitor.viewers.XMLViewer"
+ id="org.eclipse.wst.internet.monitor.viewers.xml"
class="org.eclipse.wst.internet.monitor.ui.internal.viewers.XMLViewer"
type="requestresponse"
label="%xmlView"/>
+ <viewer
+ id="org.eclipse.wst.internet.monitor.viewers.browser"
+ class="org.eclipse.wst.internet.monitor.ui.internal.viewers.BrowserViewer"
+ type="requestresponse"
+ label="%browserView"/>
</extension>
<extension point="org.eclipse.core.runtime.adapters">

Back to the top