From 988931c43d4b2437ff7e2bfca3e7e4cd30c1c44f Mon Sep 17 00:00:00 2001 From: Andreas Dangel Date: Fri, 20 Nov 2015 10:05:49 +0100 Subject: [PATCH] #1422 UselessQualifiedThis: False positive with Java 8 Function --- .../resources/rulesets/java/unnecessary.xml | 10 ++++++---- .../unnecessary/xml/UselessQualifiedThis.xml | 19 +++++++++++++++++++ src/site/markdown/overview/changelog.md | 2 ++ 3 files changed, 27 insertions(+), 4 deletions(-) diff --git a/pmd-java/src/main/resources/rulesets/java/unnecessary.xml b/pmd-java/src/main/resources/rulesets/java/unnecessary.xml index 24b68c16e2..a488c88eac 100644 --- a/pmd-java/src/main/resources/rulesets/java/unnecessary.xml +++ b/pmd-java/src/main/resources/rulesets/java/unnecessary.xml @@ -297,10 +297,12 @@ public class Foo { diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/unnecessary/xml/UselessQualifiedThis.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/unnecessary/xml/UselessQualifiedThis.xml index 3b426d7f15..c9809767d7 100644 --- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/unnecessary/xml/UselessQualifiedThis.xml +++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/unnecessary/xml/UselessQualifiedThis.xml @@ -130,4 +130,23 @@ public class Foo { + + #1422 UselessQualifiedThis: False positive with Java 8 Function + 0 + handleApiAggregateException(final ApiAggregateException e) { + return e.getCauses().stream().map( + ApiExceptionCtrlAdvice::toApiError + ).collect(Collectors.toList()); + } + private static ApiError toApiError(final Throwable e) { + return new ApiError() + .withException(e.getClass().getName()) + .withCause(Optional.ofNullable(e.getCause()).map(Throwable::getClass).map(Class::getName).orElse(EMPTY)) + .withMessage(Optional.ofNullable(e.getMessage()).orElse(EMPTY)); + } +} + ]]> + \ No newline at end of file diff --git a/src/site/markdown/overview/changelog.md b/src/site/markdown/overview/changelog.md index 0208fb45ba..779a5320c6 100644 --- a/src/site/markdown/overview/changelog.md +++ b/src/site/markdown/overview/changelog.md @@ -30,6 +30,8 @@ * [#1431](https://sourceforge.net/p/pmd/bugs/1431/): SuspiciousEqualsMethodName false positive * java-optimizations/RedundantFieldInitializer * [#1443](https://sourceforge.net/p/pmd/bugs/1443/): RedundantFieldInitializer: False positive for small floats +* java-unnecessary/UselessQualifiedThis + * [#1422](https://sourceforge.net/p/pmd/bugs/1422/): UselessQualifiedThis: False positive with Java 8 Function * java-unusedcode/UnusedPrivateField * [#1428](https://sourceforge.net/p/pmd/bugs/1428/): False positive in UnusedPrivateField when local variable hides member variable