From ad8ed3e802782a7a3fb3d21c5862673a8f695372 Mon Sep 17 00:00:00 2001 From: Tsuyoshi Ozawa Date: Wed, 25 Feb 2015 16:25:04 +0900 Subject: [PATCH] HADOOP-11632. Cleanup Find.java to remove SupressWarnings annotations. Contributed by Akira AJISAKA. --- .../hadoop-common/CHANGES.txt | 3 ++ .../org/apache/hadoop/fs/shell/find/Find.java | 29 +++++++++++-------- 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt index a5a11b98bd..988eed0648 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. 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 05cd8186a2..70a8c79a41 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.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 static void registerCommands(CommandFactory factory) { 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> 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 static void registerCommands(CommandFactory factory) { private HashSet stopPaths = new HashSet(); /** Register the expressions with the expression factory. */ - @SuppressWarnings("unchecked") private static void registerExpressions(ExpressionFactory factory) { for (Class exprClass : EXPRESSIONS) { factory.registerExpression(exprClass); @@ -100,7 +106,6 @@ private static void registerExpressions(ExpressionFactory factory) { } /** Build the description used by the help command. */ - @SuppressWarnings("unchecked") private static String buildDescription(ExpressionFactory factory) { ArrayList operators = new ArrayList(); ArrayList primaries = new ArrayList();