From 49815e27b8c93edbded371be406e2b9d9eba35e3 Mon Sep 17 00:00:00 2001 From: Nadya Zabrodina Date: Tue, 3 Dec 2013 19:34:20 +0400 Subject: [PATCH] VcsRootError changed to be an interface, implementation moved to vcs-impl --- .../intellij/openapi/vcs/VcsRootError.java | 61 ++++----------- .../openapi/vcs/VcsRootErrorImpl.java | 76 +++++++++++++++++++ .../vcs/roots/VcsRootErrorsFinder.java | 6 +- .../vcs/roots/VcsRootErrorsFinderTest.java | 5 +- 4 files changed, 96 insertions(+), 52 deletions(-) create mode 100644 platform/vcs-impl/src/com/intellij/openapi/vcs/VcsRootErrorImpl.java diff --git a/platform/vcs-api/src/com/intellij/openapi/vcs/VcsRootError.java b/platform/vcs-api/src/com/intellij/openapi/vcs/VcsRootError.java index ada11256da9a..3074d44c843d 100644 --- a/platform/vcs-api/src/com/intellij/openapi/vcs/VcsRootError.java +++ b/platform/vcs-api/src/com/intellij/openapi/vcs/VcsRootError.java @@ -23,61 +23,28 @@ import org.jetbrains.annotations.NotNull; * @author Kirill Likhodedov * @see VcsRootChecker */ -public class VcsRootError { +public interface VcsRootError { - private final @NotNull Type myType; - private final @NotNull String myMapping; - private final @NotNull VcsKey myVcsKey; - - public enum Type { + enum Type { EXTRA_MAPPING, UNREGISTERED_ROOT } - public VcsRootError(@NotNull Type type, @NotNull String mapping, @NotNull String key) { - myType = type; - myMapping = mapping; - myVcsKey = new VcsKey(key); - } - + /** + * @return type of mapping error + */ @NotNull - public Type getType() { - return myType; - } + Type getType(); + /** + * @return affected directory mapping string + */ @NotNull - public String getMapping() { - return myMapping; - } + String getMapping(); + /** + * @return vcsKey for affected mapping + */ @NotNull - public VcsKey getVcsKey() { - return myVcsKey; - } - - @Override - public String toString() { - return String.format("VcsRootError{%s - %s}", myType, myMapping); - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - VcsRootError error = (VcsRootError)o; - - if (!myMapping.equals(error.myMapping)) return false; - if (myType != error.myType) return false; - - return true; - } - - @SuppressWarnings("ConstantConditions") - @Override - public int hashCode() { - int result = myType != null ? myType.hashCode() : 0; - result = 31 * result + myMapping.hashCode(); - return result; - } + VcsKey getVcsKey(); } diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/VcsRootErrorImpl.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/VcsRootErrorImpl.java new file mode 100644 index 000000000000..d6d3f6340840 --- /dev/null +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/VcsRootErrorImpl.java @@ -0,0 +1,76 @@ +/* + * Copyright 2000-2013 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.intellij.openapi.vcs; + +import org.jetbrains.annotations.NotNull; + +/** + * @author Nadya Zabrodina + */ +public class VcsRootErrorImpl implements VcsRootError { + + private final @NotNull Type myType; + private final @NotNull String myMapping; + private final @NotNull VcsKey myVcsKey; + + + public VcsRootErrorImpl(@NotNull Type type, @NotNull String mapping, @NotNull String key) { + myType = type; + myMapping = mapping; + myVcsKey = new VcsKey(key); + } + + @NotNull + public Type getType() { + return myType; + } + + @NotNull + public String getMapping() { + return myMapping; + } + + @NotNull + public VcsKey getVcsKey() { + return myVcsKey; + } + + @Override + public String toString() { + return String.format("VcsRootError{%s - %s}", myType, myMapping); + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + VcsRootError error = (VcsRootError)o; + + if (!myMapping.equals(error.getMapping())) return false; + if (myType != error.getType()) return false; + + return true; + } + + @SuppressWarnings("ConstantConditions") + @Override + public int hashCode() { + int result = myType != null ? myType.hashCode() : 0; + result = 31 * result + myMapping.hashCode(); + return result; + } +} \ No newline at end of file diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/roots/VcsRootErrorsFinder.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/roots/VcsRootErrorsFinder.java index 0c5bcc5a4964..14be8a0d24be 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/roots/VcsRootErrorsFinder.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/roots/VcsRootErrorsFinder.java @@ -50,7 +50,7 @@ public class VcsRootErrorsFinder { } String vcsPath = virtualFileFromRoot.getPath(); if (!mappedPaths.contains(vcsPath) && root.getVcs() != null) { - errors.add(new VcsRootError(VcsRootError.Type.UNREGISTERED_ROOT, vcsPath, root.getVcs().getName())); + errors.add(new VcsRootErrorImpl(VcsRootError.Type.UNREGISTERED_ROOT, vcsPath, root.getVcs().getName())); } } return errors; @@ -65,13 +65,13 @@ public class VcsRootErrorsFinder { } if (mapping.isDefaultMapping()) { if (!isRoot(mapping)) { - errors.add(new VcsRootError(VcsRootError.Type.EXTRA_MAPPING, VcsDirectoryMapping.PROJECT_CONSTANT, mapping.getVcs())); + errors.add(new VcsRootErrorImpl(VcsRootError.Type.EXTRA_MAPPING, VcsDirectoryMapping.PROJECT_CONSTANT, mapping.getVcs())); } } else { String mappedPath = mapping.systemIndependentPath(); if (!isRoot(mapping)) { - errors.add(new VcsRootError(VcsRootError.Type.EXTRA_MAPPING, mappedPath, mapping.getVcs())); + errors.add(new VcsRootErrorImpl(VcsRootError.Type.EXTRA_MAPPING, mappedPath, mapping.getVcs())); } } } diff --git a/platform/vcs-impl/testSrc/com/intellij/openapi/vcs/roots/VcsRootErrorsFinderTest.java b/platform/vcs-impl/testSrc/com/intellij/openapi/vcs/roots/VcsRootErrorsFinderTest.java index 80a9ce90dda1..1713ac87037c 100644 --- a/platform/vcs-impl/testSrc/com/intellij/openapi/vcs/roots/VcsRootErrorsFinderTest.java +++ b/platform/vcs-impl/testSrc/com/intellij/openapi/vcs/roots/VcsRootErrorsFinderTest.java @@ -18,6 +18,7 @@ package com.intellij.openapi.vcs.roots; import com.intellij.openapi.util.Condition; import com.intellij.openapi.vcs.VcsDirectoryMapping; import com.intellij.openapi.vcs.VcsRootError; +import com.intellij.openapi.vcs.VcsRootErrorImpl; import com.intellij.openapi.vcs.VcsTestUtil; import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; @@ -261,12 +262,12 @@ public class VcsRootErrorsFinderTest extends VcsRootPlatformTest { @NotNull VcsRootError unreg(@NotNull String path) { - return new VcsRootError(VcsRootError.Type.UNREGISTERED_ROOT, VcsTestUtil.toAbsolute(path, myProject), myVcsName); + return new VcsRootErrorImpl(VcsRootError.Type.UNREGISTERED_ROOT, VcsTestUtil.toAbsolute(path, myProject), myVcsName); } @NotNull VcsRootError extra(@NotNull String path) { - return new VcsRootError(VcsRootError.Type.EXTRA_MAPPING, PROJECT.equals(path) ? PROJECT : VcsTestUtil.toAbsolute(path, myProject), + return new VcsRootErrorImpl(VcsRootError.Type.EXTRA_MAPPING, PROJECT.equals(path) ? PROJECT : VcsTestUtil.toAbsolute(path, myProject), myVcsName); } }