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/wsicore/org/eclipse/wst/wsi/internal/core/monitor/MessageEntryQueue.java')
-rw-r--r--bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/monitor/MessageEntryQueue.java220
1 files changed, 0 insertions, 220 deletions
diff --git a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/monitor/MessageEntryQueue.java b/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/monitor/MessageEntryQueue.java
deleted file mode 100644
index 4754756b4..000000000
--- a/bundles/org.eclipse.wst.wsi/wsicore/org/eclipse/wst/wsi/internal/core/monitor/MessageEntryQueue.java
+++ /dev/null
@@ -1,220 +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 org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.log.Log;
-import org.eclipse.wst.wsi.internal.core.log.LogWriter;
-import org.eclipse.wst.wsi.internal.core.log.MessageEntry;
-
-import java.io.*;
-import java.util.*;
-
-/**
- * This class is the queue that is used to write request and response messages
- * to the log file in the correct order.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class MessageEntryQueue
-{
- /**
- * Request type message entry queue.
- */
- protected Vector requestList = new Vector();
-
- /**
- * Response type message entry queue.
- */
- protected Vector responseList = new Vector();
-
- /**
- * Monitor.
- */
- protected Monitor monitor = null;
-
- /**
- * Log file.
- */
- protected Log log = null;
-
- /**
- * Log writer.
- */
- protected LogWriter logWriter = null;
-
- /**
- * List lock.
- */
- protected String listLock = "listLock";
-
- /**
- * Message ID which is incremented when a new log entry is added to the log file.
- */
- protected int messageId = 1;
-
- /**
- * Create message entry queue.
- * @param monitor a monitor.
- * @param log the log.
- * @param logWriter a log writer.
- */
- public MessageEntryQueue(Monitor monitor, Log log, LogWriter logWriter)
- {
- // Save input references
- this.monitor = monitor;
- this.log = log;
- this.logWriter = logWriter;
- }
-
- /**
- * Add log entry to queue.
- * @param messageEntry a message entry.
- * @throws WSIException is there is a problem adding the log
- * entry to the queue.
- */
- public synchronized void addMessageEntry(MessageEntry messageEntry)
- throws WSIException
- {
- synchronized (listLock)
- {
- // If this is a request type of message entry, then add to request list
- if (messageEntry.getType().equals(MessageEntry.TYPE_REQUEST))
- {
- requestList.add(messageEntry);
- }
-
- // Otherwise this is a response type of message entry
- else
- {
- responseList.add(messageEntry);
- }
- }
-
- // Tell the log entry writer thread to run
- writeFromQueue();
- }
-
- /**
- * Determine if any log entries need to be written.
- * @throws WSIException is there is a problem adding log entries.
-
- */
- public synchronized void writeFromQueue() throws WSIException
- {
- MessageEntry requestMessageEntry = null;
- MessageEntry responseMessageEntry = null;
- boolean responseFound = false;
-
- // Create array that will contain list of index to remove from request list
- int[] requestIndexList = new int[requestList.size()];
- int reqIndexCount = 0;
-
- synchronized (listLock)
- {
- // If there are entries in the request queue,
- // then try to match them with entries in the response queue
- for (int reqIndex = 0; reqIndex < requestList.size(); reqIndex++)
- {
- // Get request log entry
- requestMessageEntry = (MessageEntry) requestList.elementAt(reqIndex);
-
- // Check each response log entry to see if the conversationId matches
- responseFound = false;
- for (int respIndex = 0;
- respIndex < responseList.size() && !responseFound;
- respIndex++)
- {
- // Get response log entry
- responseMessageEntry =
- (MessageEntry) responseList.elementAt(respIndex);
-
- // If the request and response have the same conversationId,
- // then write them out to the log file
- if (requestMessageEntry
- .getConversationId()
- .equals(responseMessageEntry.getConversationId()))
- {
- responseFound = true;
-
- // Set the id for the log entries
- requestMessageEntry.setId(getNextMessageId());
- responseMessageEntry.setId(getNextMessageId());
-
- // Write out request and then response
- //==== SS start : what this line is used for??? - causes memory leak, as no removeLogEntry is called ====
- // log.addLogEntry(requestMessageEntry);
- //==== SS end ===
- StringReader requestReader =
- new StringReader(requestMessageEntry.toXMLString(""));
- logWriter.write(requestReader);
-
- // Display message
- printMessage(requestMessageEntry);
-
- // Write out response
- //==== SS start : what this line is used for??? - causes memory leak, as no removeLogEntry is called ====
- // log.addLogEntry(responseMessageEntry);
- //==== SS end ===
- StringReader responseReader =
- new StringReader(responseMessageEntry.toXMLString(""));
- logWriter.write(responseReader);
-
- // Display message
- printMessage(responseMessageEntry);
-
- // Add request to list so that it can be removed later
- requestIndexList[reqIndexCount++] = reqIndex;
-
- // Remove log entry from response list
- responseList.remove(respIndex);
- }
- }
- }
-
- // Remove requests that were written out
- for (int count = 0; count < reqIndexCount; count++)
- requestList.remove(requestIndexList[count]);
- }
- }
-
- /**
- * Get the next message identifier.
- * @return the next message identifier.
- */
- protected synchronized String getNextMessageId()
- {
- return String.valueOf(messageId++);
- }
-
- /**
- * Display message.
- * @param messageEntry a message entry.
- */
- protected void printMessage(MessageEntry messageEntry)
- {
- // Display message
- monitor.printMessage(
- "log01",
- messageEntry.getId()
- + ", "
- + messageEntry.getType()
- + ", "
- + messageEntry.getSenderHostAndPort(),
- "Log message entry - ID: "
- + messageEntry.getId()
- + ", Type: "
- + messageEntry.getType()
- + ", Sender: "
- + messageEntry.getSenderHostAndPort());
- }
-}

Back to the top