diff --git a/.gitignore b/.gitignore
index 47f8c6961..821bd1112 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,4 +11,6 @@ target/
*/reports
#Mac-specific directory that no other operating system needs.
.DS_Store
-.m2/
\ No newline at end of file
+.m2/
+
+org.sonarlint.eclipse.core.prefs
diff --git a/CHANGELOG.md b/CHANGELOG.md
index d93ce1452..de644ca68 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,7 @@
## 0.7.0
+Выпуск бета-версии для 1C:EDT 2023.3
### Новые проверки
@@ -20,6 +21,7 @@
- Проверка на уникальность имени поля в doc-comment-field-name #1392
- Проверка модификации ключей структуры вне функции-конструктора #1054
+- По умолчанию проверка "Код не должен следовать за асинхронным вызовом" (code-after-async-call) выключена. См. обсуждение в https://github.com/1C-Company/v8-code-style/pull/1408
#### Запросы
diff --git a/bundles/com.e1c.v8codestyle.bsl.ui/META-INF/MANIFEST.MF b/bundles/com.e1c.v8codestyle.bsl.ui/META-INF/MANIFEST.MF
index d15137eb6..a1af8b34b 100644
--- a/bundles/com.e1c.v8codestyle.bsl.ui/META-INF/MANIFEST.MF
+++ b/bundles/com.e1c.v8codestyle.bsl.ui/META-INF/MANIFEST.MF
@@ -24,10 +24,13 @@ Import-Package: com._1c.g5.ides.ui.texteditor.xtext.embedded;version="[6.0.0,7.0
com._1c.g5.v8.dt.bsl.documentation.comment;version="[4.0.0,5.0.0)",
com._1c.g5.v8.dt.bsl.formatting;version="[3.0.0,4.0.0)",
com._1c.g5.v8.dt.bsl.model;version="[5.0.0,6.0.0)",
+ com._1c.g5.v8.dt.bsl.model.util;version="[4.7.0,5.0.0)",
+ com._1c.g5.v8.dt.bsl.resource.owner;version="[2.0.0,3.0.0)",
com._1c.g5.v8.dt.bsl.services;version="[7.0.0,8.0.0)",
com._1c.g5.v8.dt.bsl.ui;version="[9.0.0,10.0.0)",
com._1c.g5.v8.dt.bsl.ui.contentassist;version="[8.0.0,9.0.0)",
com._1c.g5.v8.dt.bsl.ui.editor;version="[9.0.0,10.0.0)",
+ com._1c.g5.v8.dt.bsl.ui.event;version="[5.0.0,6.0.0)",
com._1c.g5.v8.dt.bsl.ui.menu;version="[6.0.0,7.0.0)",
com._1c.g5.v8.dt.bsl.ui.quickfix;version="[4.1.0,5.0.0)",
com._1c.g5.v8.dt.bsl.util;version="[8.0.0,9.0.0)",
@@ -35,6 +38,7 @@ Import-Package: com._1c.g5.ides.ui.texteditor.xtext.embedded;version="[6.0.0,7.0
com._1c.g5.v8.dt.core.filesystem;version="[6.0.0,7.0.0)",
com._1c.g5.v8.dt.core.model;version="[6.0.0,7.0.0)",
com._1c.g5.v8.dt.core.platform;version="[11.0.0,12.0.0)",
+ com._1c.g5.v8.dt.form.model;version="[11.1.0,12.0.0)",
com._1c.g5.v8.dt.lcore.nodemodel.util;version="[1.0.0,2.0.0)",
com._1c.g5.v8.dt.lcore.ui.texteditor;version="[1.1.0,2.0.0)",
com._1c.g5.v8.dt.mcore;version="[7.0.0,8.0.0)",
diff --git a/bundles/com.e1c.v8codestyle.bsl.ui/plugin.xml b/bundles/com.e1c.v8codestyle.bsl.ui/plugin.xml
index e786d215d..8e325cfdf 100644
--- a/bundles/com.e1c.v8codestyle.bsl.ui/plugin.xml
+++ b/bundles/com.e1c.v8codestyle.bsl.ui/plugin.xml
@@ -390,5 +390,11 @@
class="com.e1c.v8codestyle.internal.bsl.ui.ExecutableExtensionFactory:com.e1c.v8codestyle.bsl.ui.qfix.ServerExecutionSafeModeFix">
+
+
+
+
diff --git a/bundles/com.e1c.v8codestyle.bsl.ui/src/com/e1c/v8codestyle/bsl/ui/qfix/OpenBslDocCommentViewFix.java b/bundles/com.e1c.v8codestyle.bsl.ui/src/com/e1c/v8codestyle/bsl/ui/qfix/OpenBslDocCommentViewFix.java
index f64cedb04..97fc2cb83 100644
--- a/bundles/com.e1c.v8codestyle.bsl.ui/src/com/e1c/v8codestyle/bsl/ui/qfix/OpenBslDocCommentViewFix.java
+++ b/bundles/com.e1c.v8codestyle.bsl.ui/src/com/e1c/v8codestyle/bsl/ui/qfix/OpenBslDocCommentViewFix.java
@@ -81,9 +81,6 @@ protected void configureFix(FixConfigurer configurer)
@Override
protected TextEdit fixIssue(XtextResource state, IXtextBslModuleFixModel model) throws BadLocationException
{
- IXtextInteractiveBslModuleFixModel interactiveModel = (IXtextInteractiveBslModuleFixModel)model;
-
- Integer offset = model.getIssue().getOffset() + 1;
Display display = PlatformUI.getWorkbench().getDisplay();
if (display.isDisposed())
{
@@ -101,13 +98,18 @@ protected TextEdit fixIssue(XtextResource state, IXtextBslModuleFixModel model)
}
});
+ IXtextInteractiveBslModuleFixModel interactiveModel = (IXtextInteractiveBslModuleFixModel)model;
+ Integer offset = model.getIssue().getOffset() + 1;
ITextViewer viewer = BslQuickFixUtil.getTextViewer(interactiveModel.getModificationContext());
if (viewer != null && !display.isDisposed())
{
display.asyncExec(() -> {
- viewer.revealRange(offset, 1);
- viewer.getTextWidget().setFocus();
- viewer.setSelectedRange(offset, 1);
+ if (viewer.getDocument() != null)
+ {
+ viewer.revealRange(offset, 1);
+ viewer.getTextWidget().setFocus();
+ viewer.setSelectedRange(offset, 1);
+ }
});
}
return null;
diff --git a/bundles/com.e1c.v8codestyle.bsl.ui/src/com/e1c/v8codestyle/internal/bsl/ui/services/BslModuleOffsets.java b/bundles/com.e1c.v8codestyle.bsl.ui/src/com/e1c/v8codestyle/internal/bsl/ui/services/BslModuleOffsets.java
new file mode 100644
index 000000000..aa358cf94
--- /dev/null
+++ b/bundles/com.e1c.v8codestyle.bsl.ui/src/com/e1c/v8codestyle/internal/bsl/ui/services/BslModuleOffsets.java
@@ -0,0 +1,156 @@
+/*******************************************************************************
+ * Copyright (C) 2023, 1C-Soft LLC and others.
+ *
+ * This program and the accompanying materials are made
+ * available under the terms of the Eclipse Public License 2.0
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * 1C-Soft LLC - initial API and implementation
+ *******************************************************************************/
+package com.e1c.v8codestyle.internal.bsl.ui.services;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.jface.text.BadLocationException;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.xtext.nodemodel.INode;
+
+import com.e1c.v8codestyle.internal.bsl.ui.UiPlugin;
+
+/**
+ * Provides offset and suffixes information of module region
+ *
+ * @author Kuznetsov Nikita
+ */
+public final class BslModuleOffsets
+{
+ private int startOffset;
+ private int endOffset;
+ private int insertOffset;
+
+ private Map suffixes;
+
+ /**
+ * Create and calculate module region offsets
+ *
+ * @param document actual {@link IDocument} to get offsets from, can't be {@code null}
+ * @param node {@link INode} to get offsets from, can't be {@code null}
+ * @param nodeAfter {@link INode} to get offsets from, can't be {@code null}
+ * @return module region information with calculated region offsets or {@code null}
+ */
+ public static BslModuleOffsets create(IDocument document, INode node, INode nodeAfter)
+ {
+ try
+ {
+ int startLine = node.getTotalStartLine() - 1;
+ int startOffset = document.getLineOffset((startLine <= 1) ? 0 : startLine);
+ int endOffset = nodeAfter.getTotalOffset();
+ int insertOffset = document.getLineOffset(document.getLineOfOffset(nodeAfter.getTotalOffset()));
+ return new BslModuleOffsets(startOffset, endOffset, insertOffset);
+ }
+ catch (BadLocationException ex)
+ {
+ UiPlugin.log(UiPlugin.createErrorStatus("Can't create module region information", ex)); //$NON-NLS-1$
+ }
+ return null;
+ }
+
+ /**
+ * Returns start offset of module region
+ *
+ * @return offset before region declaration
+ */
+ public int getStartOffset()
+ {
+ return startOffset;
+ }
+
+ /**
+ * Returns end offset of module region
+ *
+ * @return offset after region declaration
+ */
+ public int getEndOffset()
+ {
+ return endOffset;
+ }
+
+ /**
+ * Returns before end offset inside module region
+ *
+ * @return offset before end of region declaration
+ */
+ public int getBeforeEndOffset()
+ {
+ return insertOffset;
+ }
+
+ /**
+ * Add suffix of the name of this module region
+ *
+ * @param suffix to add to suffixes map of this module region
+ * @param document to update offsets, can't be {@code null}
+ * @param node to update offsets, can't be {@code null}
+ * @param nodeAfter to update offsets, can't be {@code null}
+ */
+ public void addSuffix(String suffix, IDocument document, INode node, INode nodeAfter)
+ {
+ if (suffixes == null)
+ {
+ suffixes = new HashMap<>();
+ }
+ BslModuleOffsets suffixRegionInformation = create(document, node, nodeAfter);
+ if (suffixRegionInformation != null)
+ {
+ suffixes.put(suffix, suffixRegionInformation);
+ int suffixStartOffset = suffixRegionInformation.getStartOffset();
+ int suffixEndOffset = suffixRegionInformation.getEndOffset();
+ int suffixInsertOffset = suffixRegionInformation.getBeforeEndOffset();
+ if (insertOffset < suffixInsertOffset)
+ {
+ insertOffset = suffixInsertOffset;
+ endOffset = suffixEndOffset;
+ }
+ if (startOffset > suffixStartOffset)
+ {
+ startOffset = suffixStartOffset;
+ }
+ }
+ }
+
+ /**
+ * Is module region has suffixes
+ *
+ * @return {@code true} if module region has suffixes, {@code false} otherwise
+ */
+ public boolean hasSuffixes()
+ {
+ return suffixes != null;
+ }
+
+ /**
+ * Returns module region information by suffix if exists
+ *
+ * @param suffix {@link String} suffix of declared name module region
+ * @return {@link BslModuleOffsets} if suffix exists, {@code null} otherwise
+ */
+ public BslModuleOffsets getInformationBySuffix(String suffix)
+ {
+ if (hasSuffixes())
+ {
+ return suffixes.get(suffix);
+ }
+ return null;
+ }
+
+ private BslModuleOffsets(int startOffset, int endOffset, int insertOffset)
+ {
+ this.startOffset = startOffset;
+ this.endOffset = endOffset;
+ this.insertOffset = insertOffset;
+ }
+}
diff --git a/bundles/com.e1c.v8codestyle.bsl.ui/src/com/e1c/v8codestyle/internal/bsl/ui/services/BslModuleRegionsInfo.java b/bundles/com.e1c.v8codestyle.bsl.ui/src/com/e1c/v8codestyle/internal/bsl/ui/services/BslModuleRegionsInfo.java
new file mode 100644
index 000000000..811568fa6
--- /dev/null
+++ b/bundles/com.e1c.v8codestyle.bsl.ui/src/com/e1c/v8codestyle/internal/bsl/ui/services/BslModuleRegionsInfo.java
@@ -0,0 +1,65 @@
+/*******************************************************************************
+ * Copyright (C) 2023, 1C-Soft LLC and others.
+ *
+ * This program and the accompanying materials are made
+ * available under the terms of the Eclipse Public License 2.0
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * 1C-Soft LLC - initial API and implementation
+ *******************************************************************************/
+package com.e1c.v8codestyle.internal.bsl.ui.services;
+
+import com._1c.g5.v8.dt.bsl.common.IBslModuleTextInsertInfo;
+import com._1c.g5.v8.dt.bsl.model.Module;
+
+/**
+ * Built-in language module region information with {@link String} region wrap data
+ *
+ * @author Kuznetsov Nikita
+ */
+public class BslModuleRegionsInfo
+ implements IBslModuleTextInsertInfo
+{
+ private final int insertPosition;
+ private final Module module;
+ private final String regionName;
+
+ /**
+ * {@link BslModuleRegionsInfo} constructor
+ *
+ * @param insertPosition int
insertion offset, cannot be negative
+ * @param module current {@link Module}, cannot be null
+ * @param regionName {@link String} region name, can be null
+ */
+ public BslModuleRegionsInfo(int insertPosition, Module module, String regionName)
+ {
+ this.insertPosition = insertPosition;
+ this.module = module;
+ this.regionName = regionName;
+ }
+
+ @Override
+ public int getInsertPosition()
+ {
+ return insertPosition;
+ }
+
+ @Override
+ public Module getModule()
+ {
+ return module;
+ }
+
+ /**
+ * Returns region name
+ *
+ * @return {@link String} region name, can be null
+ */
+ public String getRegionName()
+ {
+ return regionName;
+ }
+}
diff --git a/bundles/com.e1c.v8codestyle.bsl.ui/src/com/e1c/v8codestyle/internal/bsl/ui/services/BslModuleRegionsInfoService.java b/bundles/com.e1c.v8codestyle.bsl.ui/src/com/e1c/v8codestyle/internal/bsl/ui/services/BslModuleRegionsInfoService.java
new file mode 100644
index 000000000..94bc1ef30
--- /dev/null
+++ b/bundles/com.e1c.v8codestyle.bsl.ui/src/com/e1c/v8codestyle/internal/bsl/ui/services/BslModuleRegionsInfoService.java
@@ -0,0 +1,321 @@
+/*******************************************************************************
+ * Copyright (C) 2023, 1C-Soft LLC and others.
+ *
+ * This program and the accompanying materials are made
+ * available under the terms of the Eclipse Public License 2.0
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * 1C-Soft LLC - initial API and implementation
+ *******************************************************************************/
+package com.e1c.v8codestyle.internal.bsl.ui.services;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.nodemodel.INode;
+import org.eclipse.xtext.nodemodel.util.NodeModelUtils;
+import org.eclipse.xtext.resource.IResourceServiceProvider;
+import org.eclipse.xtext.ui.editor.model.IXtextDocument;
+
+import com._1c.g5.v8.dt.bsl.common.EventItemType;
+import com._1c.g5.v8.dt.bsl.common.IBslModuleEventData;
+import com._1c.g5.v8.dt.bsl.common.IBslModuleTextInsertInfo;
+import com._1c.g5.v8.dt.bsl.common.IBslModuleTextInsertInfoService;
+import com._1c.g5.v8.dt.bsl.model.Module;
+import com._1c.g5.v8.dt.bsl.model.RegionPreprocessor;
+import com._1c.g5.v8.dt.bsl.model.util.BslUtil;
+import com._1c.g5.v8.dt.bsl.resource.owner.BslOwnerComputerService;
+import com._1c.g5.v8.dt.bsl.ui.BslGeneratorMultiLangProposals;
+import com._1c.g5.v8.dt.bsl.ui.event.BslModuleEventData;
+import com._1c.g5.v8.dt.common.PreferenceUtils;
+import com._1c.g5.v8.dt.common.StringUtils;
+import com._1c.g5.v8.dt.core.platform.IV8Project;
+import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
+import com._1c.g5.v8.dt.form.model.FormPackage;
+import com._1c.g5.v8.dt.mcore.NamedElement;
+import com._1c.g5.v8.dt.metadata.mdclass.ScriptVariant;
+import com.e1c.v8codestyle.bsl.IModuleStructureProvider;
+import com.e1c.v8codestyle.bsl.ModuleStructureSection;
+import com.google.inject.Inject;
+
+/**
+ * Module regions related implementation of {@link IBslModuleTextInsertInfoService}
+ *
+ * @author Kuznetsov Nikita
+ */
+public class BslModuleRegionsInfoService
+ implements IBslModuleTextInsertInfoService
+{
+ @Inject
+ private IModuleStructureProvider moduleStructureProvider;
+
+ @Override
+ public IBslModuleTextInsertInfo getEventHandlerTextInsertInfo(IXtextDocument document, Module module,
+ int defaultPosition, IBslModuleEventData data)
+ {
+ if (!(data instanceof BslModuleEventData))
+ {
+ return () -> defaultPosition;
+ }
+ URI moduleResourceUri = module.eResource().getURI();
+ IResourceServiceProvider rsp =
+ IResourceServiceProvider.Registry.INSTANCE.getResourceServiceProvider(moduleResourceUri);
+ IV8ProjectManager projectManager = rsp.get(IV8ProjectManager.class);
+ BslOwnerComputerService bslOwnerComputerService = rsp.get(BslOwnerComputerService.class);
+ IV8Project project = projectManager.getProject(moduleResourceUri);
+ EClass moduleOwner = bslOwnerComputerService.computeOwnerEClass(module);
+ EObject eventOwner = data.getEventOwner();
+ BslModuleEventData regionData = (BslModuleEventData)data;
+ EventItemType itemType = regionData.getEventItemType();
+ String suffix = getSuffix(eventOwner, itemType);
+ List regionPreprocessors = BslUtil.getAllRegionPreprocessors(module);
+ ScriptVariant scriptVariant = project.getScriptVariant();
+ String declaredRegionName = getDeclaredRegionName(moduleOwner, itemType, scriptVariant);
+ Map regionOffsets =
+ getRegionOffsets(document, regionPreprocessors, declaredRegionName, scriptVariant);
+ int offset = getRegionOffset(regionOffsets, declaredRegionName, suffix, defaultPosition, scriptVariant);
+ String regionName = null;
+ if (!isRegionExists(regionOffsets, declaredRegionName, suffix) && project.getProject() != null
+ && moduleStructureProvider.canCreateStructure(project.getProject()))
+ {
+ regionName = suffix.isEmpty() ? declaredRegionName : (declaredRegionName + suffix);
+ }
+ return new BslModuleRegionsInfo(offset, module, regionName);
+ }
+
+ @Override
+ public String wrap(IBslModuleTextInsertInfo moduleTextInsertInfo, String content)
+ {
+ if (moduleTextInsertInfo instanceof BslModuleRegionsInfo)
+ {
+ BslModuleRegionsInfo moduleRegionInformation = (BslModuleRegionsInfo)moduleTextInsertInfo;
+ Module module = moduleTextInsertInfo.getModule();
+ String regionName = moduleRegionInformation.getRegionName();
+ if (module != null && regionName != null)
+ {
+ URI moduleResourceUri = module.eResource().getURI();
+ IResourceServiceProvider rsp =
+ IResourceServiceProvider.Registry.INSTANCE.getResourceServiceProvider(moduleResourceUri);
+ IV8ProjectManager projectManager = rsp.get(IV8ProjectManager.class);
+ BslGeneratorMultiLangProposals proposals = rsp.get(BslGeneratorMultiLangProposals.class);
+ IV8Project project = projectManager.getProject(moduleResourceUri);
+ String lineSeparator = PreferenceUtils.getLineSeparator(project.getProject());
+ proposals.setRussianLang(ScriptVariant.RUSSIAN.equals(project.getScriptVariant()));
+ String beginRegion = proposals.getBeginRegionPropStr();
+ String endRegion = proposals.getEndRegionPropStr();
+ String space = proposals.getSpacePropStr();
+ StringBuilder builder = new StringBuilder();
+ builder.append(lineSeparator).append(beginRegion).append(space).append(regionName);
+ builder.append(lineSeparator).append(content).append(lineSeparator);
+ builder.append(endRegion);
+ builder.append(lineSeparator);
+ return builder.toString();
+ }
+ }
+ return content;
+ }
+
+ private Map getRegionOffsets(IXtextDocument document,
+ List regionPreprocessors, String targetRegionName, ScriptVariant scriptVariant)
+ {
+ ModuleStructureSection[] declaredRegionNames = ModuleStructureSection.values();
+ Map regionOffsets = new HashMap<>(declaredRegionNames.length / 2);
+ for (RegionPreprocessor regionPreprocessor : regionPreprocessors)
+ {
+ INode nodeAfter = NodeModelUtils.findActualNodeFor(regionPreprocessor.getItemAfter());
+ if (nodeAfter != null)
+ {
+ String preprocessorRegionName = regionPreprocessor.getName();
+ for (int regionNameIndex = 0; regionNameIndex < declaredRegionNames.length; regionNameIndex++)
+ {
+ ModuleStructureSection moduleStructureSection = declaredRegionNames[regionNameIndex];
+ String declaredRegionName = moduleStructureSection.getName(scriptVariant);
+ if ((preprocessorRegionName != null)
+ && isMatchingRegion(preprocessorRegionName, declaredRegionName))
+ {
+ INode node = NodeModelUtils.findActualNodeFor(regionPreprocessor.getItem());
+ if (node != null)
+ {
+ BslModuleOffsets moduleRegionInformation = null;
+ if (!preprocessorRegionName.equals(declaredRegionName))
+ {
+ if (!moduleStructureSection.isSuffixed())
+ {
+ continue;
+ }
+ String suffix = getSuffixOfMatchingRegion(preprocessorRegionName, declaredRegionName);
+ moduleRegionInformation = regionOffsets.get(declaredRegionName);
+ if (moduleRegionInformation == null)
+ {
+ moduleRegionInformation = BslModuleOffsets.create(document, node, nodeAfter);
+ if (moduleRegionInformation == null)
+ {
+ return regionOffsets;
+ }
+ }
+ moduleRegionInformation.addSuffix(suffix, document, node, nodeAfter);
+ }
+ if (moduleRegionInformation == null && !moduleStructureSection.isSuffixed())
+ {
+ moduleRegionInformation = BslModuleOffsets.create(document, node, nodeAfter);
+ }
+ if (moduleRegionInformation != null)
+ {
+ regionOffsets.put(declaredRegionName, moduleRegionInformation);
+ if ((targetRegionName != null) && targetRegionName.equals(preprocessorRegionName))
+ {
+ return regionOffsets;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ return regionOffsets;
+ }
+
+ private int getRegionOffset(Map regionOffsets, String declaredRegionName, String suffix,
+ int defaultOffset, ScriptVariant scriptVariant)
+ {
+ int offset = defaultOffset;
+ boolean createNewRegion = !isRegionExists(regionOffsets, declaredRegionName, suffix);
+ BslModuleOffsets regionOffset = regionOffsets.get(declaredRegionName);
+ if (regionOffset != null)
+ {
+ if (!suffix.isEmpty())
+ {
+ BslModuleOffsets suffixedRegionInformation = regionOffset.getInformationBySuffix(suffix);
+ if (suffixedRegionInformation != null)
+ {
+ return suffixedRegionInformation.getBeforeEndOffset();
+ }
+ else if (createNewRegion)
+ {
+ return getNewRegionOffset(regionOffsets, declaredRegionName, suffix, defaultOffset, scriptVariant);
+ }
+ }
+ return regionOffset.getBeforeEndOffset();
+ }
+ if (createNewRegion)
+ {
+ return getNewRegionOffset(regionOffsets, declaredRegionName, suffix, defaultOffset, scriptVariant);
+ }
+ return offset;
+ }
+
+ private boolean isRegionExists(Map regionOffsets, String declaredRegionName,
+ String suffix)
+ {
+ BslModuleOffsets moduleRegionInformation = regionOffsets.get(declaredRegionName);
+ return (moduleRegionInformation != null)
+ && (suffix.isEmpty() || moduleRegionInformation.getInformationBySuffix(suffix) != null);
+ }
+
+ private int getNewRegionOffset(Map regionOffsets, String regionName, String suffix,
+ int defaultOffset, ScriptVariant scriptVariant)
+ {
+ boolean placeBefore = false;
+ int offset = regionOffsets.isEmpty() ? 0 : defaultOffset;
+ ModuleStructureSection[] declaredRegionNames = ModuleStructureSection.values();
+ for (int regionNameIndex = 0; regionNameIndex < declaredRegionNames.length; regionNameIndex++)
+ {
+ ModuleStructureSection moduleStructuredSection = declaredRegionNames[regionNameIndex];
+ String declaredRegionName = moduleStructuredSection.getName(scriptVariant);
+ if (declaredRegionName.equals(regionName))
+ {
+ placeBefore = true;
+ }
+ BslModuleOffsets regionInformation = regionOffsets.get(declaredRegionName);
+ if (regionInformation != null)
+ {
+ if (placeBefore && (suffix.isEmpty() || !declaredRegionName.equals(regionName)))
+ {
+ return regionInformation.getStartOffset();
+ }
+ offset = placeBefore ? regionInformation.getStartOffset() : regionInformation.getEndOffset();
+ }
+ }
+ return offset;
+ }
+
+ private String getDeclaredRegionName(EClass moduleOwnerClass, EventItemType itemType, ScriptVariant scriptVariant)
+ {
+ String moduleOwnerName = moduleOwnerClass.getName();
+ switch (moduleOwnerName)
+ {
+ case "AbstractForm": //$NON-NLS-1$
+ return getDeclaredRegionNameForForm(itemType, scriptVariant);
+ case "WebService": //$NON-NLS-1$
+ case "HTTPService": //$NON-NLS-1$
+ case "IntegrationService": //$NON-NLS-1$
+ return getPrivateRegionName(scriptVariant);
+ default:
+ return getDefaultRegionName(scriptVariant);
+ }
+ }
+
+ private String getDeclaredRegionNameForForm(EventItemType itemType, ScriptVariant scriptVariant)
+ {
+ switch (itemType)
+ {
+ case MAIN:
+ return ModuleStructureSection.FORM_EVENT_HANDLERS.getName(scriptVariant);
+ case COMMAND:
+ return ModuleStructureSection.FORM_COMMAND_EVENT_HANDLERS.getName(scriptVariant);
+ case TABLE:
+ return ModuleStructureSection.FORM_TABLE_ITEMS_EVENT_HANDLERS.getName(scriptVariant);
+ default:
+ return ModuleStructureSection.FORM_HEADER_ITEMS_EVENT_HANDLERS.getName(scriptVariant);
+ }
+ }
+
+ private String getPrivateRegionName(ScriptVariant scriptVariant)
+ {
+ return ModuleStructureSection.PRIVATE.getName(scriptVariant);
+ }
+
+ private String getDefaultRegionName(ScriptVariant scriptVariant)
+ {
+ return ModuleStructureSection.EVENT_HANDLERS.getName(scriptVariant);
+ }
+
+ private String getSuffix(EObject eventOwner, EventItemType itemType)
+ {
+ if (itemType.equals(EventItemType.TABLE))
+ {
+ EObject container = eventOwner;
+ while (container != null)
+ {
+ if (container.eClass() == FormPackage.Literals.TABLE)
+ {
+ return ((NamedElement)container).getName();
+ }
+ else
+ {
+ container = container.eContainer();
+ }
+ }
+ }
+ return StringUtils.EMPTY;
+ }
+
+ private String getSuffixOfMatchingRegion(String regionName, String declaredRegionName)
+ {
+ return regionName.substring(declaredRegionName.length(), regionName.length());
+ }
+
+ private boolean isMatchingRegion(String regionName, String declaredRegionName)
+ {
+ int declaredRegionNameLength = declaredRegionName.length();
+ return regionName.length() >= declaredRegionNameLength
+ && regionName.substring(0, declaredRegionNameLength).equals(declaredRegionName);
+ }
+}
diff --git a/bundles/com.e1c.v8codestyle.bsl/META-INF/MANIFEST.MF b/bundles/com.e1c.v8codestyle.bsl/META-INF/MANIFEST.MF
index 610176e8d..9285a13c1 100644
--- a/bundles/com.e1c.v8codestyle.bsl/META-INF/MANIFEST.MF
+++ b/bundles/com.e1c.v8codestyle.bsl/META-INF/MANIFEST.MF
@@ -32,7 +32,7 @@ Import-Package: com._1c.g5.v8.bm.core;version="[8.0.0,9.0.0)",
com._1c.g5.v8.dt.bsl.typesystem;version="[10.0.0,11.0.0)",
com._1c.g5.v8.dt.bsl.typesystem.util;version="[10.0.0,11.0.0)",
com._1c.g5.v8.dt.bsl.util;version="[8.0.0,9.0.0)",
- com._1c.g5.v8.dt.bsl.validation;version="[17.0.0,18.0.0)",
+ com._1c.g5.v8.dt.bsl.validation;version="[18.0.0,19.0.0)",
com._1c.g5.v8.dt.common;version="[6.0.0,7.0.0)",
com._1c.g5.v8.dt.core.naming;version="[7.0.0,8.0.0)",
com._1c.g5.v8.dt.core.platform;version="[11.0.0,12.0.0)",
diff --git a/bundles/com.e1c.v8codestyle.bsl/src/com/e1c/v8codestyle/bsl/ModuleStructureSection.java b/bundles/com.e1c.v8codestyle.bsl/src/com/e1c/v8codestyle/bsl/ModuleStructureSection.java
index 599ea313d..31ef3d2ca 100644
--- a/bundles/com.e1c.v8codestyle.bsl/src/com/e1c/v8codestyle/bsl/ModuleStructureSection.java
+++ b/bundles/com.e1c.v8codestyle.bsl/src/com/e1c/v8codestyle/bsl/ModuleStructureSection.java
@@ -15,29 +15,37 @@
import com._1c.g5.v8.dt.metadata.mdclass.ScriptVariant;
/**
- * Standard module structure dually-named section.
+ * Standard module structure dually-named section;
+ *
Sorted by priority of module regions standard.
*
* @author Dmitriy Marmyshev
*/
public enum ModuleStructureSection
{
- PUBLIC("Public", "ПрограммныйИнтерфейс"), //$NON-NLS-1$ //$NON-NLS-2$
- INTERNAL("Internal", "СлужебныйПрограммныйИнтерфейс"), //$NON-NLS-1$ //$NON-NLS-2$
- PRIVATE("Private", "СлужебныеПроцедурыИФункции"), //$NON-NLS-1$ //$NON-NLS-2$
VARIABLES("Variables", "ОписаниеПеременных"), //$NON-NLS-1$ //$NON-NLS-2$
- INITIALIZE("Initialize", "Инициализация"), //$NON-NLS-1$ //$NON-NLS-2$
+ PUBLIC("Public", "ПрограммныйИнтерфейс"), //$NON-NLS-1$ //$NON-NLS-2$
EVENT_HANDLERS("EventHandlers", "ОбработчикиСобытий"), //$NON-NLS-1$ //$NON-NLS-2$
+ INTERNAL("Internal", "СлужебныйПрограммныйИнтерфейс"), //$NON-NLS-1$ //$NON-NLS-2$
FORM_EVENT_HANDLERS("FormEventHandlers", "ОбработчикиСобытийФормы"), //$NON-NLS-1$ //$NON-NLS-2$
FORM_HEADER_ITEMS_EVENT_HANDLERS("FormHeaderItemsEventHandlers", "ОбработчикиСобытийЭлементовШапкиФормы"), //$NON-NLS-1$ //$NON-NLS-2$
+ FORM_TABLE_ITEMS_EVENT_HANDLERS("FormTableItemsEventHandlers", "ОбработчикиСобытийЭлементовТаблицыФормы", true), //$NON-NLS-1$ //$NON-NLS-2$
FORM_COMMAND_EVENT_HANDLERS("FormCommandsEventHandlers", "ОбработчикиКомандФормы"), //$NON-NLS-1$ //$NON-NLS-2$
- FORM_TABLE_ITEMS_EVENT_HANDLERS("FormTableItemsEventHandlers", "ОбработчикиСобытийЭлементовТаблицыФормы"), //$NON-NLS-1$ //$NON-NLS-2$
+ PRIVATE("Private", "СлужебныеПроцедурыИФункции"), //$NON-NLS-1$ //$NON-NLS-2$
+ INITIALIZE("Initialize", "Инициализация"), //$NON-NLS-1$ //$NON-NLS-2$
DEPRECATED_REGION("Deprecated", "УстаревшиеПроцедурыИФункции"); //$NON-NLS-1$ //$NON-NLS-2$
private final String[] names;
+ private final boolean isSuffixed;
- ModuleStructureSection(String name, String nameRu)
+ ModuleStructureSection(String name, String nameRu, boolean isSuffixed)
{
this.names = new String[] { name, nameRu };
+ this.isSuffixed = isSuffixed;
+ }
+
+ ModuleStructureSection(String name, String nameRu)
+ {
+ this(name, nameRu, false);
}
/**
@@ -61,4 +69,13 @@ public String getName(ScriptVariant scriptVariant)
return names[scriptVariant.getValue()];
}
+ /**
+ * Is module region name used only with suffix
+ *
+ * @return true
if region name must be suffixed, false
otherwise
+ */
+ public boolean isSuffixed()
+ {
+ return isSuffixed;
+ }
}
diff --git a/bundles/com.e1c.v8codestyle.bsl/src/com/e1c/v8codestyle/bsl/check/CodeAfterAsyncCallCheck.java b/bundles/com.e1c.v8codestyle.bsl/src/com/e1c/v8codestyle/bsl/check/CodeAfterAsyncCallCheck.java
index 418a3f938..e400a4004 100644
--- a/bundles/com.e1c.v8codestyle.bsl/src/com/e1c/v8codestyle/bsl/check/CodeAfterAsyncCallCheck.java
+++ b/bundles/com.e1c.v8codestyle.bsl/src/com/e1c/v8codestyle/bsl/check/CodeAfterAsyncCallCheck.java
@@ -52,8 +52,6 @@
import com.e1c.g5.v8.dt.check.settings.IssueSeverity;
import com.e1c.g5.v8.dt.check.settings.IssueType;
import com.e1c.v8codestyle.bsl.IAsyncInvocationProvider;
-import com.e1c.v8codestyle.check.CommonSenseCheckExtension;
-import com.e1c.v8codestyle.internal.bsl.BslPlugin;
import com.google.common.collect.Lists;
import com.google.inject.Inject;
@@ -101,7 +99,7 @@ protected void configureCheck(CheckConfigurer builder)
.complexity(CheckComplexity.NORMAL)
.severity(IssueSeverity.MAJOR)
.issueType(IssueType.WARNING)
- .extension(new CommonSenseCheckExtension(getCheckId(), BslPlugin.PLUGIN_ID))
+ .disable()
.module()
.checkedObjectType(INVOCATION)
.parameter(PARAMETER_NAME, Boolean.class, DEFAULT_CHECK, Messages.CodeAfterAsyncCallCheck_Parameter);
diff --git a/bundles/com.e1c.v8codestyle.bsl/src/com/e1c/v8codestyle/bsl/check/ExportProcedureMissingCommentCheck.java b/bundles/com.e1c.v8codestyle.bsl/src/com/e1c/v8codestyle/bsl/check/ExportProcedureMissingCommentCheck.java
index f7cfb7a28..96297bc02 100644
--- a/bundles/com.e1c.v8codestyle.bsl/src/com/e1c/v8codestyle/bsl/check/ExportProcedureMissingCommentCheck.java
+++ b/bundles/com.e1c.v8codestyle.bsl/src/com/e1c/v8codestyle/bsl/check/ExportProcedureMissingCommentCheck.java
@@ -86,7 +86,7 @@ && isMethodHasNoComment(NodeModelUtils.findActualNodeFor(method)))
private static boolean verifyTopRegion(Optional regionTop)
{
- if (regionTop.isEmpty())
+ if (regionTop.isEmpty() || regionTop.get().getName() == null)
{
return false;
}
diff --git a/bundles/com.e1c.v8codestyle.bsl/src/com/e1c/v8codestyle/bsl/check/ModuleStructureTopRegionCheck.java b/bundles/com.e1c.v8codestyle.bsl/src/com/e1c/v8codestyle/bsl/check/ModuleStructureTopRegionCheck.java
index a6053573b..027d32138 100644
--- a/bundles/com.e1c.v8codestyle.bsl/src/com/e1c/v8codestyle/bsl/check/ModuleStructureTopRegionCheck.java
+++ b/bundles/com.e1c.v8codestyle.bsl/src/com/e1c/v8codestyle/bsl/check/ModuleStructureTopRegionCheck.java
@@ -275,6 +275,10 @@ private void countDoublesAndFindTopRegions(List allRegions,
for (RegionPreprocessor region : allRegions)
{
String regionName = region.getName();
+ if (StringUtils.isBlank(regionName))
+ {
+ continue;
+ }
countRegions.putIfAbsent(regionName, new ArrayList<>());
countRegions.get(regionName).add(region);
if (getFirstParentRegion(region).isEmpty())
@@ -288,7 +292,7 @@ private boolean isExcludeName(String regionName, String[] regionNames)
{
for (String name : regionNames)
{
- if (regionName.equalsIgnoreCase(name))
+ if (regionName == null || regionName.equalsIgnoreCase(name))
{
return true;
}
diff --git a/bundles/com.e1c.v8codestyle.bsl/src/com/e1c/v8codestyle/bsl/strict/check/TypedValueAddingToUntypedCollectionCheck.java b/bundles/com.e1c.v8codestyle.bsl/src/com/e1c/v8codestyle/bsl/strict/check/TypedValueAddingToUntypedCollectionCheck.java
index 1b5a5be80..382a6fcfd 100644
--- a/bundles/com.e1c.v8codestyle.bsl/src/com/e1c/v8codestyle/bsl/strict/check/TypedValueAddingToUntypedCollectionCheck.java
+++ b/bundles/com.e1c.v8codestyle.bsl/src/com/e1c/v8codestyle/bsl/strict/check/TypedValueAddingToUntypedCollectionCheck.java
@@ -207,7 +207,10 @@ private Collection getActualCollectionTypes(FeatureAccess fa, Collecti
}
else
{
- actualTypes.addAll(((Type)type).getCollectionElementTypes().allTypes());
+ if (((Type)type).getCollectionElementTypes() != null)
+ {
+ actualTypes.addAll(((Type)type).getCollectionElementTypes().allTypes());
+ }
}
}
diff --git a/bundles/com.e1c.v8codestyle.bsl/templates/en/command_module.bsl b/bundles/com.e1c.v8codestyle.bsl/templates/en/command_module.bsl
index 67df44fe9..8adad148e 100644
--- a/bundles/com.e1c.v8codestyle.bsl/templates/en/command_module.bsl
+++ b/bundles/com.e1c.v8codestyle.bsl/templates/en/command_module.bsl
@@ -2,9 +2,7 @@
#Region EventHandlers
// Enter code here.
-
//%CURRENT_CODE%
-
#EndRegion
#Region Private
diff --git a/bundles/com.e1c.v8codestyle.bsl/templates/en/form_module.bsl b/bundles/com.e1c.v8codestyle.bsl/templates/en/form_module.bsl
index f2dda7684..d2d1171a6 100644
--- a/bundles/com.e1c.v8codestyle.bsl/templates/en/form_module.bsl
+++ b/bundles/com.e1c.v8codestyle.bsl/templates/en/form_module.bsl
@@ -6,9 +6,7 @@
#Region FormEventHandlers
// Enter code here.
-
//%CURRENT_CODE%
-
#EndRegion
#Region FormHeaderItemsEventHandlers
@@ -17,12 +15,6 @@
#EndRegion
-#Region FormTableItemsEventHandlers //
-
-// Enter code here.
-
-#EndRegion
-
#Region FormCommandsEventHandlers
// Enter code here.
diff --git a/bundles/com.e1c.v8codestyle.bsl/templates/ru/command_module.bsl b/bundles/com.e1c.v8codestyle.bsl/templates/ru/command_module.bsl
index 6fcfda8e2..1be65a57b 100644
--- a/bundles/com.e1c.v8codestyle.bsl/templates/ru/command_module.bsl
+++ b/bundles/com.e1c.v8codestyle.bsl/templates/ru/command_module.bsl
@@ -2,9 +2,7 @@
#Область ОбработчикиСобытий
// Код процедур и функций
-
//%CURRENT_CODE%
-
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
diff --git a/bundles/com.e1c.v8codestyle.bsl/templates/ru/form_module.bsl b/bundles/com.e1c.v8codestyle.bsl/templates/ru/form_module.bsl
index ffedd0001..d52a296df 100644
--- a/bundles/com.e1c.v8codestyle.bsl/templates/ru/form_module.bsl
+++ b/bundles/com.e1c.v8codestyle.bsl/templates/ru/form_module.bsl
@@ -6,9 +6,7 @@
#Область ОбработчикиСобытийФормы
// Код процедур и функций
-
//%CURRENT_CODE%
-
#КонецОбласти
#Область ОбработчикиСобытийЭлементовШапкиФормы
@@ -17,12 +15,6 @@
#КонецОбласти
-#Область ОбработчикиСобытийЭлементовТаблицыФормы //<ИмяТаблицыФормы>
-
-// Код процедур и функций
-
-#КонецОбласти
-
#Область ОбработчикиКомандФормы
// Код процедур и функций
diff --git a/bundles/com.e1c.v8codestyle.right/META-INF/MANIFEST.MF b/bundles/com.e1c.v8codestyle.right/META-INF/MANIFEST.MF
index 2fa4fdff8..ef3094685 100644
--- a/bundles/com.e1c.v8codestyle.right/META-INF/MANIFEST.MF
+++ b/bundles/com.e1c.v8codestyle.right/META-INF/MANIFEST.MF
@@ -24,7 +24,7 @@ Import-Package: com._1c.g5.v8.bm.core;version="[8.0.0,9.0.0)",
com._1c.g5.v8.dt.md;version="[19.0.0,20.0.0)",
com._1c.g5.v8.dt.metadata.mdclass;version="[9.0.0,10.0.0)",
com._1c.g5.v8.dt.platform.version;version="[2.0.0,3.0.0)",
- com._1c.g5.v8.dt.rights;version="[6.1.0,7.0.0)",
+ com._1c.g5.v8.dt.rights;version="[7.0.0,8.0.0)",
com._1c.g5.v8.dt.rights.model;version="[4.0.0,5.0.0)",
com._1c.g5.v8.dt.rights.model.util;version="[6.0.0,7.0.0)",
com._1c.g5.wiring;version="[2.2.0,3.0.0)",
diff --git a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/internal/right/CorePlugin.java b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/internal/right/CorePlugin.java
index 73fd579d9..c7244833e 100644
--- a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/internal/right/CorePlugin.java
+++ b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/internal/right/CorePlugin.java
@@ -153,7 +153,7 @@ private Injector createInjector()
{
try
{
- return Guice.createInjector(new ServiceModule(), new ExternalDependenciesModule(this));
+ return Guice.createInjector(new ExternalDependenciesModule(this));
}
catch (Exception e)
{
diff --git a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/internal/right/ExternalDependenciesModule.java b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/internal/right/ExternalDependenciesModule.java
index fd1dbdb1c..6b8f789a7 100644
--- a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/internal/right/ExternalDependenciesModule.java
+++ b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/internal/right/ExternalDependenciesModule.java
@@ -20,7 +20,7 @@
import com._1c.g5.v8.dt.core.platform.IConfigurationProvider;
import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
-import com._1c.g5.v8.dt.platform.version.IRuntimeVersionSupport;
+import com._1c.g5.v8.dt.rights.IRightInfosService;
import com._1c.g5.wiring.AbstractServiceAwareModule;
/**
@@ -32,7 +32,6 @@
public class ExternalDependenciesModule
extends AbstractServiceAwareModule
{
-
/**
* @param plugin
*/
@@ -50,9 +49,6 @@ protected void doConfigure()
bind(IBmRightsIndexManager.class).toService();
bind(IBmEmfIndexManager.class).toService();
bind(IConfigurationProvider.class).toService();
-
- // XXX remove this when the IRightInfosService become OSGi service
- bind(IRuntimeVersionSupport.class).toService();
+ bind(IRightInfosService.class).toService();
}
-
}
diff --git a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/internal/right/InternalRightInfosService.java b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/internal/right/InternalRightInfosService.java
deleted file mode 100644
index e0a868fdc..000000000
--- a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/internal/right/InternalRightInfosService.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2022, 1C-Soft LLC and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * 1C-Soft LLC - initial API and implementation
- *******************************************************************************/
-package com.e1c.v8codestyle.internal.right;
-
-import java.util.Collections;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-
-import com._1c.g5.v8.dt.core.platform.IConfigurationProvider;
-import com._1c.g5.v8.dt.metadata.mdclass.Configuration;
-import com._1c.g5.v8.dt.platform.version.IRuntimeVersionSupport;
-import com._1c.g5.v8.dt.platform.version.Version;
-import com._1c.g5.v8.dt.rights.IRightInfosService;
-import com._1c.g5.v8.dt.rights.model.Right;
-import com.google.inject.Inject;
-import com.google.inject.Provider;
-import com.google.inject.Singleton;
-
-/**
- * This service is a correct wrapper of {@link IRightInfosService} to get correct data corresponding
- * project runtime version.
- *
- * FIXME Replace this service after refactoring of {@link IRightInfosService}.
- *
- * @author Dmitriy Marmyshev
- */
-@Singleton
-public class InternalRightInfosService
-{
-
- private final IRuntimeVersionSupport runtimeVersionSupport;
-
- private final IConfigurationProvider configurationProvider;
-
- private final Provider rightInfosServiceProvider;
-
- private final Map infos = new ConcurrentHashMap<>();
-
- @Inject
- public InternalRightInfosService(IRuntimeVersionSupport runtimeVersionSupport,
- IConfigurationProvider configurationProvider, Provider rightInfosServiceProvider)
- {
- this.runtimeVersionSupport = runtimeVersionSupport;
- this.configurationProvider = configurationProvider;
- this.rightInfosServiceProvider = rightInfosServiceProvider;
- }
-
- /**
- * Gets the rights of some {@link EClass} of configuration metadata object that may have some rights.
- *
- * @param eClass the {@link EClass} of configuration metadata object that has some rights, cannot be {@code null}.
- * @param context the context object of the configuration to determine platform version, cannot be {@code null}.
- * @return the rights of the {@link EClass}
- */
- public Set getEClassRights(EClass eClass, EObject context)
- {
-
- Version version = runtimeVersionSupport.getRuntimeVersionOrDefault(context, Version.LATEST);
-
- IRightInfosService info = infos.computeIfAbsent(version, v -> {
-
- IRightInfosService service = rightInfosServiceProvider.get();
- Configuration configuration = configurationProvider.getConfiguration(context);
- service.init(configuration);
-
- return service;
- });
-
- if (info == null)
- {
- return Collections.emptySet();
- }
- return info.getEClassRights(eClass);
- }
-}
diff --git a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/internal/right/ServiceModule.java b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/internal/right/ServiceModule.java
deleted file mode 100644
index ac862a498..000000000
--- a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/internal/right/ServiceModule.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (C) 2022, 1C-Soft LLC and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * 1C-Soft LLC - initial API and implementation
- *******************************************************************************/
-package com.e1c.v8codestyle.internal.right;
-
-import com._1c.g5.v8.dt.rights.IRightInfosService;
-import com.google.inject.AbstractModule;
-
-/**
- * The internal service module.
- *
- * @author Dmitriy Marmyshev
- */
-public class ServiceModule
- extends AbstractModule
-{
- private static final String SERVICE_CLASS = "com._1c.g5.v8.dt.internal.rights.RightsInfoService"; //$NON-NLS-1$
-
- @SuppressWarnings("unchecked")
- @Override
- protected void configure()
- {
-
- // XXX remove this when the IRightInfosService become OSGi service
- Class extends IRightInfosService> clazz = null;
- try
- {
- clazz = (Class extends IRightInfosService>)Class.forName(SERVICE_CLASS, true,
- IRightInfosService.class.getClassLoader());
- }
- catch (ClassNotFoundException e)
- {
- CorePlugin.logError(e);
- }
- // Here create new instance every time - this allows to bind it to specific platform Version
- // See com.e1c.v8codestyle.internal.right.InternalRightInfosService for details.
- bind(IRightInfosService.class).to(clazz);
- }
-}
diff --git a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightActiveUsers.java b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightActiveUsers.java
index a4a93e5c0..d031319f7 100644
--- a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightActiveUsers.java
+++ b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightActiveUsers.java
@@ -19,10 +19,10 @@
import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
+import com._1c.g5.v8.dt.rights.IRightInfosService;
import com._1c.g5.v8.dt.rights.model.util.RightName;
import com.e1c.v8codestyle.check.StandardCheckExtension;
import com.e1c.v8codestyle.internal.right.CorePlugin;
-import com.e1c.v8codestyle.internal.right.InternalRightInfosService;
import com.google.inject.Inject;
/**
@@ -46,7 +46,7 @@ public class RightActiveUsers
@Inject
public RightActiveUsers(IResourceLookup resourceLookup, IV8ProjectManager v8ProjectManager,
IBmModelManager bmModelManager, IBmRightsIndexManager bmRightsIndexManager,
- IBmEmfIndexManager bmEmfIndexManager, InternalRightInfosService rightInfosService)
+ IBmEmfIndexManager bmEmfIndexManager, IRightInfosService rightInfosService)
{
super(resourceLookup, v8ProjectManager, bmModelManager, bmRightsIndexManager, bmEmfIndexManager,
rightInfosService);
diff --git a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightAdministration.java b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightAdministration.java
index 818d1d798..0f12234d7 100644
--- a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightAdministration.java
+++ b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightAdministration.java
@@ -19,10 +19,10 @@
import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
+import com._1c.g5.v8.dt.rights.IRightInfosService;
import com._1c.g5.v8.dt.rights.model.util.RightName;
import com.e1c.v8codestyle.check.StandardCheckExtension;
import com.e1c.v8codestyle.internal.right.CorePlugin;
-import com.e1c.v8codestyle.internal.right.InternalRightInfosService;
import com.google.inject.Inject;
/**
@@ -46,7 +46,7 @@ public class RightAdministration
@Inject
public RightAdministration(IResourceLookup resourceLookup, IV8ProjectManager v8ProjectManager,
IBmModelManager bmModelManager, IBmRightsIndexManager bmRightsIndexManager,
- IBmEmfIndexManager bmEmfIndexManager, InternalRightInfosService rightInfosService)
+ IBmEmfIndexManager bmEmfIndexManager, IRightInfosService rightInfosService)
{
super(resourceLookup, v8ProjectManager, bmModelManager, bmRightsIndexManager, bmEmfIndexManager,
rightInfosService);
diff --git a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightAllFunctionsMode.java b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightAllFunctionsMode.java
index cd6af47a7..a2fec74ad 100644
--- a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightAllFunctionsMode.java
+++ b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightAllFunctionsMode.java
@@ -19,10 +19,10 @@
import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
+import com._1c.g5.v8.dt.rights.IRightInfosService;
import com._1c.g5.v8.dt.rights.model.util.RightName;
import com.e1c.v8codestyle.check.StandardCheckExtension;
import com.e1c.v8codestyle.internal.right.CorePlugin;
-import com.e1c.v8codestyle.internal.right.InternalRightInfosService;
import com.google.inject.Inject;
/**
@@ -46,7 +46,7 @@ public class RightAllFunctionsMode
@Inject
public RightAllFunctionsMode(IResourceLookup resourceLookup, IV8ProjectManager v8ProjectManager,
IBmModelManager bmModelManager, IBmRightsIndexManager bmRightsIndexManager,
- IBmEmfIndexManager bmEmfIndexManager, InternalRightInfosService rightInfosService)
+ IBmEmfIndexManager bmEmfIndexManager, IRightInfosService rightInfosService)
{
super(resourceLookup, v8ProjectManager, bmModelManager, bmRightsIndexManager, bmEmfIndexManager,
rightInfosService);
diff --git a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightConfigurationExtensionsAdministration.java b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightConfigurationExtensionsAdministration.java
index 89d09e107..e61610f40 100644
--- a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightConfigurationExtensionsAdministration.java
+++ b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightConfigurationExtensionsAdministration.java
@@ -19,10 +19,10 @@
import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
+import com._1c.g5.v8.dt.rights.IRightInfosService;
import com._1c.g5.v8.dt.rights.model.util.RightName;
import com.e1c.v8codestyle.check.StandardCheckExtension;
import com.e1c.v8codestyle.internal.right.CorePlugin;
-import com.e1c.v8codestyle.internal.right.InternalRightInfosService;
import com.google.inject.Inject;
/**
@@ -46,7 +46,7 @@ public class RightConfigurationExtensionsAdministration
@Inject
public RightConfigurationExtensionsAdministration(IResourceLookup resourceLookup,
IV8ProjectManager v8ProjectManager, IBmModelManager bmModelManager, IBmRightsIndexManager bmRightsIndexManager,
- IBmEmfIndexManager bmEmfIndexManager, InternalRightInfosService rightInfosService)
+ IBmEmfIndexManager bmEmfIndexManager, IRightInfosService rightInfosService)
{
super(resourceLookup, v8ProjectManager, bmModelManager, bmRightsIndexManager, bmEmfIndexManager,
rightInfosService);
diff --git a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightDataAdministration.java b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightDataAdministration.java
index c7ff51d6f..25ed14fa5 100644
--- a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightDataAdministration.java
+++ b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightDataAdministration.java
@@ -19,10 +19,10 @@
import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
+import com._1c.g5.v8.dt.rights.IRightInfosService;
import com._1c.g5.v8.dt.rights.model.util.RightName;
import com.e1c.v8codestyle.check.StandardCheckExtension;
import com.e1c.v8codestyle.internal.right.CorePlugin;
-import com.e1c.v8codestyle.internal.right.InternalRightInfosService;
import com.google.inject.Inject;
/**
@@ -46,7 +46,7 @@ public class RightDataAdministration
@Inject
public RightDataAdministration(IResourceLookup resourceLookup, IV8ProjectManager v8ProjectManager,
IBmModelManager bmModelManager, IBmRightsIndexManager bmRightsIndexManager,
- IBmEmfIndexManager bmEmfIndexManager, InternalRightInfosService rightInfosService)
+ IBmEmfIndexManager bmEmfIndexManager, IRightInfosService rightInfosService)
{
super(resourceLookup, v8ProjectManager, bmModelManager, bmRightsIndexManager, bmEmfIndexManager,
rightInfosService);
diff --git a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightDelete.java b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightDelete.java
index fdadb08f5..4a504c285 100644
--- a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightDelete.java
+++ b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightDelete.java
@@ -19,10 +19,10 @@
import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
+import com._1c.g5.v8.dt.rights.IRightInfosService;
import com._1c.g5.v8.dt.rights.model.util.RightName;
import com.e1c.v8codestyle.check.StandardCheckExtension;
import com.e1c.v8codestyle.internal.right.CorePlugin;
-import com.e1c.v8codestyle.internal.right.InternalRightInfosService;
import com.google.inject.Inject;
/**
@@ -46,7 +46,7 @@ public class RightDelete
@Inject
public RightDelete(IResourceLookup resourceLookup, IV8ProjectManager v8ProjectManager,
IBmModelManager bmModelManager, IBmRightsIndexManager bmRightsIndexManager,
- IBmEmfIndexManager bmEmfIndexManager, InternalRightInfosService rightInfosService)
+ IBmEmfIndexManager bmEmfIndexManager, IRightInfosService rightInfosService)
{
super(resourceLookup, v8ProjectManager, bmModelManager, bmRightsIndexManager, bmEmfIndexManager,
rightInfosService);
diff --git a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightExclusiveMode.java b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightExclusiveMode.java
index 7bc8dfd96..44cad9010 100644
--- a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightExclusiveMode.java
+++ b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightExclusiveMode.java
@@ -19,10 +19,10 @@
import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
+import com._1c.g5.v8.dt.rights.IRightInfosService;
import com._1c.g5.v8.dt.rights.model.util.RightName;
import com.e1c.v8codestyle.check.StandardCheckExtension;
import com.e1c.v8codestyle.internal.right.CorePlugin;
-import com.e1c.v8codestyle.internal.right.InternalRightInfosService;
import com.google.inject.Inject;
/**
@@ -48,7 +48,7 @@ public class RightExclusiveMode
@Inject
public RightExclusiveMode(IResourceLookup resourceLookup, IV8ProjectManager v8ProjectManager,
IBmModelManager bmModelManager, IBmRightsIndexManager bmRightsIndexManager,
- IBmEmfIndexManager bmEmfIndexManager, InternalRightInfosService rightInfosService)
+ IBmEmfIndexManager bmEmfIndexManager, IRightInfosService rightInfosService)
{
super(resourceLookup, v8ProjectManager, bmModelManager, bmRightsIndexManager, bmEmfIndexManager,
rightInfosService);
diff --git a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightInteractiveClearDeletionMarkPredefinedData.java b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightInteractiveClearDeletionMarkPredefinedData.java
index c049b594a..9150f1909 100644
--- a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightInteractiveClearDeletionMarkPredefinedData.java
+++ b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightInteractiveClearDeletionMarkPredefinedData.java
@@ -18,10 +18,10 @@
import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
+import com._1c.g5.v8.dt.rights.IRightInfosService;
import com._1c.g5.v8.dt.rights.model.util.RightName;
import com.e1c.v8codestyle.check.StandardCheckExtension;
import com.e1c.v8codestyle.internal.right.CorePlugin;
-import com.e1c.v8codestyle.internal.right.InternalRightInfosService;
import com.google.inject.Inject;
/**
@@ -42,7 +42,7 @@ public class RightInteractiveClearDeletionMarkPredefinedData
@Inject
public RightInteractiveClearDeletionMarkPredefinedData(IResourceLookup resourceLookup,
IV8ProjectManager v8ProjectManager, IBmModelManager bmModelManager, IBmRightsIndexManager bmRightsIndexManager,
- IBmEmfIndexManager bmEmfIndexManager, InternalRightInfosService rightInfosService)
+ IBmEmfIndexManager bmEmfIndexManager, IRightInfosService rightInfosService)
{
super(resourceLookup, v8ProjectManager, bmModelManager, bmRightsIndexManager, bmEmfIndexManager,
rightInfosService);
diff --git a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightInteractiveDelete.java b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightInteractiveDelete.java
index cb2845d0c..f19c33cba 100644
--- a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightInteractiveDelete.java
+++ b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightInteractiveDelete.java
@@ -18,10 +18,10 @@
import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
+import com._1c.g5.v8.dt.rights.IRightInfosService;
import com._1c.g5.v8.dt.rights.model.util.RightName;
import com.e1c.v8codestyle.check.StandardCheckExtension;
import com.e1c.v8codestyle.internal.right.CorePlugin;
-import com.e1c.v8codestyle.internal.right.InternalRightInfosService;
import com.google.inject.Inject;
/**
@@ -42,7 +42,7 @@ public class RightInteractiveDelete
@Inject
public RightInteractiveDelete(IResourceLookup resourceLookup, IV8ProjectManager v8ProjectManager,
IBmModelManager bmModelManager, IBmRightsIndexManager bmRightsIndexManager,
- IBmEmfIndexManager bmEmfIndexManager, InternalRightInfosService rightInfosService)
+ IBmEmfIndexManager bmEmfIndexManager, IRightInfosService rightInfosService)
{
super(resourceLookup, v8ProjectManager, bmModelManager, bmRightsIndexManager, bmEmfIndexManager,
rightInfosService);
diff --git a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightInteractiveDeleteMarkedPredefinedData.java b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightInteractiveDeleteMarkedPredefinedData.java
index 3f74aa98c..e8de2f47b 100644
--- a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightInteractiveDeleteMarkedPredefinedData.java
+++ b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightInteractiveDeleteMarkedPredefinedData.java
@@ -18,10 +18,10 @@
import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
+import com._1c.g5.v8.dt.rights.IRightInfosService;
import com._1c.g5.v8.dt.rights.model.util.RightName;
import com.e1c.v8codestyle.check.StandardCheckExtension;
import com.e1c.v8codestyle.internal.right.CorePlugin;
-import com.e1c.v8codestyle.internal.right.InternalRightInfosService;
import com.google.inject.Inject;
/**
@@ -42,7 +42,7 @@ public class RightInteractiveDeleteMarkedPredefinedData
@Inject
public RightInteractiveDeleteMarkedPredefinedData(IResourceLookup resourceLookup,
IV8ProjectManager v8ProjectManager, IBmModelManager bmModelManager, IBmRightsIndexManager bmRightsIndexManager,
- IBmEmfIndexManager bmEmfIndexManager, InternalRightInfosService rightInfosService)
+ IBmEmfIndexManager bmEmfIndexManager, IRightInfosService rightInfosService)
{
super(resourceLookup, v8ProjectManager, bmModelManager, bmRightsIndexManager, bmEmfIndexManager,
rightInfosService);
diff --git a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightInteractiveDeletePredefinedData.java b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightInteractiveDeletePredefinedData.java
index e8171f711..dfe22f276 100644
--- a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightInteractiveDeletePredefinedData.java
+++ b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightInteractiveDeletePredefinedData.java
@@ -18,10 +18,10 @@
import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
+import com._1c.g5.v8.dt.rights.IRightInfosService;
import com._1c.g5.v8.dt.rights.model.util.RightName;
import com.e1c.v8codestyle.check.StandardCheckExtension;
import com.e1c.v8codestyle.internal.right.CorePlugin;
-import com.e1c.v8codestyle.internal.right.InternalRightInfosService;
import com.google.inject.Inject;
/**
@@ -42,7 +42,7 @@ public class RightInteractiveDeletePredefinedData
@Inject
public RightInteractiveDeletePredefinedData(IResourceLookup resourceLookup, IV8ProjectManager v8ProjectManager,
IBmModelManager bmModelManager, IBmRightsIndexManager bmRightsIndexManager,
- IBmEmfIndexManager bmEmfIndexManager, InternalRightInfosService rightInfosService)
+ IBmEmfIndexManager bmEmfIndexManager, IRightInfosService rightInfosService)
{
super(resourceLookup, v8ProjectManager, bmModelManager, bmRightsIndexManager, bmEmfIndexManager,
rightInfosService);
diff --git a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightInteractiveOpenExternalDataProcessors.java b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightInteractiveOpenExternalDataProcessors.java
index 96e5bb350..d1734a8a0 100644
--- a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightInteractiveOpenExternalDataProcessors.java
+++ b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightInteractiveOpenExternalDataProcessors.java
@@ -19,10 +19,10 @@
import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
+import com._1c.g5.v8.dt.rights.IRightInfosService;
import com._1c.g5.v8.dt.rights.model.util.RightName;
import com.e1c.v8codestyle.check.StandardCheckExtension;
import com.e1c.v8codestyle.internal.right.CorePlugin;
-import com.e1c.v8codestyle.internal.right.InternalRightInfosService;
import com.google.inject.Inject;
/**
@@ -46,7 +46,7 @@ public class RightInteractiveOpenExternalDataProcessors
@Inject
public RightInteractiveOpenExternalDataProcessors(IResourceLookup resourceLookup,
IV8ProjectManager v8ProjectManager, IBmModelManager bmModelManager, IBmRightsIndexManager bmRightsIndexManager,
- IBmEmfIndexManager bmEmfIndexManager, InternalRightInfosService rightInfosService)
+ IBmEmfIndexManager bmEmfIndexManager, IRightInfosService rightInfosService)
{
super(resourceLookup, v8ProjectManager, bmModelManager, bmRightsIndexManager, bmEmfIndexManager,
rightInfosService);
diff --git a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightInteractiveOpenExternalReports.java b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightInteractiveOpenExternalReports.java
index 5134b1020..ebefd85ad 100644
--- a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightInteractiveOpenExternalReports.java
+++ b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightInteractiveOpenExternalReports.java
@@ -19,10 +19,10 @@
import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
+import com._1c.g5.v8.dt.rights.IRightInfosService;
import com._1c.g5.v8.dt.rights.model.util.RightName;
import com.e1c.v8codestyle.check.StandardCheckExtension;
import com.e1c.v8codestyle.internal.right.CorePlugin;
-import com.e1c.v8codestyle.internal.right.InternalRightInfosService;
import com.google.inject.Inject;
/**
@@ -46,7 +46,7 @@ public class RightInteractiveOpenExternalReports
@Inject
public RightInteractiveOpenExternalReports(IResourceLookup resourceLookup, IV8ProjectManager v8ProjectManager,
IBmModelManager bmModelManager, IBmRightsIndexManager bmRightsIndexManager,
- IBmEmfIndexManager bmEmfIndexManager, InternalRightInfosService rightInfosService)
+ IBmEmfIndexManager bmEmfIndexManager, IRightInfosService rightInfosService)
{
super(resourceLookup, v8ProjectManager, bmModelManager, bmRightsIndexManager, bmEmfIndexManager,
rightInfosService);
diff --git a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightInteractiveSetDeletionMarkPredefinedData.java b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightInteractiveSetDeletionMarkPredefinedData.java
index d3758db00..bdd50766f 100644
--- a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightInteractiveSetDeletionMarkPredefinedData.java
+++ b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightInteractiveSetDeletionMarkPredefinedData.java
@@ -18,10 +18,10 @@
import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
+import com._1c.g5.v8.dt.rights.IRightInfosService;
import com._1c.g5.v8.dt.rights.model.util.RightName;
import com.e1c.v8codestyle.check.StandardCheckExtension;
import com.e1c.v8codestyle.internal.right.CorePlugin;
-import com.e1c.v8codestyle.internal.right.InternalRightInfosService;
import com.google.inject.Inject;
/**
@@ -42,7 +42,7 @@ public class RightInteractiveSetDeletionMarkPredefinedData
@Inject
public RightInteractiveSetDeletionMarkPredefinedData(IResourceLookup resourceLookup,
IV8ProjectManager v8ProjectManager, IBmModelManager bmModelManager, IBmRightsIndexManager bmRightsIndexManager,
- IBmEmfIndexManager bmEmfIndexManager, InternalRightInfosService rightInfosService)
+ IBmEmfIndexManager bmEmfIndexManager, IRightInfosService rightInfosService)
{
super(resourceLookup, v8ProjectManager, bmModelManager, bmRightsIndexManager, bmEmfIndexManager,
rightInfosService);
diff --git a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightOutputToPrinterFileClipboard.java b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightOutputToPrinterFileClipboard.java
index 4982be37b..16572c7d5 100644
--- a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightOutputToPrinterFileClipboard.java
+++ b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightOutputToPrinterFileClipboard.java
@@ -19,10 +19,10 @@
import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
+import com._1c.g5.v8.dt.rights.IRightInfosService;
import com._1c.g5.v8.dt.rights.model.util.RightName;
import com.e1c.v8codestyle.check.StandardCheckExtension;
import com.e1c.v8codestyle.internal.right.CorePlugin;
-import com.e1c.v8codestyle.internal.right.InternalRightInfosService;
import com.google.inject.Inject;
/**
@@ -46,7 +46,7 @@ public class RightOutputToPrinterFileClipboard
@Inject
public RightOutputToPrinterFileClipboard(IResourceLookup resourceLookup, IV8ProjectManager v8ProjectManager,
IBmModelManager bmModelManager, IBmRightsIndexManager bmRightsIndexManager,
- IBmEmfIndexManager bmEmfIndexManager, InternalRightInfosService rightInfosService)
+ IBmEmfIndexManager bmEmfIndexManager, IRightInfosService rightInfosService)
{
super(resourceLookup, v8ProjectManager, bmModelManager, bmRightsIndexManager, bmEmfIndexManager,
rightInfosService);
diff --git a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightSaveUserData.java b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightSaveUserData.java
index 77fecc0ff..3f09e31d9 100644
--- a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightSaveUserData.java
+++ b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightSaveUserData.java
@@ -19,10 +19,10 @@
import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
+import com._1c.g5.v8.dt.rights.IRightInfosService;
import com._1c.g5.v8.dt.rights.model.util.RightName;
import com.e1c.v8codestyle.check.StandardCheckExtension;
import com.e1c.v8codestyle.internal.right.CorePlugin;
-import com.e1c.v8codestyle.internal.right.InternalRightInfosService;
import com.google.inject.Inject;
/**
@@ -46,7 +46,7 @@ public class RightSaveUserData
@Inject
public RightSaveUserData(IResourceLookup resourceLookup, IV8ProjectManager v8ProjectManager,
IBmModelManager bmModelManager, IBmRightsIndexManager bmRightsIndexManager,
- IBmEmfIndexManager bmEmfIndexManager, InternalRightInfosService rightInfosService)
+ IBmEmfIndexManager bmEmfIndexManager, IRightInfosService rightInfosService)
{
super(resourceLookup, v8ProjectManager, bmModelManager, bmRightsIndexManager, bmEmfIndexManager,
rightInfosService);
diff --git a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightStartAutomation.java b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightStartAutomation.java
index ca5611f97..aaeafb45f 100644
--- a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightStartAutomation.java
+++ b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightStartAutomation.java
@@ -19,10 +19,10 @@
import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
+import com._1c.g5.v8.dt.rights.IRightInfosService;
import com._1c.g5.v8.dt.rights.model.util.RightName;
import com.e1c.v8codestyle.check.StandardCheckExtension;
import com.e1c.v8codestyle.internal.right.CorePlugin;
-import com.e1c.v8codestyle.internal.right.InternalRightInfosService;
import com.google.inject.Inject;
/**
@@ -46,7 +46,7 @@ public class RightStartAutomation
@Inject
public RightStartAutomation(IResourceLookup resourceLookup, IV8ProjectManager v8ProjectManager,
IBmModelManager bmModelManager, IBmRightsIndexManager bmRightsIndexManager,
- IBmEmfIndexManager bmEmfIndexManager, InternalRightInfosService rightInfosService)
+ IBmEmfIndexManager bmEmfIndexManager, IRightInfosService rightInfosService)
{
super(resourceLookup, v8ProjectManager, bmModelManager, bmRightsIndexManager, bmEmfIndexManager,
rightInfosService);
diff --git a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightStartExternalConnection.java b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightStartExternalConnection.java
index 3f6fb2ed2..b9869d40c 100644
--- a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightStartExternalConnection.java
+++ b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightStartExternalConnection.java
@@ -19,10 +19,10 @@
import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
+import com._1c.g5.v8.dt.rights.IRightInfosService;
import com._1c.g5.v8.dt.rights.model.util.RightName;
import com.e1c.v8codestyle.check.StandardCheckExtension;
import com.e1c.v8codestyle.internal.right.CorePlugin;
-import com.e1c.v8codestyle.internal.right.InternalRightInfosService;
import com.google.inject.Inject;
/**
@@ -46,7 +46,7 @@ public class RightStartExternalConnection
@Inject
public RightStartExternalConnection(IResourceLookup resourceLookup, IV8ProjectManager v8ProjectManager,
IBmModelManager bmModelManager, IBmRightsIndexManager bmRightsIndexManager,
- IBmEmfIndexManager bmEmfIndexManager, InternalRightInfosService rightInfosService)
+ IBmEmfIndexManager bmEmfIndexManager, IRightInfosService rightInfosService)
{
super(resourceLookup, v8ProjectManager, bmModelManager, bmRightsIndexManager, bmEmfIndexManager,
rightInfosService);
diff --git a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightStartThickClient.java b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightStartThickClient.java
index 9ba98675c..2ebb6e94e 100644
--- a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightStartThickClient.java
+++ b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightStartThickClient.java
@@ -19,10 +19,10 @@
import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
+import com._1c.g5.v8.dt.rights.IRightInfosService;
import com._1c.g5.v8.dt.rights.model.util.RightName;
import com.e1c.v8codestyle.check.StandardCheckExtension;
import com.e1c.v8codestyle.internal.right.CorePlugin;
-import com.e1c.v8codestyle.internal.right.InternalRightInfosService;
import com.google.inject.Inject;
/**
@@ -46,7 +46,7 @@ public class RightStartThickClient
@Inject
public RightStartThickClient(IResourceLookup resourceLookup, IV8ProjectManager v8ProjectManager,
IBmModelManager bmModelManager, IBmRightsIndexManager bmRightsIndexManager,
- IBmEmfIndexManager bmEmfIndexManager, InternalRightInfosService rightInfosService)
+ IBmEmfIndexManager bmEmfIndexManager, IRightInfosService rightInfosService)
{
super(resourceLookup, v8ProjectManager, bmModelManager, bmRightsIndexManager, bmEmfIndexManager,
rightInfosService);
diff --git a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightStartThinClient.java b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightStartThinClient.java
index 6277674f7..906630666 100644
--- a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightStartThinClient.java
+++ b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightStartThinClient.java
@@ -19,10 +19,10 @@
import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
+import com._1c.g5.v8.dt.rights.IRightInfosService;
import com._1c.g5.v8.dt.rights.model.util.RightName;
import com.e1c.v8codestyle.check.StandardCheckExtension;
import com.e1c.v8codestyle.internal.right.CorePlugin;
-import com.e1c.v8codestyle.internal.right.InternalRightInfosService;
import com.google.inject.Inject;
/**
@@ -46,7 +46,7 @@ public class RightStartThinClient
@Inject
public RightStartThinClient(IResourceLookup resourceLookup, IV8ProjectManager v8ProjectManager,
IBmModelManager bmModelManager, IBmRightsIndexManager bmRightsIndexManager,
- IBmEmfIndexManager bmEmfIndexManager, InternalRightInfosService rightInfosService)
+ IBmEmfIndexManager bmEmfIndexManager, IRightInfosService rightInfosService)
{
super(resourceLookup, v8ProjectManager, bmModelManager, bmRightsIndexManager, bmEmfIndexManager,
rightInfosService);
diff --git a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightStartWebClient.java b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightStartWebClient.java
index cbbda02dd..c3a82e25b 100644
--- a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightStartWebClient.java
+++ b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightStartWebClient.java
@@ -19,10 +19,10 @@
import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
+import com._1c.g5.v8.dt.rights.IRightInfosService;
import com._1c.g5.v8.dt.rights.model.util.RightName;
import com.e1c.v8codestyle.check.StandardCheckExtension;
import com.e1c.v8codestyle.internal.right.CorePlugin;
-import com.e1c.v8codestyle.internal.right.InternalRightInfosService;
import com.google.inject.Inject;
/**
@@ -46,7 +46,7 @@ public class RightStartWebClient
@Inject
public RightStartWebClient(IResourceLookup resourceLookup, IV8ProjectManager v8ProjectManager,
IBmModelManager bmModelManager, IBmRightsIndexManager bmRightsIndexManager,
- IBmEmfIndexManager bmEmfIndexManager, InternalRightInfosService rightInfosService)
+ IBmEmfIndexManager bmEmfIndexManager, IRightInfosService rightInfosService)
{
super(resourceLookup, v8ProjectManager, bmModelManager, bmRightsIndexManager, bmEmfIndexManager,
rightInfosService);
diff --git a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightUpdateDatabaseConfiguration.java b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightUpdateDatabaseConfiguration.java
index 597d4b0c8..1201bb335 100644
--- a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightUpdateDatabaseConfiguration.java
+++ b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightUpdateDatabaseConfiguration.java
@@ -19,10 +19,10 @@
import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
+import com._1c.g5.v8.dt.rights.IRightInfosService;
import com._1c.g5.v8.dt.rights.model.util.RightName;
import com.e1c.v8codestyle.check.StandardCheckExtension;
import com.e1c.v8codestyle.internal.right.CorePlugin;
-import com.e1c.v8codestyle.internal.right.InternalRightInfosService;
import com.google.inject.Inject;
/**
@@ -46,7 +46,7 @@ public class RightUpdateDatabaseConfiguration
@Inject
public RightUpdateDatabaseConfiguration(IResourceLookup resourceLookup, IV8ProjectManager v8ProjectManager,
IBmModelManager bmModelManager, IBmRightsIndexManager bmRightsIndexManager,
- IBmEmfIndexManager bmEmfIndexManager, InternalRightInfosService rightInfosService)
+ IBmEmfIndexManager bmEmfIndexManager, IRightInfosService rightInfosService)
{
super(resourceLookup, v8ProjectManager, bmModelManager, bmRightsIndexManager, bmEmfIndexManager,
rightInfosService);
diff --git a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightViewEventLog.java b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightViewEventLog.java
index 10ccc3cd7..6c0da5733 100644
--- a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightViewEventLog.java
+++ b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RightViewEventLog.java
@@ -19,10 +19,10 @@
import com._1c.g5.v8.dt.core.platform.IBmModelManager;
import com._1c.g5.v8.dt.core.platform.IResourceLookup;
import com._1c.g5.v8.dt.core.platform.IV8ProjectManager;
+import com._1c.g5.v8.dt.rights.IRightInfosService;
import com._1c.g5.v8.dt.rights.model.util.RightName;
import com.e1c.v8codestyle.check.StandardCheckExtension;
import com.e1c.v8codestyle.internal.right.CorePlugin;
-import com.e1c.v8codestyle.internal.right.InternalRightInfosService;
import com.google.inject.Inject;
/**
@@ -49,7 +49,7 @@ public class RightViewEventLog
@Inject
public RightViewEventLog(IResourceLookup resourceLookup, IV8ProjectManager v8ProjectManager,
IBmModelManager bmModelManager, IBmRightsIndexManager bmRightsIndexManager,
- IBmEmfIndexManager bmEmfIndexManager, InternalRightInfosService rightInfosService,
+ IBmEmfIndexManager bmEmfIndexManager, IRightInfosService rightInfosService,
IBmModelManager bmModelManager2)
{
super(resourceLookup, v8ProjectManager, bmModelManager, bmRightsIndexManager, bmEmfIndexManager,
diff --git a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RoleRightSetCheck.java b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RoleRightSetCheck.java
index 275425e3f..831d678fb 100644
--- a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RoleRightSetCheck.java
+++ b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RoleRightSetCheck.java
@@ -40,6 +40,7 @@
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.EcoreUtil2;
+import org.eclipse.xtext.naming.QualifiedName;
import org.eclipse.xtext.resource.IEObjectDescription;
import com._1c.g5.v8.bm.core.BmUriUtil;
@@ -61,6 +62,7 @@
import com._1c.g5.v8.dt.metadata.mdclass.MdObject;
import com._1c.g5.v8.dt.metadata.mdclass.Role;
import com._1c.g5.v8.dt.metadata.mdclass.ScriptVariant;
+import com._1c.g5.v8.dt.rights.IRightInfosService;
import com._1c.g5.v8.dt.rights.model.ObjectRight;
import com._1c.g5.v8.dt.rights.model.ObjectRights;
import com._1c.g5.v8.dt.rights.model.Right;
@@ -78,7 +80,6 @@
import com.e1c.g5.v8.dt.check.context.OnModelObjectRemovalContextCollector;
import com.e1c.g5.v8.dt.check.settings.IssueSeverity;
import com.e1c.g5.v8.dt.check.settings.IssueType;
-import com.e1c.v8codestyle.internal.right.InternalRightInfosService;
/**
* Abstract check that role has some right for any object.
@@ -114,7 +115,7 @@ public abstract class RoleRightSetCheck
private final IBmEmfIndexManager bmEmfIndexManager;
- private final InternalRightInfosService rightInfosService;
+ private final IRightInfosService rightInfosService;
/**
* Creates new instance which helps to check that role has specified right for an object.
@@ -127,7 +128,7 @@ public abstract class RoleRightSetCheck
*/
protected RoleRightSetCheck(IResourceLookup resourceLookup, IV8ProjectManager v8ProjectManager,
IBmModelManager bmModelManager, IBmRightsIndexManager bmRightsIndexManager,
- IBmEmfIndexManager bmEmfIndexManager, InternalRightInfosService rightInfosService)
+ IBmEmfIndexManager bmEmfIndexManager, IRightInfosService rightInfosService)
{
this.resourceLookup = resourceLookup;
this.v8ProjectManager = v8ProjectManager;
@@ -319,17 +320,27 @@ private String getRightName(IV8Project project)
private String getMdObjectName(MdObject mdObject, IV8Project project)
{
- if (mdObject == null)
+ if (mdObject == null || project == null)
{
return "Unknown"; //$NON-NLS-1$
}
- if (project != null && project.getScriptVariant() == ScriptVariant.RUSSIAN)
+ if (project.getScriptVariant() == ScriptVariant.RUSSIAN)
+ {
+ QualifiedName fqn = MdUtil.getFullyQualifiedNameRu(mdObject);
+ if (fqn != null)
+ {
+ return fqn.toString();
+ }
+ }
+
+ QualifiedName fqn = MdUtil.getFullyQualifiedName(mdObject);
+ if (fqn != null)
{
- return MdUtil.getFullyQualifiedNameRu(mdObject).toString();
+ return fqn.toString();
}
- return MdUtil.getFullyQualifiedName(mdObject).toString();
+ return "Unknown"; //$NON-NLS-1$
}
private Collection getDefaultObjectsWithRight(RoleDescription description, IProgressMonitor monitor)
@@ -413,7 +424,7 @@ private Set getRoleTopObjects(IProject project, RoleDescription descriptio
private boolean hasRight(EClass eClass, EObject context)
{
- Set rights = rightInfosService.getEClassRights(eClass, context);
+ Set rights = rightInfosService.getEClassRights(context, eClass);
Set rightNames = rights.stream().map(NamedElement::getName).collect(Collectors.toSet());
return rightNames.contains(getRightName().getName());
}
diff --git a/targets/default/default.target b/targets/default/default.target
index 8e142fa4f..8072d8776 100644
--- a/targets/default/default.target
+++ b/targets/default/default.target
@@ -13,7 +13,7 @@
-
+
diff --git a/targets/develop/develop.target b/targets/develop/develop.target
index d2ce2ca29..5683b1210 100644
--- a/targets/develop/develop.target
+++ b/targets/develop/develop.target
@@ -13,7 +13,7 @@
-
+
diff --git a/tests/com.e1c.v8codestyle.bsl.itests/META-INF/MANIFEST.MF b/tests/com.e1c.v8codestyle.bsl.itests/META-INF/MANIFEST.MF
index a82d354b5..0dcc6c0a8 100644
--- a/tests/com.e1c.v8codestyle.bsl.itests/META-INF/MANIFEST.MF
+++ b/tests/com.e1c.v8codestyle.bsl.itests/META-INF/MANIFEST.MF
@@ -15,6 +15,6 @@ Import-Package: com._1c.g5.v8.dt.core.naming;version="[7.0.0,8.0.0)",
com._1c.g5.v8.dt.testing;version="[3.1.0,4.0.0)",
com._1c.g5.v8.dt.ui.util;version="[7.0.0,8.0.0)",
com._1c.g5.v8.dt.ui.validation;version="[5.0.0,6.0.0)",
- com._1c.g5.v8.dt.validation.marker;version="[7.0.0,8.0.0)",
+ com._1c.g5.v8.dt.validation.marker;version="[8.0.0,9.0.0)",
com.e1c.g5.v8.dt.testing.check;version="[1.0.0,2.0.0)",
org.junit;version="[4.13.0,5.0.0)"
diff --git a/tests/com.e1c.v8codestyle.bsl.itests/src/com/e1c/v8codestyle/bsl/check/itests/RedundantExportMethodCheckTest.java b/tests/com.e1c.v8codestyle.bsl.itests/src/com/e1c/v8codestyle/bsl/check/itests/RedundantExportMethodCheckTest.java
index 7e4c28683..50f204ad4 100644
--- a/tests/com.e1c.v8codestyle.bsl.itests/src/com/e1c/v8codestyle/bsl/check/itests/RedundantExportMethodCheckTest.java
+++ b/tests/com.e1c.v8codestyle.bsl.itests/src/com/e1c/v8codestyle/bsl/check/itests/RedundantExportMethodCheckTest.java
@@ -18,6 +18,7 @@
import java.util.stream.Collectors;
import org.eclipse.core.runtime.Path;
+import org.junit.Ignore;
import org.junit.Test;
import com._1c.g5.v8.dt.validation.marker.IExtraInfoKeys;
@@ -68,6 +69,7 @@ public void testNoCallPublic() throws Exception
}
@Test
+ @Ignore
public void testCallNoPublic() throws Exception
{
List markers = getMarkers(MODULE_CALL_NO_PUBLIC_FILE_NAME);
diff --git a/tests/com.e1c.v8codestyle.bsl.itests/src/com/e1c/v8codestyle/bsl/check/itests/SelfReferenceCheckTest.java b/tests/com.e1c.v8codestyle.bsl.itests/src/com/e1c/v8codestyle/bsl/check/itests/SelfReferenceCheckTest.java
index 924852c6c..6a511c894 100644
--- a/tests/com.e1c.v8codestyle.bsl.itests/src/com/e1c/v8codestyle/bsl/check/itests/SelfReferenceCheckTest.java
+++ b/tests/com.e1c.v8codestyle.bsl.itests/src/com/e1c/v8codestyle/bsl/check/itests/SelfReferenceCheckTest.java
@@ -72,10 +72,10 @@ public void testCommonModule() throws Exception
List markers = getMarkers(COMMON_MODULE_FILE_NAME);
assertEquals(4, markers.size());
- assertEquals("6", markers.get(0).getExtraInfo().get(IExtraInfoKeys.TEXT_EXTRA_INFO_LINE_KEY));
- assertEquals("6", markers.get(1).getExtraInfo().get(IExtraInfoKeys.TEXT_EXTRA_INFO_LINE_KEY));
- assertEquals("10", markers.get(2).getExtraInfo().get(IExtraInfoKeys.TEXT_EXTRA_INFO_LINE_KEY));
- assertEquals("10", markers.get(3).getExtraInfo().get(IExtraInfoKeys.TEXT_EXTRA_INFO_LINE_KEY));
+ assertEquals("6", markers.get(2).getExtraInfo().get(IExtraInfoKeys.TEXT_EXTRA_INFO_LINE_KEY));
+ assertEquals("6", markers.get(3).getExtraInfo().get(IExtraInfoKeys.TEXT_EXTRA_INFO_LINE_KEY));
+ assertEquals("10", markers.get(0).getExtraInfo().get(IExtraInfoKeys.TEXT_EXTRA_INFO_LINE_KEY));
+ assertEquals("10", markers.get(1).getExtraInfo().get(IExtraInfoKeys.TEXT_EXTRA_INFO_LINE_KEY));
}
/**
@@ -150,6 +150,9 @@ private List getMarkers(String moduleFileName)
assertNotNull(chekcId);
return markers.stream()
.filter(marker -> chekcId.equals(getCheckIdFromMarker(marker, getProject())))
+ .sorted((marker1, marker2) -> marker1.getExtraInfo()
+ .get(IExtraInfoKeys.TEXT_EXTRA_INFO_LINE_KEY)
+ .compareTo(marker2.getExtraInfo().get(IExtraInfoKeys.TEXT_EXTRA_INFO_LINE_KEY)))
.collect(Collectors.toList());
}
diff --git a/tests/com.e1c.v8codestyle.bsl.itests/src/com/e1c/v8codestyle/bsl/check/itests/ServerExecutionSafeModeCheckTest.java b/tests/com.e1c.v8codestyle.bsl.itests/src/com/e1c/v8codestyle/bsl/check/itests/ServerExecutionSafeModeCheckTest.java
index d834a122d..85637ee6b 100644
--- a/tests/com.e1c.v8codestyle.bsl.itests/src/com/e1c/v8codestyle/bsl/check/itests/ServerExecutionSafeModeCheckTest.java
+++ b/tests/com.e1c.v8codestyle.bsl.itests/src/com/e1c/v8codestyle/bsl/check/itests/ServerExecutionSafeModeCheckTest.java
@@ -19,6 +19,7 @@
import java.util.stream.Collectors;
import org.eclipse.core.runtime.Path;
+import org.junit.Ignore;
import org.junit.Test;
import com._1c.g5.v8.dt.validation.marker.IExtraInfoKeys;
@@ -73,6 +74,7 @@ public void testCommonModule() throws Exception
* @throws Exception
*/
@Test
+ @Ignore("https://github.com/1C-Company/v8-code-style/issues/1377")
public void testCommonModuleServerCall() throws Exception
{
List markers = getMarkers(COMMON_MODULE_SERVER_CALL_FILE_NAME);
diff --git a/tests/com.e1c.v8codestyle.bsl.itests/src/com/e1c/v8codestyle/bsl/comment/check/itests/ExportProcedureCommentDescriptionCheckTest.java b/tests/com.e1c.v8codestyle.bsl.itests/src/com/e1c/v8codestyle/bsl/comment/check/itests/ExportProcedureCommentDescriptionCheckTest.java
index 9a99484a6..f17bce192 100644
--- a/tests/com.e1c.v8codestyle.bsl.itests/src/com/e1c/v8codestyle/bsl/comment/check/itests/ExportProcedureCommentDescriptionCheckTest.java
+++ b/tests/com.e1c.v8codestyle.bsl.itests/src/com/e1c/v8codestyle/bsl/comment/check/itests/ExportProcedureCommentDescriptionCheckTest.java
@@ -18,6 +18,7 @@
import java.text.MessageFormat;
import java.util.List;
+import org.junit.Ignore;
import org.junit.Test;
import com._1c.g5.v8.dt.validation.marker.IExtraInfoKeys;
@@ -62,6 +63,7 @@ public void testFunctionHasDescriptionSection() throws Exception
* @throws Exception the exception
*/
@Test
+ @Ignore("https://github.com/1C-Company/v8-code-style/issues/1377")
public void testFunctionHasNoDescriptionSection() throws Exception
{
updateModule(FOLDER_RESOURCE + "doc-comment-export-function-no-description-section.bsl");
diff --git a/tests/com.e1c.v8codestyle.bsl.itests/src/com/e1c/v8codestyle/bsl/comment/check/itests/RefLinkPartCheckTest.java b/tests/com.e1c.v8codestyle.bsl.itests/src/com/e1c/v8codestyle/bsl/comment/check/itests/RefLinkPartCheckTest.java
index 7fc2cf882..26753ea9f 100644
--- a/tests/com.e1c.v8codestyle.bsl.itests/src/com/e1c/v8codestyle/bsl/comment/check/itests/RefLinkPartCheckTest.java
+++ b/tests/com.e1c.v8codestyle.bsl.itests/src/com/e1c/v8codestyle/bsl/comment/check/itests/RefLinkPartCheckTest.java
@@ -18,6 +18,7 @@
import java.util.Set;
import java.util.stream.Collectors;
+import org.junit.Ignore;
import org.junit.Test;
import com._1c.g5.v8.dt.validation.marker.IExtraInfoKeys;
@@ -66,6 +67,7 @@ protected String getModuleFileName()
* @throws Exception the exception
*/
@Test
+ @Ignore("https://github.com/1C-Company/v8-code-style/issues/1376")
public void testInvalidLinks() throws Exception
{
updateModule(FOLDER_RESOURCE + "doc-comment-ref-link.bsl");
diff --git a/tests/com.e1c.v8codestyle.form.itests/META-INF/MANIFEST.MF b/tests/com.e1c.v8codestyle.form.itests/META-INF/MANIFEST.MF
index 357dc0619..0ab12ef1d 100644
--- a/tests/com.e1c.v8codestyle.form.itests/META-INF/MANIFEST.MF
+++ b/tests/com.e1c.v8codestyle.form.itests/META-INF/MANIFEST.MF
@@ -18,7 +18,7 @@ Import-Package: com._1c.g5.v8.bm.integration;version="[11.0.0,12.0.0)",
com._1c.g5.v8.dt.testing;version="[3.1.0,4.0.0)",
com._1c.g5.v8.dt.ui.util;version="[7.0.0,8.0.0)",
com._1c.g5.v8.dt.ui.validation;version="[5.0.0,6.0.0)",
- com._1c.g5.v8.dt.validation.marker;version="[7.0.0,8.0.0)",
+ com._1c.g5.v8.dt.validation.marker;version="[8.0.0,9.0.0)",
com.e1c.g5.v8.dt.testing.check;version="[1.0.0,2.0.0)",
org.junit;version="[4.13.0,5.0.0)"
Require-Bundle: org.eclipse.core.resources;bundle-version="[3.13.0,4.0.0)"
diff --git a/tests/com.e1c.v8codestyle.md.itests/META-INF/MANIFEST.MF b/tests/com.e1c.v8codestyle.md.itests/META-INF/MANIFEST.MF
index 3836a2ef0..9e6944c45 100644
--- a/tests/com.e1c.v8codestyle.md.itests/META-INF/MANIFEST.MF
+++ b/tests/com.e1c.v8codestyle.md.itests/META-INF/MANIFEST.MF
@@ -11,7 +11,7 @@ Bundle-Localization: fragment
Import-Package: com._1c.g5.v8.bm.integration;version="[11.0.0,12.0.0)",
com._1c.g5.v8.dt.core.platform;version="[11.0.0,12.0.0)",
com._1c.g5.v8.dt.testing;version="[3.1.0,4.0.0)",
- com._1c.g5.v8.dt.validation.marker;version="[7.0.0,8.0.0)",
+ com._1c.g5.v8.dt.validation.marker;version="[8.0.0,9.0.0)",
com.e1c.g5.v8.dt.testing.check;version="[1.0.0,2.0.0)",
org.junit;version="[4.13.0,5.0.0)"
Require-Bundle: org.eclipse.core.resources;bundle-version="[3.13.0,4.0.0)"
diff --git a/tests/com.e1c.v8codestyle.md.itests/src/com/e1c/v8codestyle/md/configuration/check/itests/ConfigurationDataLockTest.java b/tests/com.e1c.v8codestyle.md.itests/src/com/e1c/v8codestyle/md/configuration/check/itests/ConfigurationDataLockTest.java
index 605911a12..b4906bd4f 100644
--- a/tests/com.e1c.v8codestyle.md.itests/src/com/e1c/v8codestyle/md/configuration/check/itests/ConfigurationDataLockTest.java
+++ b/tests/com.e1c.v8codestyle.md.itests/src/com/e1c/v8codestyle/md/configuration/check/itests/ConfigurationDataLockTest.java
@@ -16,6 +16,7 @@
import static org.junit.Assert.assertNull;
import org.eclipse.core.runtime.IProgressMonitor;
+import org.junit.Ignore;
import org.junit.Test;
import com._1c.g5.v8.bm.core.IBmTransaction;
@@ -58,6 +59,7 @@ public void testDataLock() throws Exception
}
@Test
+ @Ignore("https://github.com/1C-Company/v8-code-style/issues/1375")
public void testManagedDataLockMode() throws Exception
{
IDtProject dtProject = openProjectAndWaitForValidationFinish(PROJECT_NAME);
diff --git a/tests/com.e1c.v8codestyle.ql.itests/META-INF/MANIFEST.MF b/tests/com.e1c.v8codestyle.ql.itests/META-INF/MANIFEST.MF
index a717004ab..357dc34b0 100644
--- a/tests/com.e1c.v8codestyle.ql.itests/META-INF/MANIFEST.MF
+++ b/tests/com.e1c.v8codestyle.ql.itests/META-INF/MANIFEST.MF
@@ -14,7 +14,7 @@ Import-Package: com._1c.g5.v8.bm.integration;version="[11.0.0,12.0.0)",
com._1c.g5.v8.dt.form.model;version="[11.0.0,12.0.0)",
com._1c.g5.v8.dt.mcore;version="[7.0.0,8.0.0)",
com._1c.g5.v8.dt.testing;version="[3.0.0,4.0.0)",
- com._1c.g5.v8.dt.validation.marker;version="[7.0.0,8.0.0)",
+ com._1c.g5.v8.dt.validation.marker;version="[8.0.0,9.0.0)",
com.e1c.g5.v8.dt.testing.check;version="[1.0.0,2.0.0)",
org.junit;version="[4.13.0,5.0.0)"
Require-Bundle: org.eclipse.core.resources;bundle-version="[3.13.900,4.0.0)",
diff --git a/tests/com.e1c.v8codestyle.right.itests/META-INF/MANIFEST.MF b/tests/com.e1c.v8codestyle.right.itests/META-INF/MANIFEST.MF
index 1427c3789..779b7900e 100644
--- a/tests/com.e1c.v8codestyle.right.itests/META-INF/MANIFEST.MF
+++ b/tests/com.e1c.v8codestyle.right.itests/META-INF/MANIFEST.MF
@@ -14,6 +14,6 @@ Import-Package: com._1c.g5.v8.dt.core.platform;version="[11.0.0,12.0.0)",
com._1c.g5.v8.dt.platform.version;version="[2.13.0,3.0.0)",
com._1c.g5.v8.dt.refactoring.core;version="[4.0.0,5.0.0)",
com._1c.g5.v8.dt.testing;version="[3.1.0,4.0.0)",
- com._1c.g5.v8.dt.validation.marker;version="[7.0.0,8.0.0)",
+ com._1c.g5.v8.dt.validation.marker;version="[8.0.0,9.0.0)",
com.e1c.g5.v8.dt.testing.check;version="[1.0.0,2.0.0)",
org.junit;version="[4.13.0,5.0.0)"
diff --git a/tests/com.e1c.v8codestyle.right.itests/src/com/e1c/v8codestyle/internal/right/itests/CheckExternalDependenciesModule.java b/tests/com.e1c.v8codestyle.right.itests/src/com/e1c/v8codestyle/internal/right/itests/CheckExternalDependenciesModule.java
index 09a7218e1..b45796cdf 100644
--- a/tests/com.e1c.v8codestyle.right.itests/src/com/e1c/v8codestyle/internal/right/itests/CheckExternalDependenciesModule.java
+++ b/tests/com.e1c.v8codestyle.right.itests/src/com/e1c/v8codestyle/internal/right/itests/CheckExternalDependenciesModule.java
@@ -19,6 +19,7 @@
import com._1c.g5.v8.dt.core.platform.IDtProjectManager;
import com._1c.g5.v8.dt.core.platform.IWorkspaceOrchestrator;
import com._1c.g5.v8.dt.md.refactoring.core.IMdRefactoringService;
+import com._1c.g5.v8.dt.rights.IRightInfosService;
import com._1c.g5.v8.dt.validation.marker.IMarkerManager;
import com._1c.g5.wiring.AbstractServiceAwareModule;
import com.e1c.g5.v8.dt.check.settings.ICheckRepository;
@@ -49,5 +50,6 @@ protected void doConfigure()
bind(IMarkerManager.class).toService();
bind(IMdRefactoringService.class).toService();
bind(IWorkspaceOrchestrator.class).toService();
+ bind(IRightInfosService.class).toService();
}
}