Index: src/net/sourceforge/cruisecontrol/publishers/EmailPublisher.java =================================================================== --- src/net/sourceforge/cruisecontrol/publishers/EmailPublisher.java (revision 3558) +++ src/net/sourceforge/cruisecontrol/publishers/EmailPublisher.java (working copy) @@ -114,6 +114,7 @@ * XMLLogHelper wrapper for the build log. * @return String containing the message */ + // TODO add throws CruiseControlException and change implementations for consistency protected abstract String createMessage(XMLLogHelper logHelper); /* Index: src/net/sourceforge/cruisecontrol/publishers/LinkJabberPublisher.java =================================================================== --- src/net/sourceforge/cruisecontrol/publishers/LinkJabberPublisher.java (revision 3558) +++ src/net/sourceforge/cruisecontrol/publishers/LinkJabberPublisher.java (working copy) @@ -40,8 +40,6 @@ import net.sourceforge.cruisecontrol.util.ValidationHelper; import net.sourceforge.cruisecontrol.util.XMLLogHelper; -import java.io.File; - /** * Implementation of the Jabber publisher which publishes * a link to the build results via Jabber Instant Messaging framework. @@ -81,12 +79,6 @@ * @throws CruiseControlException */ protected String createMessage(XMLLogHelper logHelper) throws CruiseControlException { - String logFileName = logHelper.getLogFileName(); - String baseLogFileName = - logFileName.substring( - logFileName.lastIndexOf(File.separator) + 1, - logFileName.lastIndexOf(".")); - StringBuffer message = new StringBuffer(); message.append("Build results for "); message.append(logHelper.isBuildSuccessful() ? "successful" : "failed"); @@ -94,17 +86,9 @@ message.append(logHelper.getProjectName()); message.append(": "); - message.append(buildResultsURL); + String url = logHelper.createBuildResultsURL(buildResultsURL); + message.append(url); - if (buildResultsURL.indexOf("?") == -1) { - message.append("?"); - } else { - message.append("&"); - } - - message.append("log="); - message.append(baseLogFileName); - return message.toString(); } Index: src/net/sourceforge/cruisecontrol/publishers/LinkEmailPublisher.java =================================================================== --- src/net/sourceforge/cruisecontrol/publishers/LinkEmailPublisher.java (revision 3558) +++ src/net/sourceforge/cruisecontrol/publishers/LinkEmailPublisher.java (working copy) @@ -41,8 +41,6 @@ import net.sourceforge.cruisecontrol.util.XMLLogHelper; import org.apache.log4j.Logger; -import java.io.File; - /** * Concrete implementation of the EmailPublisher abstract class. This class handles the simplest * implementation where the message body is just a link to a web page detailing the build. @@ -60,32 +58,18 @@ * @return String the link that makes up the body of the email message */ protected String createMessage(XMLLogHelper logHelper) { - String logFileName = ""; - try { - logFileName = logHelper.getLogFileName(); - } catch (CruiseControlException e) { - LOG.error("", e); - } - String baseLogFileName = - logFileName.substring( - logFileName.lastIndexOf(File.separator) + 1, - logFileName.lastIndexOf(".")); - StringBuffer message = new StringBuffer(); message.append("View results here -> "); String buildResultsURL = getBuildResultsURL(); - message.append(buildResultsURL); - - if (buildResultsURL.indexOf("?") == -1) { - message.append("?"); - } else { - message.append("&"); + String url = ""; + try { + url = logHelper.createBuildResultsURL(buildResultsURL); + } catch (CruiseControlException e) { + LOG.error("", e); } + message.append(url); - message.append("log="); - message.append(baseLogFileName); - return message.toString(); } Index: src/net/sourceforge/cruisecontrol/publishers/YahooPublisher.java =================================================================== --- src/net/sourceforge/cruisecontrol/publishers/YahooPublisher.java (revision 3558) +++ src/net/sourceforge/cruisecontrol/publishers/YahooPublisher.java (working copy) @@ -36,8 +36,6 @@ ********************************************************************************/ package net.sourceforge.cruisecontrol.publishers; -import java.io.File; - import net.sourceforge.cruisecontrol.CruiseControlException; import net.sourceforge.cruisecontrol.Publisher; import net.sourceforge.cruisecontrol.util.ValidationHelper; @@ -235,9 +233,6 @@ */ protected String createMessage(XMLLogHelper logHelper) throws CruiseControlException { - String logFileName = logHelper.getLogFileName(); - String baseLogFileName = logFileName.substring(logFileName - .lastIndexOf(File.separator) + 1, logFileName.lastIndexOf(".")); StringBuffer message = new StringBuffer(); message.append("Build results for "); @@ -246,17 +241,9 @@ message.append(logHelper.getProjectName()); message.append(": "); - message.append(this.buildResultsURL); + String url = logHelper.createBuildResultsURL(buildResultsURL); + message.append(url); - if (this.buildResultsURL.indexOf("?") == -1) { - message.append("?"); - } else { - message.append("&"); - } - - message.append("log="); - message.append(baseLogFileName); - return message.toString(); } Index: src/net/sourceforge/cruisecontrol/publishers/rss/CruiseControlItem.java =================================================================== --- src/net/sourceforge/cruisecontrol/publishers/rss/CruiseControlItem.java (revision 3558) +++ src/net/sourceforge/cruisecontrol/publishers/rss/CruiseControlItem.java (working copy) @@ -36,7 +36,6 @@ ********************************************************************************/ package net.sourceforge.cruisecontrol.publishers.rss; -import java.io.File; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; @@ -116,22 +115,7 @@ if (buildResultsURL == null) { return ""; } - String logFileName = logHelper.getLogFileName(); - - int startName = logFileName.lastIndexOf(File.separator) + 1; - int endName = logFileName.lastIndexOf("."); - String baseLogFileName = logFileName.substring(startName, endName); - StringBuffer url = new StringBuffer(buildResultsURL); - - if (buildResultsURL.indexOf("?") == -1) { - url.append("?"); - } else { - url.append("&"); - } - url.append("log="); - url.append(baseLogFileName); - - return url.toString(); + return logHelper.createBuildResultsURL(buildResultsURL); } /**