HADOOP-11632. Cleanup Find.java to remove SupressWarnings annotations. Contributed by Akira AJISAKA.
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/afc81888 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/afc81888 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/afc81888 Branch: refs/heads/HDFS-7285 Commit: afc8188847a702d7e256b285555efa63fa47a2a8 Parents: cadfb71 Author: Tsuyoshi Ozawa <[email protected]> Authored: Wed Feb 25 16:25:04 2015 +0900 Committer: Zhe Zhang <[email protected]> Committed: Mon Mar 2 09:13:50 2015 -0800 ---------------------------------------------------------------------- hadoop-common-project/hadoop-common/CHANGES.txt | 3 ++ .../org/apache/hadoop/fs/shell/find/Find.java | 29 ++++++++++++-------- 2 files changed, 20 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/afc81888/hadoop-common-project/hadoop-common/CHANGES.txt ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt index a5a11b9..988eed0 100644 --- a/hadoop-common-project/hadoop-common/CHANGES.txt +++ b/hadoop-common-project/hadoop-common/CHANGES.txt @@ -628,6 +628,9 @@ Release 2.7.0 - UNRELEASED HADOOP-11495. Convert site documentation from apt to markdown (Masatake Iwasaki via aw) + HADOOP-11632. Cleanup Find.java to remove SupressWarnings annotations. + (Akira Ajisaka via ozawa) + OPTIMIZATIONS HADOOP-11323. WritableComparator#compare keeps reference to byte array. http://git-wip-us.apache.org/repos/asf/hadoop/blob/afc81888/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/shell/find/Find.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/shell/find/Find.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/shell/find/Find.java index 05cd818..70a8c79 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/shell/find/Find.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/shell/find/Find.java @@ -25,6 +25,7 @@ import java.util.Deque; import java.util.HashSet; import java.util.Iterator; import java.util.LinkedList; +import java.util.Set; import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.classification.InterfaceStability; @@ -63,19 +64,25 @@ public class Find extends FsCommand { private static final String OPTION_FOLLOW_ARG_LINK = "H"; /** List of expressions recognized by this command. */ - @SuppressWarnings("rawtypes") - private static final Class[] EXPRESSIONS; + private static final Set<Class<? extends Expression>> EXPRESSIONS = + new HashSet<>(); + + private static void addExpression(Class<?> clazz) { + EXPRESSIONS.add(clazz.asSubclass(Expression.class)); + } static { // Initialize the static variables. - EXPRESSIONS = new Class[] { - // Operator Expressions - And.class, - // Action Expressions - Print.class, - // Navigation Expressions - // Matcher Expressions - Name.class }; + // Operator Expressions + addExpression(And.class); + + // Action Expressions + addExpression(Print.class); + + // Navigation Expressions + // Matcher Expressions + addExpression(Name.class); + DESCRIPTION = buildDescription(ExpressionFactory.getExpressionFactory()); // Register the expressions with the expression factory. @@ -92,7 +99,6 @@ public class Find extends FsCommand { private HashSet<Path> stopPaths = new HashSet<Path>(); /** Register the expressions with the expression factory. */ - @SuppressWarnings("unchecked") private static void registerExpressions(ExpressionFactory factory) { for (Class<? extends Expression> exprClass : EXPRESSIONS) { factory.registerExpression(exprClass); @@ -100,7 +106,6 @@ public class Find extends FsCommand { } /** Build the description used by the help command. */ - @SuppressWarnings("unchecked") private static String buildDescription(ExpressionFactory factory) { ArrayList<Expression> operators = new ArrayList<Expression>(); ArrayList<Expression> primaries = new ArrayList<Expression>();
