summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMilandeep Singh Shergill2013-02-06 13:16:28 (EST)
committerChris Recoskie2013-02-06 13:16:28 (EST)
commit5d8f6342b06fcbb0d19718807898f8154332cb08 (patch)
tree1e9b75f676f765e5fa24de8600c723f343f68d26
parent52f9bea6e75de8e2746694e52e0ee231d0485f6e (diff)
downloadorg.eclipse.ptp-5d8f6342b06fcbb0d19718807898f8154332cb08.zip
org.eclipse.ptp-5d8f6342b06fcbb0d19718807898f8154332cb08.tar.gz
org.eclipse.ptp-5d8f6342b06fcbb0d19718807898f8154332cb08.tar.bz2
Bug 399651 - Enable dstore DataElement spiriting mechanism on the Server
-rw-r--r--core/org.eclipse.ptp.remote.rse.core/miners/org/eclipse/ptp/internal/remote/rse/core/miners/SpawnerMiner.java10
-rw-r--r--rdt/org.eclipse.ptp.rdt.core/miners/org/eclipse/ptp/internal/rdt/core/miners/CDTMiner.java12
2 files changed, 20 insertions, 2 deletions
diff --git a/core/org.eclipse.ptp.remote.rse.core/miners/org/eclipse/ptp/internal/remote/rse/core/miners/SpawnerMiner.java b/core/org.eclipse.ptp.remote.rse.core/miners/org/eclipse/ptp/internal/remote/rse/core/miners/SpawnerMiner.java
index 87ba764..9060eb1 100644
--- a/core/org.eclipse.ptp.remote.rse.core/miners/org/eclipse/ptp/internal/remote/rse/core/miners/SpawnerMiner.java
+++ b/core/org.eclipse.ptp.remote.rse.core/miners/org/eclipse/ptp/internal/remote/rse/core/miners/SpawnerMiner.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010, 2011 IBM Corporation and others.
+ * Copyright (c) 2010, 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
@@ -128,6 +128,8 @@ public class SpawnerMiner extends Miner {
}
catch(RuntimeException e) {
UniversalServerUtilities.logError(LOG_TAG, e.toString(), e, _dataStore);
+ _dataStore.refresh(theCommand);
+ _dataStore.disconnectObject(theCommand);
throw e;
}
}
@@ -154,6 +156,8 @@ public class SpawnerMiner extends Miner {
handleSpawnRedirected(subject, cmd, dir, envp, status);
+ status.getDataStore().refresh(status);
+ status.getDataStore().disconnectObject(status.getParent());
return status;
}
@@ -175,6 +179,9 @@ public class SpawnerMiner extends Miner {
fSupportsCharConversion = true;
}
+
+ status.getDataStore().refresh(status);
+ status.getDataStore().disconnectObject(status.getParent());
return null;
}
@@ -230,6 +237,7 @@ public class SpawnerMiner extends Miner {
public static DataElement statusDone(DataElement status) {
status.setAttribute(DE.A_NAME, DataStoreResources.model_done);
status.getDataStore().refresh(status);
+ status.getDataStore().disconnectObject(status.getParent());
return status;
}
diff --git a/rdt/org.eclipse.ptp.rdt.core/miners/org/eclipse/ptp/internal/rdt/core/miners/CDTMiner.java b/rdt/org.eclipse.ptp.rdt.core/miners/org/eclipse/ptp/internal/rdt/core/miners/CDTMiner.java
index e939dd6..fdd7ab0 100644
--- a/rdt/org.eclipse.ptp.rdt.core/miners/org/eclipse/ptp/internal/rdt/core/miners/CDTMiner.java
+++ b/rdt/org.eclipse.ptp.rdt.core/miners/org/eclipse/ptp/internal/rdt/core/miners/CDTMiner.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2012 IBM Corporation and others.
+ * Copyright (c) 2008, 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
@@ -206,6 +206,8 @@ public class CDTMiner extends Miner {
}
catch(RuntimeException e) {
UniversalServerUtilities.logError(LOG_TAG, e.toString(), e, _dataStore);
+ getDataStore().refresh(theCommand);
+ getDataStore().disconnectObject(theCommand);
throw e;
}
}
@@ -269,9 +271,13 @@ public class CDTMiner extends Miner {
provider = (IRemoteIndexerInfoProvider) Serializer.deserialize(getString(theCommand, 6));
} catch (IOException e) {
UniversalServerUtilities.logError(LOG_TAG, e.toString(), e, _dataStore);
+ status.getDataStore().refresh(status);
+ status.getDataStore().disconnectObject(status.getParent());
return status;
} catch (ClassNotFoundException e) {
UniversalServerUtilities.logError(LOG_TAG, e.toString(), e, _dataStore);
+ status.getDataStore().refresh(status);
+ status.getDataStore().disconnectObject(status.getParent());
return status;
}
@@ -794,6 +800,8 @@ public class CDTMiner extends Miner {
}
}
+ status.getDataStore().refresh(status);
+ status.getDataStore().disconnectObject(status.getParent());
return status;
}
@@ -2306,6 +2314,7 @@ public class CDTMiner extends Miner {
public static DataElement statusDone(DataElement status) {
status.setAttribute(DE.A_NAME, DataStoreResources.model_done);
status.getDataStore().refresh(status);
+ status.getDataStore().disconnectObject(status.getParent());
return status;
}
@@ -2315,6 +2324,7 @@ public class CDTMiner extends Miner {
public static DataElement statusCancelled(DataElement status) {
status.setAttribute(DE.A_NAME, CANCELLED);
status.getDataStore().refresh(status);
+ status.getDataStore().disconnectObject(status.getParent());
return status;
}