summaryrefslogtreecommitdiff
path: root/plugins/svn4idea/src/org/jetbrains/idea/svn/commandLine/SvnBindException.java
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/svn4idea/src/org/jetbrains/idea/svn/commandLine/SvnBindException.java')
-rw-r--r--plugins/svn4idea/src/org/jetbrains/idea/svn/commandLine/SvnBindException.java28
1 files changed, 20 insertions, 8 deletions
diff --git a/plugins/svn4idea/src/org/jetbrains/idea/svn/commandLine/SvnBindException.java b/plugins/svn4idea/src/org/jetbrains/idea/svn/commandLine/SvnBindException.java
index 6694083b4d81..f4b4f0d4b0fc 100644
--- a/plugins/svn4idea/src/org/jetbrains/idea/svn/commandLine/SvnBindException.java
+++ b/plugins/svn4idea/src/org/jetbrains/idea/svn/commandLine/SvnBindException.java
@@ -21,6 +21,7 @@ import com.intellij.openapi.vcs.VcsException;
import com.intellij.util.containers.ContainerUtil;
import com.intellij.util.containers.MultiMap;
import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
import org.jetbrains.idea.svn.SvnUtil;
import org.tmatesoft.svn.core.SVNErrorCode;
import org.tmatesoft.svn.core.SVNErrorMessage;
@@ -52,18 +53,22 @@ public class SvnBindException extends VcsException {
errors.putValue(code.getCode(), getMessage());
}
- public SvnBindException(String message) {
- super(message);
+ public SvnBindException(@Nullable String message) {
+ this(message, null);
+ }
- if (!StringUtil.isEmpty(message)) {
- parse(message, SvnUtil.ERROR_PATTERN, errors);
- parse(message, SvnUtil.WARNING_PATTERN, warnings);
- }
+ public SvnBindException(@Nullable Throwable cause) {
+ this(null, cause);
}
- public SvnBindException(Throwable throwable) {
- super(throwable);
+ public SvnBindException(@Nullable String message, @Nullable Throwable cause) {
+ super(message, cause);
+
+ init(message);
+ init(cause);
+ }
+ private void init(@Nullable Throwable throwable) {
if (throwable instanceof SVNException) {
SVNException e = (SVNException)throwable;
int code = e.getErrorMessage().getErrorCode().getCode();
@@ -73,6 +78,13 @@ public class SvnBindException extends VcsException {
}
}
+ private void init(@Nullable String message) {
+ if (!StringUtil.isEmpty(message)) {
+ parse(message, SvnUtil.ERROR_PATTERN, errors);
+ parse(message, SvnUtil.WARNING_PATTERN, warnings);
+ }
+ }
+
public boolean contains(int code) {
return errors.containsKey(code) || warnings.containsKey(code);
}