From b152672e22939a113aa004ee86981d77d427f988 Mon Sep 17 00:00:00 2001 From: David McKnight Date: Fri, 28 Sep 2012 14:19:14 +0000 Subject: [PATCH] [390681] [dstore] need to merge differences between HEAD stream and 3.2 in ConnectionEstablisher.finished() --- .../dstore/core/model/UpdateHandler.java | 2 +- .../core/server/ConnectionEstablisher.java | 28 +++++++++++++++++-- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/core/model/UpdateHandler.java b/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/core/model/UpdateHandler.java index 1bc8b3a820d..922f5e8c56a 100644 --- a/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/core/model/UpdateHandler.java +++ b/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/core/model/UpdateHandler.java @@ -214,7 +214,7 @@ public abstract class UpdateHandler extends Handler } } if (_dataStore != null && !_dataStore.isVirtual() && isStatus){ - _dataStore.disconnectObjects(object.getParent()); // spirit the command + _dataStore.disconnectObjects(object); // spirit the status } } diff --git a/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/core/server/ConnectionEstablisher.java b/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/core/server/ConnectionEstablisher.java index 316afa088a2..b08c0715b90 100644 --- a/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/core/server/ConnectionEstablisher.java +++ b/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/core/server/ConnectionEstablisher.java @@ -30,6 +30,7 @@ * David McKnight (IBM) - [371401] [dstore][multithread] avoid use of static variables - causes memory leak after disconnect * David McKnight (IBM) - [378136] [dstore] miner.finish is stuck * David McKnight (IBM) - [388472] [dstore] need alternative option for getting at server hostname + * David McKnight (IBM) - [390681] [dstore] need to merge differences between HEAD stream and 3.2 in ConnectionEstablisher.finished() *******************************************************************************/ package org.eclipse.dstore.core.server; @@ -212,22 +213,44 @@ public class ConnectionEstablisher return _msg; } + /** + * Tells the connection establisher to clean up and shutdown + */ /** * Tells the connection establisher to clean up and shutdown */ public void finished(ServerReceiver receiver) - { + { if (_dataStore.getClient() != null) { _dataStore.getClient().getLogger().logInfo(this.getClass().toString(), "ConnectionEstablisher.finished()"); //$NON-NLS-1$ } + if (_dataStore.getClient() != null) { + _dataStore.getClient().getLogger().logInfo(this.getClass().toString(), "ConnectionEstablisher - removing sender"); //$NON-NLS-1$ + } _updateHandler.removeSenderWith(receiver.socket()); + + if (_dataStore.getClient() != null) { + _dataStore.getClient().getLogger().logInfo(this.getClass().toString(), "ConnectionEstablisher - removing receiver"); //$NON-NLS-1$ + } _receivers.remove(receiver); + + if (_dataStore.getClient() != null) { + _dataStore.getClient().getLogger().logInfo(this.getClass().toString(), "ConnectionEstablisher - removing preference listener"); //$NON-NLS-1$ + } _dataStore.removeDataStorePreferenceListener(receiver); //if (_receivers.size() == 0) { _continue = false; - _commandHandler.finish(); + _commandHandler.finish(); + + if (_dataStore.getClient() != null) { + _dataStore.getClient().getLogger().logInfo(this.getClass().toString(), "ConnectionEstablisher - finishing update handler"); //$NON-NLS-1$ + } _updateHandler.finish(); + + if (_dataStore.getClient() != null) { + _dataStore.getClient().getLogger().logInfo(this.getClass().toString(), "ConnectionEstablisher - finishing DataStore"); //$NON-NLS-1$ + } _dataStore.finish(); System.out.println(ServerReturnCodes.RC_FINISHED); @@ -236,6 +259,7 @@ public class ConnectionEstablisher } } + private void waitForConnections() { while (_continue == true)