From 9b746334eab9074af6cfd7851bfffe3dc12c770d Mon Sep 17 00:00:00 2001 From: David Dykstal Date: Thu, 12 Jul 2007 19:58:34 +0000 Subject: [PATCH] [194667] fixed logic bug in RSEPersistenceManager --- .../internal/persistence/RSEPersistenceManager.java | 4 +++- .../rse/tests/persistence/PersistenceTest.java | 13 +++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/internal/persistence/RSEPersistenceManager.java b/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/internal/persistence/RSEPersistenceManager.java index b4842139591..c2844671357 100644 --- a/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/internal/persistence/RSEPersistenceManager.java +++ b/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/internal/persistence/RSEPersistenceManager.java @@ -244,7 +244,9 @@ public class RSEPersistenceManager implements IRSEPersistenceManager { for (int i = 0; i < ids.length && isComplete; i++) { String id = ids[i]; ProviderRecord pr = getProviderRecord(id); - isComplete = pr.isAutostart() && pr.isRestored(); + if (pr.isAutostart()) { + isComplete = isComplete && pr.isRestored(); + } } return isComplete; } diff --git a/rse/tests/org.eclipse.rse.tests/src/org/eclipse/rse/tests/persistence/PersistenceTest.java b/rse/tests/org.eclipse.rse.tests/src/org/eclipse/rse/tests/persistence/PersistenceTest.java index a5011df2931..fa6e0b70b9a 100644 --- a/rse/tests/org.eclipse.rse.tests/src/org/eclipse/rse/tests/persistence/PersistenceTest.java +++ b/rse/tests/org.eclipse.rse.tests/src/org/eclipse/rse/tests/persistence/PersistenceTest.java @@ -50,6 +50,19 @@ public class PersistenceTest extends RSECoreTestCase { super.tearDown(); } + public void testPersistenceManagerStartup() { + IRSEPersistenceManager m = RSECorePlugin.getThePersistenceManager(); + for (int i = 0; i < 5; i++) { + if (m.isRestoreComplete()) break; + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + } + assertTrue("Restore not complete", m.isRestoreComplete()); + } + public void testProfilePersistence() { /* * Set up this particular test.