diff --git a/releng/org.eclipse.rse.build/customTargets.xml b/releng/org.eclipse.rse.build/customTargets.xml index 1ff4563fec8..4281e324810 100644 --- a/releng/org.eclipse.rse.build/customTargets.xml +++ b/releng/org.eclipse.rse.build/customTargets.xml @@ -5,16 +5,6 @@ - @@ -72,19 +62,6 @@ - - @@ -251,14 +228,13 @@ - - - diff --git a/releng/org.eclipse.rse.build/maps/tmcore.map b/releng/org.eclipse.rse.build/maps/tmcore.map index 5f6d42adf00..fdb0a792fb5 100644 --- a/releng/org.eclipse.rse.build/maps/tmcore.map +++ b/releng/org.eclipse.rse.build/maps/tmcore.map @@ -1,4 +1,2 @@ -feature@org.apache.commons.net=v20070223,:pserver:anonymous:none@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.core/thirdparty/org.apache.commons.net-feature -feature@org.apache.oro=v20070223,:pserver:anonymous:none@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.core/thirdparty/org.apache.oro-feature plugin@org.apache.commons.net=v20061222,:pserver:anonymous:none@dev.eclipse.org:/cvsroot/tools,,org.eclipse.orbit/org.apache.commons.net plugin@org.apache.oro=v20061222,:pserver:anonymous:none@dev.eclipse.org:/cvsroot/tools,,org.eclipse.orbit/org.apache.oro \ No newline at end of file diff --git a/releng/org.eclipse.rse.updatesite/site.xml b/releng/org.eclipse.rse.updatesite/site.xml index 9cf31c9a69b..b5b55b4c27f 100644 --- a/releng/org.eclipse.rse.updatesite/site.xml +++ b/releng/org.eclipse.rse.updatesite/site.xml @@ -41,12 +41,6 @@ - - - - - - @@ -68,9 +62,4 @@ Target Management Core Components as well as Experimental add-ons for RSE. - - - Third Party Libraries - - diff --git a/rse/features/org.eclipse.rse-feature/build.properties b/rse/features/org.eclipse.rse-feature/build.properties index 5ced4830e9c..e39dc86e4b6 100644 --- a/rse/features/org.eclipse.rse-feature/build.properties +++ b/rse/features/org.eclipse.rse-feature/build.properties @@ -13,8 +13,6 @@ bin.includes = feature.xml,\ feature.properties,\ epl-v10.html,\ eclipse_update_120.jpg -generate.feature@org.apache.commons.net.source=org.apache.commons.net -generate.feature@org.apache.oro.source=org.apache.oro generate.feature@org.eclipse.rse.local.source=org.eclipse.rse.local generate.feature@org.eclipse.rse.ftp.source=org.eclipse.rse.ftp generate.feature@org.eclipse.rse.ssh.source=org.eclipse.rse.ssh diff --git a/rse/features/org.eclipse.rse.ftp-feature/feature.xml b/rse/features/org.eclipse.rse.ftp-feature/feature.xml index ac522de112d..a50362fba3e 100644 --- a/rse/features/org.eclipse.rse.ftp-feature/feature.xml +++ b/rse/features/org.eclipse.rse.ftp-feature/feature.xml @@ -22,14 +22,6 @@ - - - - @@ -44,6 +36,20 @@ --> + + + + - - - - diff --git a/rse/plugins/org.eclipse.rse.core/persistence/org/eclipse/rse/internal/persistence/RSEPersistenceManager.java b/rse/plugins/org.eclipse.rse.core/persistence/org/eclipse/rse/internal/persistence/RSEPersistenceManager.java index 60ca6d8da5f..c8706297bba 100644 --- a/rse/plugins/org.eclipse.rse.core/persistence/org/eclipse/rse/internal/persistence/RSEPersistenceManager.java +++ b/rse/plugins/org.eclipse.rse.core/persistence/org/eclipse/rse/internal/persistence/RSEPersistenceManager.java @@ -338,12 +338,16 @@ public class RSEPersistenceManager implements IRSEPersistenceManager { */ private boolean load(ISystemProfileManager profileManager) { boolean successful = true; - if (isExporting() || isImporting()) { - successful = false; - } else { - _currentState = STATE_IMPORTING; - IProject project = getRemoteSystemsProject(); + synchronized(this) { + if (isExporting() || isImporting()) { + successful = false; + } else { + setState(STATE_IMPORTING); + } + } + if(successful) { try { + IProject project = getRemoteSystemsProject(); if (!project.isSynchronized(IResource.DEPTH_ONE)) project.refreshLocal(IResource.DEPTH_ONE, null); IRSEPersistenceProvider persistenceProvider = getRSEPersistenceProvider(); String[] profileNames = persistenceProvider.getSavedProfileNames(); @@ -361,8 +365,10 @@ public class RSEPersistenceManager implements IRSEPersistenceManager { } } catch (Exception e) { e.printStackTrace(); + successful = false; + } finally { + setState(STATE_NONE); } - _currentState = STATE_NONE; } return successful; } @@ -375,18 +381,27 @@ public class RSEPersistenceManager implements IRSEPersistenceManager { */ private boolean save(ISystemProfile profile, boolean force) { boolean result = false; - if (!isImporting()) { - _currentState = STATE_EXPORTING; - RSEDOM dom = exportRSEDOM(profile, true); // DWD should do merge, but does not handle deletes properly yet - _currentState = STATE_NONE; - result = true; - if (dom.needsSave()) { - Job job = dom.getSaveJob(); - if (job == null) { - job = new SaveRSEDOMJob(dom, getRSEPersistenceProvider()); - dom.setSaveJob(job); + boolean acquiredLock = false; + synchronized(this) { + if (!isImporting()) { + setState(STATE_EXPORTING); + acquiredLock = true; + } + } + if (acquiredLock) { + try { + RSEDOM dom = exportRSEDOM(profile, true); // DWD should do merge, but does not handle deletes properly yet + result = true; + if (dom.needsSave()) { + Job job = dom.getSaveJob(); + if (job == null) { + job = new SaveRSEDOMJob(dom, getRSEPersistenceProvider()); + dom.setSaveJob(job); + } + job.schedule(3000); // three second delay } - job.schedule(3000); // three second delay + } finally { + setState(STATE_NONE); } } return result; @@ -406,17 +421,17 @@ public class RSEPersistenceManager implements IRSEPersistenceManager { job.schedule(); } - public boolean isExporting() { + public synchronized boolean isExporting() { return _currentState == STATE_EXPORTING; } - public boolean isImporting() { + public synchronized boolean isImporting() { return _currentState == STATE_IMPORTING; } - // public void setState(int state) { - // _currentState = state; - // } + private synchronized void setState(int state) { + _currentState = state; + } private RSEDOM exportRSEDOM(ISystemProfile profile, boolean force) { RSEDOM dom = _exporter.createRSEDOM(profile, force);