diff --git a/config/findbugs-exclude.xml b/config/findbugs-exclude.xml index 195cfd60fe81..d9407e51e048 100644 --- a/config/findbugs-exclude.xml +++ b/config/findbugs-exclude.xml @@ -105,4 +105,11 @@ + + + + + + diff --git a/config/import-control.xml b/config/import-control.xml index a07897eafe1f..6e23a2ba3c41 100644 --- a/config/import-control.xml +++ b/config/import-control.xml @@ -73,10 +73,8 @@ - - @@ -91,33 +89,22 @@ - - - - - - - - - - - @@ -135,7 +122,6 @@ - @@ -146,7 +132,6 @@ - diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/FinalParametersCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/FinalParametersCheck.java index 9048686472e1..7b0f645f837f 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/FinalParametersCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/FinalParametersCheck.java @@ -19,9 +19,11 @@ package com.puppycrawl.tools.checkstyle.checks; +import java.util.Collections; import java.util.Set; +import java.util.stream.Collectors; +import java.util.stream.Stream; -import com.google.common.collect.ImmutableSet; import com.puppycrawl.tools.checkstyle.api.AbstractCheck; import com.puppycrawl.tools.checkstyle.api.DetailAST; import com.puppycrawl.tools.checkstyle.api.TokenTypes; @@ -65,7 +67,8 @@ public class FinalParametersCheck extends AbstractCheck { * * primitive datatypes. */ - private final Set primitiveDataTypes = ImmutableSet.of( + private final Set primitiveDataTypes = Collections.unmodifiableSet( + Stream.of( TokenTypes.LITERAL_BYTE, TokenTypes.LITERAL_SHORT, TokenTypes.LITERAL_INT, @@ -73,7 +76,8 @@ public class FinalParametersCheck extends AbstractCheck { TokenTypes.LITERAL_FLOAT, TokenTypes.LITERAL_DOUBLE, TokenTypes.LITERAL_BOOLEAN, - TokenTypes.LITERAL_CHAR); + TokenTypes.LITERAL_CHAR) + .collect(Collectors.toSet())); /** * Option to ignore primitive types as params. diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/SuppressWarningsHolder.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/SuppressWarningsHolder.java index 4647c4ef9947..ee08b433006b 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/SuppressWarningsHolder.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/SuppressWarningsHolder.java @@ -19,6 +19,7 @@ package com.puppycrawl.tools.checkstyle.checks; +import java.util.Collections; import java.util.HashMap; import java.util.LinkedList; import java.util.List; @@ -27,7 +28,6 @@ import org.apache.commons.beanutils.ConversionException; -import com.google.common.collect.ImmutableList; import com.puppycrawl.tools.checkstyle.api.AbstractCheck; import com.puppycrawl.tools.checkstyle.api.AuditEvent; import com.puppycrawl.tools.checkstyle.api.DetailAST; @@ -460,7 +460,7 @@ private static String getStringExpr(DetailAST ast) { private static List getAnnotationValues(DetailAST ast) { switch (ast.getType()) { case TokenTypes.EXPR: - return ImmutableList.of(getStringExpr(ast)); + return Collections.singletonList(getStringExpr(ast)); case TokenTypes.ANNOTATION_ARRAY_INIT: return findAllExpressionsInChildren(ast); diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/RequireThisCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/RequireThisCheck.java index 27d8d9fb64be..fea7d96065fa 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/RequireThisCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/coding/RequireThisCheck.java @@ -20,6 +20,7 @@ package com.puppycrawl.tools.checkstyle.checks.coding; import java.util.ArrayDeque; +import java.util.Collections; import java.util.Deque; import java.util.HashMap; import java.util.HashSet; @@ -27,8 +28,9 @@ import java.util.Map; import java.util.Queue; import java.util.Set; +import java.util.stream.Collectors; +import java.util.stream.Stream; -import com.google.common.collect.ImmutableSet; import com.puppycrawl.tools.checkstyle.api.AbstractCheck; import com.puppycrawl.tools.checkstyle.api.DetailAST; import com.puppycrawl.tools.checkstyle.api.TokenTypes; @@ -101,7 +103,7 @@ public class RequireThisCheck extends AbstractCheck { public static final String MSG_VARIABLE = "require.this.variable"; /** Set of all declaration tokens. */ - private static final ImmutableSet DECLARATION_TOKENS = ImmutableSet.of( + private static final Set DECLARATION_TOKENS = Collections.unmodifiableSet(Stream.of( TokenTypes.VARIABLE_DEF, TokenTypes.CTOR_DEF, TokenTypes.METHOD_DEF, @@ -110,9 +112,9 @@ public class RequireThisCheck extends AbstractCheck { TokenTypes.INTERFACE_DEF, TokenTypes.PARAMETER_DEF, TokenTypes.TYPE_ARGUMENT - ); + ).collect(Collectors.toSet())); /** Set of all assign tokens. */ - private static final ImmutableSet ASSIGN_TOKENS = ImmutableSet.of( + private static final Set ASSIGN_TOKENS = Collections.unmodifiableSet(Stream.of( TokenTypes.ASSIGN, TokenTypes.PLUS_ASSIGN, TokenTypes.STAR_ASSIGN, @@ -123,19 +125,20 @@ public class RequireThisCheck extends AbstractCheck { TokenTypes.SL_ASSIGN, TokenTypes.BAND_ASSIGN, TokenTypes.BXOR_ASSIGN - ); + ).collect(Collectors.toSet())); /** Set of all compound assign tokens. */ - private static final ImmutableSet COMPOUND_ASSIGN_TOKENS = ImmutableSet.of( - TokenTypes.PLUS_ASSIGN, - TokenTypes.STAR_ASSIGN, - TokenTypes.DIV_ASSIGN, - TokenTypes.MOD_ASSIGN, - TokenTypes.SR_ASSIGN, - TokenTypes.BSR_ASSIGN, - TokenTypes.SL_ASSIGN, - TokenTypes.BAND_ASSIGN, - TokenTypes.BXOR_ASSIGN - ); + private static final Set COMPOUND_ASSIGN_TOKENS = Collections.unmodifiableSet( + Stream.of( + TokenTypes.PLUS_ASSIGN, + TokenTypes.STAR_ASSIGN, + TokenTypes.DIV_ASSIGN, + TokenTypes.MOD_ASSIGN, + TokenTypes.SR_ASSIGN, + TokenTypes.BSR_ASSIGN, + TokenTypes.SL_ASSIGN, + TokenTypes.BAND_ASSIGN, + TokenTypes.BXOR_ASSIGN + ).collect(Collectors.toSet())); /** Tree of all the parsed frames. */ private Map frames; diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/design/VisibilityModifierCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/design/VisibilityModifierCheck.java index 91f8784e6b6f..1fcc26844b10 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/design/VisibilityModifierCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/design/VisibilityModifierCheck.java @@ -21,13 +21,15 @@ import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; import java.util.regex.Pattern; +import java.util.stream.Collectors; +import java.util.stream.Stream; import antlr.collections.AST; -import com.google.common.collect.ImmutableList; import com.puppycrawl.tools.checkstyle.api.AbstractCheck; import com.puppycrawl.tools.checkstyle.api.DetailAST; import com.puppycrawl.tools.checkstyle.api.FullIdent; @@ -246,35 +248,37 @@ public class VisibilityModifierCheck public static final String MSG_KEY = "variable.notPrivate"; /** Default immutable types canonical names. */ - private static final List DEFAULT_IMMUTABLE_TYPES = ImmutableList.of( - "java.lang.String", - "java.lang.Integer", - "java.lang.Byte", - "java.lang.Character", - "java.lang.Short", - "java.lang.Boolean", - "java.lang.Long", - "java.lang.Double", - "java.lang.Float", - "java.lang.StackTraceElement", - "java.math.BigInteger", - "java.math.BigDecimal", - "java.io.File", - "java.util.Locale", - "java.util.UUID", - "java.net.URL", - "java.net.URI", - "java.net.Inet4Address", - "java.net.Inet6Address", - "java.net.InetSocketAddress" - ); + private static final List DEFAULT_IMMUTABLE_TYPES = Collections.unmodifiableList( + Stream.of( + "java.lang.String", + "java.lang.Integer", + "java.lang.Byte", + "java.lang.Character", + "java.lang.Short", + "java.lang.Boolean", + "java.lang.Long", + "java.lang.Double", + "java.lang.Float", + "java.lang.StackTraceElement", + "java.math.BigInteger", + "java.math.BigDecimal", + "java.io.File", + "java.util.Locale", + "java.util.UUID", + "java.net.URL", + "java.net.URI", + "java.net.Inet4Address", + "java.net.Inet6Address", + "java.net.InetSocketAddress" + ).collect(Collectors.toList())); /** Default ignore annotations canonical names. */ - private static final List DEFAULT_IGNORE_ANNOTATIONS = ImmutableList.of( - "org.junit.Rule", - "org.junit.ClassRule", - "com.google.common.annotations.VisibleForTesting" - ); + private static final List DEFAULT_IGNORE_ANNOTATIONS = Collections.unmodifiableList( + Stream.of( + "org.junit.Rule", + "org.junit.ClassRule", + "com.google.common.annotations.VisibleForTesting" + ).collect(Collectors.toList())); /** Name for 'public' access modifier. */ private static final String PUBLIC_ACCESS_MODIFIER = "public"; diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/header/AbstractHeaderCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/header/AbstractHeaderCheck.java index 81297124a584..8763c32e43b2 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/header/AbstractHeaderCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/header/AbstractHeaderCheck.java @@ -29,14 +29,13 @@ import java.net.URI; import java.nio.charset.Charset; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.Set; import java.util.regex.Pattern; import org.apache.commons.beanutils.ConversionException; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableSet; import com.google.common.io.Closeables; import com.puppycrawl.tools.checkstyle.api.AbstractFileSetCheck; import com.puppycrawl.tools.checkstyle.api.CheckstyleException; @@ -72,8 +71,9 @@ public abstract class AbstractHeaderCheck extends AbstractFileSetCheck * Return the header lines to check against. * @return the header lines to check against. */ - protected ImmutableList getHeaderLines() { - return ImmutableList.copyOf(readerLines); + protected List getHeaderLines() { + final List copy = new ArrayList<>(readerLines); + return Collections.unmodifiableList(copy); } /** @@ -194,6 +194,6 @@ protected final void finishLocalSetup() throws CheckstyleException { @Override public Set getExternalResourceLocations() { - return ImmutableSet.of(headerFile); + return Collections.singleton(headerFile); } } diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/imports/ImportControlCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/imports/ImportControlCheck.java index 30e5c42b1407..19bb5918d496 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/imports/ImportControlCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/imports/ImportControlCheck.java @@ -21,11 +21,11 @@ import java.io.File; import java.net.URI; +import java.util.Collections; import java.util.Set; import org.apache.commons.beanutils.ConversionException; -import com.google.common.collect.ImmutableSet; import com.puppycrawl.tools.checkstyle.api.AbstractCheck; import com.puppycrawl.tools.checkstyle.api.CheckstyleException; import com.puppycrawl.tools.checkstyle.api.DetailAST; @@ -143,7 +143,7 @@ else if (currentLeaf != null) { @Override public Set getExternalResourceLocations() { - return ImmutableSet.of(fileLocation); + return Collections.singleton(fileLocation); } /** diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocStyleCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocStyleCheck.java index e0f5d5d89fdf..f7bde8d48577 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocStyleCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocStyleCheck.java @@ -20,13 +20,16 @@ package com.puppycrawl.tools.checkstyle.checks.javadoc; import java.util.ArrayDeque; +import java.util.Collections; import java.util.Deque; import java.util.List; import java.util.Locale; import java.util.Set; +import java.util.TreeSet; import java.util.regex.Pattern; +import java.util.stream.Collectors; +import java.util.stream.Stream; -import com.google.common.collect.ImmutableSortedSet; import com.puppycrawl.tools.checkstyle.api.AbstractCheck; import com.puppycrawl.tools.checkstyle.api.DetailAST; import com.puppycrawl.tools.checkstyle.api.FileContents; @@ -66,21 +69,23 @@ public class JavadocStyleCheck public static final String MSG_EXTRA_HTML = "javadoc.extraHtml"; /** HTML tags that do not require a close tag. */ - private static final Set SINGLE_TAGS = ImmutableSortedSet.of( - "br", "li", "dt", "dd", "hr", "img", "p", "td", "tr", "th"); + private static final Set SINGLE_TAGS = Collections.unmodifiableSortedSet(Stream.of( + "br", "li", "dt", "dd", "hr", "img", "p", "td", "tr", "th") + .collect(Collectors.toCollection(TreeSet::new))); /** HTML tags that are allowed in java docs. * From http://www.w3schools.com/tags/default.asp * The forms and structure tags are not allowed */ - private static final Set ALLOWED_TAGS = ImmutableSortedSet.of( - "a", "abbr", "acronym", "address", "area", "b", "bdo", "big", - "blockquote", "br", "caption", "cite", "code", "colgroup", "dd", - "del", "div", "dfn", "dl", "dt", "em", "fieldset", "font", "h1", - "h2", "h3", "h4", "h5", "h6", "hr", "i", "img", "ins", "kbd", - "li", "ol", "p", "pre", "q", "samp", "small", "span", "strong", - "style", "sub", "sup", "table", "tbody", "td", "tfoot", "th", - "thead", "tr", "tt", "u", "ul", "var"); + private static final Set ALLOWED_TAGS = Collections.unmodifiableSortedSet(Stream.of( + "a", "abbr", "acronym", "address", "area", "b", "bdo", "big", + "blockquote", "br", "caption", "cite", "code", "colgroup", "dd", + "del", "div", "dfn", "dl", "dt", "em", "fieldset", "font", "h1", + "h2", "h3", "h4", "h5", "h6", "hr", "i", "img", "ins", "kbd", + "li", "ol", "p", "pre", "q", "samp", "small", "span", "strong", + "style", "sub", "sup", "table", "tbody", "td", "tfoot", "th", + "thead", "tr", "tt", "u", "ul", "var") + .collect(Collectors.toCollection(TreeSet::new))); /** The scope to check. */ private Scope scope = Scope.PRIVATE; diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocTagInfo.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocTagInfo.java index 8d4e46ba3775..69d4eed4746c 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocTagInfo.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocTagInfo.java @@ -20,9 +20,10 @@ package com.puppycrawl.tools.checkstyle.checks.javadoc; import java.util.Arrays; +import java.util.Collections; import java.util.Map; +import java.util.stream.Collectors; -import com.google.common.collect.ImmutableMap; import com.puppycrawl.tools.checkstyle.api.DetailAST; import com.puppycrawl.tools.checkstyle.api.Scope; import com.puppycrawl.tools.checkstyle.api.TokenTypes; @@ -350,19 +351,10 @@ public boolean isValidOn(final DetailAST ast) { private static final Map NAME_TO_TAG; static { - final ImmutableMap.Builder textToTagBuilder = - new ImmutableMap.Builder<>(); - - final ImmutableMap.Builder nameToTagBuilder = - new ImmutableMap.Builder<>(); - - for (final JavadocTagInfo tag : JavadocTagInfo.values()) { - textToTagBuilder.put(tag.text, tag); - nameToTagBuilder.put(tag.name, tag); - } - - TEXT_TO_TAG = textToTagBuilder.build(); - NAME_TO_TAG = nameToTagBuilder.build(); + TEXT_TO_TAG = Collections.unmodifiableMap(Arrays.stream(JavadocTagInfo.values()) + .collect(Collectors.toMap(JavadocTagInfo::getText, tag -> tag))); + NAME_TO_TAG = Collections.unmodifiableMap(Arrays.stream(JavadocTagInfo.values()) + .collect(Collectors.toMap(JavadocTagInfo::getName, name -> name))); //Arrays sorting for binary search Arrays.sort(DEF_TOKEN_TYPES); diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocTags.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocTags.java index 3de1b266d2bc..315eb8ea3a0d 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocTags.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/javadoc/JavadocTags.java @@ -19,11 +19,10 @@ package com.puppycrawl.tools.checkstyle.checks.javadoc; +import java.util.ArrayList; import java.util.Collections; import java.util.List; -import com.google.common.collect.ImmutableList; - /** * Value object for combining the list of valid validTags with information * about invalid validTags encountered in a certain Javadoc comment. @@ -40,10 +39,11 @@ public final class JavadocTags { * @param tags the list of valid tags * @param invalidTags the list of invalid tags */ - public JavadocTags(List tags, - List invalidTags) { - validTags = ImmutableList.copyOf(tags); - this.invalidTags = ImmutableList.copyOf(invalidTags); + public JavadocTags(List tags, List invalidTags) { + final List validTagsCopy = new ArrayList<>(tags); + validTags = Collections.unmodifiableList(validTagsCopy); + final List invalidTagsCopy = new ArrayList<>(invalidTags); + this.invalidTags = Collections.unmodifiableList(invalidTagsCopy); } /** diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/checks/metrics/AbstractClassCouplingCheck.java b/src/main/java/com/puppycrawl/tools/checkstyle/checks/metrics/AbstractClassCouplingCheck.java index 56b0997888ac..d43c3075373e 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/checks/metrics/AbstractClassCouplingCheck.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/checks/metrics/AbstractClassCouplingCheck.java @@ -20,11 +20,14 @@ package com.puppycrawl.tools.checkstyle.checks.metrics; import java.util.ArrayDeque; +import java.util.Arrays; +import java.util.Collections; import java.util.Deque; import java.util.Set; import java.util.TreeSet; +import java.util.stream.Collectors; +import java.util.stream.Stream; -import com.google.common.collect.ImmutableSet; import com.puppycrawl.tools.checkstyle.api.AbstractCheck; import com.puppycrawl.tools.checkstyle.api.DetailAST; import com.puppycrawl.tools.checkstyle.api.FullIdent; @@ -39,28 +42,28 @@ */ public abstract class AbstractClassCouplingCheck extends AbstractCheck { /** Class names to ignore. */ - private static final Set DEFAULT_EXCLUDED_CLASSES = - ImmutableSet.builder() - // primitives - .add("boolean", "byte", "char", "double", "float", "int") - .add("long", "short", "void") - // wrappers - .add("Boolean", "Byte", "Character", "Double", "Float") - .add("Integer", "Long", "Short", "Void") - // java.lang.* - .add("Object", "Class") - .add("String", "StringBuffer", "StringBuilder") - // Exceptions - .add("ArrayIndexOutOfBoundsException", "Exception") - .add("RuntimeException", "IllegalArgumentException") - .add("IllegalStateException", "IndexOutOfBoundsException") - .add("NullPointerException", "Throwable", "SecurityException") - .add("UnsupportedOperationException") - // java.util.* - .add("List", "ArrayList", "Deque", "Queue", "LinkedList") - .add("Set", "HashSet", "SortedSet", "TreeSet") - .add("Map", "HashMap", "SortedMap", "TreeMap") - .build(); + private static final Set DEFAULT_EXCLUDED_CLASSES = Collections.unmodifiableSet( + Stream.of( + // primitives + "boolean", "byte", "char", "double", "float", "int", + "long", "short", "void", + // wrappers + "Boolean", "Byte", "Character", "Double", "Float", + "Integer", "Long", "Short", "Void", + // java.lang.* + "Object", "Class", + "String", "StringBuffer", "StringBuilder", + // Exceptions + "ArrayIndexOutOfBoundsException", "Exception", + "RuntimeException", "IllegalArgumentException", + "IllegalStateException", "IndexOutOfBoundsException", + "NullPointerException", "Throwable", "SecurityException", + "UnsupportedOperationException", + // java.util.* + "List", "ArrayList", "Deque", "Queue", "LinkedList", + "Set", "HashSet", "SortedSet", "TreeSet", + "Map", "HashMap", "SortedMap", "TreeMap" + ).collect(Collectors.toSet())); /** Stack of contexts. */ private final Deque contextStack = new ArrayDeque<>(); @@ -113,7 +116,8 @@ public final void setMax(int max) { * @param excludedClasses the list of classes to ignore. */ public final void setExcludedClasses(String... excludedClasses) { - this.excludedClasses = ImmutableSet.copyOf(excludedClasses); + this.excludedClasses = + Collections.unmodifiableSet(Arrays.stream(excludedClasses).collect(Collectors.toSet())); } @Override diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/filters/SuppressionFilter.java b/src/main/java/com/puppycrawl/tools/checkstyle/filters/SuppressionFilter.java index f960f6f55ef0..e2e26d8440a1 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/filters/SuppressionFilter.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/filters/SuppressionFilter.java @@ -23,10 +23,10 @@ import java.io.InputStream; import java.net.URI; import java.net.URL; +import java.util.Collections; import java.util.Objects; import java.util.Set; -import com.google.common.collect.ImmutableSet; import com.puppycrawl.tools.checkstyle.api.AuditEvent; import com.puppycrawl.tools.checkstyle.api.AutomaticBean; import com.puppycrawl.tools.checkstyle.api.CheckstyleException; @@ -109,7 +109,7 @@ protected void finishLocalSetup() throws CheckstyleException { @Override public Set getExternalResourceLocations() { - return ImmutableSet.of(file); + return Collections.singleton(file); } /** diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/gui/CodeSelectorPModel.java b/src/main/java/com/puppycrawl/tools/checkstyle/gui/CodeSelectorPModel.java index e4ce6afe2ba6..c5a942449187 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/gui/CodeSelectorPModel.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/gui/CodeSelectorPModel.java @@ -19,9 +19,10 @@ package com.puppycrawl.tools.checkstyle.gui; +import java.util.ArrayList; +import java.util.Collections; import java.util.List; -import com.google.common.collect.ImmutableList; import com.puppycrawl.tools.checkstyle.api.DetailAST; import com.puppycrawl.tools.checkstyle.utils.TokenUtils; @@ -46,7 +47,8 @@ public class CodeSelectorPModel { */ public CodeSelectorPModel(DetailAST ast, List lines2position) { this.ast = ast; - this.lines2position = ImmutableList.copyOf(lines2position); + final List copy = new ArrayList<>(lines2position); + this.lines2position = Collections.unmodifiableList(copy); } /** diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/gui/JTreeTable.java b/src/main/java/com/puppycrawl/tools/checkstyle/gui/JTreeTable.java index fa8f9128e316..0e81fed0b1ef 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/gui/JTreeTable.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/gui/JTreeTable.java @@ -25,6 +25,8 @@ import java.awt.event.ActionEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; +import java.util.ArrayList; +import java.util.Collections; import java.util.EventObject; import java.util.List; @@ -38,8 +40,6 @@ import javax.swing.table.TableCellEditor; import javax.swing.tree.TreePath; -import com.google.common.collect.ImmutableList; - /** * This example shows how to create a simple JTreeTable component, * by using a JTree as a renderer (and editor) for the cells in a @@ -237,7 +237,8 @@ public void setEditor(JTextArea textArea) { * @param linePositionMap Line position map. */ public void setLinePositionMap(List linePositionMap) { - this.linePositionMap = ImmutableList.copyOf(linePositionMap); + final List copy = new ArrayList<>(linePositionMap); + this.linePositionMap = Collections.unmodifiableList(copy); } /** diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/gui/MainFrameModel.java b/src/main/java/com/puppycrawl/tools/checkstyle/gui/MainFrameModel.java index fcc41d3d7ef7..fef4cd1279fe 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/gui/MainFrameModel.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/gui/MainFrameModel.java @@ -22,12 +22,11 @@ import java.io.File; import java.io.IOException; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.Locale; import antlr.ANTLRException; - -import com.google.common.collect.ImmutableList; import com.puppycrawl.tools.checkstyle.TreeWalker; import com.puppycrawl.tools.checkstyle.api.CheckstyleException; import com.puppycrawl.tools.checkstyle.api.DetailAST; @@ -174,7 +173,8 @@ public File getCurrentFile() { * @return lines to position map. */ public List getLinesToPosition() { - return ImmutableList.copyOf(linesToPosition); + final List copy = new ArrayList<>(linesToPosition); + return Collections.unmodifiableList(copy); } /** diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/internal/XDocsPagesTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/internal/XDocsPagesTest.java index 2af998d6875b..789506a5c839 100644 --- a/src/test/java/com/puppycrawl/tools/checkstyle/internal/XDocsPagesTest.java +++ b/src/test/java/com/puppycrawl/tools/checkstyle/internal/XDocsPagesTest.java @@ -31,6 +31,7 @@ import java.nio.file.Paths; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; import java.util.HashSet; import java.util.Iterator; import java.util.List; @@ -50,7 +51,6 @@ import org.w3c.dom.NodeList; import org.xml.sax.InputSource; -import com.google.common.collect.ImmutableSet; import com.puppycrawl.tools.checkstyle.Checker; import com.puppycrawl.tools.checkstyle.ConfigurationLoader; import com.puppycrawl.tools.checkstyle.ModuleFactory; @@ -118,10 +118,10 @@ public class XDocsPagesTest { "SuppressionCommentFilter.fileContents" ); - private static final Set SUN_CHECKS = ImmutableSet.copyOf(CheckUtil - .getConfigSunStyleChecks()); - private static final Set GOOGLE_CHECKS = ImmutableSet.copyOf(CheckUtil - .getConfigGoogleStyleChecks()); + private static final Set SUN_CHECKS = Collections.unmodifiableSet( + new HashSet<>(CheckUtil.getConfigSunStyleChecks())); + private static final Set GOOGLE_CHECKS = Collections.unmodifiableSet( + new HashSet<>(CheckUtil.getConfigGoogleStyleChecks())); @Test public void testAllChecksPresentOnAvailableChecksPage() throws IOException {