|
From: <caw...@us...> - 2007-07-12 13:50:50
|
Revision: 2750
http://svn.sourceforge.net/rubyeclipse/?rev=2750&view=rev
Author: cawilliams
Date: 2007-07-12 06:50:45 -0700 (Thu, 12 Jul 2007)
Log Message:
-----------
wrap the two jobs that load local and remote gems to catch all exceptions, log them, and return a valid status of cancel (so users don't get the popup dialog saying something just broke).
Modified Paths:
--------------
trunk/com.aptana.rdt/src/com/aptana/rdt/internal/core/gems/GemManager.java
Modified: trunk/com.aptana.rdt/src/com/aptana/rdt/internal/core/gems/GemManager.java
===================================================================
--- trunk/com.aptana.rdt/src/com/aptana/rdt/internal/core/gems/GemManager.java 2007-07-11 20:32:07 UTC (rev 2749)
+++ trunk/com.aptana.rdt/src/com/aptana/rdt/internal/core/gems/GemManager.java 2007-07-12 13:50:45 UTC (rev 2750)
@@ -663,21 +663,26 @@
@Override
protected IStatus run(IProgressMonitor monitor) {
- gems = loadLocalCache(getConfigFile(LOCAL_GEMS_CACHE_FILE));
- if (gems.isEmpty()) {
- gems = loadLocalGems();
- storeGemCache(gems, getConfigFile(LOCAL_GEMS_CACHE_FILE));
- }
- isInitialized = true;
- synchronized (listeners) {
- for (GemListener listener : listeners) {
- listener.managerInitialized();
+ try {
+ gems = loadLocalCache(getConfigFile(LOCAL_GEMS_CACHE_FILE));
+ if (gems.isEmpty()) {
+ gems = loadLocalGems();
+ storeGemCache(gems, getConfigFile(LOCAL_GEMS_CACHE_FILE));
}
- }
- synchronized (listeners) {
- for (GemListener listener : listeners) {
- listener.gemsRefreshed();
+ isInitialized = true;
+ synchronized (listeners) {
+ for (GemListener listener : listeners) {
+ listener.managerInitialized();
+ }
}
+ synchronized (listeners) {
+ for (GemListener listener : listeners) {
+ listener.gemsRefreshed();
+ }
+ }
+ } catch (Exception e) {
+ AptanaRDTPlugin.log(e);
+ return Status.CANCEL_STATUS;
}
return Status.OK_STATUS;
}
@@ -691,11 +696,16 @@
@Override
protected IStatus run(IProgressMonitor monitor) {
- remoteGems = loadLocalCache(getConfigFile(REMOTE_GEMS_CACHE_FILE));
- if (remoteGems.isEmpty()) {
- remoteGems = loadRemoteGems();
- storeGemCache(remoteGems,
- getConfigFile(REMOTE_GEMS_CACHE_FILE));
+ try {
+ remoteGems = loadLocalCache(getConfigFile(REMOTE_GEMS_CACHE_FILE));
+ if (remoteGems.isEmpty()) {
+ remoteGems = loadRemoteGems();
+ storeGemCache(remoteGems,
+ getConfigFile(REMOTE_GEMS_CACHE_FILE));
+ }
+ } catch (Exception e) {
+ AptanaRDTPlugin.log(e);
+ return Status.CANCEL_STATUS;
}
return Status.OK_STATUS;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|