Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

This commit was manufactured by cvs2svn to create tag 'Root_R3_0_4_pa…

…tches'.
  • Loading branch information...
commit 2caa230bac5380214210151f7e01523fb9268385 2 parents e7f5776 + 37f1135
ndai authored
Showing with 10 additions and 5,492 deletions.
  1. +4 −5 features/org.eclipse.wst.server_core.feature.patch/buildnotes_org.eclipse.wst.server_core.feature.patch.html
  2. +3 −5 features/org.eclipse.wst.server_core.feature.patch/feature.properties
  3. +3 −3 features/org.eclipse.wst.server_core.feature.patch/feature.xml
  4. +0 −7 plugins/org.eclipse.wst.internet.monitor.core/.classpath
  5. +0 −8 plugins/org.eclipse.wst.internet.monitor.core/.cvsignore
  6. +0 −6 plugins/org.eclipse.wst.internet.monitor.core/.options
  7. +0 −28 plugins/org.eclipse.wst.internet.monitor.core/.project
  8. +0 −3  plugins/org.eclipse.wst.internet.monitor.core/.settings/org.eclipse.core.resources.prefs
  9. +0 −77 plugins/org.eclipse.wst.internet.monitor.core/.settings/org.eclipse.jdt.core.prefs
  10. +0 −3  plugins/org.eclipse.wst.internet.monitor.core/.settings/org.eclipse.jdt.ui.prefs
  11. +0 −14 plugins/org.eclipse.wst.internet.monitor.core/.settings/org.eclipse.pde.prefs
  12. +0 −14 plugins/org.eclipse.wst.internet.monitor.core/META-INF/MANIFEST.MF
  13. +0 −34 plugins/org.eclipse.wst.internet.monitor.core/about.html
  14. +0 −22 plugins/org.eclipse.wst.internet.monitor.core/build.properties
  15. +0 −177 ...ipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/AcceptThread.java
  16. +0 −50 ...clipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Connection.java
  17. +0 −79 ...pse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/ContentFilter.java
  18. +0 −62 ...nternet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/FailedConnectionThread.java
  19. +0 −66 ...se.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IContentFilter.java
  20. +0 −120 ....eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IMemento.java
  21. +0 −55 ....wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IProtocolAdapter.java
  22. +0 −23 ....eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IStartup.java
  23. +0 −30 ....eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Messages.java
  24. +0 −21 ...se.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Messages.properties
  25. +0 −346 ...g.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Monitor.java
  26. +0 −318 ...se.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorManager.java
  27. +0 −183 ...pse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorPlugin.java
  28. +0 −133 ...st.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorWorkingCopy.java
  29. +0 −75 ...e.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/ProtocolAdapter.java
  30. +0 −86 ...ternet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/ProtocolAdapterDelegate.java
  31. +0 −351 ...pse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/SocketWrapper.java
  32. +0 −49 ....internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/TCPIPProtocolAdapter.java
  33. +0 −81 ...lipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/TCPIPThread.java
  34. +0 −79 ...org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Trace.java
  35. +0 −265 ...clipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/XMLMemento.java
  36. +0 −120 ...t.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPConnection.java
  37. +0 −52 ...ernet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPProtocolAdapter.java
  38. +0 −95 ....wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPRequest.java
  39. +0 −725 ...e.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPThread.java
  40. +0 −36 ...rnet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/ResendHTTPConnection.java
  41. +0 −148 ...nternet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/ResendHTTPRequest.java
  42. +0 −47 ...itor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/ContentFilterDelegate.java
  43. +0 −212 ....internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/IMonitor.java
  44. +0 −44 ...t.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/IMonitorListener.java
  45. +0 −116 ...onitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/IMonitorWorkingCopy.java
  46. +0 −54 ...t.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/IRequestListener.java
  47. +0 −109 ...ternet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/MonitorCore.java
  48. +0 −349 ...t.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/Request.java
  49. +0 −31 ...t.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/package.html
  50. +0 −27 ...st.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/package.xml
  51. +0 −19 plugins/org.eclipse.wst.internet.monitor.core/plugin.properties
  52. +0 −21 plugins/org.eclipse.wst.internet.monitor.core/plugin.xml
  53. +0 −146 plugins/org.eclipse.wst.internet.monitor.core/schema/internalContentFilters.exsd
  54. +0 −136 plugins/org.eclipse.wst.internet.monitor.core/schema/protocolAdapters.exsd
  55. +0 −127 plugins/org.eclipse.wst.internet.monitor.core/schema/startup.exsd
