From e01702b901cd3ddc50331060bceb584278f34383 Mon Sep 17 00:00:00 2001 From: Vitaliy Boyko Date: Fri, 9 Apr 2021 15:39:48 +0300 Subject: [PATCH 1/4] Fixed error when plugin or observer name is not set --- .../xml/ObserverDeclarationInspection.java | 6 ++++-- .../xml/PluginDeclarationInspection.java | 14 ++++++++------ 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/com/magento/idea/magento2plugin/inspections/xml/ObserverDeclarationInspection.java b/src/com/magento/idea/magento2plugin/inspections/xml/ObserverDeclarationInspection.java index 89c02fd4a..fecb72f10 100644 --- a/src/com/magento/idea/magento2plugin/inspections/xml/ObserverDeclarationInspection.java +++ b/src/com/magento/idea/magento2plugin/inspections/xml/ObserverDeclarationInspection.java @@ -124,10 +124,12 @@ public void visitFile(final PsiFile file) { if (observerDisabledAttribute != null && observerDisabledAttribute.getValue() != null && observerDisabledAttribute.getValue().equals("true") + && !observerName.isEmpty() ) { - if (modulesWithSameObserverName.isEmpty()) { + @Nullable XmlAttributeValue valueElement = observerNameAttribute.getValueElement(); + if (modulesWithSameObserverName.isEmpty() && valueElement != null) { problemsHolder.registerProblem( - observerNameAttribute.getValueElement(), + valueElement, inspectionBundle.message( "inspection.observer.disabledObserverDoesNotExist" ), diff --git a/src/com/magento/idea/magento2plugin/inspections/xml/PluginDeclarationInspection.java b/src/com/magento/idea/magento2plugin/inspections/xml/PluginDeclarationInspection.java index 13bd807b5..715c0df1d 100644 --- a/src/com/magento/idea/magento2plugin/inspections/xml/PluginDeclarationInspection.java +++ b/src/com/magento/idea/magento2plugin/inspections/xml/PluginDeclarationInspection.java @@ -118,14 +118,16 @@ public void visitFile(final PsiFile file) { if (pluginTypeDisabledAttribute != null && pluginTypeDisabledAttribute.getValue() != null && pluginTypeDisabledAttribute.getValue().equals("true") + && !pluginTypeName.isEmpty() ) { - if (modulesWithSamePluginName.isEmpty()) { + @Nullable XmlAttributeValue valueElement = pluginTypeNameAttribute.getValueElement(); + if (modulesWithSamePluginName.isEmpty() && valueElement != null) { problemsHolder.registerProblem( - pluginTypeNameAttribute.getValueElement(), - inspectionBundle.message( - "inspection.plugin.disabledPluginDoesNotExist" - ), - errorSeverity + valueElement, + inspectionBundle.message( + "inspection.plugin.disabledPluginDoesNotExist" + ), + errorSeverity ); } else { continue; From e6afba9ce121ad8bf5c869a403733bff36188e3e Mon Sep 17 00:00:00 2001 From: Vitaliy Boyko Date: Fri, 9 Apr 2021 15:46:24 +0300 Subject: [PATCH 2/4] Static fixes --- .../inspections/xml/ObserverDeclarationInspection.java | 3 ++- .../inspections/xml/PluginDeclarationInspection.java | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/com/magento/idea/magento2plugin/inspections/xml/ObserverDeclarationInspection.java b/src/com/magento/idea/magento2plugin/inspections/xml/ObserverDeclarationInspection.java index fecb72f10..0c67923e6 100644 --- a/src/com/magento/idea/magento2plugin/inspections/xml/ObserverDeclarationInspection.java +++ b/src/com/magento/idea/magento2plugin/inspections/xml/ObserverDeclarationInspection.java @@ -126,7 +126,8 @@ public void visitFile(final PsiFile file) { && observerDisabledAttribute.getValue().equals("true") && !observerName.isEmpty() ) { - @Nullable XmlAttributeValue valueElement = observerNameAttribute.getValueElement(); + @Nullable XmlAttributeValue valueElement + = observerNameAttribute.getValueElement(); if (modulesWithSameObserverName.isEmpty() && valueElement != null) { problemsHolder.registerProblem( valueElement, diff --git a/src/com/magento/idea/magento2plugin/inspections/xml/PluginDeclarationInspection.java b/src/com/magento/idea/magento2plugin/inspections/xml/PluginDeclarationInspection.java index 715c0df1d..c8e872807 100644 --- a/src/com/magento/idea/magento2plugin/inspections/xml/PluginDeclarationInspection.java +++ b/src/com/magento/idea/magento2plugin/inspections/xml/PluginDeclarationInspection.java @@ -120,7 +120,8 @@ public void visitFile(final PsiFile file) { && pluginTypeDisabledAttribute.getValue().equals("true") && !pluginTypeName.isEmpty() ) { - @Nullable XmlAttributeValue valueElement = pluginTypeNameAttribute.getValueElement(); + @Nullable XmlAttributeValue valueElement + = pluginTypeNameAttribute.getValueElement(); if (modulesWithSamePluginName.isEmpty() && valueElement != null) { problemsHolder.registerProblem( valueElement, From e8290825be5af1a3cf92eda06e9e025dcdd98df0 Mon Sep 17 00:00:00 2001 From: Vitaliy Boyko Date: Fri, 9 Apr 2021 15:49:07 +0300 Subject: [PATCH 3/4] PMD fix --- .../inspections/xml/ObserverDeclarationInspection.java | 2 +- .../inspections/xml/PluginDeclarationInspection.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/com/magento/idea/magento2plugin/inspections/xml/ObserverDeclarationInspection.java b/src/com/magento/idea/magento2plugin/inspections/xml/ObserverDeclarationInspection.java index 0c67923e6..dd097785d 100644 --- a/src/com/magento/idea/magento2plugin/inspections/xml/ObserverDeclarationInspection.java +++ b/src/com/magento/idea/magento2plugin/inspections/xml/ObserverDeclarationInspection.java @@ -126,7 +126,7 @@ public void visitFile(final PsiFile file) { && observerDisabledAttribute.getValue().equals("true") && !observerName.isEmpty() ) { - @Nullable XmlAttributeValue valueElement + @Nullable final XmlAttributeValue valueElement = observerNameAttribute.getValueElement(); if (modulesWithSameObserverName.isEmpty() && valueElement != null) { problemsHolder.registerProblem( diff --git a/src/com/magento/idea/magento2plugin/inspections/xml/PluginDeclarationInspection.java b/src/com/magento/idea/magento2plugin/inspections/xml/PluginDeclarationInspection.java index c8e872807..ff80eacd1 100644 --- a/src/com/magento/idea/magento2plugin/inspections/xml/PluginDeclarationInspection.java +++ b/src/com/magento/idea/magento2plugin/inspections/xml/PluginDeclarationInspection.java @@ -120,7 +120,7 @@ public void visitFile(final PsiFile file) { && pluginTypeDisabledAttribute.getValue().equals("true") && !pluginTypeName.isEmpty() ) { - @Nullable XmlAttributeValue valueElement + @Nullable final XmlAttributeValue valueElement = pluginTypeNameAttribute.getValueElement(); if (modulesWithSamePluginName.isEmpty() && valueElement != null) { problemsHolder.registerProblem( From 0834895bd43a46da789a44ab4a4a879ee8c55520 Mon Sep 17 00:00:00 2001 From: Vitaliy Boyko Date: Fri, 9 Apr 2021 16:39:30 +0300 Subject: [PATCH 4/4] Covered case with no = specified --- .../inspections/xml/ObserverDeclarationInspection.java | 4 ++++ .../inspections/xml/PluginDeclarationInspection.java | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/src/com/magento/idea/magento2plugin/inspections/xml/ObserverDeclarationInspection.java b/src/com/magento/idea/magento2plugin/inspections/xml/ObserverDeclarationInspection.java index dd097785d..71e5dc2ee 100644 --- a/src/com/magento/idea/magento2plugin/inspections/xml/ObserverDeclarationInspection.java +++ b/src/com/magento/idea/magento2plugin/inspections/xml/ObserverDeclarationInspection.java @@ -100,6 +100,10 @@ public void visitFile(final PsiFile file) { } final String observerName = observerNameAttribute.getValue(); + if (observerName == null) { + continue; + } + final String observerKey = eventNameAttributeValue.concat("_") .concat(observerName); if (targetObserversHash.containsKey(observerKey)) { diff --git a/src/com/magento/idea/magento2plugin/inspections/xml/PluginDeclarationInspection.java b/src/com/magento/idea/magento2plugin/inspections/xml/PluginDeclarationInspection.java index ff80eacd1..33a325c15 100644 --- a/src/com/magento/idea/magento2plugin/inspections/xml/PluginDeclarationInspection.java +++ b/src/com/magento/idea/magento2plugin/inspections/xml/PluginDeclarationInspection.java @@ -93,6 +93,10 @@ public void visitFile(final PsiFile file) { } final String pluginTypeName = pluginTypeNameAttribute.getValue(); + if (pluginTypeName == null) { + continue; + } + final String pluginTypeKey = pluginNameAttributeValue.concat( Package.vendorModuleNameSeparator ).concat(pluginTypeName);