summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorskaegi <simon_kaegi@ca.ibm.com>2014-02-26 22:51:37 -0500
committerskaegi <simon_kaegi@ca.ibm.com>2014-02-26 22:51:37 -0500
commita58d14b302d7e41283f3925f70f36d851eeb095d (patch)
tree07e36d26d047514785e17f5100630b6bc88ff693
parentc17ea84bbc063897e0fa7af1776bd5d4ba10973e (diff)
downloadorg.eclipse.orion.client-origin/Bug429201.zip
org.eclipse.orion.client-origin/Bug429201.tar.gz
org.eclipse.orion.client-origin/Bug429201.tar.bz2
Bug 429201 - Regression - Orion error message for logging in no longer provides helpful hyperlinkorigin/Bug429201
-rw-r--r--bundles/org.eclipse.orion.client.ui/web/orion/inputManager.js72
1 files changed, 35 insertions, 37 deletions
diff --git a/bundles/org.eclipse.orion.client.ui/web/orion/inputManager.js b/bundles/org.eclipse.orion.client.ui/web/orion/inputManager.js
index 7a7bb5c..b3d5179 100644
--- a/bundles/org.eclipse.orion.client.ui/web/orion/inputManager.js
+++ b/bundles/org.eclipse.orion.client.ui/web/orion/inputManager.js
@@ -59,43 +59,41 @@ define([
}
};
- function handleError(statusService, error) {
- if (!statusService) {
- window.console.log(error);
- return;
- }
- var newError;
- if (error.status === 0) {
- newError = {
- Severity: "Error", //$NON-NLS-0$
- Message: messages.noResponse
- };
- } else {
- var responseText = error.responseText;
- if (responseText) {
- try {
- newError = JSON.parse(responseText);
- } catch(e) {
- newError = {
- //HTML: true,
- Severity: "Error", //$NON-NLS-0$
- Message: responseText
- };
- }
- if(!newError.Severity) {
- newError.Severity = "Error"; //$NON-NLS-0$
- }
- if(!newError.Message) {
- newError.Message = responseText;
- }
- } else {
- newError = {
- Severity: "Error", //$NON-NLS-0$
- Message: JSON.stringify(error)
- };
- }
- }
- statusService.setProgressResult(newError);
+ function _makeError(error) {
+ var newError = {
+ Severity: "Error", //$NON-NLS-0$
+ Message: messages.noResponse
+ };
+ if (error.status === 0) {
+ return newError; // might do better here
+ } else if (error.responseText) {
+ var responseText = error.responseText;
+ try {
+ var parsedError = JSON.parse(responseText);
+ newError.Severity = parsedError.Severity || newError.Severity;
+ newError.Message = parsedError.Message || newError.Message;
+ } catch (e) {
+ newError.Message = responseText;
+ }
+ } else {
+ try {
+ newError.Message = JSON.stringify(error);
+ } catch (e) {
+ // best effort - fallthrough
+ }
+ }
+ return newError;
+ }
+
+ function handleError(statusService, error) {
+ if (!statusService) {
+ window.console.log(error);
+ return;
+ }
+ if (!error.Severity) {
+ error = _makeError(error);
+ }
+ statusService.setProgressResult(error);
}
/**