View
9 ...ures/org.eclipse.wst.server_core.feature.patch/buildnotes_org.eclipse.wst.server_core.feature.patch.html
@@ -4,18 +4,17 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Build" content="Build">
- <title>WTP 3.0.4 Patches</title>
+ <title>WTP 2.0.2 Patches</title>
</head>
<body>
-<h1>WTP 3.0.4 Patches</h1>
+<h1>WTP 2.0.2 Patches</h1>
<h2>Feature Patched: org.eclipse.wst.server_core.feature.patch</h2>
<h3>Plugin(s) replaced:</h3>
-<ul><li>org.eclipse.wst.internet.monitor.core</li></ul>
-<p>Bug <a href='https://bugs.eclipse.org/267125'>267125</a>. TCP/IP monitor causes connections to hang</p>
-<p>Bug <a href='https://bugs.eclipse.org/267472'>267472</a>. TCP/IP monitor does not display request messages properly</p>
+<ul><li>org.eclipse.wst.server.core</li></ul>
+<p>Bug <a href='https://bugs.eclipse.org/219889'>219889</a>. ModulePublishInfo loadResource and saveResource are not symmetrical.</p>
</body></html>
View
8 features/org.eclipse.wst.server_core.feature.patch/feature.properties
@@ -25,11 +25,9 @@ updateSiteName=The Eclipse Web Tools Platform (WTP) Project update site
# "description" property - description of the feature
description=\
-Contains fixes described in the following bugillia(s):\n\
-\n\
-Bug https://bugs.eclipse.org/267125 TCP/IP monitor causes connections to hang\n\
-Bug https://bugs.eclipse.org/267472 TCP/IP monitor does not display request messages properly\n\
-\n\
+Patch(s) for Server tools framework core. \n\
+See bug 219889 (https://bugs.eclipse.org/219889) ModulePublishInfo loadResource and saveResource are not symmetrical \n\
+
# "copyright" property - text of the "Feature Update Copyright"
copyright=\
View
6 features/org.eclipse.wst.server_core.feature.patch/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.wst.server_core.feature.patch"
label="%featureName"
- version="3.0.4.qualifier"
+ version="2.0.2.qualifier"
provider-name="%providerName">
<description>%description</description>
@@ -12,11 +12,11 @@
<license url="%licenseURL">%license</license>
<requires>
- <import feature="org.eclipse.wst.server_core.feature" version="3.0.4.v20090115-20Am8s733J3_4F1256" patch="true"/>
+ <import feature="org.eclipse.wst.server_core.feature" version="2.0.2.v200802150100-2-CN8s733H3_3Ic" patch="true"/>
</requires>
<plugin
- id="org.eclipse.wst.internet.monitor.core"
+ id="org.eclipse.wst.server.core"
download-size="0"
install-size="0"
version="0.0.0"
View
7 plugins/org.eclipse.wst.internet.monitor.core/.classpath
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="monitorcore/"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
View
8 plugins/org.eclipse.wst.internet.monitor.core/.cvsignore
@@ -1,8 +0,0 @@
-bin
-monitorcore.jar
-build.xml
-temp.folder
-org.eclipse.wst.internet.monitor.core_3.0.0.jar
-@dot
-src.zip
-javaCompiler...args
View
6 plugins/org.eclipse.wst.internet.monitor.core/.options
@@ -1,6 +0,0 @@
-# Debugging options for the org.eclipse.wst.internet.monitor.core plugin
-
-# Turn on general debugging
-org.eclipse.wst.internet.monitor.core/debug=true
-
-org.eclipse.wst.internet.monitor.core/parsing=false
View
28 plugins/org.eclipse.wst.internet.monitor.core/.project
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.wst.internet.monitor.core</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.PluginNature</nature>
- </natures>
-</projectDescription>
View
3  plugins/org.eclipse.wst.internet.monitor.core/.settings/org.eclipse.core.resources.prefs
@@ -1,3 +0,0 @@
-#Fri Nov 10 17:11:35 HST 2006
-eclipse.preferences.version=1
-encoding/<project>=ISO-8859-1
View
77 plugins/org.eclipse.wst.internet.monitor.core/.settings/org.eclipse.jdt.core.prefs
@@ -1,77 +0,0 @@
-#Thu Sep 13 15:25:06 EDT 2007
-eclipse.preferences.version=1
-instance/org.eclipse.core.net/org.eclipse.core.net.hasMigrated=true
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=error
-org.eclipse.jdt.core.builder.invalidClasspath=ignore
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch,*.testsuite,*.deploy,*.location,*.execution,*.datapool,*.artifact,*.html,*.svg
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=disabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=disabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=error
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
-org.eclipse.jdt.core.incompatibleJDKLevel=warning
-org.eclipse.jdt.core.incompleteClasspath=error
View
3  plugins/org.eclipse.wst.internet.monitor.core/.settings/org.eclipse.jdt.ui.prefs
@@ -1,3 +0,0 @@
-#Fri Feb 23 21:16:21 EST 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?>\n<templates/>
View
14 plugins/org.eclipse.wst.internet.monitor.core/.settings/org.eclipse.pde.prefs
@@ -1,14 +0,0 @@
-#Sat Apr 22 18:36:14 EDT 2006
-compilers.incompatible-environment=0
-compilers.p.build=0
-compilers.p.deprecated=1
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=0
-compilers.p.unknown-element=0
-compilers.p.unknown-resource=0
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.use-project=true
-eclipse.preferences.version=1
View
14 plugins/org.eclipse.wst.internet.monitor.core/META-INF/MANIFEST.MF
@@ -1,14 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.wst.internet.monitor.core; singleton:=true
-Bundle-Version: 1.0.304.qualifier
-Bundle-Activator: org.eclipse.wst.internet.monitor.core.internal.MonitorPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.wst.internet.monitor.core.internal;x-friends:="org.eclipse.wst.internet.monitor.ui",
- org.eclipse.wst.internet.monitor.core.internal.http;x-friends:="org.eclipse.wst.internet.monitor.ui",
- org.eclipse.wst.internet.monitor.core.internal.provisional;x-friends:="org.eclipse.wst.internet.monitor.ui"
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)"
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
View
34 plugins/org.eclipse.wst.internet.monitor.core/about.html
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>June, 2008</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in
-("Content"). Unless otherwise indicated below, the Content is provided to you
-under the terms and conditions of the Eclipse Public License Version 1.0
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>.
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the
-Content is being redistributed by another party ("Redistributor") and different
-terms and conditions may apply to your use of any object code in the Content.
-Check the Redistributor’s license that was provided with the Content. If no such
-license exists, contact the Redistributor. Unless otherwise indicated below, the
-terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
View
22 plugins/org.eclipse.wst.internet.monitor.core/build.properties
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2004, 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
-###############################################################################
-bin.includes = plugin.xml,\
- .,\
- plugin.properties,\
- .options,\
- META-INF/,\
- about.html
-bin.excludes = bin/**,\
- @dot/**,\
- temp.folder/**
-src.includes = schema/
-source.. = monitorcore/
-output.. = bin/
View
177 ...e.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/AcceptThread.java
@@ -1,177 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2008 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.core.internal;
-
-import java.io.InterruptedIOException;
-import java.net.*;
-
-import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitor;
-/**
- * The actual TCP/IP monitoring server. This is a thread that
- * listens on a port and relays a call to another server.
- */
-public class AcceptThread {
- protected IMonitor monitor;
-
- protected boolean alive = true;
- protected ServerSocket serverSocket;
-
- protected Thread thread;
-
- class ServerThread extends Thread {
- public ServerThread() {
- super("TCP/IP Monitor");
- }
-
- /**
- * ServerThread accepts incoming connections and delegates to the protocol
- * adapter to deal with the connection.
- */
- public void run() {
- // create a new server socket
- try {
- serverSocket = new ServerSocket(monitor.getLocalPort());
- serverSocket.setSoTimeout(2000);
- Trace.trace(Trace.FINEST, "Monitoring localhost:" + monitor.getLocalPort() + " -> " + monitor.getRemoteHost()
- + ":" + monitor.getRemotePort());
- } catch (Exception e) {
- Trace.trace(Trace.SEVERE, "Could not start monitoring");
- return;
- }
-
- while (alive) {
- try {
- // accept the connection from the client
- Socket localSocket = serverSocket.accept();
-
- int timeout = monitor.getTimeout();
- if (timeout != 0)
- localSocket.setSoTimeout(timeout);
-
- try {
- // connect to the remote server
- Socket remoteSocket = new Socket();
- if (timeout != 0)
- remoteSocket.setSoTimeout(timeout);
-
- remoteSocket.connect(new InetSocketAddress(monitor.getRemoteHost(), monitor.getRemotePort()), timeout);
-
- // relay the call through
- String protocolId = monitor.getProtocol();
- ProtocolAdapter adapter = MonitorPlugin.getInstance().getProtocolAdapter(protocolId);
- adapter.connect(monitor, localSocket, remoteSocket);
- } catch (SocketTimeoutException e) {
- FailedConnectionThread thread2 = new FailedConnectionThread((Monitor) monitor, localSocket, Messages.errorConnectTimeout);
- thread2.start();
- } catch (Exception e) {
- FailedConnectionThread thread2 = new FailedConnectionThread((Monitor) monitor, localSocket, null);
- thread2.start();
- }
- } catch (InterruptedIOException e) {
- // do nothing
- } catch (Exception e) {
- if (alive)
- Trace.trace(Trace.SEVERE, "Error while monitoring", e);
- }
- }
- }
- }
-
- /**
- * AcceptThread constructor.
- *
- * @param monitor a monitor
- */
- public AcceptThread(IMonitor monitor) {
- super();
- this.monitor = monitor;
- }
-
- /**
- * Start the server.
- */
- public void startServer() {
- if (thread != null)
- return;
- thread = new ServerThread();
- thread.setDaemon(true);
- thread.setPriority(Thread.NORM_PRIORITY + 1);
- thread.start();
-
- Thread.yield();
-
- // wait up to 2 seconds for initialization
- int i = 0;
- while (serverSocket == null && i < 10) {
- try {
- Thread.sleep(200);
- } catch (Exception e) {
- // ignore
- }
- i++;
- }
- }
-
- /**
- * Returns <code>true</code> if the server is running.
- *
- * @return <code>true</code> if the server is running, and <code>false</code>
- * otherwise
- */
- public boolean isRunning() {
- return (thread != null);
- }
-
- /**
- * Correctly close the server socket and shut down the server.
- */
- public void stopServer() {
- try {
- alive = false;
- thread = null;
-
- String protocolId = monitor.getProtocol();
- ProtocolAdapter adapter = MonitorPlugin.getInstance().getProtocolAdapter(protocolId);
- adapter.disconnect(monitor);
- if (serverSocket != null)
- serverSocket.close();
- } catch (Exception e) {
- Trace.trace(Trace.SEVERE, "Error stopping server", e);
- }
- }
-
- /**
- * Returns true if this port is in use.
- *
- * @return boolean
- * @param port int
- */
- public static boolean isPortInUse(int port) {
- ServerSocket s = null;
- try {
- s = new ServerSocket(port);
- } catch (SocketException e) {
- return true;
- } catch (Exception e) {
- return true;
- } finally {
- if (s != null) {
- try {
- s.close();
- } catch (Exception e) {
- // ignore
- }
- }
- }
-
- return false;
- }
-}
View
50 ...pse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Connection.java
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2007 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.core.internal;
-
-import java.net.Socket;
-/**
- *
- */
-public class Connection {
- protected Socket in;
- protected Socket out;
-
- /**
- * Creates a new connection.
- *
- * @param in inbound socket
- * @param out outbound socket
- */
- public Connection(Socket in, Socket out) {
- this.in = in;
- this.out = out;
- }
-
- /**
- * Close the connection.
- */
- public void close() {
- Trace.trace(Trace.FINEST, "Closing connection");
- try {
- in.getOutputStream().flush();
- in.shutdownInput();
- in.shutdownOutput();
-
- out.getOutputStream().flush();
- out.shutdownInput();
- out.shutdownOutput();
- Trace.trace(Trace.FINEST, "Connection closed");
- } catch (Exception ex) {
- Trace.trace(Trace.WARNING, "Error closing connection " + this, ex);
- }
- }
-}
View
79 ....wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/ContentFilter.java
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2007 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.core.internal;
-
-import java.io.IOException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.ContentFilterDelegate;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.Request;
-/**
- *
- */
-public class ContentFilter implements IContentFilter {
- protected IConfigurationElement element;
- protected ContentFilterDelegate delegate;
-
- protected ContentFilter(IConfigurationElement element) {
- this.element = element;
- }
-
- /**
- * Return the id.
- *
- * @return the id
- */
- public String getId() {
- return element.getAttribute("id");
- }
-
- /**
- * Returns the relative order for this filter.
- *
- * @return the order
- */
- public int getOrder() {
- try {
- return Integer.parseInt(element.getAttribute("order"));
- } catch (Exception e) {
- return 0;
- }
- }
-
- /**
- * Returns the name.
- *
- * @return the name
- */
- public String getName() {
- return element.getAttribute("name");
- }
-
- /**
- * Do the filtering.
- *
- * @param request the request
- * @param isRequest true if request, false if response
- * @param content the content
- * @return the filtered content
- * @throws IOException if there is a connection problem
- */
- public byte[] filter(Request request, boolean isRequest, byte[] content) throws IOException {
- if (delegate == null) {
- try {
- delegate = (ContentFilterDelegate) element.createExecutableExtension("class");
- } catch (Exception e) {
- Trace.trace(Trace.SEVERE, "Could not create content filter delegate: " + getId(), e);
- return new byte[0];
- }
- }
- return delegate.filter(request, isRequest, content);
- }
-}
View
62 ...rnet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/FailedConnectionThread.java
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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.core.internal;
-
-import java.io.InputStream;
-import java.net.Socket;
-
-import org.eclipse.wst.internet.monitor.core.internal.provisional.Request;
-
-/**
- * Thread used if the connection to the server fails.
- */
-public class FailedConnectionThread extends Thread {
- private static final int BUFFER = 2048;
- protected Monitor monitor;
- protected Socket socket;
- protected String error;
-
- public FailedConnectionThread(Monitor monitor, Socket socket, String error) {
- super();
- this.monitor = monitor;
- this.socket = socket;
- this.error = error;
- }
-
- public void run() {
- Request request = new Request(monitor, IProtocolAdapter.TCPIP_PROTOCOL_ID, monitor.getLocalPort(), monitor.getRemoteHost(), monitor.getRemotePort());
- String err = error;
- if (err == null)
- err = Messages.errorConnectToServer;
- request.addToResponse(err.getBytes());
-
- try {
- InputStream in = socket.getInputStream();
- byte[] b = new byte[BUFFER];
- while (in.available() > 0) {
- int n = in.read(b);
- byte[] c = new byte[n];
- System.arraycopy(b, 0, c, 0, n);
- request.addToRequest(c);
- }
- } catch (Exception e) {
- // ignore
- } finally {
- try {
- socket.shutdownInput();
- socket.shutdownOutput();
- socket.close();
- } catch (Exception ex) {
- // ignore
- }
- }
- }
-}
View
66 ...wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IContentFilter.java
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 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.core.internal;
-
-import java.io.IOException;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.Request;
-/**
- * A content filter that filters specific contents from the monitor traffic
- * of a request.
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- */
-public interface IContentFilter {
- /**
- * Returns the id of this filter.
- * Each filter has a distinct, fixed id. Ids are intended to be used internally as keys;
- * they are not intended to be shown to end users.
- *
- * @return the element id
- */
- public String getId();
-
- /**
- * Returns the displayable (translated) name for this filter.
- *
- * @return a displayable name
- */
- public String getName();
-
- /**
- * Returns the relative order of this filter.
- * Each filter has a relative order that allows them to be applied in the correct
- * order relative to each other. Lower orders are processed first.
- *
- * @return the relative order
- *
- * [issue: CS - The schema (contentFilterns.exsd) defines an 'order' attribute.
- * The comments above suggest that filters should be designed to be composable. Is this correct?
- * It would be good to make this optional if the user had no idea how his filter should be ordered.
- * I've found that sometimes 'low', 'medium', 'high' are adequate to handle ordering issues and are
- * easier for the extension writer deal with and get a sense of the proper value to assign. ]
- */
- //public int getOrder();
-
- /**
- * Filter the given content from the given request. The content that has been filtered out will
- * not be shown to clients of the TCP/IP monitor.
- *
- * @param request the request that the filter will be performed on
- * @param isRequest set to true if the content filter applies to request monitor traffic,
- * or set to false if the content filter applies to the response monitor traffic
- * @param content the message content to be filtered out
- * @return the filtered content
- * @throws IOException if there is an error while parsing or filtering the content
- */
- public byte[] filter(Request request, boolean isRequest, byte[] content) throws IOException;
-}
View
120 ...lipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IMemento.java
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2007 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.core.internal;
-/**
- * Interface to a memento used for saving the important state of an object
- * in a form that can be persisted in the file system.
- * <p>
- * Mementos were designed with the following requirements in mind:
- * <ol>
- * <li>Certain objects need to be saved and restored across platform sessions.
- * </li>
- * <li>When an object is restored, an appropriate class for an object might not
- * be available. It must be possible to skip an object in this case.</li>
- * <li>When an object is restored, the appropriate class for the object may be
- * different from the one when the object was originally saved. If so, the
- * new class should still be able to read the old form of the data.</li>
- * </ol>
- * </p>
- * <p>
- * Mementos meet these requirements by providing support for storing a
- * mapping of arbitrary string keys to primitive values, and by allowing
- * mementos to have other mementos as children (arranged into a tree).
- * A robust external storage format based on XML is used.
- * </p><p>
- * The key for an attribute may be any alpha numeric value. However, the
- * value of <code>TAG_ID</code> is reserved for internal use.
- * </p><p>
- * This interface is not intended to be implemented by clients.
- * </p>
- */
-public interface IMemento {
- /**
- * Creates a new child of this memento with the given type.
- * <p>
- * The <code>getChild</code> and <code>getChildren</code> methods
- * are used to retrieve children of a given type.
- * </p>
- *
- * @param type the type
- * @return a new child memento
- * @see #getChild
- * @see #getChildren
- */
- public IMemento createChild(String type);
-
- /**
- * Returns the first child with the given type id.
- *
- * @param type the type id
- * @return the first child with the given type
- */
- public IMemento getChild(String type);
-
- /**
- * Returns all children with the given type id.
- *
- * @param type the type id
- * @return the list of children with the given type
- */
- public IMemento[] getChildren(String type);
-
- /**
- * Returns the integer value of the given key.
- *
- * @param key the key
- * @return the value, or <code>null</code> if the key was not found or was found
- * but was not an integer
- */
- public Integer getInteger(String key);
-
- /**
- * Returns the string value of the given key.
- *
- * @param key the key
- * @return the value, or <code>null</code> if the key was not found or was found
- * but was not an integer
- */
- public String getString(String key);
-
- /**
- * Returns the boolean value of the given key.
- *
- * @param key the key
- * @return the value, or <code>null</code> if the key was not found or was found
- * but was not a boolean
- */
- public Boolean getBoolean(String key);
-
- /**
- * Sets the value of the given key to the given integer.
- *
- * @param key the key
- * @param value the value
- */
- public void putInteger(String key, int value);
-
- /**
- * Sets the value of the given key to the given boolean value.
- *
- * @param key the key
- * @param value the value
- */
- public void putBoolean(String key, boolean value);
-
- /**
- * Sets the value of the given key to the given string.
- *
- * @param key the key
- * @param value the value
- */
- public void putString(String key, String value);
-}
View
55 ...t.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IProtocolAdapter.java
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 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.core.internal;
-/**
- * A protocol adapter enables a monitor to support a particular network
- * protocol used to communicate between a client and server. All supported
- * protocols will be based on TCP/IP.
- * <p>
- * Protocol adapters are registered via the <code>protocolAdapaters</code>
- * extension point in the <code>org.eclipse.wst.internet.monitor.core</code>
- * plug-in. The global list of known protocol adapters is available via
- * {@link MonitorPlugin#getProtocolAdapters()}. Standard protocol
- * adapters for {@linkplain #HTTP_PROTOCOL_ID HTTP} and
- * {@linkplain #TCPIP_PROTOCOL_ID TCP/IP} are built-in.
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- */
-public interface IProtocolAdapter {
- /**
- * Protocol adapter id (value {@value}) for TCP/IP.
- * The TCP/IP protocol adapter is standard.
- */
- public static String TCPIP_PROTOCOL_ID = "TCP/IP";
-
- /**
- * Protocol adapter id (value {@value}) for HTTP.
- * The HTTP protocol adapter is standard.
- */
- public static String HTTP_PROTOCOL_ID = "HTTP";
-
- /**
- * Returns the id of this adapter.
- * Each adapter has a distinct, fixed id. Ids are intended to be used
- * internally as keys; they are not intended to be shown to end users.
- *
- * @return the element id
- */
- public String getId();
-
- /**
- * Returns the displayable (translated) name for this adapter.
- *
- * @return a displayable name
- */
- public String getName();
-}
View
23 ...lipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IStartup.java
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 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.core.internal;
-/**
- * An interface for the startup extension point.
- * Plug-ins that register a startup extension will be activated when the monitor
- * core plug-in initializes and have an opportunity to run code that can't be
- * implemented using the normal contribution mechanisms.
- */
-public interface IStartup {
- /**
- * Will be called on monitor core startup.
- */
- public void startup();
-}
View
30 ...lipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Messages.java
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2008 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.core.internal;
-
-import org.eclipse.osgi.util.NLS;
-/**
- * Translated messages.
- */
-public class Messages extends NLS {
- public static String errorInvalidLocalPort;
- public static String errorInvalidRemotePort;
- public static String errorInvalidRemoteHost;
- public static String errorConnectToServer;
- public static String errorConnectTimeout;
- public static String monitorValid;
- public static String errorPortInUse;
- public static String errorContentSize;
-
- static {
- NLS.initializeMessages(MonitorPlugin.PLUGIN_ID + ".internal.Messages", Messages.class);
- }
-}
View
21 ...wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Messages.properties
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2004, 2008 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
-###############################################################################
-
-# --------------- Errors ---------------
-errorPortInUse=The TCP/IP monitor could not start because port {0} is in use.
-errorInvalidLocalPort=The local port number is invalid.
-errorInvalidRemotePort=The remote port number is invalid.
-errorInvalidRemoteHost=The remote host name is invalid.
-errorConnectToServer=Error: Could not connect to server.
-errorConnectTimeout=Error: Timeout connecting to server.
-errorContentSize=The HTTP content is too large to display.
-
-monitorValid=The monitor is valid.
View
346 ...clipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Monitor.java
@@ -1,346 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2008 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
- * Tianchao Li (Tianchao.Li@gmail.com) - Start monitors by default
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-
-import java.net.InetAddress;
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.*;
-/**
- *
- */
-public class Monitor implements IMonitor {
- private static final String MEMENTO_ID = "id";
- private static final String MEMENTO_LOCAL_PORT = "local-port";
- private static final String MEMENTO_REMOTE_HOST = "remote-host";
- private static final String MEMENTO_REMOTE_PORT = "remote-port";
- private static final String MEMENTO_TYPE_ID = "type-id";
- private static final String MEMENTO_TIMEOUT = "timeout";
- private static final String MEMENTO_AUTO_START = "auto-start";
-
- private static final int ADD = 0;
- private static final int CHANGE = 1;
-
- protected String id;
- protected String remoteHost;
- protected int remotePort = 80;
- protected int localPort = 80;
- protected String protocolId;
- protected int timeout;
- protected boolean autoStart = false;
-
- protected List<IRequestListener> requestListeners = new ArrayList<IRequestListener>(2);
-
- /**
- * Create a new monitor.
- */
- public Monitor() {
- protocolId = MonitorPlugin.getInstance().getDefaultType();
- }
-
- /** (non-Javadoc)
- * @see IMonitor#getId()
- */
- public String getId() {
- return id;
- }
-
- /** (non-Javadoc)
- * @see IMonitor#getRemoteHost()
- */
- public String getRemoteHost() {
- return remoteHost;
- }
-
- /** (non-Javadoc)
- * @see IMonitor#getRemotePort()
- */
- public int getRemotePort() {
- return remotePort;
- }
-
- /** (non-Javadoc)
- * @see IMonitor#getLocalPort()
- */
- public int getLocalPort() {
- return localPort;
- }
-
- /** (non-Javadoc)
- * @see IMonitor#getProtocol()
- */
- public String getProtocol() {
- return protocolId;
- }
-
- /** (non-Javadoc)
- * @see IMonitor#getTimeout()
- */
- public int getTimeout() {
- return timeout;
- }
-
- /** (non-Javadoc)
- * @see IMonitor#isAutoStart()
- */
- public boolean isAutoStart() {
- return autoStart;
- }
-
- /** (non-Javadoc)
- * @see IMonitor#isRunning()
- */
- public boolean isRunning() {
- if (isWorkingCopy())
- return false;
- return MonitorManager.getInstance().isRunning(this);
- }
-
- /**
- * @see IMonitor#delete()
- */
- public void delete() {
- if (isWorkingCopy())
- return;
- MonitorManager.getInstance().removeMonitor(this);
- }
-
- /**
- * @see IMonitor#isWorkingCopy()
- */
- public boolean isWorkingCopy() {
- return false;
- }
-
- /**
- * @see IMonitor#createWorkingCopy()
- */
- public IMonitorWorkingCopy createWorkingCopy() {
- return new MonitorWorkingCopy(this);
- }
-
- protected void setInternal(IMonitor monitor) {
- id = monitor.getId();
- remoteHost = monitor.getRemoteHost();
- remotePort = monitor.getRemotePort();
- localPort = monitor.getLocalPort();
- protocolId = monitor.getProtocol();
- timeout = monitor.getTimeout();
- autoStart = monitor.isAutoStart();
- }
-
- protected void save(IMemento memento) {
- memento.putString(MEMENTO_ID, id);
- memento.putString(MEMENTO_TYPE_ID, protocolId);
- memento.putInteger(MEMENTO_LOCAL_PORT, localPort);
- memento.putString(MEMENTO_REMOTE_HOST, remoteHost);
- memento.putInteger(MEMENTO_REMOTE_PORT, remotePort);
- memento.putInteger(MEMENTO_TIMEOUT, timeout);
- memento.putBoolean(MEMENTO_AUTO_START, autoStart);
- }
-
- protected void load(IMemento memento) {
- id = memento.getString(MEMENTO_ID);
- protocolId = memento.getString(MEMENTO_TYPE_ID);
- Integer temp = memento.getInteger(MEMENTO_LOCAL_PORT);
- if (temp != null)
- localPort = temp.intValue();
- remoteHost = memento.getString(MEMENTO_REMOTE_HOST);
- temp = memento.getInteger(MEMENTO_REMOTE_PORT);
- if (temp != null)
- remotePort = temp.intValue();
- temp = memento.getInteger(MEMENTO_TIMEOUT);
- if (temp != null)
- timeout = temp.intValue();
- Boolean temp2 = memento.getBoolean(MEMENTO_AUTO_START);
- if (temp != null)
- autoStart = temp2.booleanValue();
- }
-
- /**
- * @see IMonitor#start()
- */
- public synchronized void start() throws CoreException {
- if (isRunning())
- return;
- if (isWorkingCopy() || !MonitorManager.getInstance().exists(this))
- throw new IllegalArgumentException();
-
- IStatus status = validate();
- if (!status.isOK())
- throw new CoreException(status);
-
- MonitorManager.getInstance().startMonitor(this);
- }
-
- /**
- * @see IMonitor#start()
- */
- public synchronized void stop() {
- if (isWorkingCopy() || !MonitorManager.getInstance().exists(this))
- throw new IllegalArgumentException();
- if (!isRunning())
- return;
- MonitorManager.getInstance().stopMonitor(this);
- }
-
- /**
- * @see IMonitor#addRequestListener(IRequestListener)
- */
- public synchronized void addRequestListener(IRequestListener listener) {
- if (listener == null)
- throw new IllegalArgumentException();
- if (!requestListeners.contains(listener))
- requestListeners.add(listener);
- }
-
- /**
- * @see IMonitor#removeRequestListener(IRequestListener)
- */
- public synchronized void removeRequestListener(IRequestListener listener) {
- if (listener == null)
- throw new IllegalArgumentException();
- requestListeners.remove(listener);
- }
-
- /**
- * Fire a request event.
- * @param rr
- * @param type
- */
- protected void fireRequestEvent(Request rr, int type) {
- int size = requestListeners.size();
- IRequestListener[] rl = new IRequestListener[size];
- requestListeners.toArray(rl);
-
- for (IRequestListener listener : rl) {
- if (type == ADD)
- listener.requestAdded(this, rr);
- else if (type == CHANGE)
- listener.requestChanged(this, rr);
- }
- }
-
- /**
- * Add a new request response pair.
- *
- * @param request a request
- */
- public void addRequest(Request request) {
- fireRequestEvent(request, ADD);
- }
-
- /**
- * A request response pair has been changed.
- *
- * @param request a request
- */
- public void requestChanged(Request request) {
- fireRequestEvent(request, CHANGE);
- }
-
- /**
- * @see IMonitor#validate()
- */
- public IStatus validate() {
- if (localPort < 0)
- return new Status(IStatus.ERROR, MonitorPlugin.PLUGIN_ID, 0, Messages.errorInvalidLocalPort, null);
-
- if (remotePort < 0)
- return new Status(IStatus.ERROR, MonitorPlugin.PLUGIN_ID, 0, Messages.errorInvalidRemotePort, null);
-
- if (remoteHost == null || remoteHost.length() == 0 || !isValidHostname(remoteHost))
- return new Status(IStatus.ERROR, MonitorPlugin.PLUGIN_ID, 0, Messages.errorInvalidRemoteHost, null);
-
- if (isLocalhost(remoteHost) && localPort == remotePort)
- return new Status(IStatus.ERROR, MonitorPlugin.PLUGIN_ID, 0, Messages.errorInvalidLocalPort, null);
-
- return Status.OK_STATUS;
- }
-
- protected static boolean isValidHostname(String host) {
- if (host == null || host.trim().length() < 1)
- return false;
-
- int length = host.length();
- for (int i = 0; i < length; i++) {
- char c = host.charAt(i);
- if (!Character.isLetterOrDigit(c) && c != ':' && c != '.' && c != '-')
- return false;
- }
- if (host.endsWith(":"))
- return false;
- return true;
- }
-
- protected static boolean isLocalhost(String host) {
- if (host == null)
- return false;
- try {
- if ("localhost".equals(host) || "127.0.0.1".equals(host))
- return true;
- InetAddress localHostaddr = InetAddress.getLocalHost();
- if (localHostaddr.getHostName().equals(host))
- return true;
- } catch (Exception e) {
- Trace.trace(Trace.WARNING, "Error checking for localhost", e);
- }
- return false;
- }
-
- /**
- * @see Object#toString()
- */
- public String toString() {
- return "Monitor [" + getId() + ", " + getProtocol() + ", " + getLocalPort() + ", "
- + getRemoteHost() + ", " + getRemotePort() + "]";
- }
-
- /**
- * @see Object#equals(Object)
- */
- public boolean equals(Object obj) {
- if (!(obj instanceof Monitor))
- return false;
-
- IMonitor m = (IMonitor) obj;
- if (m.isWorkingCopy()) {
- m = ((IMonitorWorkingCopy) m).getOriginal();
- if (m == null)
- return false;
- }
- if (id == null && m.getId() != null)
- return false;
- if (id != null && !id.equals(m.getId()))
- return false;
-
- if (localPort != m.getLocalPort())
- return false;
- if (remotePort != m.getRemotePort())
- return false;
-
- if (remoteHost == null && m.getRemoteHost() != null)
- return false;
- if (remoteHost != null && !remoteHost.equals(m.getRemoteHost()))
- return false;
-
- if (protocolId == null && m.getProtocol() != null)
- return false;
- if (protocolId != null && !protocolId.equals(m.getProtocol()))
- return false;
-
- return true;
- }
-}
View
318 ...wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorManager.java
@@ -1,318 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2008 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
- * Tianchao Li (Tianchao.Li@gmail.com) - Start monitors by default
- **********************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-
-import java.io.ByteArrayInputStream;
-import java.util.*;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.internet.monitor.core.internal.http.ResendHTTPRequest;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.*;
-/**
- *
- */
-public class MonitorManager {
- private static final int ADD = 0;
- private static final int CHANGE = 1;
- private static final int REMOVE = 2;
-
- // monitors
- protected List<IMonitor> monitors;
- protected Map<IMonitor, AcceptThread> threads = new HashMap<IMonitor, AcceptThread>();
-
- protected List<IMonitorListener> monitorListeners = new ArrayList<IMonitorListener>();
-
- private Preferences.IPropertyChangeListener pcl;
- protected boolean ignorePreferenceChanges = false;
-
- protected Map<Request, List<ResendHTTPRequest>> resendMap = new HashMap<Request, List<ResendHTTPRequest>>();
-
- protected static MonitorManager instance;
-
- static {
- MonitorPlugin.getInstance().executeStartups();
- }
-
- /**
- * Return a static instance.
- *
- * @return the instance
- */
- public static MonitorManager getInstance() {
- if (instance == null) {
- instance = new MonitorManager();
- instance.startMonitors();
- }
-
- return instance;
- }
-
- private MonitorManager() {
- loadMonitors();
-
- pcl = new Preferences.IPropertyChangeListener() {
- public void propertyChange(Preferences.PropertyChangeEvent event) {
- if (ignorePreferenceChanges)
- return;
- String property = event.getProperty();
- if (property.equals("monitors")) {
- loadMonitors();
- }
- }
- };
-
- MonitorPlugin.getInstance().getPluginPreferences().addPropertyChangeListener(pcl);
- }
-
- protected void dispose() {
- MonitorPlugin.getInstance().getPluginPreferences().removePropertyChangeListener(pcl);
- }
-
- /**
- * Create a new monitor.
- *
- * @return the new monitor
- */
- public IMonitorWorkingCopy createMonitor() {
- return new MonitorWorkingCopy();
- }
-
- /**
- * Return the list of monitors.
- *
- * @return the list of monitors
- */
- public List<IMonitor> getMonitors() {
- return new ArrayList<IMonitor>(monitors);
- }
-
- protected synchronized void addMonitor(IMonitor monitor) {
- if (!monitors.contains(monitor))
- monitors.add(monitor);
- fireMonitorEvent(monitor, ADD);
- saveMonitors();
- }
-
- protected boolean isRunning(IMonitor monitor) {
- return (threads.get(monitor) != null);
- }
-
- /**
- * Start a monitor.
- *
- * @param monitor the monitor
- * @throws CoreException
- */
- public void startMonitor(IMonitor monitor) throws CoreException {
- if (!monitors.contains(monitor))
- return;
-
- if (AcceptThread.isPortInUse(monitor.getLocalPort()))
- throw new CoreException(new Status(IStatus.ERROR, MonitorPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorPortInUse, monitor.getLocalPort() + ""), null));
-
- AcceptThread thread = new AcceptThread(monitor);
- thread.startServer();
- threads.put(monitor, thread);
- }
-
- /**
- * Stop a monitor.
- *
- * @param monitor the monitor
- */
- public void stopMonitor(IMonitor monitor) {
- if (!monitors.contains(monitor))
- return;
-
- AcceptThread thread = threads.get(monitor);
- if (thread != null) {
- thread.stopServer();
- threads.remove(monitor);
- }
- }
-
- protected synchronized void removeMonitor(IMonitor monitor) {
- if (monitor.isRunning())
- stopMonitor(monitor);
- monitors.remove(monitor);
- fireMonitorEvent(monitor, REMOVE);
- saveMonitors();
- }
-
- protected synchronized void monitorChanged(IMonitor monitor) {
- fireMonitorEvent(monitor, CHANGE);
- saveMonitors();
- }
-
- protected boolean exists(IMonitor monitor) {
- return (monitors.contains(monitor));
- }
-
- /**
- * Add monitor listener.
- *
- * @param listener
- */
- public synchronized void addMonitorListener(IMonitorListener listener) {
- if (!monitorListeners.contains(listener))
- monitorListeners.add(listener);
- }
-
- /**
- * Remove monitor listener.
- *
- * @param listener
- */
- public synchronized void removeMonitorListener(IMonitorListener listener) {
- if (monitorListeners.contains(listener))
- monitorListeners.remove(listener);
- }
-
- /**
- * Fire a monitor event.
- *
- * @param monitor the monitor
- * @param type the type of event
- */
- protected void fireMonitorEvent(IMonitor monitor, int type) {
- IMonitorListener[] obj = monitorListeners.toArray(new IMonitorListener[monitorListeners.size()]);
-
- for (IMonitorListener listener : obj) {
- if (type == ADD)
- listener.monitorAdded(monitor);
- else if (type == CHANGE)
- listener.monitorChanged(monitor);
- else if (type == REMOVE)
- listener.monitorRemoved(monitor);
- }
- }
-
- protected synchronized void loadMonitors() {
- Trace.trace(Trace.FINEST, "Loading monitors");
-
- monitors = new ArrayList<IMonitor>();
- Preferences prefs = MonitorPlugin.getInstance().getPluginPreferences();
- String xmlString = prefs.getString("monitors");
- if (xmlString != null && xmlString.length() > 0) {
- try {
- ByteArrayInputStream in = new ByteArrayInputStream(xmlString.getBytes("UTF-8"));
- IMemento memento = XMLMemento.loadMemento(in);
-
- IMemento[] children = memento.getChildren("monitor");
- if (children != null) {
- int size = children.length;
- for (int i = 0; i < size; i++) {
- Monitor monitor = new Monitor();
- monitor.load(children[i]);
- monitors.add(monitor);
- }
- }
- } catch (Exception e) {
- Trace.trace(Trace.WARNING, "Could not load monitors", e);
- }
- }
- }
-
- protected synchronized void saveMonitors() {
- try {
- ignorePreferenceChanges = true;
- XMLMemento memento = XMLMemento.createWriteRoot("monitors");
-
- Iterator iterator = monitors.iterator();
- while (iterator.hasNext()) {
- Monitor monitor = (Monitor) iterator.next();
- IMemento child = memento.createChild("monitor");
- monitor.save(child);
- }
-
- String xmlString = memento.saveToString();
- Preferences prefs = MonitorPlugin.getInstance().getPluginPreferences();
- prefs.setValue("monitors", xmlString);
- MonitorPlugin.getInstance().savePluginPreferences();
- } catch (Exception e) {
- Trace.trace(Trace.SEVERE, "Could not save browsers", e);
- }
- ignorePreferenceChanges = false;
- }
-
- /**
- * Creates a new resend request from the given request.
- *
- * @param request the request that is to be resent; may not be <code>null</code>
- * @return a new resend request
- */
- public static ResendHTTPRequest createResendRequest(Request request) {
- if (request == null)
- throw new IllegalArgumentException();
- return new ResendHTTPRequest((Monitor)request.getMonitor(), request);
- }
-
- /**
- * Adds a resend request to this request.
- *
- * @param request the resend request to add
- * @param resendReq the resend request
- */
- public void addResendRequest(Request request, ResendHTTPRequest resendReq) {
- if (request == null || resendReq == null)
- return;
-
- List<ResendHTTPRequest> list = null;
- try {
- list = resendMap.get(request);
- } catch (Exception e) {
- // ignore
- }
-
- if (list == null) {
- list = new ArrayList<ResendHTTPRequest>();
- resendMap.put(request, list);
- }
- list.add(resendReq);
- }
-
- /**
- * Returns an array of resend requests based on this request.
- *
- * @param request a request
- * @return the array of resend requests based on this request
- */
- public ResendHTTPRequest[] getResendRequests(Request request) {
- List<ResendHTTPRequest> list = resendMap.get(request);
- if (list != null)
- return list.toArray(new ResendHTTPRequest[list.size()]);
-
- return new ResendHTTPRequest[0];
- }
-
- /**
- * Start all monitors that are set to auto-start.
- */
- public synchronized void startMonitors() {
- MonitorManager manager = MonitorManager.getInstance();
- List monitorList = manager.getMonitors();
- Iterator monitorIterator = monitorList.iterator();
- while (monitorIterator.hasNext()) {
- IMonitor monitor = (IMonitor) monitorIterator.next();
- if (monitor.isAutoStart())
- try {
- monitor.start();
- } catch (CoreException e) {
- Trace.trace(Trace.SEVERE, "Failed to start monitor:" + monitor.toString(), e);
- }
- }
- }
-}
View
183 ....wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorPlugin.java
@@ -1,183 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2007 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.core.internal;
-
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-/**
- * The monitor core plugin.
- */
-public class MonitorPlugin extends Plugin {
- /**
- * The plugin/bundle id.
- */
- public static final String PLUGIN_ID = "org.eclipse.wst.internet.monitor.core";
-
- private static MonitorPlugin singleton;
-
- protected Map<String, ProtocolAdapter> protocolAdapters;
- protected Map<String, IContentFilter> contentFilters;
- protected boolean startupsLoaded;
-
- /**
- * MonitorPlugin constructor comment.
- */
- public MonitorPlugin() {
- super();
- singleton = this;
- loadProtocolAdapters();
- loadContentFilters();
- }
-
- /**
- * Returns the singleton instance of this plugin.
- *
- * @return org.eclipse.wst.internet.monitor.core.MonitorPlugin
- */
- public static MonitorPlugin getInstance() {
- return singleton;
- }
-
- /**
- * Returns the default protocol type.
- *
- * @return the protocol
- */
- public String getDefaultType() {
- return "HTTP";
- }
-
- /**
- * Returns the protocol adapter with the given id, or <code>null</code>
- * if none. This convenience method searches the list of known
- * protocol adapters ({@link #getProtocolAdapters()}) for the one with a
- * matching id.
- *
- * @param id the protocol adapter id; must not be <code>null</code>
- * @return the protocol adapter instance, or <code>null</code> if there
- * is no protocol adapter with the given id
- */
- public ProtocolAdapter getProtocolAdapter(String id) {
- return protocolAdapters.get(id);
- }
-
- /**
- * Returns a list of all known protocol adapter instances.
- * <p>
- * Protocol adapters are registered via the <code>protocolAdapaters</code>
- * extension point in the <code>org.eclipse.wst.internet.monitor.core</code>
- * plug-in.
- * </p>
- * <p>
- * A new array is returned on each call; clients may safely store or modify the result.
- * </p>
- *
- * @return a possibly-empty array of protocol adapter instances
- */
- public ProtocolAdapter[] getProtocolAdapters() {
- List<ProtocolAdapter> list = new ArrayList<ProtocolAdapter>();
- Iterator<ProtocolAdapter> iterator = protocolAdapters.values().iterator();
- while (iterator.hasNext()) {
- list.add(iterator.next());
- }
- ProtocolAdapter[] types = new ProtocolAdapter[list.size()];
- list.toArray(types);
- return types;
- }
-
- /**
- * Return the content filters.
- *
- * @return an array of content filters
- */
- public IContentFilter[] getContentFilters() {
- List<IContentFilter> list = new ArrayList<IContentFilter>();
- Iterator<IContentFilter> iterator = contentFilters.values().iterator();
- while (iterator.hasNext()) {
- list.add(iterator.next());
- }
- IContentFilter[] cf = new IContentFilter[list.size()];
- list.toArray(cf);
- return cf;
- }
-
- /**
- * Find a content filter by the id.
- *
- * @param id an id
- * @return the content filter, or <code>null</code> if it couldn't be found
- */
- public IContentFilter findContentFilter(String id) {
- if (id == null)
- throw new IllegalArgumentException();
- return contentFilters.get(id);
- }
-
- protected synchronized void loadProtocolAdapters() {
- if (protocolAdapters != null)
- return;
- Trace.trace(Trace.CONFIG, "Loading protocol adapters");
- IExtensionRegistry registry = Platform.getExtensionRegistry();
- IConfigurationElement[] cf = registry.getConfigurationElementsFor(MonitorPlugin.PLUGIN_ID, "internalProtocolAdapters");
-
- int size = cf.length;
- Map<String, ProtocolAdapter> map = new HashMap<String, ProtocolAdapter>(size);
- for (int i = 0; i < size; i++) {
- String id = cf[i].getAttribute("id");
- Trace.trace(Trace.CONFIG, "Loading adapter: " + id);
- map.put(id, new ProtocolAdapter(cf[i]));
- }
- protocolAdapters = map;
- }
-
- protected synchronized void loadContentFilters() {
- if (contentFilters != null)
- return;
- Trace.trace(Trace.CONFIG, "Loading content filters");
- IExtensionRegistry registry = Platform.getExtensionRegistry();
- IConfigurationElement[] cf = registry.getConfigurationElementsFor(MonitorPlugin.PLUGIN_ID, "internalContentFilters");
-
- int size = cf.length;
- Map<String, IContentFilter> map = new HashMap<String, IContentFilter>(size);
- for (int i = 0; i < size; i++) {
- String id = cf[i].getAttribute("id");
- Trace.trace(Trace.CONFIG, "Loading filter: " + id);
- map.put(id, new ContentFilter(cf[i]));
- }
- contentFilters = map;
- }
-
- protected synchronized void executeStartups() {
- if (startupsLoaded)
- return;
-
- Trace.trace(Trace.CONFIG, "Loading startups");
- IExtensionRegistry registry = Platform.getExtensionRegistry();
- IConfigurationElement[] cf = registry.getConfigurationElementsFor(MonitorPlugin.PLUGIN_ID, "internalStartup");
-
- int size = cf.length;
- for (int i = 0; i < size; i++) {
- String id = cf[i].getAttribute("id");
- Trace.trace(Trace.CONFIG, "Loading startup: " + id);
- try {
- IStartup startup = (IStartup) cf[i].createExecutableExtension("class");
- try {
- startup.startup();
- } catch (Exception ex) {
- Trace.trace(Trace.SEVERE, "Startup failed" + startup.toString(), ex);
- }
- } catch (Exception e) {
- Trace.trace(Trace.SEVERE, "Could not create startup: " + id, e);
- }
- }
- }
-}
View
133 ...internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorWorkingCopy.java
@@ -1,133 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2007 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
- * Tianchao Li (Tianchao.Li@gmail.com) - Start monitors by default
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-
-import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitor;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitorWorkingCopy;
-/**
- *
- */
-public class MonitorWorkingCopy extends Monitor implements IMonitorWorkingCopy {
- protected Monitor monitor;
-
- /**
- * Create a new monitor working copy. (used for initial creation)
- */
- public MonitorWorkingCopy() {
- // do nothing
- }
-
- /**
- * Create a new monitor working copy. (used for working copies)
- *
- * @param monitor the monitor this working copy is for
- */
- public MonitorWorkingCopy(Monitor monitor) {
- this.monitor = monitor;
- setInternal(monitor);
- }
-
- /** (non-Javadoc)
- * @see IMonitorWorkingCopy#getOriginal()
- */
- public IMonitor getOriginal() {
- return monitor;
- }
-
- /**
- * Set the id.
- *
- * @param newId the id
- */
- public void setId(String newId) {
- id = newId;
- }
-
- /** (non-Javadoc)
- * @see IMonitorWorkingCopy#setRemoteHost(String)
- */
- public void setRemoteHost(String host) {
- remoteHost = host;
- }
-
- /** (non-Javadoc)
- * @see IMonitorWorkingCopy#setRemotePort(int)
- */
- public void setRemotePort(int port) {
- remotePort = port;
- }
-
- /** (non-Javadoc)
- * @see IMonitorWorkingCopy#setLocalPort(int)
- */
- public void setLocalPort(int port) {
- localPort = port;
- }
-
- /** (non-Javadoc)
- * @see IMonitorWorkingCopy#setProtocol(String)
- */
- public void setProtocol(String protocolId2) {
- protocolId = protocolId2;
- }
-
- /** (non-Javadoc)
- * @see IMonitorWorkingCopy#setTimeout(int)
- */
- public void setTimeout(int timeout2) {
- timeout = timeout2;
- }
-
- /** (non-Javadoc)
- * @see IMonitorWorkingCopy#setAutoStart(boolean)
- */
- public void setAutoStart(boolean startByDefault) {
- autoStart = startByDefault;
- }
-
- /**
- * @see IMonitor#isWorkingCopy()
- */
- public boolean isWorkingCopy() {
- return true;
- }
-
- /**
- * @see IMonitor#createWorkingCopy()
- */
- public IMonitorWorkingCopy createWorkingCopy() {
- return this;
- }
-
- /**
- * @see IMonitorWorkingCopy#save()
- */
- public synchronized IMonitor save() {
- MonitorManager mm = MonitorManager.getInstance();
- if (monitor != null) {
- //boolean restart = false;
- if (monitor.isRunning()) {
- //restart = true;
- mm.stopMonitor(monitor);
- }
- monitor.setInternal(this);
- mm.monitorChanged(monitor);
- //if (restart)
- // mm.startMonitor(monitor);
- } else {
- monitor = new Monitor();
- monitor.setInternal(this);
- mm.addMonitor(monitor);
- }
- return monitor;
- }
-}
View
75 ...st.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/ProtocolAdapter.java
@@ -1,75 +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.core.internal;
-
-import java.io.IOException;
-import java.net.Socket;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitor;
-/**
- *
- */
-public class ProtocolAdapter implements IProtocolAdapter {
- protected IConfigurationElement element;
- protected ProtocolAdapterDelegate delegate;
-
- protected ProtocolAdapter(IConfigurationElement element) {
- this.element = element;
- }
-
- /**
- * @see IProtocolAdapter#getId()
- */
- public String getId() {
- return element.getAttribute("id");
- }
-
- /**
- * @see IProtocolAdapter#getName()
- */
- public String getName() {
- return element.getAttribute("name");
- }
-
- protected ProtocolAdapterDelegate getDelegate() {
- if (delegate != null)
- return delegate;
-
- try {
- delegate = (ProtocolAdapterDelegate) element.createExecutableExtension("class");
- } catch (Exception e) {
- Trace.trace(Trace.SEVERE, "Could not create protocol adapter delegate: " + getId(), e);
- }
- return delegate;
- }
-
- /**
- * Connect with the protocol.
- *
- * @param monitor a monitor
- * @param in an inbound socket
- * @param out an outbound socket
- * @throws IOException
- */
- public void connect(IMonitor monitor, Socket in, Socket out) throws IOException {
- getDelegate().connect(monitor, in, out);
- }
-
- /**
- * Disconnect from the sockets.
- *
- * @param monitor a monitor
- * @throws IOException
- */
- public void disconnect(IMonitor monitor) throws IOException {
- getDelegate().disconnect(monitor);
- }
-}
View
86 ...net.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/ProtocolAdapterDelegate.java
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 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.core.internal;
-
-import java.io.IOException;
-import java.net.Socket;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitor;
-/**
- * Abstract base class for protocol adapter delegates, which provide the
- * implementation behind a particular protocol adapter.
- * A protocol adapter watches the message traffic passing between client and
- * server; it parses the messages and reports them in the form of
- * Request objects.
- * <p>
- * This abstract class is intended to be subclassed only by clients
- * to extend the <code>protocolAdapters</code> extension point.
- * The subclass must have a public 0-argument constructor, which will be used
- * automatically to instantiate the delegate when required.
- * </p>
- * <p>
- * There is only one delegate created per protocol, and this delegate must
- * be able to handle multiple monitor instances. This means that the delegate
- * typically will not have instance state, or must synchronize and keep the
- * state separate.
- * </p>
- * <p>
- * [issue: The HTTP and TCP/IP delegate implementations create threads which
- * shuffle info between sockets. If the monitor is changed or deleted, how do
- * these threads go away? Methinks that delegates in general should be forced
- * to implement disconnect(IMonitor) as well. This method would be called by the
- * system when the monitor is changed or deleted, or when the plug-in is
- * being shut down.]
- * </p>
- */
-public abstract class ProtocolAdapterDelegate {
- /**
- * Establishes an ongoing connection between client and server being
- * monitored by the given monitor. The <code>in</code> socket is associated
- * with the monitor's client. The <code>out</code> socket is associated with
- * the monitor's server. Different adapaters handle different network
- * protocols.
- * <p>
- * Subclasses must implement this method to achieve the following:
- * <ul>
- * <li>Client to server communication -
- * Opening an input stream on the <code>in</code> socket, opening an output
- * stream on the <code>out</code> socket, and establishing a mechanism that
- * will pass along all bytes received on the input stream to the output
- * stream.</li>
- * <li>Server to client communication - Opening an input stream on the
- * <code>out</code> socket, opening an output stream on the <code>in</code>
- * socket, and establishing a mechanism that will pass along all bytes
- * received on the input stream to the output stream.</li>
- * <li>Parsing the protocol-specific message traffic to create and report
- * request objects for each message passed between client and server.</li>
- * <li>Closing the input and output sockets and otherwise cleaning up
- * afterwards.</li>
- * </ul>
- * </p>
- *
- * @param monitor the monitor that uses this protocol adapter
- * @param in the input socket of the monitor client
- * @param out the output socket of the monitor server
- * @throws IOException if an exception occur when opening the streams of the
- * input or output sockets
- */
- public abstract void connect(IMonitor monitor, Socket in, Socket out) throws IOException;
-
- /**
- * Called if the monitor is changed or deleted, or the plugin is shutting down.
- * The delegate must clean up the connections and threads created to respond to
- * this monitor.
- *
- * @param monitor
- * @throws IOException
- */
- public abstract void disconnect(IMonitor monitor) throws IOException;
-}
View
351 ....wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/SocketWrapper.java
@@ -1,351 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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.core.internal;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.net.InetAddress;
-import java.net.Socket;
-import java.net.SocketAddress;
-import java.net.SocketException;
-import java.nio.channels.SocketChannel;
-/**
- * A socket that is only used for resending requests. All input operations are
- * ignored.
- */
-public class SocketWrapper extends Socket {
- private InputStream inputStream;
- private OutputStream outputStream;
-
- /**
- * Create a new socket wrapper.
- *
- * @param inputStream
- */
- public SocketWrapper(InputStream inputStream) {
- this.inputStream = inputStream;
- this.outputStream = new DummyOutputStream();
- }
-
- /** (non-Javadoc)
- * @see java.net.Socket#bind(java.net.SocketAddress)
- */
- public void bind(SocketAddress arg0) throws IOException {
- // do nothing
- }
-
- /** (non-Javadoc)
- * @see java.net.Socket#close()
- */
- public synchronized void close() throws IOException {
- // do nothing
- }
-
- /** (non-Javadoc)
- * @see java.net.Socket#connect(java.net.SocketAddress, int)
- */
- public void connect(SocketAddress arg0, int arg1) throws IOException {
- // do nothing
- }
-
- /** (non-Javadoc)
- * @see java.net.Socket#connect(java.net.SocketAddress)
- */
- public void connect(SocketAddress arg0) throws IOException {
- // do nothing
- }
-
- /** (non-Javadoc)
- * @see java.net.Socket#getChannel()
- */
- public SocketChannel getChannel() {
- return super.getChannel();
- }
-
- /** (non-Javadoc)
- * @see java.net.Socket#getInetAddress()
- */
- public InetAddress getInetAddress() {
- return super.getInetAddress();
- }
-
- /** (non-Javadoc)
- * @see java.net.Socket#getInputStream()
- */
- public InputStream getInputStream() throws IOException {
- return inputStream;
- }
-
- /** (non-Javadoc)
- * @see java.net.Socket#getKeepAlive()
- */
- public boolean getKeepAlive() throws SocketException {
- return false;
- }
-
- /** (non-Javadoc)
- * @see java.net.Socket#getLocalAddress()
- */
- public InetAddress getLocalAddress() {
- return super.getLocalAddress();
- }
-
- /** (non-Javadoc)
- * @see java.net.Socket#getLocalPort()
- */
- public int getLocalPort() {
- return super.getLocalPort();
- }
-
- /** (non-Javadoc)
- * @see java.net.Socket#getLocalSocketAddress()
- */
- public SocketAddress getLocalSocketAddress() {
- return super.getLocalSocketAddress();
- }
-
- /** (non-Javadoc)
- * @see java.net.Socket#getOOBInline()
- */
- public boolean getOOBInline() throws SocketException {
- return super.getOOBInline();
- }
-
- /** (non-Javadoc)
- * @see java.net.Socket#getOutputStream()
- */
- public OutputStream getOutputStream() throws IOException {