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:
Diffstat (limited to 'bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/SocketConnection.java')
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/SocketConnection.java306
1 files changed, 0 insertions, 306 deletions
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/SocketConnection.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/SocketConnection.java
deleted file mode 100644
index fe2a0f4cf..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/monitor/SocketConnection.java
+++ /dev/null
@@ -1,306 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.monitor;
-
-import java.net.Socket;
-import java.util.Iterator;
-import java.util.Vector;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-import org.eclipse.wst.wsi.internal.core.log.MimeParts;
-import org.eclipse.wst.wsi.internal.core.monitor.config.Redirect;
-import org.eclipse.wst.wsi.internal.core.util.Utils;
-
-/**
- * A socket connection.
- *
- * @author Peter Brittenham (peterbr@us.ibm.com)
- * @version 1.0.1
- */
-public class SocketConnection extends Thread
-{
- protected Monitor monitor;
- protected Redirect redirect;
- protected Socket inSocket;
- protected Socket outSocket;
-
- protected String httpProxyHost = null;
- protected int httpProxyPort;
-
- protected SocketHandler requestSocketHandler = null;
- protected SocketHandler responseSocketHandler = null;
-
- private Vector listeners = new Vector(); // SS
-
- /**
- * Create socket connection.
- * @param monitor a Monitor object.
- * @param redirect a Redirect object.
- * @param inSocket in socket.
- */
- public SocketConnection(Monitor monitor, Redirect redirect, Socket inSocket)
- {
- this.monitor = monitor;
- this.redirect = redirect;
- this.inSocket = inSocket;
-
- // Start processing the connection
- start();
- }
-
- /**
- * Process the socket connection.
- */
- public void run()
- {
- // Get the HTTP proxy settings if there are any set (not used currently)
- loadHttpProxySettings();
-
- try
- {
- // Open the connection to the server
- this.outSocket = new Socket(redirect.getToHost(), redirect.getToPort());
-
- // Set the read timeout for the input socket
- this.inSocket.setSoTimeout(redirect.getReadTimeoutSeconds() * 1000);
-
- // Get the next conversation ID
- int conversationId = monitor.getNextConversationId();
-
- // Create the socket handlers which are used to send the data from
- // the client to the server
- requestSocketHandler =
- new SocketHandler(
- this,
- MessageEntry.TYPE_REQUEST,
- conversationId,
- redirect.getToHost(),
- this.inSocket,
- this.outSocket,
- redirect.getReadTimeoutSeconds());
- responseSocketHandler =
- new SocketHandler(
- this,
- MessageEntry.TYPE_RESPONSE,
- conversationId,
- redirect.getToHost(),
- this.outSocket,
- this.inSocket,
- redirect.getReadTimeoutSeconds());
-
- // Tell each socketHandler about the other one
- requestSocketHandler.setPairedSocketHandler(responseSocketHandler);
- responseSocketHandler.setPairedSocketHandler(requestSocketHandler);
- }
-
- catch (Exception e)
- {
- Monitor.staticPrintMessage(
- "error04",
- redirect.getToHost(),
- "Monitor cannot connect to a redirect host:");
-
- shutdown();
-
- try
- {
- this.inSocket.close();
- }
- catch (Throwable t)
- {
- }
- }
- }
-
- /**
- * Log message.
- * @param conversationID the coversation id.
- * @param connectionType the connection type.
- * @param timestamp the timestamp.
- * @param senderHostAndPort the sender host and port.
- * @param receiverHostAndPort the receiver host and port.
- * @param messageBuffer the message.
- * @param bom the BOM.
- * @param encoding the encoding.
- * @throws WSIException if there is a problem logging message.
- */
- public void logMessage(
- int conversationID,
- String connectionType,
- String timestamp,
- String senderHostAndPort,
- String receiverHostAndPort,
- StringBuffer messageBuffer,
- int bom,
- String encoding)
- throws WSIException
- {
- MessageEntry messageEntry = null;
-
- // Create message entry
- messageEntry =
- createMessageEntry(
- conversationID,
- connectionType,
- timestamp,
- senderHostAndPort,
- receiverHostAndPort,
- messageBuffer.toString(),
- bom,
- encoding);
-
- // DEBUG:
- //debug("logMessage", " messageEntry: " + messageEntry);
-
- // Add entry to the queue
- monitor.getMessageEntryQueue().addMessageEntry(messageEntry);
- }
-
- /**
- * Create a log entry from all of the data that was gathered.
- */
- private MessageEntry createMessageEntry(
- int conversationID,
- String messageType,
- String timestamp,
- String senderHostAndPort,
- String receiverHostAndPort,
- String message,
- int bom,
- String encoding)
- throws WSIException
- {
- // Create log entry object
- MessageEntry messageEntry = monitor.getLog().createLogEntry();
-
- // Set input information in log entry
- // NOTE: The ID is set just before the log entry is written to the log file in LogEntryQueue
- //logEntry.setId(id);
- messageEntry.setConversationId(String.valueOf(conversationID));
- messageEntry.setType(messageType);
- messageEntry.setTimestamp(timestamp);
- messageEntry.setSenderHostAndPort(senderHostAndPort);
- messageEntry.setReceiverHostAndPort(receiverHostAndPort);
- messageEntry.setEncoding(encoding);
-
- // Get HTTP headers from full message
- String httpHeaders = Utils.getHTTPHeaders(message);
- messageEntry.setHTTPHeaders(httpHeaders);
-
- if (Utils.isMultipartRelatedMessage(httpHeaders))
- {
- MimeParts mimeParts = Utils.parseMultipartRelatedMessage(message, httpHeaders, encoding);
- if (mimeParts == null)
- {
- // problem creating Mimeparts -- treat it as simple SOAP message
- String content = Utils.getContent(message);
- messageEntry.setMessage(content);
- messageEntry.setMimeContent(false);
- }
- else
- {
- messageEntry.setMimeParts(mimeParts);
- messageEntry.setMimeContent(true);
- }
- }
- else
- {
- // Get the message content
- String content = Utils.getContent(message);
- messageEntry.setMessage(content);
- messageEntry.setMimeContent(false);
- }
-
- // Set the BOM, if there is one
- if (bom != 0)
- messageEntry.setBOM(bom);
-
- return messageEntry;
- }
-
- /**
- * Load HTTP proxy settings.
- */
- public void loadHttpProxySettings()
- {
- // Get the HTTP proxy host setting
- this.httpProxyHost = System.getProperty("http.proxyHost");
- if (this.httpProxyHost != null && httpProxyHost.equals(""))
- this.httpProxyHost = null;
-
- // If there was an HTTP proxy host setting, then get the port
- if (this.httpProxyHost != null)
- {
- String portString = System.getProperty("http.proxyPort");
-
- // Set default to 80
- if (portString == null || portString.equals(""))
- this.httpProxyPort = 80;
- else
- httpProxyPort = Integer.parseInt(portString);
- }
- }
-
- Monitor getMonitor()
- {
- return this.monitor;
- }
-
- synchronized void wakeUp()
- {
- fireConnectionClosed(); // SS
- notifyAll();
- }
-
- /**
- * Shutdown.
- */
- public void shutdown()
- {
- if (this.requestSocketHandler != null)
- this.requestSocketHandler.shutdown();
- if (this.responseSocketHandler != null)
- this.responseSocketHandler.shutdown();
- }
-
- // ==== SS start ====
- /**
- * Add connection event listener.
- * @param listener event listener.
- * @see #removeConnectionListener
- */
- public void addConnectionListener(ConnectionListener listener)
- {
- listeners.add(listener);
- }
- /**
- * Remove connection event listener.
- * @param listener event listener.
- * @see #addConnectionListener
- */
- public void removeConnectionListener(ConnectionListener listener)
- {
- listeners.remove(listener);
- }
- /**
- * Notify listeners on connection close.
- */
- private void fireConnectionClosed()
- {
- for (Iterator i = listeners.iterator(); i.hasNext();)
- {
- ConnectionListener listener = (ConnectionListener) i.next();
- listener.connectionClosed(this);
- }
- }
- // ==== SS end ====
-}

Back to the top