From 1d9c8e7d4bfc2e9a18599e41917ae9ae132fb904 Mon Sep 17 00:00:00 2001 From: David McKnight Date: Thu, 5 Apr 2007 00:16:22 +0000 Subject: [PATCH] [180994] ensure that we don't do redundant activations and that environment miner variables are cleaned up at the end --- .../services/dstore/processes/DStoreProcessService.java | 8 ++++++-- .../services/dstore/shells/DStoreShellService.java | 5 +++-- .../rse/services/dstore/AbstractDStoreService.java | 2 +- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/rse/plugins/org.eclipse.rse.services.dstore/src/org/eclipse/rse/internal/services/dstore/processes/DStoreProcessService.java b/rse/plugins/org.eclipse.rse.services.dstore/src/org/eclipse/rse/internal/services/dstore/processes/DStoreProcessService.java index da20e403582..59759024c11 100644 --- a/rse/plugins/org.eclipse.rse.services.dstore/src/org/eclipse/rse/internal/services/dstore/processes/DStoreProcessService.java +++ b/rse/plugins/org.eclipse.rse.services.dstore/src/org/eclipse/rse/internal/services/dstore/processes/DStoreProcessService.java @@ -279,6 +279,8 @@ public class DStoreProcessService extends AbstractProcessService implements IPro { _minerElement = null; _procMinerStatus = null; + _minerElement = null; + _statusMonitor = null; } public boolean isInitialized() @@ -308,6 +310,8 @@ public class DStoreProcessService extends AbstractProcessService implements IPro } } + + protected void initMiner(IProgressMonitor monitor) { DataElement fsElement = getMinerElement(); @@ -321,8 +325,8 @@ public class DStoreProcessService extends AbstractProcessService implements IPro DataStore ds = getDataStore(); if (_minerElement == null || _minerElement.getDataStore() != ds) { - if (ds != null) - { + if (ds != null && _procMinerStatus == null) + { _procMinerStatus = ds.activateMiner(minerId); } diff --git a/rse/plugins/org.eclipse.rse.services.dstore/src/org/eclipse/rse/internal/services/dstore/shells/DStoreShellService.java b/rse/plugins/org.eclipse.rse.services.dstore/src/org/eclipse/rse/internal/services/dstore/shells/DStoreShellService.java index ba413e7a8cd..97ec8ff4413 100644 --- a/rse/plugins/org.eclipse.rse.services.dstore/src/org/eclipse/rse/internal/services/dstore/shells/DStoreShellService.java +++ b/rse/plugins/org.eclipse.rse.services.dstore/src/org/eclipse/rse/internal/services/dstore/shells/DStoreShellService.java @@ -162,7 +162,8 @@ public class DStoreShellService extends AbstractDStoreService implements IShellS public void uninitService(IProgressMonitor monitor) { super.uninitService(monitor); - + _envMinerElement = null; + _envMinerStatus = null; } protected void initMiner(IProgressMonitor monitor) @@ -177,7 +178,7 @@ public class DStoreShellService extends AbstractDStoreService implements IShellS DataStore ds = getDataStore(); if (_envMinerElement == null || _envMinerElement.getDataStore() != ds) { - if (ds != null) + if (ds != null && _envMinerStatus == null) { _envMinerStatus = ds.activateMiner(minerId); /* diff --git a/rse/plugins/org.eclipse.rse.services.dstore/src/org/eclipse/rse/services/dstore/AbstractDStoreService.java b/rse/plugins/org.eclipse.rse.services.dstore/src/org/eclipse/rse/services/dstore/AbstractDStoreService.java index c0f78263ae7..de8d35f3023 100644 --- a/rse/plugins/org.eclipse.rse.services.dstore/src/org/eclipse/rse/services/dstore/AbstractDStoreService.java +++ b/rse/plugins/org.eclipse.rse.services.dstore/src/org/eclipse/rse/services/dstore/AbstractDStoreService.java @@ -285,7 +285,7 @@ public abstract class AbstractDStoreService implements IDStoreService DataStore ds = getDataStore(); if (_minerElement == null || _minerElement.getDataStore() != ds) { - if (ds != null) + if (ds != null && _initializeStatus == null) { _initializeStatus = ds.activateMiner(minerId); /*