package com.atlassian.labs.speakeasy.manager; import com.atlassian.labs.speakeasy.model.UserExtension; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; /** * */ @XmlRootElement public class PluginOperationFailedException extends RuntimeException { private String pluginKey; @XmlAttribute private final String error; @XmlElement private UserExtension plugin; public PluginOperationFailedException(String message, String pluginKey) { this(message, null, pluginKey); } public PluginOperationFailedException(String message, Throwable cause, String pluginKey) { super(message, cause); if (message != null) { message.replaceAll("<br>", "\n"); } this.error = message + (cause != null ? ". Caused by: " + cause.getMessage() : ""); this.pluginKey = pluginKey; } public String getError() { return error; } public UserExtension getPlugin() { return plugin; } public void setPlugin(UserExtension plugin) { this.plugin = plugin; } public void setPluginKey(String pluginKey) { this.pluginKey = pluginKey; } public String getPluginKey() { return pluginKey; } }