[server] allow server to replace client-Side default messages
Change-Id: I7146b0df958cd1264402a255d17fd0e0c379d071
Signed-off-by: Marcel Bruch <marcel.bruch@codetrails.com>
diff --git a/bundles/org.eclipse.epp.logging.aeri.ide/src/org/eclipse/epp/internal/logging/aeri/ide/server/mars/IO.java b/bundles/org.eclipse.epp.logging.aeri.ide/src/org/eclipse/epp/internal/logging/aeri/ide/server/mars/IO.java
index ccbccb7..50c9574 100644
--- a/bundles/org.eclipse.epp.logging.aeri.ide/src/org/eclipse/epp/internal/logging/aeri/ide/server/mars/IO.java
+++ b/bundles/org.eclipse.epp.logging.aeri.ide/src/org/eclipse/epp/internal/logging/aeri/ide/server/mars/IO.java
@@ -115,7 +115,7 @@
problemState.setStatus(tryParse(raw));
String message = raw.getInformation().orNull();
- if (message != null && !StringUtils.contains(message, "</a>")) { //$NON-NLS-1$
+ if (message != null && !StringUtils.contains(message, "</a>") && !StringUtils.contains(message, "{link")) { //$NON-NLS-1$
// TODO temporary for Mars.1 servers in Neon:
// Server sends an 'additional' status message which may not contain any links. Let's append them in a generic way for Neon.M4
message += appendLinks(problemState.getLinks());
diff --git a/bundles/org.eclipse.epp.logging.aeri.ide/src/org/eclipse/epp/internal/logging/aeri/ide/server/mars/ServerConnection.java b/bundles/org.eclipse.epp.logging.aeri.ide/src/org/eclipse/epp/internal/logging/aeri/ide/server/mars/ServerConnection.java
index e74631b..b9f9e23 100644
--- a/bundles/org.eclipse.epp.logging.aeri.ide/src/org/eclipse/epp/internal/logging/aeri/ide/server/mars/ServerConnection.java
+++ b/bundles/org.eclipse.epp.logging.aeri.ide/src/org/eclipse/epp/internal/logging/aeri/ide/server/mars/ServerConnection.java
@@ -22,6 +22,7 @@
import javax.annotation.PreDestroy;
import javax.inject.Inject;
+import org.apache.commons.lang3.StringUtils;
import org.apache.http.client.fluent.Executor;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
@@ -191,6 +192,8 @@
String message = response.getMessage();
if (isNotBlank(message)) {
+ message = StringUtils.replace(message, "{link,", "{0,link,");
+ message = format(message, response);
message = format(Messages.PROBLEM_MESSAGES_FORWARD_SERVER_RESPONSE, server.getName(), message);
response.setMessage(message);
return response;