diff options
author | eutarass | 2011-07-25 20:14:28 +0000 |
---|---|---|
committer | eutarass | 2011-07-25 20:14:28 +0000 |
commit | 8806cbf4fe9189178f44f116e582dee6fbe07db6 (patch) | |
tree | ed152f976abaeea4ac467cc19bb50da848217e7c | |
parent | 2ab84a97157c60891e5697dab8fdc0288af6fc83 (diff) | |
download | org.eclipse.tcf-8806cbf4fe9189178f44f116e582dee6fbe07db6.tar.gz org.eclipse.tcf-8806cbf4fe9189178f44f116e582dee6fbe07db6.tar.xz org.eclipse.tcf-8806cbf4fe9189178f44f116e582dee6fbe07db6.zip |
Bug 346802 - misleading exception message for incorrect Service name.
-rw-r--r-- | plugins/org.eclipse.tm.tcf.core/src/org/eclipse/tm/tcf/core/AbstractChannel.java | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/plugins/org.eclipse.tm.tcf.core/src/org/eclipse/tm/tcf/core/AbstractChannel.java b/plugins/org.eclipse.tm.tcf.core/src/org/eclipse/tm/tcf/core/AbstractChannel.java index 7b87fdf38..a99ad5177 100644 --- a/plugins/org.eclipse.tm.tcf.core/src/org/eclipse/tm/tcf/core/AbstractChannel.java +++ b/plugins/org.eclipse.tm.tcf.core/src/org/eclipse/tm/tcf/core/AbstractChannel.java @@ -866,13 +866,14 @@ public abstract class AbstractChannel implements IChannel { } } try { + Message cmd = null; Token token = null; switch (msg.type) { case 'P': case 'R': case 'N': String token_id = msg.token.getID(); - Message cmd = msg.type == 'P' ? out_tokens.get(token_id) : out_tokens.remove(token_id); + cmd = msg.type == 'P' ? out_tokens.get(token_id) : out_tokens.remove(token_id); if (cmd == null) throw new Exception("Invalid token received: " + token_id); token = cmd.token; break; @@ -905,8 +906,16 @@ public abstract class AbstractChannel implements IChannel { sendCongestionLevel(); break; case 'N': - token.getListener().terminated(token, new ErrorReport( - "Command is not recognized", IErrorReport.TCF_ERROR_INV_COMMAND)); + { + String s = null; + if (remote_service_by_name.get(cmd.service) == null) { + s = "No such service: " + cmd.service; + } + else { + s = "Command is not recognized: " + cmd.service + "." + cmd.name; + } + token.getListener().terminated(token, new ErrorReport(s, IErrorReport.TCF_ERROR_INV_COMMAND)); + } break; case 'E': boolean hello = msg.service.equals(ILocator.NAME) && msg.name.equals("Hello"); |