From 5296a49ae0e83eede11f09a57d03234b3f775568 Mon Sep 17 00:00:00 2001 From: Vadim Geraskin Date: Thu, 21 Apr 2022 21:12:29 +0700 Subject: [PATCH] =?UTF-8?q?#1021=20=D0=9E=D1=88=D0=B8=D0=B1=D0=BA=D0=B0=20?= =?UTF-8?q?=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=BA=D0=B8=20md-standard-?= =?UTF-8?q?attribute-synonym-empty=20=D0=BD=D0=B0=20=D0=BF=D1=80=D0=BE?= =?UTF-8?q?=D0=B5=D0=BA=D1=82=D0=B5=20=D1=80=D0=B0=D1=81=D1=88=D0=B8=D1=80?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../check/MdListObjectPresentationCheck.java | 15 ++++++++++++- .../MdStandardAttributeSynonymEmpty.java | 22 +++++++++++++++---- 2 files changed, 32 insertions(+), 5 deletions(-) diff --git a/bundles/com.e1c.v8codestyle.md/src/com/e1c/v8codestyle/md/check/MdListObjectPresentationCheck.java b/bundles/com.e1c.v8codestyle.md/src/com/e1c/v8codestyle/md/check/MdListObjectPresentationCheck.java index 2d77fb21..40c5b235 100644 --- a/bundles/com.e1c.v8codestyle.md/src/com/e1c/v8codestyle/md/check/MdListObjectPresentationCheck.java +++ b/bundles/com.e1c.v8codestyle.md/src/com/e1c/v8codestyle/md/check/MdListObjectPresentationCheck.java @@ -24,6 +24,7 @@ import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.emf.ecore.EStructuralFeature; import com._1c.g5.v8.dt.common.StringUtils; +import com._1c.g5.v8.dt.core.platform.IExtensionProject; import com._1c.g5.v8.dt.core.platform.IV8Project; import com._1c.g5.v8.dt.core.platform.IV8ProjectManager; import com._1c.g5.v8.dt.metadata.mdclass.BasicDbObject; @@ -119,6 +120,19 @@ public class MdListObjectPresentationCheck IV8Project project = v8ProjectManager.getProject(mdObject); Language language = project.getDefaultLanguage(); + + if (language == null) + { + if (!project.getLanguages().isEmpty()) + { + language = project.getLanguages().iterator().next(); + } + else if (project instanceof IExtensionProject && ((IExtensionProject)project).getParent() != null) + { + language = ((IExtensionProject)project).getParent().getDefaultLanguage(); + } + } + if (monitor.isCanceled() || language == null) { return; @@ -148,7 +162,6 @@ public class MdListObjectPresentationCheck Messages.MdListObjectPresentationCheck_Neither_Object_presentation_nor_List_presentation_is_not_filled; resultAceptor.addIssue(message, feature); } - } } diff --git a/bundles/com.e1c.v8codestyle.md/src/com/e1c/v8codestyle/md/check/MdStandardAttributeSynonymEmpty.java b/bundles/com.e1c.v8codestyle.md/src/com/e1c/v8codestyle/md/check/MdStandardAttributeSynonymEmpty.java index bfe62c98..bcf4636f 100644 --- a/bundles/com.e1c.v8codestyle.md/src/com/e1c/v8codestyle/md/check/MdStandardAttributeSynonymEmpty.java +++ b/bundles/com.e1c.v8codestyle.md/src/com/e1c/v8codestyle/md/check/MdStandardAttributeSynonymEmpty.java @@ -30,9 +30,11 @@ import org.eclipse.emf.ecore.EStructuralFeature; import com._1c.g5.v8.bm.core.IBmObject; import com._1c.g5.v8.bm.core.event.BmSubEvent; import com._1c.g5.v8.dt.common.StringUtils; +import com._1c.g5.v8.dt.core.platform.IExtensionProject; import com._1c.g5.v8.dt.core.platform.IV8Project; import com._1c.g5.v8.dt.core.platform.IV8ProjectManager; import com._1c.g5.v8.dt.metadata.mdclass.Catalog; +import com._1c.g5.v8.dt.metadata.mdclass.Language; import com._1c.g5.v8.dt.metadata.mdclass.ObjectBelonging; import com._1c.g5.v8.dt.metadata.mdclass.StandardAttribute; import com.e1c.g5.v8.dt.check.CheckComplexity; @@ -97,21 +99,33 @@ public class MdStandardAttributeSynonymEmpty builder.topObject(CATALOG).containment(STANDARD_ATTRIBUTE).features(STANDARD_ATTRIBUTE__SYNONYM); builder.topObject(CATALOG).checkTop().features(FEATURES.toArray(new EStructuralFeature[0])); - } @Override protected void check(Object object, ResultAcceptor resultAceptor, ICheckParameters parameters, IProgressMonitor monitor) { - EObject eObject = (EObject)object; IV8Project project = v8ProjectManager.getProject(eObject); - String languageCode = project.getDefaultLanguage().getLanguageCode(); - if (monitor.isCanceled()) + Language language = project.getDefaultLanguage(); + + if (language == null) + { + if (!project.getLanguages().isEmpty()) + { + language = project.getLanguages().iterator().next(); + } + else if (project instanceof IExtensionProject && ((IExtensionProject)project).getParent() != null) + { + language = ((IExtensionProject)project).getParent().getDefaultLanguage(); + } + } + + if (monitor.isCanceled() || language == null) { return; } + String languageCode = language.getLanguageCode(); if (object instanceof StandardAttribute) {