/** * If the computer was offline (either temporarily or not), this method will return the cause as a * string (without user info). * * @return empty string if the system was put offline without given a cause. */ @Exported public String getOfflineCauseReason() { if (offlineCause == null) { return ""; } // fetch the localized string for "Disconnected By" String gsub_base = hudson.slaves.Messages.SlaveComputer_DisconnectedBy("", ""); // regex to remove commented reason base string String gsub1 = "^" + gsub_base + "[\\w\\W]* \\: "; // regex to remove non-commented reason base string String gsub2 = "^" + gsub_base + "[\\w\\W]*"; String newString = offlineCause.toString().replaceAll(gsub1, ""); return newString.replaceAll(gsub2, ""); }