diff options
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.java | 28 |
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); } |