[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;