From 911cf28e96973a6b07ef8b95233662846107bbdd Mon Sep 17 00:00:00 2001 From: Roman Shevchenko Date: Fri, 16 Nov 2012 11:37:29 +0100 Subject: [PATCH] Minor fix/optimization --- .../jps/model/library/impl/JpsLibraryImpl.java | 10 ++++++---- .../com/intellij/util/containers/ContainerUtil.java | 10 ++++++++++ 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/jps/model-impl/src/org/jetbrains/jps/model/library/impl/JpsLibraryImpl.java b/jps/model-impl/src/org/jetbrains/jps/model/library/impl/JpsLibraryImpl.java index bcf67ceed089..30f4a653291c 100644 --- a/jps/model-impl/src/org/jetbrains/jps/model/library/impl/JpsLibraryImpl.java +++ b/jps/model-impl/src/org/jetbrains/jps/model/library/impl/JpsLibraryImpl.java @@ -1,6 +1,8 @@ package org.jetbrains.jps.model.library.impl; +import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.util.io.FileUtilRt; +import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.jps.model.*; @@ -11,9 +13,7 @@ import org.jetbrains.jps.model.library.*; import org.jetbrains.jps.util.JpsPathUtil; import java.io.File; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; +import java.util.*; /** * @author nik @@ -147,6 +147,8 @@ public class JpsLibraryImpl

extends JpsNamedCompositeEleme return urls; } + private static final Set AR_EXTENSIONS = ContainerUtil.newTroveSet(FileUtil.PATH_HASHING_STRATEGY, "jar", "zip", "swc", "ane"); + private static void collectArchives(File file, boolean recursively, List result) { final File[] children = file.listFiles(); if (children != null) { @@ -158,7 +160,7 @@ public class JpsLibraryImpl

extends JpsNamedCompositeEleme } } // todo [nik] get list of extensions mapped to Archive file type from IDE settings - else if (extension.equals("jar") || extension.equals("zip") || extension.equals("swc") || extension.equals("ane")) { + else if (AR_EXTENSIONS.contains(extension)) { result.add(JpsPathUtil.getLibraryRootUrl(child)); } } diff --git a/platform/util/src/com/intellij/util/containers/ContainerUtil.java b/platform/util/src/com/intellij/util/containers/ContainerUtil.java index 52965ca73943..03fd44e0fbea 100644 --- a/platform/util/src/com/intellij/util/containers/ContainerUtil.java +++ b/platform/util/src/com/intellij/util/containers/ContainerUtil.java @@ -193,11 +193,21 @@ public class ContainerUtil extends ContainerUtilRt { return new THashSet(); } + @NotNull + public static THashSet newTroveSet(TObjectHashingStrategy strategy) { + return new THashSet(strategy); + } + @NotNull public static THashSet newTroveSet(T... elements) { return newTroveSet(Arrays.asList(elements)); } + @NotNull + public static THashSet newTroveSet(TObjectHashingStrategy strategy, T... elements) { + return new THashSet(Arrays.asList(elements), strategy); + } + @NotNull public static THashSet newTroveSet(@NotNull Collection elements) { return new THashSet(elements);