From ab90151f8851f19760ee5066503f64de12290efc Mon Sep 17 00:00:00 2001 From: Dave McKnight Date: Wed, 21 Aug 2013 11:33:45 -0400 Subject: [PATCH] [415088] potential dual connect on RSE restore when user expands filter --- .../core/subsystems/AbstractConnectorService.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/subsystems/AbstractConnectorService.java b/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/subsystems/AbstractConnectorService.java index d639436498f..a44b35db694 100644 --- a/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/subsystems/AbstractConnectorService.java +++ b/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/subsystems/AbstractConnectorService.java @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2002, 2010 IBM Corporation and others. All rights reserved. + * Copyright (c) 2002, 2013 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 @@ -20,6 +20,7 @@ * David McKnight (IBM) - [249222] [api] Access to communication listeners in AbstractConnectorService * David McKnight (IBM) - [272882] [api] Handle exceptions in IService.initService() * David Dykstal (IBM) - [321766] safely serialize connect and disconnect operations + * David McKnight (IBM) - [415088] potential dual connect on RSE restore when user expands filter ********************************************************************************/ package org.eclipse.rse.core.subsystems; @@ -496,10 +497,12 @@ public abstract class AbstractConnectorService extends RSEModelObject implements long timeout = 120000; // two minute timeout, this is arbitrary but seems to be a good amount UnsafeRunnableWithProgress runnable = new UnsafeRunnableWithProgress() { public void run(IProgressMonitor monitor) throws Exception { - preConnect(); - internalConnect(monitor); - initializeSubSystems(monitor); - postConnect(); + if (!isConnected()){ + preConnect(); + internalConnect(monitor); + initializeSubSystems(monitor); + postConnect(); + } } }; try {