From 10f38486880f0d89fdda2adc2ec241193af3ee5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=BE=E5=80=99?= <zenghou.fw@alibaba-inc.com> Date: Thu, 1 Feb 2018 11:38:18 +0800 Subject: [PATCH] fix https://github.com/alibaba/p3c/issues/222 --- .../pmd/lang/java/rule/oop/PojoMustOverrideToStringRule.java | 5 ++++- .../lang/java/rule/oop/xml/PojoMustOverrideToStringRule.xml | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/p3c-pmd/src/main/java/com/alibaba/p3c/pmd/lang/java/rule/oop/PojoMustOverrideToStringRule.java b/p3c-pmd/src/main/java/com/alibaba/p3c/pmd/lang/java/rule/oop/PojoMustOverrideToStringRule.java index b14e545..a8ed12c 100644 --- a/p3c-pmd/src/main/java/com/alibaba/p3c/pmd/lang/java/rule/oop/PojoMustOverrideToStringRule.java +++ b/p3c-pmd/src/main/java/com/alibaba/p3c/pmd/lang/java/rule/oop/PojoMustOverrideToStringRule.java @@ -47,11 +47,14 @@ public class PojoMustOverrideToStringRule extends AbstractPojoRule { + "[not(ancestor::Expression/ConditionalAndExpression//EqualityExpression[@Image='!=']//NullLiteral)]" + "[not(ancestor::Expression/ConditionalOrExpression//EqualityExpression[@Image='==']//NullLiteral)]"; - private static final String LOMBOK_XPATH = "../Annotation/MarkerAnnotation/Name[" + private static final String LOMBOK_NAME_XPATH = "/Name[" + "(@Image='Data' and //ImportDeclaration[@ImportedName='lombok.Data' or @ImportedName='lombok'])" + " or (@Image='ToString' and //ImportDeclaration[@ImportedName='lombok.ToString' or @ImportedName='lombok'])" + " or (@Image='lombok.Data') or (@Image='lombok.ToString')]"; + private static final String LOMBOK_XPATH = "../Annotation/MarkerAnnotation" + LOMBOK_NAME_XPATH + + "|../Annotation/NormalAnnotation" + LOMBOK_NAME_XPATH; + private static final String MESSAGE_KEY_PREFIX = "java.oop.PojoMustOverrideToStringRule.violation.msg"; @Override diff --git a/p3c-pmd/src/test/resources/com/alibaba/p3c/pmd/lang/java/rule/oop/xml/PojoMustOverrideToStringRule.xml b/p3c-pmd/src/test/resources/com/alibaba/p3c/pmd/lang/java/rule/oop/xml/PojoMustOverrideToStringRule.xml index 174c2b4..23796e2 100644 --- a/p3c-pmd/src/test/resources/com/alibaba/p3c/pmd/lang/java/rule/oop/xml/PojoMustOverrideToStringRule.xml +++ b/p3c-pmd/src/test/resources/com/alibaba/p3c/pmd/lang/java/rule/oop/xml/PojoMustOverrideToStringRule.xml @@ -121,7 +121,7 @@ <code-fragment id="lombok-pojo-4"> <![CDATA[ import lombok.*; - @ToString + @ToString(callSuper = true) public class FooDO { private String tom; }