Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorslewis2007-05-07 05:25:34 +0000
committerslewis2007-05-07 05:25:34 +0000
commit42d69d1f3e7e52ffd199d484fd19a8c15c243446 (patch)
tree9f57b49a3c7ac2be8a5cc3f6993e425adb03299c
parent5c7b845af38592937129381d73f99170a977a9e1 (diff)
downloadorg.eclipse.ecf-42d69d1f3e7e52ffd199d484fd19a8c15c243446.tar.gz
org.eclipse.ecf-42d69d1f3e7e52ffd199d484fd19a8c15c243446.tar.xz
org.eclipse.ecf-42d69d1f3e7e52ffd199d484fd19a8c15c243446.zip
Added better error handlingv20070506-2230
-rw-r--r--framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/internal/presence/collab/ui/Messages.java9
-rw-r--r--framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/internal/presence/collab/ui/messages.properties9
-rw-r--r--framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/presence/collab/ui/URLShare.java31
-rw-r--r--framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/presence/collab/ui/URLShareRosterContributionItem.java3
4 files changed, 41 insertions, 11 deletions
diff --git a/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/internal/presence/collab/ui/Messages.java b/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/internal/presence/collab/ui/Messages.java
index c7cb1ddfe..c6abbc692 100644
--- a/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/internal/presence/collab/ui/Messages.java
+++ b/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/internal/presence/collab/ui/Messages.java
@@ -20,6 +20,15 @@ public class Messages extends NLS {
private static final String BUNDLE_NAME = "org.eclipse.ecf.internal.presence.collab.ui.messages"; //$NON-NLS-1$
public static String URLShare_ENTER_URL_DEFAULT_URL;
public static String URLShare_ENTER_URL_DIALOG_TEXT;
+ public static String URLShare_ERROR_BROWSER_MESSAGE;
+ public static String URLShare_ERROR_BROWSER_TITLE;
+ public static String URLShare_ERROR_RECEIVE_MESSAGE;
+ public static String URLShare_ERROR_RECEIVE_TITLE;
+ public static String URLShare_ERROR_SEND_MESSAGE;
+ public static String URLShare_ERROR_SEND_TITLE;
+ public static String URLShare_EXCEPTION_LOG_BROWSER;
+ public static String URLShare_EXCEPTION_LOG_MESSAGE;
+ public static String URLShare_EXCEPTION_LOG_SEND;
public static String URLShare_INPUT_URL_DIALOG_TITLE;
public static String URLShare_RECEIVED_URL_MESSAGE;
public static String URLShare_RECEIVED_URL_TITLE;
diff --git a/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/internal/presence/collab/ui/messages.properties b/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/internal/presence/collab/ui/messages.properties
index 9ae01ff82..86446c7be 100644
--- a/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/internal/presence/collab/ui/messages.properties
+++ b/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/internal/presence/collab/ui/messages.properties
@@ -5,5 +5,14 @@ URLShareRosterContributionItem_REMOVE_URL_SHARE_MENU_TEXT=Remove URL Listener
URLShare_INPUT_URL_DIALOG_TITLE=Enter URL to Send
URLShare_ENTER_URL_DIALOG_TEXT=URL
URLShare_ENTER_URL_DEFAULT_URL=http://www.eclipse.org/ecf
+URLShare_ERROR_BROWSER_MESSAGE=Error opening browser:
+URLShare_EXCEPTION_LOG_BROWSER=Exception in createBrowser
+URLShare_ERROR_RECEIVE_MESSAGE=Error receiving message:
+URLShare_EXCEPTION_LOG_MESSAGE=Exception in URLShare.handleMessage
URLShare_RECEIVED_URL_TITLE=Received URL
+URLShare_ERROR_SEND_TITLE=Error sending message
+URLShare_ERROR_SEND_MESSAGE=Error sending message:
+URLShare_EXCEPTION_LOG_SEND=Exception in URLShare.sendURL
URLShare_RECEIVED_URL_MESSAGE=Received URL from {0}\n\nDo you want to display?
+URLShare_ERROR_BROWSER_TITLE=Error opening browser
+URLShare_ERROR_RECEIVE_TITLE=Error receiving message
diff --git a/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/presence/collab/ui/URLShare.java b/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/presence/collab/ui/URLShare.java
index 9ae0d0e93..2714448a2 100644
--- a/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/presence/collab/ui/URLShare.java
+++ b/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/presence/collab/ui/URLShare.java
@@ -18,10 +18,13 @@ import java.io.ObjectOutputStream;
import java.net.URL;
import org.eclipse.core.runtime.Assert;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
import org.eclipse.ecf.core.identity.ID;
import org.eclipse.ecf.core.util.ECFException;
import org.eclipse.ecf.datashare.AbstractShare;
import org.eclipse.ecf.datashare.IChannelContainerAdapter;
+import org.eclipse.ecf.internal.presence.collab.ui.Activator;
import org.eclipse.ecf.internal.presence.collab.ui.Messages;
import org.eclipse.jface.dialogs.InputDialog;
import org.eclipse.jface.dialogs.MessageDialog;
@@ -43,7 +46,6 @@ public class URLShare extends AbstractShare {
super(adapter);
Assert.isNotNull(containerID);
this.containerID = containerID;
- URLShareRosterContributionItem.addURLShare(containerID, this);
}
protected ID getContainerID() {
@@ -63,8 +65,12 @@ public class URLShare extends AbstractShare {
browser = support.createBrowser(null);
browser.openURL(new URL(url));
} catch (Exception e) {
- // TODO display error to user
- e.printStackTrace();
+ MessageDialog.openError(null, Messages.URLShare_ERROR_BROWSER_TITLE, NLS.bind(
+ Messages.URLShare_ERROR_BROWSER_MESSAGE, e.getLocalizedMessage()));
+ Activator.getDefault().getLog().log(
+ new Status(IStatus.ERROR, Activator.PLUGIN_ID,
+ IStatus.ERROR, Messages.URLShare_EXCEPTION_LOG_BROWSER,
+ e));
}
}
}
@@ -87,7 +93,12 @@ public class URLShare extends AbstractShare {
sendMessage(toID, serialize(new Object[] {
senderuser, send }));
} catch (Exception e) {
- // TODO display error to user
+ MessageDialog.openError(null, Messages.URLShare_ERROR_SEND_TITLE, NLS.bind(
+ Messages.URLShare_ERROR_SEND_MESSAGE, e.getLocalizedMessage()));
+ Activator.getDefault().getLog().log(
+ new Status(IStatus.ERROR, Activator.PLUGIN_ID,
+ IStatus.ERROR, Messages.URLShare_EXCEPTION_LOG_SEND,
+ e));
}
}
}
@@ -95,11 +106,6 @@ public class URLShare extends AbstractShare {
});
}
- public synchronized void dispose() {
- super.dispose();
- URLShareRosterContributionItem.removeURLShare(containerID);
- }
-
/*
* (non-Javadoc)
*
@@ -110,7 +116,12 @@ public class URLShare extends AbstractShare {
Object[] msg = (Object[]) deserialize(data);
showURL((String) msg[0], (String) msg[1]);
} catch (Exception e) {
- // XXX show and/or log error
+ MessageDialog.openError(null, Messages.URLShare_ERROR_RECEIVE_TITLE, NLS.bind(
+ Messages.URLShare_ERROR_RECEIVE_MESSAGE, e.getLocalizedMessage()));
+ Activator.getDefault().getLog().log(
+ new Status(IStatus.ERROR, Activator.PLUGIN_ID,
+ IStatus.ERROR, Messages.URLShare_EXCEPTION_LOG_MESSAGE,
+ e));
}
}
diff --git a/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/presence/collab/ui/URLShareRosterContributionItem.java b/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/presence/collab/ui/URLShareRosterContributionItem.java
index ee8066ae5..ce2730aae 100644
--- a/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/presence/collab/ui/URLShareRosterContributionItem.java
+++ b/framework/bundles/org.eclipse.ecf.presence.collab.ui/src/org/eclipse/ecf/presence/collab/ui/URLShareRosterContributionItem.java
@@ -42,7 +42,7 @@ public class URLShareRosterContributionItem extends
IAction action = new Action() {
public void run() {
try {
- new URLShare(containerID, channelAdapter);
+ addURLShare(containerID, new URLShare(containerID, channelAdapter));
} catch (ECFException e) {
// TODO Auto-generated catch block
e.printStackTrace();
@@ -61,6 +61,7 @@ public class URLShareRosterContributionItem extends
IAction action = new Action() {
public void run() {
urlshare.dispose();
+ removeURLShare(containerID);
}
};
action

Back to the top