From ddae4097b8c385dff18a437bd09fb8a89a80c903 Mon Sep 17 00:00:00 2001 From: Sergey Evdokimov Date: Fri, 26 Jul 2013 15:19:52 +0400 Subject: [PATCH] Refactoring: use DependencyConflictId --- .../MavenDuplicateDependenciesInspection.java | 29 +++++-------------- 1 file changed, 8 insertions(+), 21 deletions(-) diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/dom/inspections/MavenDuplicateDependenciesInspection.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/dom/inspections/MavenDuplicateDependenciesInspection.java index ef79271a312d..115981ad51bb 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/dom/inspections/MavenDuplicateDependenciesInspection.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/dom/inspections/MavenDuplicateDependenciesInspection.java @@ -27,7 +27,7 @@ import com.intellij.util.xml.DomFileElement; import com.intellij.util.xml.highlighting.BasicDomElementsInspection; import com.intellij.util.xml.highlighting.DomElementAnnotationHolder; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; +import org.jetbrains.idea.maven.dom.DependencyConflictId; import org.jetbrains.idea.maven.dom.MavenDomBundle; import org.jetbrains.idea.maven.dom.MavenDomProjectProcessorUtils; import org.jetbrains.idea.maven.dom.MavenDomUtil; @@ -52,10 +52,10 @@ public class MavenDuplicateDependenciesInspection extends BasicDomElementsInspec private static void checkMavenProjectModel(@NotNull MavenDomProjectModel projectModel, @NotNull DomElementAnnotationHolder holder) { - final Map> allDuplicates = getDuplicateDependenciesMap(projectModel); + final Map> allDuplicates = getDuplicateDependenciesMap(projectModel); for (MavenDomDependency dependency : projectModel.getDependencies().getDependencies()) { - String id = createId(dependency); + DependencyConflictId id = DependencyConflictId.create(dependency); if (id != null) { Set dependencies = allDuplicates.get(id); if (dependencies != null && dependencies.size() > 1) { @@ -66,12 +66,12 @@ public class MavenDuplicateDependenciesInspection extends BasicDomElementsInspec if (d == dependency) continue; if (d.getParent() == dependency.getParent()) { - duplicatedDependencies.add(d); // Dependencies in same file must be unique by groupId:artifactId:type:classifier + duplicatedDependencies.add(d); // Dependencies in the same file must be unique by groupId:artifactId:type:classifier } else { if (scope(d).equals(scope(dependency)) && Comparing.equal(d.getVersion().getStringValue(), dependency.getVersion().getStringValue())) { - duplicatedDependencies.add(d); // Dependencies in same file must be unique by groupId:artifactId:VERSION:type:classifier:SCOPE + duplicatedDependencies.add(d); // Dependencies in different files must not have same groupId:artifactId:VERSION:type:classifier:SCOPE } } } @@ -147,13 +147,13 @@ public class MavenDuplicateDependenciesInspection extends BasicDomElementsInspec } @NotNull - private static Map> getDuplicateDependenciesMap(MavenDomProjectModel projectModel) { - final Map> allDependencies = new HashMap>(); + private static Map> getDuplicateDependenciesMap(MavenDomProjectModel projectModel) { + final Map> allDependencies = new HashMap>(); Processor collectProcessor = new Processor() { public boolean process(MavenDomProjectModel model) { for (MavenDomDependency dependency : model.getDependencies().getDependencies()) { - String mavenId = createId(dependency); + DependencyConflictId mavenId = DependencyConflictId.create(dependency); if (mavenId != null) { if (allDependencies.containsKey(mavenId)) { allDependencies.get(mavenId).add(dependency); @@ -175,19 +175,6 @@ public class MavenDuplicateDependenciesInspection extends BasicDomElementsInspec return allDependencies; } - @Nullable - private static String createId(MavenDomDependency coordinates) { - String groupId = coordinates.getGroupId().getStringValue(); - String artifactId = coordinates.getArtifactId().getStringValue(); - - if (StringUtil.isEmptyOrSpaces(groupId) || StringUtil.isEmptyOrSpaces(artifactId)) return null; - - String type = coordinates.getType().getStringValue(); - String classifier = coordinates.getClassifier().getStringValue(); - - return groupId + ":" + artifactId + ":" + type + ":" + classifier; - } - @NotNull public String getGroupDisplayName() { return MavenDomBundle.message("inspection.group");