mirror of
https://github.com/1C-Company/v8-code-style.git
synced 2025-02-20 07:48:17 +02:00
Merge branch 'master' of github.com:1C-Company/v8-code-style into
G5V8DT-22401
This commit is contained in:
commit
a5cf40da58
43
CHANGELOG.md
43
CHANGELOG.md
@ -2,6 +2,47 @@
|
||||
|
||||
[TOC text bullet hierarchy]
|
||||
|
||||
## 0.7.0
|
||||
|
||||
|
||||
### Новые проверки
|
||||
|
||||
|
||||
#### Метаданные
|
||||
|
||||
- Превышена максимальная длина числовых данных (31 знак). #82
|
||||
|
||||
|
||||
#### Формы
|
||||
|
||||
|
||||
#### Код модулей
|
||||
|
||||
- Проверка на уникальность имени поля в doc-comment-field-name #1392
|
||||
- Проверка модификации ключей структуры вне функции-конструктора #1054
|
||||
|
||||
|
||||
#### Запросы
|
||||
|
||||
|
||||
|
||||
### Прочие изменения
|
||||
|
||||
|
||||
### Исправленные ошибки
|
||||
|
||||
- Ложное срабатывание проверки module-accessibility-at-client в модулях расширений #1207
|
||||
|
||||
|
||||
## 0.6.0
|
||||
|
||||
Выпуск бета-версии для 1C:EDT 2023.2
|
||||
|
||||
### Исправленные ошибки
|
||||
|
||||
- Автосортировщик не сортирует дочерние подсистемы после получения изменений из базы
|
||||
- Исправлены тексты сообщений в проверке common-module-name-global-client
|
||||
|
||||
## 0.5.0
|
||||
|
||||
Выпуск бета-версии для 1C:EDT 2023.1
|
||||
@ -57,6 +98,8 @@
|
||||
|
||||
- Требование к программному продукту: Для переменных общих модулей проверялся префикс расширения и диагностировалась ошибка
|
||||
- При анализе расположения устаревших методов учитывался только сценарий расположения устаревшей области в программном интерфейса, теперь учитывается еще и служебный программный интерфейс
|
||||
- Исправлена ошибка в сообщении проверки method-optional-parameter-before-required #1351
|
||||
- Некорректная работа: md-object-attribute-comment-not-exist #1334
|
||||
|
||||
## 0.4.0
|
||||
|
||||
|
@ -39,6 +39,8 @@
|
||||
|
||||
| Версия | 1C:EDT | JDT для разработки | P2-репозиторий |
|
||||
|--------|--------|--------------------|----------------|
|
||||
| 0.7.0 | 2023.3 | 2022-03 | [p2-link](https://edt.1c.ru/downloads/releases/plugins/v8-code-style/edt-2023.3/0.7.0/repo/), [p2-zip](https://edt.1c.ru/downloads/releases/plugins/v8-code-style/edt-2023.3/0.7.0/repo.zip) |
|
||||
| 0.6.0 | 2023.2 | 2022-03 | [p2-link](https://edt.1c.ru/downloads/releases/plugins/v8-code-style/edt-2023.2/0.6.0/repo/), [p2-zip](https://edt.1c.ru/downloads/releases/plugins/v8-code-style/edt-2023.2/0.6.0/repo.zip) |
|
||||
| 0.5.0 | 2023.1 | 2022-03 | [p2-link](https://edt.1c.ru/downloads/releases/plugins/v8-code-style/edt-2023.1/0.5.0/repo/), [p2-zip](https://edt.1c.ru/downloads/releases/plugins/v8-code-style/edt-2023.1/0.5.0/repo.zip) |
|
||||
| 0.4.0 | 2022.2 | 2022-03 | [p2-link](https://edt.1c.ru/downloads/releases/plugins/v8-code-style/edt-2022.2/0.4.0/repo/), [p2-zip](https://edt.1c.ru/downloads/releases/plugins/v8-code-style/edt-2022.2/0.4.0/repo.zip) |
|
||||
| 0.3.0 | 2022.1 | 2022-03 | [p2-link](https://edt.1c.ru/downloads/releases/plugins/v8-code-style/edt-2022.1/0.3.0/repo/), [p2-zip](https://edt.1c.ru/downloads/releases/plugins/v8-code-style/edt-2022.1/0.3.0/repo.zip) |
|
||||
|
10
bom/pom.xml
10
bom/pom.xml
@ -18,7 +18,7 @@
|
||||
|
||||
<groupId>com.e1c.v8codestyle</groupId>
|
||||
<artifactId>bom</artifactId>
|
||||
<version>0.5.0-SNAPSHOT</version>
|
||||
<version>0.7.0-SNAPSHOT</version>
|
||||
<packaging>pom</packaging>
|
||||
|
||||
<name>BOM</name>
|
||||
@ -28,8 +28,8 @@
|
||||
</prerequisites>
|
||||
|
||||
<properties>
|
||||
<tycho.version>2.2.0</tycho.version>
|
||||
<tycho.extras.version>2.2.0</tycho.extras.version>
|
||||
<tycho.version>2.7.0</tycho.version>
|
||||
<tycho.extras.version>2.7.0</tycho.extras.version>
|
||||
<markdown-page-generator.version>2.3.1</markdown-page-generator.version>
|
||||
<!-- Override this property in each project -->
|
||||
<markdown.page.generator.html.file.path>${project.basedir}</markdown.page.generator.html.file.path>
|
||||
@ -48,7 +48,7 @@
|
||||
<maven.build.timestamp.format>'v'yyyyMMdd-HHmm</maven.build.timestamp.format>
|
||||
<qualifier>${maven.build.timestamp}</qualifier>
|
||||
|
||||
<eclipse.p2.latest>http://download.eclipse.org/releases/2020-06/</eclipse.p2.latest>
|
||||
<eclipse.p2.latest>http://download.eclipse.org/releases/2022-03/</eclipse.p2.latest>
|
||||
|
||||
<p2repo.archive.skip>false</p2repo.archive.skip>
|
||||
<org.jacoco.version>0.8.6</org.jacoco.version>
|
||||
@ -104,7 +104,7 @@
|
||||
<artifact>
|
||||
<groupId>com.e1c.v8codestyle</groupId>
|
||||
<artifactId>default</artifactId>
|
||||
<version>0.5.0-SNAPSHOT</version>
|
||||
<version>0.7.0-SNAPSHOT</version>
|
||||
</artifact>
|
||||
</target>
|
||||
<environments>
|
||||
|
@ -12,9 +12,9 @@
|
||||
# 1C-Soft LLC - initial API and implementation
|
||||
#*******************************************************************************
|
||||
|
||||
current_version='0.4.0'
|
||||
new_version='0.5.0'
|
||||
next_version='0.6.0'
|
||||
current_version='0.6.0'
|
||||
new_version='0.7.0'
|
||||
next_version='0.8.0'
|
||||
|
||||
find . -name 'pom.xml' -exec sed -i '' "s/${current_version}-SNAPSHOT/${new_version}-SNAPSHOT/g" {} +
|
||||
|
||||
|
@ -2,7 +2,7 @@ Manifest-Version: 1.0
|
||||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: %pluginName
|
||||
Bundle-SymbolicName: com.e1c.v8codestyle.autosort.ui;singleton:=true
|
||||
Bundle-Version: 0.5.0.qualifier
|
||||
Bundle-Version: 0.7.0.qualifier
|
||||
Bundle-Activator: com.e1c.v8codestyle.internal.autosort.ui.UiPlugin
|
||||
Bundle-Vendor: %providerName
|
||||
Require-Bundle: org.eclipse.ui;bundle-version="[3.118.0,4.0.0)",
|
||||
@ -23,5 +23,5 @@ Import-Package: com._1c.g5.v8.dt.common;version="[6.0.0,7.0.0)",
|
||||
com._1c.g5.v8.dt.metadata.mdclass;version="[9.0.0,10.0.0)",
|
||||
com._1c.g5.wiring;version="[2.2.0,3.0.0)",
|
||||
com._1c.g5.wiring.binder;version="[1.1.0,2.0.0)",
|
||||
com.e1c.v8codestyle.autosort;version="[0.5.0,0.6.0)",
|
||||
com.e1c.v8codestyle.autosort;version="[0.7.0,0.8.0)",
|
||||
com.google.common.base;version="[32.1.0,33.0.0)"
|
||||
|
@ -19,9 +19,9 @@
|
||||
<parent>
|
||||
<groupId>com.e1c.v8codestyle</groupId>
|
||||
<artifactId>bundles</artifactId>
|
||||
<version>0.5.0-SNAPSHOT</version>
|
||||
<version>0.7.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>com.e1c.v8codestyle.autosort.ui</artifactId>
|
||||
<version>0.5.0-SNAPSHOT</version>
|
||||
<version>0.7.0-SNAPSHOT</version>
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
</project>
|
||||
|
@ -21,7 +21,7 @@ import org.eclipse.osgi.util.NLS;
|
||||
final class Messages
|
||||
extends NLS
|
||||
{
|
||||
private static final String BUNDLE_NAME = "com.e1c.v8codestyle.autosort.ui.properties.messages"; //$NON-NLS-1$
|
||||
private static final String BUNDLE_NAME = Messages.class.getPackageName() + ".messages"; //$NON-NLS-1$
|
||||
public static String AutoSortPropertyPage_All_subordinate_objects;
|
||||
public static String AutoSortPropertyPage_All_top_metadata_objects;
|
||||
public static String AutoSortPropertyPage_Attributes_of_object;
|
||||
|
@ -22,7 +22,7 @@ import org.eclipse.osgi.util.NLS;
|
||||
final class Messages
|
||||
extends NLS
|
||||
{
|
||||
private static final String BUNDLE_NAME = "com.e1c.v8codestyle.internal.autosort.ui.messages"; //$NON-NLS-1$
|
||||
private static final String BUNDLE_NAME = Messages.class.getPackageName() + ".messages"; //$NON-NLS-1$
|
||||
|
||||
public static String MdSortPreferenceChangeListener_Job_name;
|
||||
public static String MdSortPreferenceChangeListener_Sort_question;
|
||||
|
@ -2,7 +2,7 @@ Manifest-Version: 1.0
|
||||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: %pluginName
|
||||
Bundle-SymbolicName: com.e1c.v8codestyle.autosort;singleton:=true
|
||||
Bundle-Version: 0.5.0.qualifier
|
||||
Bundle-Version: 0.7.0.qualifier
|
||||
Bundle-Activator: com.e1c.v8codestyle.internal.autosort.AutoSortPlugin
|
||||
Bundle-Vendor: %providerName
|
||||
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.13.0,4.0.0)",
|
||||
@ -30,10 +30,10 @@ Import-Package: com._1c.g5.v8.activitytracking.core;version="[1.0.0,2.0.0)",
|
||||
com._1c.g5.v8.dt.metadata.mdclass;version="[9.0.0,10.0.0)",
|
||||
com.e1c.g5.v8.dt.cli.api;version="[2.0.0,3.0.0)",
|
||||
com.e1c.g5.v8.dt.cli.api.components;version="[2.0.0,3.0.0)",
|
||||
com.e1c.v8codestyle;version="[0.5.0,0.6.0)",
|
||||
com.e1c.v8codestyle;version="[0.7.0,0.8.0)",
|
||||
com.google.common.base;version="[32.1.0,33.0.0)",
|
||||
org.slf4j;version="[1.7.2,2.0.0)"
|
||||
Export-Package: com.e1c.v8codestyle.autosort;version="0.5.0";
|
||||
Export-Package: com.e1c.v8codestyle.autosort;version="0.7.0";
|
||||
uses:="org.eclipse.emf.ecore,
|
||||
org.eclipse.core.runtime,
|
||||
org.eclipse.emf.common.util,
|
||||
|
@ -19,9 +19,9 @@
|
||||
<parent>
|
||||
<groupId>com.e1c.v8codestyle</groupId>
|
||||
<artifactId>bundles</artifactId>
|
||||
<version>0.5.0-SNAPSHOT</version>
|
||||
<version>0.7.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>com.e1c.v8codestyle.autosort</artifactId>
|
||||
<version>0.5.0-SNAPSHOT</version>
|
||||
<version>0.7.0-SNAPSHOT</version>
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
</project>
|
||||
|
@ -21,7 +21,7 @@ import org.eclipse.osgi.util.NLS;
|
||||
final class Messages
|
||||
extends NLS
|
||||
{
|
||||
private static final String BUNDLE_NAME = "com.e1c.v8codestyle.internal.autosort.messages"; //$NON-NLS-1$
|
||||
private static final String BUNDLE_NAME = Messages.class.getPackageName() + ".messages"; //$NON-NLS-1$
|
||||
public static String AutoSortProjectOptionProvider_description;
|
||||
public static String AutoSortProjectOptionProvider_presentation;
|
||||
public static String SortJob_Sort_metadata_objects__0;
|
||||
|
@ -2,7 +2,7 @@ Manifest-Version: 1.0
|
||||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: %pluginName
|
||||
Bundle-SymbolicName: com.e1c.v8codestyle.bsl.ui;singleton:=true
|
||||
Bundle-Version: 0.5.0.qualifier
|
||||
Bundle-Version: 0.7.0.qualifier
|
||||
Bundle-Activator: com.e1c.v8codestyle.internal.bsl.ui.UiPlugin
|
||||
Bundle-Vendor: %providerName
|
||||
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.20.0,4.0.0)",
|
||||
@ -50,5 +50,5 @@ Import-Package: com._1c.g5.ides.ui.texteditor.xtext.embedded;version="[6.0.0,7.0
|
||||
com.e1c.g5.v8.dt.check.qfix;version="[2.0.0,3.0.0)",
|
||||
com.e1c.g5.v8.dt.check.qfix.components;version="[1.0.0,2.0.0)",
|
||||
com.e1c.g5.v8.dt.check.settings;version="[3.0.0,4.0.0)",
|
||||
com.e1c.v8codestyle.bsl;version="[0.5.0,0.6.0)",
|
||||
com.e1c.v8codestyle.bsl.strict;version="[0.5.0,0.6.0)"
|
||||
com.e1c.v8codestyle.bsl;version="[0.7.0,0.8.0)",
|
||||
com.e1c.v8codestyle.bsl.strict;version="[0.7.0,0.8.0)"
|
||||
|
@ -19,9 +19,9 @@
|
||||
<parent>
|
||||
<groupId>com.e1c.v8codestyle</groupId>
|
||||
<artifactId>bundles</artifactId>
|
||||
<version>0.5.0-SNAPSHOT</version>
|
||||
<version>0.7.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>com.e1c.v8codestyle.bsl.ui</artifactId>
|
||||
<version>0.5.0-SNAPSHOT</version>
|
||||
<version>0.7.0-SNAPSHOT</version>
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
</project>
|
||||
|
@ -22,7 +22,7 @@ import org.eclipse.osgi.util.NLS;
|
||||
final class Messages
|
||||
extends NLS
|
||||
{
|
||||
private static final String BUNDLE_NAME = "com.e1c.v8codestyle.bsl.ui.qfix.messages"; //$NON-NLS-1$
|
||||
private static final String BUNDLE_NAME = Messages.class.getPackageName() + ".messages"; //$NON-NLS-1$
|
||||
|
||||
public static String ConvertFunctionToProcedureFix_description;
|
||||
|
||||
|
@ -21,7 +21,7 @@ import org.eclipse.osgi.util.NLS;
|
||||
final class Messages
|
||||
extends NLS
|
||||
{
|
||||
private static final String BUNDLE_NAME = "com.e1c.v8codestyle.internal.bsl.ui.handlers.messages"; //$NON-NLS-1$
|
||||
private static final String BUNDLE_NAME = Messages.class.getPackageName() + ".messages"; //$NON-NLS-1$
|
||||
public static String AddStrictTypeAnnotationHandler_Get_prject_module_files;
|
||||
public static String AddStrictTypeAnnotationHandler_Job_title;
|
||||
public static String AddStrictTypeAnnotationHandler_Update_module_files;
|
||||
|
@ -21,7 +21,7 @@ import org.eclipse.osgi.util.NLS;
|
||||
final class Messages
|
||||
extends NLS
|
||||
{
|
||||
private static final String BUNDLE_NAME = "com.e1c.v8codestyle.internal.bsl.ui.preferences.messages"; //$NON-NLS-1$
|
||||
private static final String BUNDLE_NAME = Messages.class.getPackageName() + ".messages"; //$NON-NLS-1$
|
||||
public static String ModuleStructurePreferencePage_Automatically_create_module_structure;
|
||||
public static String ModuleStructurePreferencePage_Automatically_create_strict_types_module;
|
||||
static
|
||||
|
@ -21,7 +21,7 @@ import org.eclipse.osgi.util.NLS;
|
||||
final class Messages
|
||||
extends NLS
|
||||
{
|
||||
private static final String BUNDLE_NAME = "com.e1c.v8codestyle.internal.bsl.ui.properties.messages"; //$NON-NLS-1$
|
||||
private static final String BUNDLE_NAME = Messages.class.getPackageName() + ".messages"; //$NON-NLS-1$
|
||||
public static String ModuleStructurePropertyPage_Automatically_create_module_structure;
|
||||
public static String ModuleStructurePropertyPage_Automatically_create_strict_types_module;
|
||||
public static String ModuleStructurePropertyPage_Open_template;
|
||||
|
@ -21,7 +21,7 @@ import org.eclipse.osgi.util.NLS;
|
||||
final class Messages
|
||||
extends NLS
|
||||
{
|
||||
private static final String BUNDLE_NAME = "com.e1c.v8codestyle.internal.bsl.ui.views.messages"; //$NON-NLS-1$
|
||||
private static final String BUNDLE_NAME = Messages.class.getPackageName() + ".messages"; //$NON-NLS-1$
|
||||
public static String BslDocCommentView_Description;
|
||||
public static String BslDocCommentView_Field;
|
||||
public static String BslDocCommentView_Link;
|
||||
|
@ -2,7 +2,7 @@ Manifest-Version: 1.0
|
||||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: %pluginName
|
||||
Bundle-SymbolicName: com.e1c.v8codestyle.bsl;singleton:=true
|
||||
Bundle-Version: 0.5.0.qualifier
|
||||
Bundle-Version: 0.7.0.qualifier
|
||||
Bundle-Activator: com.e1c.v8codestyle.internal.bsl.BslPlugin
|
||||
Bundle-Vendor: %providerName
|
||||
Bundle-Localization: plugin
|
||||
@ -54,7 +54,7 @@ Import-Package: com._1c.g5.v8.bm.core;version="[8.0.0,9.0.0)",
|
||||
com.e1c.g5.v8.dt.check.qfix;version="[2.0.0,3.0.0)",
|
||||
com.e1c.g5.v8.dt.check.qfix.components;version="[1.0.0,2.0.0)",
|
||||
com.e1c.g5.v8.dt.check.settings;version="[3.0.0,4.0.0)",
|
||||
com.e1c.v8codestyle;version="[0.5.0,0.6.0)",
|
||||
com.e1c.v8codestyle.check;version="[0.5.0,0.6.0)"
|
||||
Export-Package: com.e1c.v8codestyle.bsl;version="0.5.0",
|
||||
com.e1c.v8codestyle.bsl.strict;version="0.5.0"
|
||||
com.e1c.v8codestyle;version="[0.7.0,0.8.0)",
|
||||
com.e1c.v8codestyle.check;version="[0.7.0,0.8.0)"
|
||||
Export-Package: com.e1c.v8codestyle.bsl;version="0.7.0",
|
||||
com.e1c.v8codestyle.bsl.strict;version="0.7.0"
|
||||
|
@ -2,7 +2,46 @@
|
||||
|
||||
## Неправильно
|
||||
|
||||
```bsl
|
||||
|
||||
// Возвращаемое значение:
|
||||
// пустое значение
|
||||
Функция Неправильно(Параметры) Экспорт
|
||||
// пустая
|
||||
КонецФункции
|
||||
|
||||
// Ссылка на функцию без указания типа возвращаемого значения
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// См. Неправильно()
|
||||
Функция Неправильно2(Параметры) Экспорт
|
||||
// пустая
|
||||
КонецФункции
|
||||
|
||||
// Возвращаемое значение:
|
||||
// НеизвестныйТип - неизвестный возвращаемый тип
|
||||
Функция Неправильно3(Параметры) Экспорт
|
||||
// пустая
|
||||
КонецФункции
|
||||
|
||||
```
|
||||
|
||||
## Правильно
|
||||
|
||||
## См.
|
||||
```bsl
|
||||
|
||||
// Параметры:
|
||||
// См. Правильно2()
|
||||
Функция Правильно(Параметры) Экспорт
|
||||
// пустая
|
||||
КонецФункции
|
||||
|
||||
// Параметры:
|
||||
// Структура - указан возвращаемый тип
|
||||
Функция Правильно2(Параметры) Экспорт
|
||||
// пустая
|
||||
КонецФункции
|
||||
|
||||
```
|
||||
|
||||
## См.
|
||||
|
@ -2,7 +2,25 @@
|
||||
|
||||
## Неправильно
|
||||
|
||||
```bsl
|
||||
// Параметры:
|
||||
// Параметры - Структура1 - некорректый тип
|
||||
Процедура Неправильно(Параметры) Export
|
||||
// пустая
|
||||
КонецПроцедуры
|
||||
|
||||
```
|
||||
|
||||
## Правильно
|
||||
|
||||
```bsl
|
||||
// Параметры:
|
||||
// Параметры - Структура - корректный тип
|
||||
Процедура Правильно(Параметры) Экспорт
|
||||
// пустая
|
||||
КонецПроцедуры
|
||||
|
||||
```
|
||||
|
||||
## См.
|
||||
|
||||
|
@ -0,0 +1,68 @@
|
||||
# Модификация ключа структуры вне функции-конструктора
|
||||
|
||||
Если Структура создана функцией-конструктором, то изменение состава ключей структуры методами
|
||||
`Структура.Вставить("Ключ", ...); Структура.Удалить("Ключ"); Структура.Очистить();`
|
||||
может приводить к ошибкам из-за неопределенности состава данных.
|
||||
|
||||
## Неправильно
|
||||
|
||||
Неправильно удалять все ключи структуры, удалять ключ или заменять ключ внешней структуры.
|
||||
|
||||
```bsl
|
||||
// @strict-types
|
||||
|
||||
Процедура Неправильно1() Экспорт
|
||||
|
||||
ТестоваяСтруктура = Конструктор();
|
||||
ТестоваяСтруктура.Очистить();
|
||||
ТестоваяСтруктура.Вставить("Ключ1", 10);
|
||||
ТестоваяСтруктура.Удалить("Ключ2");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Возвращаемое значение:
|
||||
// Структура:
|
||||
// * Ключ1 - Булево -
|
||||
// * Ключ2 - Число -
|
||||
Функция Конструктор() Экспорт
|
||||
|
||||
ТестоваяСтруктура = новый Структура("Ключ1, Ключ2", Истина, 10);
|
||||
ТестоваяСтруктура.Вставить("Ключ2", 20);
|
||||
|
||||
Возврат ТестоваяСтруктура;
|
||||
|
||||
КонецФункции
|
||||
```
|
||||
|
||||
## Правильно
|
||||
|
||||
Обращаться к существующему ключу необходимо напрямую и устанавливать новое значение.
|
||||
Вместо удаления ключа необходимо устанавливать значение, которое представляет пустое или начальное значение.
|
||||
|
||||
```bsl
|
||||
// @strict-types
|
||||
|
||||
Процедура Правильно1() Экспорт
|
||||
|
||||
ТестоваяСтруктура = Конструктор();
|
||||
ТестоваяСтруктура.Ключ1 = false;
|
||||
ТестоваяСтруктура.Ключ2 = -1;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Возвращаемое значение:
|
||||
// Структура:
|
||||
// * Ключ1 - Булево -
|
||||
// * Ключ2 - Число -
|
||||
Функция Конструктор() Экспорт
|
||||
|
||||
ТестоваяСтруктура = новый Структура("Ключ1, Ключ2", Истина, 10);
|
||||
ТестоваяСтруктура.Вставить("Ключ2", 20);
|
||||
|
||||
Возврат ТестоваяСтруктура;
|
||||
|
||||
КонецФункции
|
||||
```
|
||||
|
||||
## См.
|
||||
|
@ -0,0 +1,69 @@
|
||||
# Structure key modification outside constructor function
|
||||
|
||||
If Structure was created by constructor function then changing the composition of the structure keys using methods
|
||||
`Structure.Insert("Key", ...); Structure.Delete("Key"); Structure.Clear();`
|
||||
can lead to errors due to the uncertainty of data composition.
|
||||
|
||||
|
||||
## Noncompliant Code Example
|
||||
|
||||
Should not clear all structure keys, delete key or replace key of external structure.
|
||||
|
||||
```bsl
|
||||
// @strict-types
|
||||
|
||||
Procedure Incorrect1() Export
|
||||
|
||||
TestStucture = Constructor();
|
||||
TestStucture.Clear();
|
||||
TestStucture.Insert("Key1", 10);
|
||||
TestStucture.Delete("Key2");
|
||||
|
||||
EndProcedure
|
||||
|
||||
// Returns:
|
||||
// Structure:
|
||||
// * Key1 - Boolean -
|
||||
// * Key2 - Number -
|
||||
Function Constructor() Export
|
||||
|
||||
TestStucture = new Structure("Key1, Key2", true, 10);
|
||||
TestStucture.Insert("Key2", 20);
|
||||
|
||||
Return TestStucture;
|
||||
|
||||
EndFunction
|
||||
```
|
||||
|
||||
## Compliant Solution
|
||||
|
||||
Access to existing key directly and set new value.
|
||||
Instead of delete key should set a value that represents blank or initial value.
|
||||
|
||||
```bsl
|
||||
// @strict-types
|
||||
|
||||
Procedure Correct1() Export
|
||||
|
||||
TestStucture = Constructor();
|
||||
TestStucture.Key1 = false;
|
||||
TestStucture.Key2 = -1;
|
||||
|
||||
EndProcedure
|
||||
|
||||
// Returns:
|
||||
// Structure:
|
||||
// * Key1 - Boolean -
|
||||
// * Key2 - Number -
|
||||
Function Constructor() Export
|
||||
|
||||
TestStucture = new Structure("Key1, Key2", true, 10);
|
||||
TestStucture.Insert("Key2", 10);
|
||||
|
||||
Return TestStucture;
|
||||
|
||||
EndFunction
|
||||
```
|
||||
|
||||
## See
|
||||
|
@ -132,6 +132,10 @@
|
||||
category="com.e1c.v8codestyle.bsl.strict"
|
||||
class="com.e1c.v8codestyle.internal.bsl.ExecutableExtensionFactory:com.e1c.v8codestyle.bsl.strict.check.TypedValueAddingToUntypedCollectionCheck">
|
||||
</check>
|
||||
<check
|
||||
category="com.e1c.v8codestyle.bsl.strict"
|
||||
class="com.e1c.v8codestyle.internal.bsl.ExecutableExtensionFactory:com.e1c.v8codestyle.bsl.strict.check.StructureKeyModificationCheck">
|
||||
</check>
|
||||
<check
|
||||
category="com.e1c.v8codestyle.bsl"
|
||||
class="com.e1c.v8codestyle.internal.bsl.ExecutableExtensionFactory:com.e1c.v8codestyle.bsl.check.EventHandlerBooleanParamCheck">
|
||||
|
@ -19,10 +19,10 @@
|
||||
<parent>
|
||||
<groupId>com.e1c.v8codestyle</groupId>
|
||||
<artifactId>bundles</artifactId>
|
||||
<version>0.5.0-SNAPSHOT</version>
|
||||
<version>0.7.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>com.e1c.v8codestyle.bsl</artifactId>
|
||||
<version>0.5.0-SNAPSHOT</version>
|
||||
<version>0.7.0-SNAPSHOT</version>
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
|
||||
<properties>
|
||||
|
@ -164,7 +164,7 @@ public class AccessibilityAtClientInObjectModuleCheck
|
||||
private boolean allowManagerEventAtClient(EObject object, Module module, ICheckParameters parameters)
|
||||
{
|
||||
if (object instanceof Method && module.getModuleType() == ModuleType.MANAGER_MODULE
|
||||
&& ((Method)object).isEvent())
|
||||
&& (((Method)object).isEvent() || !((Method)object).getPragmas().isEmpty()))
|
||||
{
|
||||
String parameterMethodNames = parameters.getString(PARAMETER_ALLOW_MANAGER_EVENTS_AT_CLIENT);
|
||||
if (StringUtils.isEmpty(parameterMethodNames))
|
||||
@ -175,8 +175,11 @@ public class AccessibilityAtClientInObjectModuleCheck
|
||||
Method method = (Method)object;
|
||||
Set<String> methodNames = new TreeSet<>(String.CASE_INSENSITIVE_ORDER);
|
||||
methodNames.addAll(List.of(parameterMethodNames.split(",\\s*"))); //$NON-NLS-1$
|
||||
return methodNames.contains(method.getName());
|
||||
|
||||
return methodNames.contains(method.getName()) || !method.getPragmas().isEmpty() && method.getPragmas()
|
||||
.stream()
|
||||
.map(p -> p.getValue().replace("\"", "")) //$NON-NLS-1$ //$NON-NLS-2$
|
||||
.filter(StringUtils::isNotBlank)
|
||||
.anyMatch(methodNames::contains);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
@ -240,7 +240,7 @@ public final class CodeAfterAsyncCallCheck
|
||||
}
|
||||
else
|
||||
{
|
||||
statements = getStatementsFromContainer(container);
|
||||
//statements = getStatementsFromContainer(container);
|
||||
}
|
||||
return statements;
|
||||
}
|
||||
|
@ -23,7 +23,7 @@ import org.eclipse.osgi.util.NLS;
|
||||
final class Messages
|
||||
extends NLS
|
||||
{
|
||||
private static final String BUNDLE_NAME = "com.e1c.v8codestyle.bsl.check.messages"; //$NON-NLS-1$
|
||||
private static final String BUNDLE_NAME = Messages.class.getPackageName() + ".messages"; //$NON-NLS-1$
|
||||
|
||||
public static String AccessibilityAtClientInObjectModuleCheck_Declared_variable_accessible_AtClient;
|
||||
|
||||
|
@ -13,12 +13,14 @@
|
||||
package com.e1c.v8codestyle.bsl.comment.check;
|
||||
|
||||
import java.text.MessageFormat;
|
||||
import java.util.List;
|
||||
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
|
||||
import com._1c.g5.v8.dt.bsl.documentation.comment.BslDocumentationComment;
|
||||
import com._1c.g5.v8.dt.bsl.documentation.comment.IDescriptionPart;
|
||||
import com._1c.g5.v8.dt.bsl.documentation.comment.TypeSection.FieldDefinition;
|
||||
import com._1c.g5.v8.dt.bsl.documentation.comment.TypeSection.TypeDefinition;
|
||||
import com._1c.g5.v8.dt.common.StringUtils;
|
||||
import com._1c.g5.v8.dt.core.platform.IBmModelManager;
|
||||
import com._1c.g5.v8.dt.core.platform.IResourceLookup;
|
||||
@ -84,5 +86,35 @@ public class FieldDefinitionNameCheck
|
||||
resultAceptor.addIssue(message, fieldDef.getLineNumber(), fieldDef.getNameOffset(),
|
||||
fieldDef.getName().length());
|
||||
}
|
||||
else if (!isUnique(fieldDef))
|
||||
{
|
||||
String message = MessageFormat.format(Messages.FieldDefinitionNameCheck_Field_name__N__is_not_unique,
|
||||
fieldDef.getName());
|
||||
resultAceptor.addIssue(message, fieldDef.getLineNumber(), fieldDef.getNameOffset(),
|
||||
fieldDef.getName().length());
|
||||
}
|
||||
}
|
||||
|
||||
private boolean isUnique(FieldDefinition fieldDef)
|
||||
{
|
||||
IDescriptionPart parent = fieldDef.getParent();
|
||||
if (parent instanceof TypeDefinition)
|
||||
{
|
||||
List<FieldDefinition> fields = ((TypeDefinition)parent).getFieldDefinitionExtension();
|
||||
String name = fieldDef.getName();
|
||||
for (FieldDefinition field : fields)
|
||||
{
|
||||
if (field == fieldDef)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else if (name.equalsIgnoreCase(field.getName()))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -21,7 +21,7 @@ import org.eclipse.osgi.util.NLS;
|
||||
final class Messages
|
||||
extends NLS
|
||||
{
|
||||
private static final String BUNDLE_NAME = "com.e1c.v8codestyle.bsl.comment.check.messages"; //$NON-NLS-1$
|
||||
private static final String BUNDLE_NAME = Messages.class.getPackageName() + ".messages"; //$NON-NLS-1$
|
||||
public static String CollectionTypeDefinitionCheck_Collection_type_should_have_contain_item_type;
|
||||
public static String CollectionTypeDefinitionCheck_Collection_types;
|
||||
public static String CollectionTypeDefinitionCheck_description;
|
||||
@ -37,6 +37,7 @@ final class Messages
|
||||
public static String ExportMethodCommentDescriptionCheck_title;
|
||||
public static String FieldDefinitionNameCheck_description;
|
||||
public static String FieldDefinitionNameCheck_Field_name__N__is_incorrect_name;
|
||||
public static String FieldDefinitionNameCheck_Field_name__N__is_not_unique;
|
||||
public static String FieldDefinitionNameCheck_title;
|
||||
public static String FieldDefinitionTypeCheck_description;
|
||||
public static String FieldDefinitionTypeCheck_Field_M_has_no_type_definition;
|
||||
|
@ -40,6 +40,8 @@ ExportMethodCommentDescriptionCheck_title=Missing Description section in the com
|
||||
|
||||
FieldDefinitionNameCheck_Field_name__N__is_incorrect_name = Field name "{0}" is incorrect name
|
||||
|
||||
FieldDefinitionNameCheck_Field_name__N__is_not_unique = Field name "{0}" is not unique
|
||||
|
||||
FieldDefinitionNameCheck_description = Documentation comment field is correct name
|
||||
|
||||
FieldDefinitionNameCheck_title = Documentation comment field is correct name
|
||||
|
@ -40,6 +40,8 @@ ExportMethodCommentDescriptionCheck_title=В комментарии к эксп
|
||||
|
||||
FieldDefinitionNameCheck_Field_name__N__is_incorrect_name = Имя поля "{0}" является некорректным
|
||||
|
||||
FieldDefinitionNameCheck_Field_name__N__is_not_unique = Имя поля "{0}" не уникально
|
||||
|
||||
FieldDefinitionNameCheck_description = Поле документирующего комментария является корректным именем
|
||||
|
||||
FieldDefinitionNameCheck_title = Поле документирующего комментария является корректным именем
|
||||
|
@ -21,7 +21,7 @@ import org.eclipse.osgi.util.NLS;
|
||||
final class Messages
|
||||
extends NLS
|
||||
{
|
||||
private static final String BUNDLE_NAME = "com.e1c.v8codestyle.bsl.qfix.messages"; //$NON-NLS-1$
|
||||
private static final String BUNDLE_NAME = Messages.class.getPackageName() + ".messages"; //$NON-NLS-1$
|
||||
public static String ConsecutiveEmptyLinesFix_Description;
|
||||
public static String ConsecutiveEmptyLinesFix_Details;
|
||||
public static String RemoveExportFix_Remove_export_keyword_des;
|
||||
|
@ -21,7 +21,7 @@ import org.eclipse.osgi.util.NLS;
|
||||
final class Messages
|
||||
extends NLS
|
||||
{
|
||||
private static final String BUNDLE_NAME = "com.e1c.v8codestyle.bsl.strict.check.messages"; //$NON-NLS-1$
|
||||
private static final String BUNDLE_NAME = Messages.class.getPackageName() + ".messages"; //$NON-NLS-1$
|
||||
public static String AbstractDynamicFeatureAccessTypeCheck_Skip_source_object_types;
|
||||
public static String DocCommentFieldTypeCheck_description;
|
||||
public static String DocCommentFieldTypeCheck_Field__N__has_no_type_definition;
|
||||
@ -58,6 +58,14 @@ final class Messages
|
||||
public static String StructureCtorValueTypeCheck_Structure_key__N__K__has_no_default_value_initializer;
|
||||
public static String StructureCtorValueTypeCheck_Structure_key__N__K__value_initialized_with_empty_types;
|
||||
public static String StructureCtorValueTypeCheck_title;
|
||||
public static String StructureKeyModificationCheck_Check_Clear_method;
|
||||
public static String StructureKeyModificationCheck_Check_Delete_method;
|
||||
public static String StructureKeyModificationCheck_Check_Insert_method;
|
||||
public static String StructureKeyModificationCheck_description;
|
||||
public static String StructureKeyModificationCheck_error_message_Clear;
|
||||
public static String StructureKeyModificationCheck_error_message_Delete;
|
||||
public static String StructureKeyModificationCheck_error_message_Insert;
|
||||
public static String StructureKeyModificationCheck_title;
|
||||
public static String TypedValueAddingToUntypedCollectionCheck_description;
|
||||
public static String TypedValueAddingToUntypedCollectionCheck_title;
|
||||
public static String VariableTypeCheck_description;
|
||||
|
@ -0,0 +1,281 @@
|
||||
/*******************************************************************************
|
||||
* 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.bsl.strict.check;
|
||||
|
||||
import static com._1c.g5.v8.dt.bsl.model.BslPackage.Literals.DYNAMIC_FEATURE_ACCESS;
|
||||
import static com._1c.g5.v8.dt.bsl.model.BslPackage.Literals.FEATURE_ACCESS__NAME;
|
||||
|
||||
import java.text.MessageFormat;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
import org.eclipse.emf.common.util.URI;
|
||||
import org.eclipse.emf.ecore.util.EcoreUtil;
|
||||
import org.eclipse.xtext.EcoreUtil2;
|
||||
import org.eclipse.xtext.naming.IQualifiedNameConverter;
|
||||
import org.eclipse.xtext.nodemodel.ICompositeNode;
|
||||
import org.eclipse.xtext.nodemodel.util.NodeModelUtils;
|
||||
import org.eclipse.xtext.util.Pair;
|
||||
|
||||
import com._1c.g5.v8.bm.core.IBmTransaction;
|
||||
import com._1c.g5.v8.dt.bsl.common.IBslPreferences;
|
||||
import com._1c.g5.v8.dt.bsl.common.IStaticExpressionValueComputer;
|
||||
import com._1c.g5.v8.dt.bsl.common.IStringLiteralTextProvider;
|
||||
import com._1c.g5.v8.dt.bsl.model.BslDerivedPropertySource;
|
||||
import com._1c.g5.v8.dt.bsl.model.DynamicFeatureAccess;
|
||||
import com._1c.g5.v8.dt.bsl.model.Expression;
|
||||
import com._1c.g5.v8.dt.bsl.model.Invocation;
|
||||
import com._1c.g5.v8.dt.bsl.model.Method;
|
||||
import com._1c.g5.v8.dt.bsl.model.util.BslUtil;
|
||||
import com._1c.g5.v8.dt.common.StringUtils;
|
||||
import com._1c.g5.v8.dt.core.platform.IBmModelManager;
|
||||
import com._1c.g5.v8.dt.core.platform.IResourceLookup;
|
||||
import com._1c.g5.v8.dt.mcore.DerivedProperty;
|
||||
import com._1c.g5.v8.dt.mcore.Property;
|
||||
import com._1c.g5.v8.dt.mcore.TypeItem;
|
||||
import com._1c.g5.v8.dt.mcore.util.Environments;
|
||||
import com._1c.g5.v8.dt.mcore.util.McoreUtil;
|
||||
import com._1c.g5.v8.dt.platform.IEObjectTypeNames;
|
||||
import com.e1c.g5.dt.core.api.naming.INamingService;
|
||||
import com.e1c.g5.v8.dt.check.CheckComplexity;
|
||||
import com.e1c.g5.v8.dt.check.ICheckParameters;
|
||||
import com.e1c.g5.v8.dt.check.components.ModuleTopObjectNameFilterExtension;
|
||||
import com.e1c.g5.v8.dt.check.settings.IssueSeverity;
|
||||
import com.e1c.g5.v8.dt.check.settings.IssueType;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
/**
|
||||
* The check of structure key modification using methods Clear(), Delete() and Insert()
|
||||
* for structure created with external constructor function.
|
||||
*
|
||||
* @author Dmitriy Marmyshev
|
||||
*/
|
||||
public class StructureKeyModificationCheck
|
||||
extends AbstractTypeCheck
|
||||
{
|
||||
private static final String CHECK_ID = "structure-key-modification"; //$NON-NLS-1$
|
||||
|
||||
private static final String PARAM_CHECK_INSERT = "checkInsert"; //$NON-NLS-1$
|
||||
private static final String PARAM_CHECK_DELETE = "checkDelete"; //$NON-NLS-1$
|
||||
private static final String PARAM_CHECK_CLEAR = "checkClear"; //$NON-NLS-1$
|
||||
|
||||
private static final String INSERT_RU = "Вставить"; //$NON-NLS-1$
|
||||
private static final String INSERT = "Insert"; //$NON-NLS-1$
|
||||
|
||||
private static final String CLEAR_RU = "Очистить"; //$NON-NLS-1$
|
||||
private static final String CLEAR = "Clear"; //$NON-NLS-1$
|
||||
|
||||
private static final String DELETE_RU = "Удалить"; //$NON-NLS-1$
|
||||
private static final String DELETE = "Delete"; //$NON-NLS-1$
|
||||
|
||||
private static final String MODULE_URI_FRAGMENT = "/0"; //$NON-NLS-1$
|
||||
|
||||
private final IStaticExpressionValueComputer staticExpressionValueComputer;
|
||||
|
||||
@Inject
|
||||
public StructureKeyModificationCheck(IResourceLookup resourceLookup, IBslPreferences bslPreferences,
|
||||
IQualifiedNameConverter qualifiedNameConverter, INamingService namingService, IBmModelManager bmModelManager,
|
||||
IStaticExpressionValueComputer staticExpressionValueComputer)
|
||||
{
|
||||
super(resourceLookup, bslPreferences, qualifiedNameConverter, namingService, bmModelManager);
|
||||
this.staticExpressionValueComputer = staticExpressionValueComputer;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getCheckId()
|
||||
{
|
||||
return CHECK_ID;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void configureCheck(CheckConfigurer builder)
|
||||
{
|
||||
builder.title(Messages.StructureKeyModificationCheck_title)
|
||||
.description(Messages.StructureKeyModificationCheck_description)
|
||||
.complexity(CheckComplexity.NORMAL)
|
||||
.severity(IssueSeverity.MAJOR)
|
||||
.issueType(IssueType.CODE_STYLE)
|
||||
.extension(new ModuleTopObjectNameFilterExtension())
|
||||
.extension(new StrictTypeAnnotationCheckExtension())
|
||||
.module()
|
||||
.checkedObjectType(DYNAMIC_FEATURE_ACCESS)
|
||||
.parameter(PARAM_CHECK_INSERT, Boolean.class, Boolean.TRUE.toString(),
|
||||
Messages.StructureKeyModificationCheck_Check_Insert_method)
|
||||
.parameter(PARAM_CHECK_DELETE, Boolean.class, Boolean.TRUE.toString(),
|
||||
Messages.StructureKeyModificationCheck_Check_Delete_method)
|
||||
.parameter(PARAM_CHECK_CLEAR, Boolean.class, Boolean.TRUE.toString(),
|
||||
Messages.StructureKeyModificationCheck_Check_Clear_method);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void check(Object object, ResultAcceptor resultAcceptor, ICheckParameters parameters,
|
||||
IBmTransaction bmTransaction, IProgressMonitor monitor)
|
||||
{
|
||||
DynamicFeatureAccess fa = (DynamicFeatureAccess)object;
|
||||
String methodName = fa.getName();
|
||||
if (StringUtils.isBlank(methodName))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Invocation inv = BslUtil.getInvocation(fa);
|
||||
if (inv == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Expression source = fa.getSource();
|
||||
|
||||
boolean isInsert = isInsert(methodName);
|
||||
if (parameters.getBoolean(PARAM_CHECK_INSERT) && isInsert
|
||||
|| parameters.getBoolean(PARAM_CHECK_DELETE) && isDelete(methodName))
|
||||
{
|
||||
if (inv.getParams().isEmpty())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Environments actualEnvs = getActualEnvironments(fa);
|
||||
if (actualEnvs.isEmpty())
|
||||
{
|
||||
return;
|
||||
}
|
||||
List<TypeItem> sourceTypes = computeTypes(source, actualEnvs).stream()
|
||||
.filter(t -> IEObjectTypeNames.STRUCTURE.equals(McoreUtil.getTypeName(t)))
|
||||
.collect(Collectors.toList());
|
||||
if (sourceTypes.isEmpty())
|
||||
{
|
||||
return;
|
||||
}
|
||||
IStringLiteralTextProvider structureKey =
|
||||
staticExpressionValueComputer.getStringContent(inv.getParams().get(0));
|
||||
if (structureKey != null && StringUtils.isNotBlank(structureKey.getText()))
|
||||
{
|
||||
String keyName = structureKey.getText();
|
||||
|
||||
if (isExternalStructureKey(sourceTypes, source, keyName, monitor))
|
||||
{
|
||||
String message = isInsert ? Messages.StructureKeyModificationCheck_error_message_Insert
|
||||
: Messages.StructureKeyModificationCheck_error_message_Delete;
|
||||
message = MessageFormat.format(message, keyName);
|
||||
resultAcceptor.addIssue(message, FEATURE_ACCESS__NAME);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else if (parameters.getBoolean(PARAM_CHECK_CLEAR) && inv.getParams().isEmpty() && isClear(methodName))
|
||||
{
|
||||
Environments actualEnvs = getActualEnvironments(fa);
|
||||
if (actualEnvs.isEmpty())
|
||||
{
|
||||
return;
|
||||
}
|
||||
List<TypeItem> sourceTypes = computeTypes(source, actualEnvs).stream()
|
||||
.filter(t -> IEObjectTypeNames.STRUCTURE.equals(McoreUtil.getTypeName(t)))
|
||||
.collect(Collectors.toList());
|
||||
if (sourceTypes.isEmpty())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Optional<DerivedProperty> firstProperty = getFirstExternalKey(sourceTypes, fa);
|
||||
if (!monitor.isCanceled() && firstProperty.isPresent())
|
||||
{
|
||||
String message = Messages.StructureKeyModificationCheck_error_message_Clear;
|
||||
resultAcceptor.addIssue(message, FEATURE_ACCESS__NAME);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private Optional<DerivedProperty> getFirstExternalKey(List<TypeItem> sourceTypes, Expression context)
|
||||
{
|
||||
return dynamicFeatureAccessComputer.getAllProperties(sourceTypes, context.eResource())
|
||||
.stream()
|
||||
.flatMap(e -> e.getFirst().stream())
|
||||
.filter(e -> e instanceof DerivedProperty
|
||||
&& ((DerivedProperty)e).getSource() instanceof BslDerivedPropertySource
|
||||
&& isExternalStructureKey((DerivedProperty)e, context))
|
||||
.map(DerivedProperty.class::cast)
|
||||
.findAny();
|
||||
}
|
||||
|
||||
private boolean isExternalStructureKey(Collection<TypeItem> structureTypes, Expression currentMethodObject,
|
||||
String keyName, IProgressMonitor monitor)
|
||||
{
|
||||
Collection<Pair<Collection<Property>, TypeItem>> allProperties =
|
||||
dynamicFeatureAccessComputer.getAllProperties(structureTypes, currentMethodObject.eResource());
|
||||
for (Pair<Collection<Property>, TypeItem> pair : allProperties)
|
||||
{
|
||||
for (Property property : pair.getFirst())
|
||||
{
|
||||
if (monitor.isCanceled())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (property instanceof DerivedProperty && keyName.equalsIgnoreCase(property.getName())
|
||||
&& ((DerivedProperty)property).getSource() instanceof BslDerivedPropertySource)
|
||||
{
|
||||
return isExternalStructureKey((DerivedProperty)property, currentMethodObject);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private boolean isExternalStructureKey(DerivedProperty property, Expression currentMethodObject)
|
||||
{
|
||||
BslDerivedPropertySource source = (BslDerivedPropertySource)property.getSource();
|
||||
|
||||
URI uri = EcoreUtil.getURI(currentMethodObject).trimFragment().appendFragment(MODULE_URI_FRAGMENT);
|
||||
if (source.getModuleUri() != null && !source.getModuleUri().equals(uri.toString()))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
Method method = EcoreUtil2.getContainerOfType(currentMethodObject, Method.class);
|
||||
|
||||
String currentMethodName = method == null ? StringUtils.EMPTY : method.getName();
|
||||
if (!currentMethodName.equalsIgnoreCase(source.getMethodName()))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else if (source.getLocalOffset() > 0 && method != null)
|
||||
{
|
||||
ICompositeNode node = NodeModelUtils.findActualNodeFor(method);
|
||||
return source.getLocalOffset() < node.getOffset() - node.getTotalOffset();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private boolean isDelete(String methodName)
|
||||
{
|
||||
return DELETE_RU.equalsIgnoreCase(methodName) || DELETE.equalsIgnoreCase(methodName);
|
||||
}
|
||||
|
||||
private boolean isInsert(String methodName)
|
||||
{
|
||||
return INSERT_RU.equalsIgnoreCase(methodName) || INSERT.equalsIgnoreCase(methodName);
|
||||
}
|
||||
|
||||
private boolean isClear(String methodName)
|
||||
{
|
||||
return CLEAR_RU.equalsIgnoreCase(methodName) || CLEAR.equalsIgnoreCase(methodName);
|
||||
}
|
||||
|
||||
}
|
@ -84,6 +84,22 @@ StructureCtorValueTypeCheck_description = Checks Structure constructor string li
|
||||
|
||||
StructureCtorValueTypeCheck_title = Structure constructor value types
|
||||
|
||||
StructureKeyModificationCheck_Check_Clear_method = Check Clear() method
|
||||
|
||||
StructureKeyModificationCheck_Check_Delete_method = Check Delete() method
|
||||
|
||||
StructureKeyModificationCheck_Check_Insert_method = Check Insert() method
|
||||
|
||||
StructureKeyModificationCheck_description = Structure key modification outside constructor function
|
||||
|
||||
StructureKeyModificationCheck_error_message_Clear = Should not clear external structure keys
|
||||
|
||||
StructureKeyModificationCheck_error_message_Delete = Should not delete external structure key "{0}"
|
||||
|
||||
StructureKeyModificationCheck_error_message_Insert = Should not replace external structure key "{0}" with new value type
|
||||
|
||||
StructureKeyModificationCheck_title = Structure key modification outside constructor function
|
||||
|
||||
TypedValueAddingToUntypedCollectionCheck_description = Typed value is added to untyped collection
|
||||
|
||||
TypedValueAddingToUntypedCollectionCheck_title = Typed value is added to untyped collection
|
||||
|
@ -84,6 +84,22 @@ StructureCtorValueTypeCheck_description = Проверяет строковый
|
||||
|
||||
StructureCtorValueTypeCheck_title = Типизация значений в конструкторе структуры
|
||||
|
||||
StructureKeyModificationCheck_Check_Clear_method = Проверять метод Очистить()
|
||||
|
||||
StructureKeyModificationCheck_Check_Delete_method = Проверять метод Удалить()
|
||||
|
||||
StructureKeyModificationCheck_Check_Insert_method = Проверять метод Вставить()
|
||||
|
||||
StructureKeyModificationCheck_description = Модификация ключа структуры вне функции-конструктора
|
||||
|
||||
StructureKeyModificationCheck_error_message_Clear = Нельзя очищать ключи внешней структуры
|
||||
|
||||
StructureKeyModificationCheck_error_message_Delete = Нельзя удалять ключ "{0}" внешней структуры
|
||||
|
||||
StructureKeyModificationCheck_error_message_Insert = Нельзя заменять ключ "{0}" внешней структуры новым типом значения
|
||||
|
||||
StructureKeyModificationCheck_title = Модификация ключа структуры вне функции-конструктора
|
||||
|
||||
TypedValueAddingToUntypedCollectionCheck_description = Добавление типизированного значения в нетипизированную коллекцию
|
||||
|
||||
TypedValueAddingToUntypedCollectionCheck_title = Добавление типизированного значения в нетипизированную коллекцию
|
||||
|
@ -21,7 +21,7 @@ import org.eclipse.osgi.util.NLS;
|
||||
final class Messages
|
||||
extends NLS
|
||||
{
|
||||
private static final String BUNDLE_NAME = "com.e1c.v8codestyle.bsl.strict.fix.messages"; //$NON-NLS-1$
|
||||
private static final String BUNDLE_NAME = Messages.class.getPackageName() + ".messages"; //$NON-NLS-1$
|
||||
public static String RemoveStrictTypesAnnotationFix_Description;
|
||||
public static String RemoveStrictTypesAnnotationFix_Details;
|
||||
static
|
||||
|
@ -27,6 +27,7 @@ import org.eclipse.xtext.scoping.IScopeProvider;
|
||||
|
||||
import com._1c.g5.v8.dt.bm.xtext.BmAwareResourceSetProvider;
|
||||
import com._1c.g5.v8.dt.bsl.common.IBslPreferences;
|
||||
import com._1c.g5.v8.dt.bsl.common.IStaticExpressionValueComputer;
|
||||
import com._1c.g5.v8.dt.bsl.contextdef.IBslModuleContextDefService;
|
||||
import com._1c.g5.v8.dt.bsl.documentation.comment.BslMultiLineCommentDocumentationProvider;
|
||||
import com._1c.g5.v8.dt.bsl.model.resource.owner.IBslOwnerComputerService;
|
||||
@ -100,5 +101,6 @@ class ExternalDependenciesModule
|
||||
bind(IConfigurationProvider.class).toService();
|
||||
bind(BslGrammarAccess.class).toProvider(() -> rsp.get(BslGrammarAccess.class));
|
||||
bind(BmAwareResourceSetProvider.class).toProvider(() -> rsp.get(BmAwareResourceSetProvider.class));
|
||||
bind(IStaticExpressionValueComputer.class).toProvider(() -> rsp.get(IStaticExpressionValueComputer.class));
|
||||
}
|
||||
}
|
||||
|
@ -21,7 +21,7 @@ import org.eclipse.osgi.util.NLS;
|
||||
final class Messages
|
||||
extends NLS
|
||||
{
|
||||
private static final String BUNDLE_NAME = "com.e1c.v8codestyle.internal.bsl.messages"; //$NON-NLS-1$
|
||||
private static final String BUNDLE_NAME = Messages.class.getPackageName() + ".messages"; //$NON-NLS-1$
|
||||
public static String ModuleStructureProjectOptionProvider_Description;
|
||||
public static String ModuleStructureProjectOptionProvider_presentation;
|
||||
public static String StrictTypesProjectOptionProvider_description;
|
||||
|
@ -2,7 +2,7 @@ Manifest-Version: 1.0
|
||||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: %pluginName
|
||||
Bundle-SymbolicName: com.e1c.v8codestyle.form;singleton:=true
|
||||
Bundle-Version: 0.5.0.qualifier
|
||||
Bundle-Version: 0.7.0.qualifier
|
||||
Bundle-Activator: com.e1c.v8codestyle.internal.form.CorePlugin
|
||||
Bundle-Vendor: %providerName
|
||||
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.20.0,4.0.0)",
|
||||
@ -43,5 +43,5 @@ Import-Package: com._1c.g5.v8.bm.core;version="[8.0.0,9.0.0)",
|
||||
com.e1c.g5.v8.dt.check.qfix;version="[2.0.0,3.0.0)",
|
||||
com.e1c.g5.v8.dt.check.qfix.components;version="[1.0.0,2.0.0)",
|
||||
com.e1c.g5.v8.dt.check.settings;version="[3.0.0,4.0.0)",
|
||||
com.e1c.v8codestyle.check;version="[0.5.0,0.6.0)",
|
||||
com.e1c.v8codestyle.check;version="[0.7.0,0.8.0)",
|
||||
com.google.common.base;version="[32.1.0,33.0.0)"
|
||||
|
@ -18,10 +18,10 @@
|
||||
<parent>
|
||||
<groupId>com.e1c.v8codestyle</groupId>
|
||||
<artifactId>bundles</artifactId>
|
||||
<version>0.5.0-SNAPSHOT</version>
|
||||
<version>0.7.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>com.e1c.v8codestyle.form</artifactId>
|
||||
<version>0.5.0-SNAPSHOT</version>
|
||||
<version>0.7.0-SNAPSHOT</version>
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
|
||||
<properties>
|
||||
|
@ -22,7 +22,7 @@ import org.eclipse.osgi.util.NLS;
|
||||
final class Messages
|
||||
extends NLS
|
||||
{
|
||||
private static final String BUNDLE_NAME = "com.e1c.v8codestyle.form.check.messages"; //$NON-NLS-1$
|
||||
private static final String BUNDLE_NAME = Messages.class.getPackageName() + ".messages"; //$NON-NLS-1$
|
||||
public static String DataCompositionConditionalAppearanceUseCheck_description;
|
||||
public static String DataCompositionConditionalAppearanceUseCheck_Form;
|
||||
public static String DataCompositionConditionalAppearanceUseCheck_Form_attribute;
|
||||
|
@ -2,7 +2,7 @@ Manifest-Version: 1.0
|
||||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: %pluginName
|
||||
Bundle-SymbolicName: com.e1c.v8codestyle.md.ui;singleton:=true
|
||||
Bundle-Version: 0.5.0.qualifier
|
||||
Bundle-Version: 0.7.0.qualifier
|
||||
Bundle-Activator: com.e1c.v8codestyle.internal.md.ui.UiPlugin
|
||||
Bundle-Vendor: %providerName
|
||||
Require-Bundle: org.eclipse.ui;bundle-version="[3.119.0,4.0.0)",
|
||||
@ -27,5 +27,5 @@ Import-Package: com._1c.g5.v8.dt.common;version="[6.4.0,7.0.0)",
|
||||
com._1c.g5.v8.dt.ui.wizards;version="[8.0.0,9.0.0)",
|
||||
com._1c.g5.wiring;version="[2.2.0,3.0.0)",
|
||||
com._1c.g5.wiring.binder;version="[1.1.0,2.0.0)",
|
||||
com.e1c.v8codestyle.md;version="[0.5.0,0.6.0)",
|
||||
com.e1c.v8codestyle.md;version="[0.7.0,0.8.0)",
|
||||
com.google.common.base;version="[32.1.0,33.0.0)"
|
||||
|
@ -18,10 +18,10 @@
|
||||
<parent>
|
||||
<groupId>com.e1c.v8codestyle</groupId>
|
||||
<artifactId>bundles</artifactId>
|
||||
<version>0.5.0-SNAPSHOT</version>
|
||||
<version>0.7.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>com.e1c.v8codestyle.md.ui</artifactId>
|
||||
<version>0.5.0-SNAPSHOT</version>
|
||||
<version>0.7.0-SNAPSHOT</version>
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
|
||||
</project>
|
||||
|
@ -21,7 +21,7 @@ import org.eclipse.osgi.util.NLS;
|
||||
final class Messages
|
||||
extends NLS
|
||||
{
|
||||
private static final String BUNDLE_NAME = "com.e1c.v8codestyle.md.ui.messages"; //$NON-NLS-1$
|
||||
private static final String BUNDLE_NAME = Messages.class.getPackageName() + ".messages"; //$NON-NLS-1$
|
||||
public static String CommonModuleTypeDtNewWizardPage_Choose_valid_common_module_type_from_list;
|
||||
public static String CommonModuleTypeDtNewWizardPage_Select_common_module_type;
|
||||
public static String CommonModuleTypeDtNewWizardPage_Select_type;
|
||||
|
@ -2,7 +2,7 @@ Manifest-Version: 1.0
|
||||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: %pluginName
|
||||
Bundle-SymbolicName: com.e1c.v8codestyle.md;singleton:=true
|
||||
Bundle-Version: 0.5.0.qualifier
|
||||
Bundle-Version: 0.7.0.qualifier
|
||||
Bundle-Activator: com.e1c.v8codestyle.internal.md.CorePlugin
|
||||
Bundle-Vendor: %providerName
|
||||
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.18.0,4.0.0)",
|
||||
@ -30,6 +30,6 @@ Import-Package: com._1c.g5.v8.bm.core;version="[8.0.0,9.0.0)",
|
||||
com.e1c.g5.v8.dt.check.context;version="[2.0.0,3.0.0)",
|
||||
com.e1c.g5.v8.dt.check.ext;version="[1.0.0,2.0.0)",
|
||||
com.e1c.g5.v8.dt.check.settings;version="[3.0.0,4.0.0)",
|
||||
com.e1c.v8codestyle.check;version="[0.5.0,0.6.0)",
|
||||
com.e1c.v8codestyle.check;version="[0.7.0,0.8.0)",
|
||||
com.google.common.base;version="[32.1.0,33.0.0)"
|
||||
Export-Package: com.e1c.v8codestyle.md;version="0.5.0"
|
||||
Export-Package: com.e1c.v8codestyle.md;version="0.7.0"
|
||||
|
@ -0,0 +1,19 @@
|
||||
# Numeric data maximum length exceeded (31 symbols)
|
||||
|
||||
Application should equally work with all DBs, operation systems, web-browsers
|
||||
and various modes of work which 1C:Enterprise supports.
|
||||
|
||||
## Noncompliant Code Example
|
||||
|
||||
Maximum length of numeric data - 38 symbols
|
||||
|
||||
## Compliant Solution
|
||||
|
||||
[8.3. IBM Db2](https://its.1c.ru/db/v83doc#bookmark:dev:TI000001288)
|
||||
|
||||
|
||||
> 8.3. Server IBM DB2
|
||||
> ● Maximum length of numeric data – 31 symbols (not 38).
|
||||
|
||||
## See
|
||||
|
@ -0,0 +1,29 @@
|
||||
# Превышена максимальная длина числовых данных (31 знак)
|
||||
|
||||
Конфигурация должна быть одинаково рассчитана на работу со всеми
|
||||
СУБД, операционными системами, веб-браузерами и различными режимами
|
||||
работы, которые поддерживает платформа 1С:Предприятие.
|
||||
|
||||
|
||||
## Неправильно
|
||||
|
||||
Максимальная длина числовых данных – 38 знак
|
||||
|
||||
|
||||
## Правильно
|
||||
|
||||
|
||||
Соблюдение стандартов "Приложение 8. Особенности работы с различными
|
||||
СУБД"
|
||||
|
||||
[8.3. IBM Db2](https://its.1c.ru/db/v83doc#bookmark:dev:TI000001288)
|
||||
|
||||
|
||||
> 8.3. Сервер IBM DB2
|
||||
> ● Максимальная длина числовых данных – 31 знак (а не 38).
|
||||
|
||||
|
||||
|
||||
## См.
|
||||
|
||||
- [Общие требования к конфигурации](https://its.1c.ru/db/v8std#content:467:hdoc)
|
@ -24,7 +24,7 @@
|
||||
</category>
|
||||
<check
|
||||
category="com.e1c.v8codestyle.md"
|
||||
class="com.e1c.v8codestyle.internal.md.ExecutableExtensionFactory:com.e1c.v8codestyle.md.check.ConfigurationDataLock">
|
||||
class="com.e1c.v8codestyle.internal.md.ExecutableExtensionFactory:com.e1c.v8codestyle.md.configuration.check.ConfigurationDataLock">
|
||||
</check>
|
||||
<check
|
||||
category="com.e1c.v8codestyle.md"
|
||||
@ -32,19 +32,19 @@
|
||||
</check>
|
||||
<check
|
||||
category="com.e1c.v8codestyle.md"
|
||||
class="com.e1c.v8codestyle.internal.md.ExecutableExtensionFactory:com.e1c.v8codestyle.md.check.CommonModuleNameClient">
|
||||
class="com.e1c.v8codestyle.internal.md.ExecutableExtensionFactory:com.e1c.v8codestyle.md.commonmodule.check.CommonModuleNameClient">
|
||||
</check>
|
||||
<check
|
||||
category="com.e1c.v8codestyle.md"
|
||||
class="com.e1c.v8codestyle.internal.md.ExecutableExtensionFactory:com.e1c.v8codestyle.md.check.CommonModuleNameClientServer">
|
||||
class="com.e1c.v8codestyle.internal.md.ExecutableExtensionFactory:com.e1c.v8codestyle.md.commonmodule.check.CommonModuleNameClientServer">
|
||||
</check>
|
||||
<check
|
||||
category="com.e1c.v8codestyle.md"
|
||||
class="com.e1c.v8codestyle.internal.md.ExecutableExtensionFactory:com.e1c.v8codestyle.md.check.CommonModuleNameGlobal">
|
||||
class="com.e1c.v8codestyle.internal.md.ExecutableExtensionFactory:com.e1c.v8codestyle.md.commonmodule.check.CommonModuleNameGlobal">
|
||||
</check>
|
||||
<check
|
||||
category="com.e1c.v8codestyle.md"
|
||||
class="com.e1c.v8codestyle.internal.md.ExecutableExtensionFactory:com.e1c.v8codestyle.md.check.CommonModuleType">
|
||||
class="com.e1c.v8codestyle.internal.md.ExecutableExtensionFactory:com.e1c.v8codestyle.md.commonmodule.check.CommonModuleType">
|
||||
</check>
|
||||
<check
|
||||
category="com.e1c.v8codestyle.md"
|
||||
@ -52,7 +52,7 @@
|
||||
</check>
|
||||
<check
|
||||
category="com.e1c.v8codestyle.md"
|
||||
class="com.e1c.v8codestyle.internal.md.ExecutableExtensionFactory:com.e1c.v8codestyle.md.check.MdScheduledJobDescriptionCheck">
|
||||
class="com.e1c.v8codestyle.internal.md.ExecutableExtensionFactory:com.e1c.v8codestyle.md.scheduledjob.check.MdScheduledJobDescriptionCheck">
|
||||
</check>
|
||||
<check
|
||||
category="com.e1c.v8codestyle.md"
|
||||
@ -60,27 +60,27 @@
|
||||
</check>
|
||||
<check
|
||||
category="com.e1c.v8codestyle.md"
|
||||
class="com.e1c.v8codestyle.md.check.MdScheduledJobPeriodicityCheck">
|
||||
class="com.e1c.v8codestyle.md.scheduledjob.check.MdScheduledJobPeriodicityCheck">
|
||||
</check>
|
||||
<check
|
||||
category="com.e1c.v8codestyle.md"
|
||||
class="com.e1c.v8codestyle.md.check.RegisterResourcePrecisionCheck">
|
||||
class="com.e1c.v8codestyle.md.register.check.RegisterResourcePrecisionCheck">
|
||||
</check>
|
||||
<check
|
||||
category="com.e1c.v8codestyle.md"
|
||||
class="com.e1c.v8codestyle.internal.md.ExecutableExtensionFactory:com.e1c.v8codestyle.md.check.CommonModuleNameServerCallCheck">
|
||||
class="com.e1c.v8codestyle.internal.md.ExecutableExtensionFactory:com.e1c.v8codestyle.md.commonmodule.check.CommonModuleNameServerCallCheck">
|
||||
</check>
|
||||
<check
|
||||
category="com.e1c.v8codestyle.md"
|
||||
class="com.e1c.v8codestyle.internal.md.ExecutableExtensionFactory:com.e1c.v8codestyle.md.check.CommonModuleNameCachedCheck">
|
||||
class="com.e1c.v8codestyle.internal.md.ExecutableExtensionFactory:com.e1c.v8codestyle.md.commonmodule.check.CommonModuleNameCachedCheck">
|
||||
</check>
|
||||
<check
|
||||
category="com.e1c.v8codestyle.md"
|
||||
class="com.e1c.v8codestyle.internal.md.ExecutableExtensionFactory:com.e1c.v8codestyle.md.check.CommonModuleNameClientCachedCheck">
|
||||
class="com.e1c.v8codestyle.internal.md.ExecutableExtensionFactory:com.e1c.v8codestyle.md.commonmodule.check.CommonModuleNameClientCachedCheck">
|
||||
</check>
|
||||
<check
|
||||
category="com.e1c.v8codestyle.md"
|
||||
class="com.e1c.v8codestyle.internal.md.ExecutableExtensionFactory:com.e1c.v8codestyle.md.check.CommonModuleNameServerCallCachedCheck">
|
||||
class="com.e1c.v8codestyle.internal.md.ExecutableExtensionFactory:com.e1c.v8codestyle.md.commonmodule.check.CommonModuleNameServerCallCachedCheck">
|
||||
</check>
|
||||
<check
|
||||
category="com.e1c.v8codestyle.md"
|
||||
@ -90,21 +90,25 @@
|
||||
category="com.e1c.v8codestyle.md"
|
||||
class="com.e1c.v8codestyle.md.check.DbObjectAnyRefTypeCheck">
|
||||
</check>
|
||||
<check
|
||||
category="com.e1c.v8codestyle.md"
|
||||
class="com.e1c.v8codestyle.md.check.DbObjectMaxNumberLengthCheck">
|
||||
</check>
|
||||
<check
|
||||
category="com.e1c.v8codestyle.md"
|
||||
class="com.e1c.v8codestyle.md.check.UnsafePasswordStorageCheck">
|
||||
</check>
|
||||
<check
|
||||
category="com.e1c.v8codestyle.md"
|
||||
class="com.e1c.v8codestyle.md.check.SubsystemSynonymTooLongCheck">
|
||||
class="com.e1c.v8codestyle.md.subsystem.check.SubsystemSynonymTooLongCheck">
|
||||
</check>
|
||||
<check
|
||||
category="com.e1c.v8codestyle.md"
|
||||
class="com.e1c.v8codestyle.internal.md.ExecutableExtensionFactory:com.e1c.v8codestyle.md.check.CommonModuleNameGlobalClientCheck">
|
||||
class="com.e1c.v8codestyle.internal.md.ExecutableExtensionFactory:com.e1c.v8codestyle.md.commonmodule.check.CommonModuleNameGlobalClientCheck">
|
||||
</check>
|
||||
<check
|
||||
category="com.e1c.v8codestyle.md"
|
||||
class="com.e1c.v8codestyle.md.check.CommonModuleNamePrivilegedCheck">
|
||||
class="com.e1c.v8codestyle.md.commonmodule.check.CommonModuleNamePrivilegedCheck">
|
||||
</check>
|
||||
<check
|
||||
category="com.e1c.v8codestyle.md"
|
||||
@ -116,7 +120,7 @@
|
||||
</check>
|
||||
<check
|
||||
category="com.e1c.v8codestyle.md"
|
||||
class="com.e1c.v8codestyle.md.check.DocumentPostInPrivilegedModeCheck">
|
||||
class="com.e1c.v8codestyle.md.document.check.DocumentPostInPrivilegedModeCheck">
|
||||
</check>
|
||||
<check
|
||||
category="com.e1c.v8codestyle.md"
|
||||
@ -128,7 +132,7 @@
|
||||
</check>
|
||||
<check
|
||||
category="com.e1c.v8codestyle.md"
|
||||
class="com.e1c.v8codestyle.md.check.FunctionalOptionPrivilegedGetModeCheck">
|
||||
class="com.e1c.v8codestyle.md.functionoption.check.FunctionalOptionPrivilegedGetModeCheck">
|
||||
</check>
|
||||
</extension>
|
||||
|
||||
|
@ -18,10 +18,10 @@
|
||||
<parent>
|
||||
<groupId>com.e1c.v8codestyle</groupId>
|
||||
<artifactId>bundles</artifactId>
|
||||
<version>0.5.0-SNAPSHOT</version>
|
||||
<version>0.7.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>com.e1c.v8codestyle.md</artifactId>
|
||||
<version>0.5.0-SNAPSHOT</version>
|
||||
<version>0.7.0-SNAPSHOT</version>
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
|
||||
<properties>
|
||||
|
@ -21,7 +21,7 @@ import org.eclipse.osgi.util.NLS;
|
||||
final class Messages
|
||||
extends NLS
|
||||
{
|
||||
private static final String BUNDLE_NAME = "com.e1c.v8codestyle.md.messages"; //$NON-NLS-1$
|
||||
private static final String BUNDLE_NAME = Messages.class.getPackageName() + ".messages"; //$NON-NLS-1$
|
||||
public static String CommonModuleTypes_Server_module;
|
||||
public static String CommonModuleTypes_Client_Cached_module;
|
||||
public static String CommonModuleTypes_Client_global_module;
|
||||
|
@ -0,0 +1,167 @@
|
||||
/*******************************************************************************
|
||||
* 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.md.check;
|
||||
|
||||
import static com._1c.g5.v8.dt.mcore.McorePackage.Literals.NUMBER_QUALIFIERS;
|
||||
import static com._1c.g5.v8.dt.mcore.McorePackage.Literals.NUMBER_QUALIFIERS__PRECISION;
|
||||
import static com._1c.g5.v8.dt.mcore.McorePackage.Literals.TYPE_DESCRIPTION;
|
||||
import static com._1c.g5.v8.dt.mcore.McorePackage.Literals.TYPE_DESCRIPTION__NUMBER_QUALIFIERS;
|
||||
import static com._1c.g5.v8.dt.mcore.McorePackage.Literals.TYPE_DESCRIPTION__TYPES;
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.BASIC_DB_OBJECT;
|
||||
|
||||
import java.text.MessageFormat;
|
||||
import java.util.Objects;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
import org.eclipse.emf.ecore.EObject;
|
||||
import org.eclipse.emf.ecore.EStructuralFeature;
|
||||
|
||||
import com._1c.g5.v8.dt.mcore.NumberQualifiers;
|
||||
import com._1c.g5.v8.dt.mcore.TypeDescription;
|
||||
import com._1c.g5.v8.dt.mcore.util.McoreUtil;
|
||||
import com._1c.g5.v8.dt.metadata.mdclass.BasicFeature;
|
||||
import com._1c.g5.v8.dt.metadata.mdclass.DefinedType;
|
||||
import com._1c.g5.v8.dt.platform.IEObjectTypeNames;
|
||||
import com.e1c.g5.v8.dt.check.CheckComplexity;
|
||||
import com.e1c.g5.v8.dt.check.ICheckParameters;
|
||||
import com.e1c.g5.v8.dt.check.components.BasicCheck;
|
||||
import com.e1c.g5.v8.dt.check.settings.IssueSeverity;
|
||||
import com.e1c.g5.v8.dt.check.settings.IssueType;
|
||||
import com.e1c.v8codestyle.check.StandardCheckExtension;
|
||||
import com.e1c.v8codestyle.internal.md.CorePlugin;
|
||||
|
||||
/**
|
||||
* The check that the DB attribute has number type and it is not more then 31.
|
||||
*
|
||||
* @author Dmitriy Marmyshev
|
||||
*
|
||||
*/
|
||||
public final class DbObjectMaxNumberLengthCheck
|
||||
extends BasicCheck
|
||||
{
|
||||
|
||||
private static final String CHECK_ID = "db-object-max-number-length"; //$NON-NLS-1$
|
||||
|
||||
public static final String MAX_LENGTH = "maxNumberLength"; //$NON-NLS-1$
|
||||
|
||||
public static final String MAX_LENGTH_DEFAULT = "31"; //$NON-NLS-1$
|
||||
|
||||
@Override
|
||||
public String getCheckId()
|
||||
{
|
||||
return CHECK_ID;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void configureCheck(CheckConfigurer builder)
|
||||
{
|
||||
builder.title(Messages.DbObjectMaxNumberLengthCheck_title)
|
||||
.description(Messages.DbObjectMaxNumberLengthCheck_description)
|
||||
.complexity(CheckComplexity.NORMAL)
|
||||
.severity(IssueSeverity.MAJOR)
|
||||
.issueType(IssueType.PORTABILITY)
|
||||
.extension(new StandardCheckExtension(467, getCheckId(), CorePlugin.PLUGIN_ID))
|
||||
.extension(new SkipAdoptedInExtensionMdObjectExtension())
|
||||
.parameter(MAX_LENGTH, Integer.class, MAX_LENGTH_DEFAULT, Messages.DbObjectMaxNumberLengthCheck_parameter);
|
||||
|
||||
builder.topObject(BASIC_DB_OBJECT)
|
||||
.containment(TYPE_DESCRIPTION)
|
||||
.features(TYPE_DESCRIPTION__TYPES, TYPE_DESCRIPTION__NUMBER_QUALIFIERS);
|
||||
|
||||
builder.topObject(BASIC_DB_OBJECT).containment(NUMBER_QUALIFIERS).features(NUMBER_QUALIFIERS__PRECISION);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void check(Object object, ResultAcceptor resultAceptor, ICheckParameters parameters,
|
||||
IProgressMonitor monitor)
|
||||
{
|
||||
if (object instanceof TypeDescription)
|
||||
{
|
||||
check((TypeDescription)object, resultAceptor, parameters, monitor);
|
||||
}
|
||||
else if (object instanceof NumberQualifiers)
|
||||
{
|
||||
check((NumberQualifiers)object, resultAceptor, parameters, monitor);
|
||||
}
|
||||
}
|
||||
|
||||
private void check(TypeDescription object, ResultAcceptor resultAceptor, ICheckParameters parameters,
|
||||
IProgressMonitor monitor)
|
||||
{
|
||||
|
||||
if (!(object.eContainer() instanceof BasicFeature) || object.getTypes().size() != 1
|
||||
|| !IEObjectTypeNames.DEFINED_TYPE.equals(McoreUtil.getTypeCategory(object.getTypes().get(0))))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
TypeDescription typeDescription = object;
|
||||
EObject definedType = typeDescription.getTypes().get(0).eContainer();
|
||||
while (definedType != null && !(definedType instanceof DefinedType))
|
||||
{
|
||||
definedType = definedType.eContainer();
|
||||
}
|
||||
if (definedType instanceof DefinedType)
|
||||
{
|
||||
typeDescription = ((DefinedType)definedType).getType();
|
||||
}
|
||||
|
||||
checkAndAddIssue(typeDescription, () -> {
|
||||
BasicFeature basicFeature = (BasicFeature)object.eContainer();
|
||||
return basicFeature.getName();
|
||||
}, resultAceptor, object, TYPE_DESCRIPTION__TYPES, parameters, monitor);
|
||||
|
||||
}
|
||||
|
||||
private void check(NumberQualifiers object, ResultAcceptor resultAceptor, ICheckParameters parameters,
|
||||
IProgressMonitor monitor)
|
||||
{
|
||||
|
||||
if (!(object.eContainer() instanceof TypeDescription)
|
||||
|| !(object.eContainer().eContainer() instanceof BasicFeature))
|
||||
{
|
||||
return;
|
||||
}
|
||||
TypeDescription typeDescription = (TypeDescription)object.eContainer();
|
||||
|
||||
checkAndAddIssue(typeDescription, () -> {
|
||||
BasicFeature basicFeature = (BasicFeature)typeDescription.eContainer();
|
||||
return basicFeature.getName();
|
||||
}, resultAceptor, object, NUMBER_QUALIFIERS__PRECISION, parameters, monitor);
|
||||
}
|
||||
|
||||
private void checkAndAddIssue(TypeDescription typeDescription, Supplier<String> basicFeatureName,
|
||||
ResultAcceptor resultAceptor, EObject object, EStructuralFeature feature, ICheckParameters parameters,
|
||||
IProgressMonitor monitor)
|
||||
{
|
||||
if (monitor.isCanceled() || typeDescription.getNumberQualifiers() == null
|
||||
|| typeDescription.getTypes()
|
||||
.stream()
|
||||
.map(McoreUtil::getTypeName)
|
||||
.filter(Objects::nonNull)
|
||||
.noneMatch(IEObjectTypeNames.NUMBER::equals))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
int maxPrecision = parameters.getInt(MAX_LENGTH);
|
||||
int precision = typeDescription.getNumberQualifiers().getPrecision();
|
||||
|
||||
if (precision > maxPrecision)
|
||||
{
|
||||
resultAceptor.addIssue(MessageFormat.format(Messages.DbObjectMaxNumberLengthCheck_message,
|
||||
basicFeatureName.get(), maxPrecision), object, feature);
|
||||
}
|
||||
}
|
||||
}
|
@ -21,6 +21,7 @@ import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.CATALOG_
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.DOCUMENT;
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.DOCUMENT_ATTRIBUTE;
|
||||
|
||||
import java.text.MessageFormat;
|
||||
import java.util.Set;
|
||||
import java.util.TreeSet;
|
||||
|
||||
@ -57,19 +58,17 @@ public class MdObjectAttributeCommentCheck
|
||||
|
||||
private static final String CHECK_ID = "md-object-attribute-comment-incorrect-type"; //$NON-NLS-1$
|
||||
|
||||
public static final String PARAM_CHECK_DOCUMENTS = "checkDocuments"; //$NON-NLS-1$
|
||||
public static final String PARAM_CHECK_CATALOGS = "checkCatalogs"; //$NON-NLS-1$
|
||||
public static final String PARAM_ATTRIBUTES_LIST = "attributesList"; //$NON-NLS-1$
|
||||
private static final String PARAM_CHECK_DOCUMENTS = "checkDocuments"; //$NON-NLS-1$
|
||||
private static final String PARAM_CHECK_CATALOGS = "checkCatalogs"; //$NON-NLS-1$
|
||||
private static final String PARAM_ATTRIBUTES_LIST = "attributesList"; //$NON-NLS-1$
|
||||
|
||||
public static final String DEFAULT_CHECK_DOCUMENTS = Boolean.toString(true);
|
||||
public static final String DEFAULT_CHECK_CATALOGS = Boolean.toString(false);
|
||||
private static final String DEFAULT_CHECK_DOCUMENTS = Boolean.toString(true);
|
||||
private static final String DEFAULT_CHECK_CATALOGS = Boolean.toString(false);
|
||||
|
||||
private static final Set<String> COMMENT_ATTRIBUTES_LIST = Set.of("Комментарий", //$NON-NLS-1$
|
||||
"Comment"); //$NON-NLS-1$
|
||||
private static final String DELIMITER = ","; //$NON-NLS-1$
|
||||
public static final String DEFAULT_ATTRIBUTES_LIST = String.join(DELIMITER, COMMENT_ATTRIBUTES_LIST);
|
||||
|
||||
private static final String DEFAULT_CHECK_MESSAGE = Messages.MdObjectAttributeCommentCheck_Default_check_message;
|
||||
private static final String DEFAULT_ATTRIBUTES_LIST = String.join(DELIMITER, COMMENT_ATTRIBUTES_LIST);
|
||||
|
||||
public MdObjectAttributeCommentCheck()
|
||||
{
|
||||
@ -127,15 +126,14 @@ public class MdObjectAttributeCommentCheck
|
||||
return;
|
||||
}
|
||||
|
||||
if (!monitor.isCanceled() && checkDocuments && isDocumentAttribute(object))
|
||||
boolean isDocument = checkDocuments && isDocumentAttribute(object);
|
||||
boolean isCatalog = checkCatalogs && isCatalogAttribute(object);
|
||||
|
||||
if (!monitor.isCanceled() && (isDocument || isCatalog))
|
||||
{
|
||||
checkAttribute(attribute, resultAceptor);
|
||||
}
|
||||
|
||||
if (!monitor.isCanceled() && checkCatalogs && isCatalogAttribute(object))
|
||||
{
|
||||
checkAttribute(attribute, resultAceptor);
|
||||
}
|
||||
}
|
||||
|
||||
private void checkAttribute(BasicFeature attribute, ResultAcceptor resultAceptor)
|
||||
@ -149,7 +147,9 @@ public class MdObjectAttributeCommentCheck
|
||||
TypeDescription typeDesc = attribute.getType();
|
||||
if (McoreUtil.isCompoundType(typeDesc))
|
||||
{
|
||||
resultAceptor.addIssue(DEFAULT_CHECK_MESSAGE, BASIC_FEATURE__TYPE);
|
||||
String msg = MessageFormat.format(Messages.MdObjectAttributeCommentCheck_message,
|
||||
Messages.MdObjectAttributeCommentCheck_Is_compound_type);
|
||||
resultAceptor.addIssue(msg, BASIC_FEATURE__TYPE);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -170,13 +170,17 @@ public class MdObjectAttributeCommentCheck
|
||||
StringQualifiers qualifiers = typeDesc.getStringQualifiers();
|
||||
if (qualifiers == null)
|
||||
{
|
||||
resultAceptor.addIssue(DEFAULT_CHECK_MESSAGE, BASIC_FEATURE__TYPE);
|
||||
String msg = MessageFormat.format(Messages.MdObjectAttributeCommentCheck_message,
|
||||
Messages.MdObjectAttributeCommentCheck_Not_a_String);
|
||||
resultAceptor.addIssue(msg, BASIC_FEATURE__TYPE);
|
||||
return;
|
||||
}
|
||||
|
||||
if (qualifiers.getLength() != 0)
|
||||
{
|
||||
resultAceptor.addIssue(DEFAULT_CHECK_MESSAGE, BASIC_FEATURE__TYPE);
|
||||
String msg = MessageFormat.format(Messages.MdObjectAttributeCommentCheck_message,
|
||||
Messages.MdObjectAttributeCommentCheck_String_is_not_unlimited);
|
||||
resultAceptor.addIssue(msg, BASIC_FEATURE__TYPE);
|
||||
}
|
||||
|
||||
}
|
||||
@ -185,7 +189,9 @@ public class MdObjectAttributeCommentCheck
|
||||
{
|
||||
if (!attribute.isMultiLine())
|
||||
{
|
||||
resultAceptor.addIssue(DEFAULT_CHECK_MESSAGE, BASIC_FEATURE__MULTI_LINE);
|
||||
String msg = MessageFormat.format(Messages.MdObjectAttributeCommentCheck_message,
|
||||
Messages.MdObjectAttributeCommentCheck_Multiline_edit_is_not_enabled);
|
||||
resultAceptor.addIssue(msg, BASIC_FEATURE__MULTI_LINE);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -21,17 +21,19 @@ import org.eclipse.osgi.util.NLS;
|
||||
final class Messages
|
||||
extends NLS
|
||||
{
|
||||
private static final String BUNDLE_NAME = "com.e1c.v8codestyle.md.check.messages"; //$NON-NLS-1$
|
||||
public static String CommonModuleNameClient_description;
|
||||
public static String CommonModuleNameClient_message;
|
||||
private static final String BUNDLE_NAME = Messages.class.getPackageName() + ".messages"; //$NON-NLS-1$
|
||||
public static String DbObjectRefNonRefTypesCheck_Description;
|
||||
public static String DbObjectRefNonRefTypesCheck_Ref_and_other;
|
||||
public static String DbObjectRefNonRefTypesCheck_Title;
|
||||
public static String MdObjectAttributeCommentCheck_Attribute_list;
|
||||
public static String MdObjectAttributeCommentCheck_Check_catalogs_param;
|
||||
public static String MdObjectAttributeCommentCheck_Check_documents_param;
|
||||
public static String MdObjectAttributeCommentCheck_Default_check_message;
|
||||
public static String MdObjectAttributeCommentCheck_Is_compound_type;
|
||||
public static String MdObjectAttributeCommentCheck_Multiline_edit_is_not_enabled;
|
||||
public static String MdObjectAttributeCommentCheck_Not_a_String;
|
||||
public static String MdObjectAttributeCommentCheck_String_is_not_unlimited;
|
||||
public static String MdObjectAttributeCommentCheck_description;
|
||||
public static String MdObjectAttributeCommentCheck_message;
|
||||
public static String MdObjectAttributeCommentCheck_title;
|
||||
public static String MdObjectAttributeCommentNotExist_description;
|
||||
public static String MdObjectAttributeCommentNotExist_Md_Object_attribute_Comment_does_not_exist;
|
||||
@ -40,41 +42,16 @@ final class Messages
|
||||
public static String MdObjectAttributeCommentNotExist_Param_Attribute_name_list;
|
||||
public static String MdObjectAttributeCommentNotExist_title;
|
||||
public static String MdObjectNameWithoutSuffix_Name_suffix_list_title;
|
||||
public static String CommonModuleNameClient_title;
|
||||
public static String CommonModuleNameClientServer_description;
|
||||
public static String CommonModuleNameClientServer_message;
|
||||
public static String CommonModuleNameClientServer_title;
|
||||
public static String CommonModuleNamePrivilegedCheck_Description;
|
||||
public static String CommonModuleNamePrivilegedCheck_Issue;
|
||||
public static String CommonModuleNamePrivilegedCheck_Title;
|
||||
public static String CommonModuleNameGlobal_Description;
|
||||
public static String CommonModuleNameGlobal_Message;
|
||||
public static String CommonModuleNameGlobal_Title;
|
||||
public static String CommonModuleNameGlobalClientCheck_Description;
|
||||
public static String CommonModuleNameGlobalClientCheck_Message;
|
||||
public static String CommonModuleNameGlobalClientCheck_Title;
|
||||
public static String CommonModuleType_description;
|
||||
public static String CommonModuleType_message;
|
||||
public static String CommonModuleType_title;
|
||||
public static String ConfigurationDataLock_description;
|
||||
public static String ConfigurationDataLock_message;
|
||||
public static String ConfigurationDataLock_title;
|
||||
public static String CommonModuleNameServerCallPostfixCheck_0;
|
||||
public static String CommonModuleNameServerCallPostfixCheck_Common_module_name_description;
|
||||
public static String CommonModuleNameServerCallPostfixCheck_Common_module_postfix_title;
|
||||
public static String DbObjectAnyRefCheck_AnyRef;
|
||||
public static String DbObjectAnyRefCheck_Description;
|
||||
public static String DbObjectAnyRefCheck_Title;
|
||||
public static String DocumentPostInPrivilegedModeCheck_description;
|
||||
public static String DocumentPostInPrivilegedModeCheck_message_Post_in_privileged_mode;
|
||||
public static String DocumentPostInPrivilegedModeCheck_message_Unpost_in_privileged_mode;
|
||||
public static String DocumentPostInPrivilegedModeCheck_title;
|
||||
public static String DbObjectMaxNumberLengthCheck_description;
|
||||
public static String DbObjectMaxNumberLengthCheck_message;
|
||||
public static String DbObjectMaxNumberLengthCheck_parameter;
|
||||
public static String DbObjectMaxNumberLengthCheck_title;
|
||||
public static String ExtensionMdObjectNamePrefixCheck_Description;
|
||||
public static String ExtensionMdObjectNamePrefixCheck_Object_0_should_have_1_prefix;
|
||||
public static String ExtensionMdObjectNamePrefixCheck_Title;
|
||||
public static String FunctionalOptionPrivilegedGetModeCheck_description;
|
||||
public static String FunctionalOptionPrivilegedGetModeCheck_message;
|
||||
public static String FunctionalOptionPrivilegedGetModeCheck_title;
|
||||
public static String MdObjectNameLength_description;
|
||||
public static String MdObjectNameLength_Maximum_name_length_description;
|
||||
public static String MdObjectNameLength_message;
|
||||
@ -89,24 +66,9 @@ final class Messages
|
||||
public static String MdOwnerAttributeSynonymEmpty_Description;
|
||||
public static String MdOwnerAttributeSynonymEmpty_owner_ErrorMessage;
|
||||
public static String MdOwnerAttributeSynonymEmpty_parent_ErrorMessage;
|
||||
public static String MdScheduledJobDescriptionCheck_title;
|
||||
public static String MdScheduledJobDescriptionCheck_description;
|
||||
public static String MdScheduledJobDescriptionCheck_message;
|
||||
public static String MdScheduledJobPeriodicityCheck_description;
|
||||
public static String MdScheduledJobPeriodicityCheck_The_minimum_job_interval_is_less_then_minute;
|
||||
public static String MdScheduledJobPeriodicityCheck_title;
|
||||
public static String MdScheduledJobPeriodicityCheck_Minimum_job_interval_description;
|
||||
public static String UnsafePasswordStorageCheck_Avoid_storing_password_in_infobase;
|
||||
public static String UnsafePasswordStorageCheck_Avoid_storing_password_in_infobase_description;
|
||||
public static String UnsafePasswordStorageCheck_Avoid_storing_password_in_infobase_error;
|
||||
public static String RegisterResourcePrecisionCheck_description;
|
||||
public static String RegisterResourcePrecisionCheck_message;
|
||||
public static String RegisterResourcePrecisionCheck_title;
|
||||
public static String SubsystemSynonymTooLongCheck_description;
|
||||
public static String SubsystemSynonymTooLongCheck_Exclude_languages_comma_separated;
|
||||
public static String SubsystemSynonymTooLongCheck_Length_of_section_name_more_than_symbols_for_language;
|
||||
public static String SubsystemSynonymTooLongCheck_Maximum_section_name_length;
|
||||
public static String SubsystemSynonymTooLongCheck_title;
|
||||
static
|
||||
{
|
||||
// initialize resource bundle
|
||||
|
@ -1,101 +1,55 @@
|
||||
|
||||
CommonModuleNameClientServer_description = Client-server common module should end with ClientServer suffix
|
||||
|
||||
CommonModuleNameClientServer_message = Client-server common module should end with "{0}" suffix
|
||||
|
||||
CommonModuleNameClientServer_title = Client-server common module should end with ClientServer suffix
|
||||
|
||||
CommonModuleNameClient_description = Client common module should end with Client suffix
|
||||
|
||||
CommonModuleNameClient_message = Client common module name should end with "{0}" suffix
|
||||
|
||||
CommonModuleNameClient_title = Client common module should end with Client suffix
|
||||
|
||||
CommonModuleNameGlobalClientCheck_Description = Global common module should end with Global suffix
|
||||
|
||||
CommonModuleNameGlobalClientCheck_Message = Global common module should not have "{0}" suffix
|
||||
|
||||
CommonModuleNameGlobalClientCheck_Title = Global common module should end with Global suffix
|
||||
|
||||
CommonModuleNameGlobal_Description = Global common module should end with Global suffix
|
||||
|
||||
CommonModuleNameGlobal_Message = Global common module should end with "{0}" suffix
|
||||
|
||||
CommonModuleNameGlobal_Title = Global common module should end with Global suffix
|
||||
|
||||
CommonModuleNamePrivilegedCheck_Description = Privileged common module should end with FullAccess suffix
|
||||
|
||||
CommonModuleNamePrivilegedCheck_Issue = Privileged common module should end with "{0}" suffix
|
||||
|
||||
CommonModuleNamePrivilegedCheck_Title = Privileged common module should end with FullAccess suffix
|
||||
|
||||
CommonModuleNameServerCallPostfixCheck_0 = Common module should end with {0}
|
||||
|
||||
CommonModuleNameServerCallPostfixCheck_Common_module_name_description = Common module should end with correct postfix
|
||||
|
||||
CommonModuleNameServerCallPostfixCheck_Common_module_postfix_title = Common module should end with correct postfix
|
||||
|
||||
CommonModuleType_description = Common module has incorrect type
|
||||
|
||||
CommonModuleType_message = Common module for type "{0}" has incorrect settings: {1}
|
||||
|
||||
CommonModuleType_title = Common module has incorrect type
|
||||
|
||||
ConfigurationDataLock_description = Application should use managed data lock mode
|
||||
|
||||
ConfigurationDataLock_message = Application should use managed data lock mode
|
||||
|
||||
ConfigurationDataLock_title = Configuration data lock mode
|
||||
|
||||
DbObjectAnyRefCheck_AnyRef = Do not use composite types AnyRef, CatalogRef, DocumentRef, and other for standard metadata objects stored in the infobase.
|
||||
|
||||
DbObjectAnyRefCheck_Description = Do not use composite types AnyRef, CatalogRef, DocumentRef, and other for standard metadata objects stored in the infobase.
|
||||
|
||||
DbObjectAnyRefCheck_Title = Restrictions on the use of any ref type attributes
|
||||
|
||||
DbObjectMaxNumberLengthCheck_description = Numeric DB field maximum length is 31
|
||||
|
||||
DbObjectMaxNumberLengthCheck_message = Numeric field "{0}" length is more than {1}
|
||||
|
||||
DbObjectMaxNumberLengthCheck_parameter = Numeric field maximum length
|
||||
|
||||
DbObjectMaxNumberLengthCheck_title = Numeric DB field maximum length is 31
|
||||
|
||||
DbObjectRefNonRefTypesCheck_Description = Composite type attributes used in join conditions, filters, and for ordering must contain only reference attribute types (CatalogRef. ..., DocumentRef. ..., and other). Do not include any other non-reference types in this type. For example: String, Number, Date, UUID, Boolean, and ValueStorage.
|
||||
|
||||
DbObjectRefNonRefTypesCheck_Ref_and_other = Composite type attributes used in join conditions, filters, and for ordering must contain only reference attribute types (CatalogRef. ..., DocumentRef. ..., and other). Do not include any other non-reference types in this type.
|
||||
|
||||
DbObjectRefNonRefTypesCheck_Title = Restrictions on the use of composite type attributes
|
||||
|
||||
DocumentPostInPrivilegedModeCheck_title = In document that allow posting don't set flag "Post/Unpost in privileged mode"
|
||||
|
||||
DocumentPostInPrivilegedModeCheck_description = In document that allow posting don't set flag "Post/Unpost in privileged mode"
|
||||
|
||||
DocumentPostInPrivilegedModeCheck_message_Post_in_privileged_mode = In document that allow posting don't set flag "Post in privileged mode"
|
||||
|
||||
DocumentPostInPrivilegedModeCheck_message_Unpost_in_privileged_mode = In document that allow posting don't set flag "Unpost in privileged mode"
|
||||
|
||||
ExtensionMdObjectNamePrefixCheck_Description = The object name of the extension object does not have a prefix corresponding to the prefix of the extension itself
|
||||
|
||||
ExtensionMdObjectNamePrefixCheck_Object_0_should_have_1_prefix = The object "{0}" should have "{1}" prefix
|
||||
|
||||
ExtensionMdObjectNamePrefixCheck_Title = Extension object name does not have extension prefix
|
||||
|
||||
FunctionalOptionPrivilegedGetModeCheck_message = Functional option don't use privileged get mode
|
||||
|
||||
FunctionalOptionPrivilegedGetModeCheck_description = Functional option don't use privileged get mode
|
||||
|
||||
FunctionalOptionPrivilegedGetModeCheck_title = Functional option don't use privileged get mode
|
||||
|
||||
MdListObjectPresentationCheck_Neither_Object_presentation_nor_List_presentation_is_not_filled = Neither Object presentation nor List presentation is not filled
|
||||
|
||||
MdListObjectPresentationCheck_decription = Neither Object presentation nor List presentation is not filled
|
||||
|
||||
MdListObjectPresentationCheck_title = Neither Object presentation nor List presentation is not filled
|
||||
|
||||
MdObjectAttributeCommentCheck_Attribute_list=Attributes list
|
||||
MdObjectAttributeCommentCheck_Attribute_list = Attributes list
|
||||
|
||||
MdObjectAttributeCommentCheck_Check_catalogs_param=Check Catalogs
|
||||
MdObjectAttributeCommentCheck_Check_catalogs_param = Check Catalogs
|
||||
|
||||
MdObjectAttributeCommentCheck_Check_documents_param=Check Documents
|
||||
MdObjectAttributeCommentCheck_Check_documents_param = Check Documents
|
||||
|
||||
MdObjectAttributeCommentCheck_Default_check_message=The attribute "Comment" has an invalid type
|
||||
MdObjectAttributeCommentCheck_Is_compound_type = attribute type is compound
|
||||
|
||||
MdObjectAttributeCommentCheck_description=The attribute "Comment" has an invalid type
|
||||
MdObjectAttributeCommentCheck_Multiline_edit_is_not_enabled = multiline edit is not enabled
|
||||
|
||||
MdObjectAttributeCommentCheck_title=The attribute "Comment" has an invalid type
|
||||
MdObjectAttributeCommentCheck_Not_a_String = type is not a String
|
||||
|
||||
MdObjectAttributeCommentCheck_String_is_not_unlimited = String must be of unlimited length
|
||||
|
||||
MdObjectAttributeCommentCheck_description = The attribute "Comment" has an invalid type
|
||||
|
||||
MdObjectAttributeCommentCheck_message = The attribute "Comment" has an invalid type: {0}
|
||||
|
||||
MdObjectAttributeCommentCheck_title = The attribute "Comment" has an invalid type
|
||||
|
||||
MdObjectAttributeCommentNotExist_Md_Object_attribute_Comment_does_not_exist = Md Object attribute "Comment" does not exist
|
||||
|
||||
@ -133,36 +87,6 @@ MdOwnerAttributeSynonymEmpty_owner_ErrorMessage = Synonym of the 'Owner' standar
|
||||
|
||||
MdOwnerAttributeSynonymEmpty_parent_ErrorMessage = Synonym of the 'Parent' standard attribute is not specified
|
||||
|
||||
MdScheduledJobDescriptionCheck_description = The description of the predefine sheduled job is set
|
||||
|
||||
MdScheduledJobDescriptionCheck_message = The description of the predefine sheduled job is set
|
||||
|
||||
MdScheduledJobDescriptionCheck_title = The description of the predefine sheduled job is set
|
||||
|
||||
MdScheduledJobPeriodicityCheck_Minimum_job_interval_description = Minimum job interval
|
||||
|
||||
MdScheduledJobPeriodicityCheck_The_minimum_job_interval_is_less_then_minute = The minimum job interval is less then {0}s
|
||||
|
||||
MdScheduledJobPeriodicityCheck_description = The minimum job interval is less then {0}s
|
||||
|
||||
MdScheduledJobPeriodicityCheck_title = The minimum job interval is less then {0}s
|
||||
|
||||
RegisterResourcePrecisionCheck_description = Accumulation or accounting register resource precision is more than 25
|
||||
|
||||
RegisterResourcePrecisionCheck_message = Accumulation or accounting register resource "{0}" precision is more than {1}
|
||||
|
||||
RegisterResourcePrecisionCheck_title = Accumulation or accounting register resource precision is more than 25
|
||||
|
||||
SubsystemSynonymTooLongCheck_Exclude_languages_comma_separated = Exclude languages (codes, comma-separated)
|
||||
|
||||
SubsystemSynonymTooLongCheck_Length_of_section_name_more_than_symbols_for_language = Length of section synonym "{0}" more than {1} symbols for language {2}
|
||||
|
||||
SubsystemSynonymTooLongCheck_Maximum_section_name_length = Maximum section name length
|
||||
|
||||
SubsystemSynonymTooLongCheck_description = Section name is more than 35 characters long
|
||||
|
||||
SubsystemSynonymTooLongCheck_title = Section name is more than 35 characters long
|
||||
|
||||
UnsafePasswordStorageCheck_Avoid_storing_password_in_infobase = Avoid storing passwords in the infobase
|
||||
|
||||
UnsafePasswordStorageCheck_Avoid_storing_password_in_infobase_description = To minimize risks of unauthorized access to passwords, avoid storing passwords in the infobase.
|
||||
|
@ -1,85 +1,31 @@
|
||||
#Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/)
|
||||
|
||||
CommonModuleNameClientServer_description = Клиент-серверный общий модуль должен оканчиваться на суффикс КлиентСервер
|
||||
|
||||
CommonModuleNameClientServer_message = Клиент-серверный общий модуль должен оканчиваться на суффикс "{0}"
|
||||
|
||||
CommonModuleNameClientServer_title = Клиент-серверный общий модуль должен оканчиваться на суффикс КлиентСервер
|
||||
|
||||
CommonModuleNameClient_description = Клиентский общий модуль должен оканчиваться на суффикс Клиент
|
||||
|
||||
CommonModuleNameClient_message = Клиентский общий модуль должен оканчиваться на суффикс "{0}"
|
||||
|
||||
CommonModuleNameClient_title = Клиентский общий модуль должен оканчиваться на суффикс Клиент
|
||||
|
||||
CommonModuleNameGlobalClientCheck_Description = Глобальный общий модуль должен оканчиваться на суффикс Глобальный
|
||||
|
||||
CommonModuleNameGlobalClientCheck_Message = Глобальный общий модуль не должен содержать суффикс "{0}"
|
||||
|
||||
CommonModuleNameGlobalClientCheck_Title = Глобальный общий модуль должен оканчиваться на суффикс Глобальный
|
||||
|
||||
CommonModuleNameGlobal_Description = Глобальный общий модуль должен оканчиваться на суффикс Глобальный
|
||||
|
||||
CommonModuleNameGlobal_Message = Глобальный общий модуль должен оканчиваться на суффикс "{0}"
|
||||
|
||||
CommonModuleNameGlobal_Title = Глобальный общий модуль должен оканчиваться на суффикс Глобальный
|
||||
|
||||
CommonModuleNamePrivilegedCheck_Description = Привилегированный модуль должен оканчиваться на суффикс ПолныеПрава
|
||||
|
||||
CommonModuleNamePrivilegedCheck_Issue = Привилегированный модуль должен оканчиваться на суффикс "{0}"
|
||||
|
||||
CommonModuleNamePrivilegedCheck_Title = Привилегированный модуль должен оканчиваться на суффикс ПолныеПрава
|
||||
|
||||
CommonModuleNameServerCallPostfixCheck_0 = Общий модуль должен именоваться с постфиксом {0}
|
||||
|
||||
CommonModuleNameServerCallPostfixCheck_Common_module_name_description = Общий модуль должен именоваться с постфиксом
|
||||
|
||||
CommonModuleNameServerCallPostfixCheck_Common_module_postfix_title = Общий модуль должен именоваться с постфиксом
|
||||
|
||||
CommonModuleType_description = Общий модуль имеет некорректный тип
|
||||
|
||||
CommonModuleType_message = Общий модуль для типа "{0}" имеет некорректные настройки: {1}
|
||||
|
||||
CommonModuleType_title = Общий модуль имеет некорректный тип
|
||||
|
||||
ConfigurationDataLock_description = Приложение должно использовать управляемый режим блокировки данных
|
||||
|
||||
ConfigurationDataLock_message = Приложение должно использовать управляемый режим блокировки данных
|
||||
|
||||
ConfigurationDataLock_title = Режим блокировки данных конфигурации
|
||||
|
||||
DbObjectAnyRefCheck_AnyRef = Для типизированных объектов метаданных, хранящихся в информационной базе, не следует использовать составные типы ЛюбаяСсылка, СправочникСсылка, ДокументСсылка и аналогичные.
|
||||
|
||||
DbObjectAnyRefCheck_Description = Для типизированных объектов метаданных, хранящихся в информационной базе, не следует использовать составные типы ЛюбаяСсылка, СправочникСсылка, ДокументСсылка и аналогичные. Состав типов того или иного типизированного объекта должен определяться явным образом.
|
||||
|
||||
DbObjectAnyRefCheck_Title = Использование составного типа, содержащего ЛюбаяСсылка и аналогичные.
|
||||
|
||||
DbObjectMaxNumberLengthCheck_description = Максимальная длина числовых данных 31 знак
|
||||
|
||||
DbObjectMaxNumberLengthCheck_message = Длинна числового поля "{0}" больше чем {1}
|
||||
|
||||
DbObjectMaxNumberLengthCheck_parameter = Максимальная длинна числового поля
|
||||
|
||||
DbObjectMaxNumberLengthCheck_title = Максимальная длина числовых данных 31 знак
|
||||
|
||||
DbObjectRefNonRefTypesCheck_Description = Реквизиты составного типа, используемые в условиях соединений, отборах, а также для упорядочивания, должны содержать только ссылочные типы (СправочникСсылка.…, ДокументСсылка.… и пр.). В состав их типов не рекомендуется включать никаких других нессылочных типов, например: Строка, Число, Дата, УникальныйИдентификатор, Булево, а также ХранилищеЗначения.
|
||||
|
||||
DbObjectRefNonRefTypesCheck_Ref_and_other = Реквизиты составного типа, используемые в условиях соединений, отборах, а также для упорядочивания, должны содержать только ссылочные типы (СправочникСсылка.…, ДокументСсылка.… и пр.). В состав их типов не рекомендуется включать никаких других нессылочных типов.
|
||||
|
||||
DbObjectRefNonRefTypesCheck_Title = Использование составного типа, содержащего ссылочные и не ссылочный тип вместе.
|
||||
|
||||
DocumentPostInPrivilegedModeCheck_description = В документе, предполагающем проведение, не стоит флаг "Прив. режим при проведении/отмене проведения"
|
||||
|
||||
DocumentPostInPrivilegedModeCheck_message_Post_in_privileged_mode = В документе, предполагающем проведение, не стоит флаг "Прив. режим при проведении"
|
||||
|
||||
DocumentPostInPrivilegedModeCheck_message_Unpost_in_privileged_mode = В документе, предполагающем проведение, не стоит флаг "Прив. режим при отмене проведения"
|
||||
|
||||
DocumentPostInPrivilegedModeCheck_title = В документе, предполагающем проведение, не стоит флаг "Прив. режим при проведении/отмене проведения"
|
||||
|
||||
ExtensionMdObjectNamePrefixCheck_Description = Имя объекта в расширении не содержит префикс расширения
|
||||
|
||||
ExtensionMdObjectNamePrefixCheck_Object_0_should_have_1_prefix = Имя объекта "{0}" должно содержать префикс "{1}"
|
||||
|
||||
ExtensionMdObjectNamePrefixCheck_Title = Имя объекта в расширении должно содержать префикс расширения
|
||||
|
||||
FunctionalOptionPrivilegedGetModeCheck_message = В функциональной опции не установлен флаг "Привилегированный режим при получении"
|
||||
|
||||
FunctionalOptionPrivilegedGetModeCheck_description = В функциональной опции не установлен флаг "Привилегированный режим при получении"
|
||||
|
||||
FunctionalOptionPrivilegedGetModeCheck_title = В функциональной опции не установлен флаг "Привилегированный режим при получении"
|
||||
|
||||
MdListObjectPresentationCheck_Neither_Object_presentation_nor_List_presentation_is_not_filled = Не заполнено ни представление объекта, ни представление списка
|
||||
|
||||
MdListObjectPresentationCheck_decription = Не заполнено ни представление объекта, ни представление списка
|
||||
@ -92,10 +38,18 @@ MdObjectAttributeCommentCheck_Check_catalogs_param = Проверять спра
|
||||
|
||||
MdObjectAttributeCommentCheck_Check_documents_param = Проверять документы
|
||||
|
||||
MdObjectAttributeCommentCheck_Default_check_message = Реквизит "Комментарий" имеет недопустимый тип
|
||||
MdObjectAttributeCommentCheck_Is_compound_type = реквизит имеет составной тип данных
|
||||
|
||||
MdObjectAttributeCommentCheck_Multiline_edit_is_not_enabled = не включен многострочный режим
|
||||
|
||||
MdObjectAttributeCommentCheck_Not_a_String = тип не Строка
|
||||
|
||||
MdObjectAttributeCommentCheck_String_is_not_unlimited = Строка должна быть неограниченной длины
|
||||
|
||||
MdObjectAttributeCommentCheck_description = Реквизит "Комментарий" имеет недопустимый тип
|
||||
|
||||
MdObjectAttributeCommentCheck_message = Реквизит "Комментарий" имеет недопустимый тип: {0}
|
||||
|
||||
MdObjectAttributeCommentCheck_title = Реквизит "Комментарий" имеет недопустимый тип
|
||||
|
||||
MdObjectAttributeCommentNotExist_Md_Object_attribute_Comment_does_not_exist = Объект метаданных не имеет реквизит "Комментарий"
|
||||
@ -134,36 +88,6 @@ MdOwnerAttributeSynonymEmpty_owner_ErrorMessage = Не задан синоним
|
||||
|
||||
MdOwnerAttributeSynonymEmpty_parent_ErrorMessage = Не задан синоним у стандартного реквизита 'Родитель'
|
||||
|
||||
MdScheduledJobDescriptionCheck_description = Задано наименование предопределенного регламентного задания
|
||||
|
||||
MdScheduledJobDescriptionCheck_message = Задано наименование предопределенного регламентного задания
|
||||
|
||||
MdScheduledJobDescriptionCheck_title = Задано наименование предопределенного регламентного задания
|
||||
|
||||
MdScheduledJobPeriodicityCheck_Minimum_job_interval_description = Минимальный интервал выполнения
|
||||
|
||||
MdScheduledJobPeriodicityCheck_The_minimum_job_interval_is_less_then_minute = Периодичность выполнения регламентного задания меньше {0}сек
|
||||
|
||||
MdScheduledJobPeriodicityCheck_description = Периодичность выполнения регламентного задания меньше {0}сек
|
||||
|
||||
MdScheduledJobPeriodicityCheck_title = Периодичность выполнения регламентного задания меньше {0}сек
|
||||
|
||||
RegisterResourcePrecisionCheck_description = Превышена максимальная длина ресурса регистра накопления или бухгалтерии (25 знаков)
|
||||
|
||||
RegisterResourcePrecisionCheck_message = Длина ресурса регистра "{0}" превышает {1}
|
||||
|
||||
RegisterResourcePrecisionCheck_title = Превышена максимальная длина ресурса регистра накопления или бухгалтерии (25 знаков)
|
||||
|
||||
SubsystemSynonymTooLongCheck_Exclude_languages_comma_separated = Исключить языки (коды, разделенных запятыми)
|
||||
|
||||
SubsystemSynonymTooLongCheck_Length_of_section_name_more_than_symbols_for_language = Длина синонима раздела "{0}" превышает {1} символов для языка {2}
|
||||
|
||||
SubsystemSynonymTooLongCheck_Maximum_section_name_length = Максимальная длина названия раздела верхнего уровня
|
||||
|
||||
SubsystemSynonymTooLongCheck_description = Длина названия раздела превышает 35 символов
|
||||
|
||||
SubsystemSynonymTooLongCheck_title = Длина названия раздела превышает 35 символов
|
||||
|
||||
UnsafePasswordStorageCheck_Avoid_storing_password_in_infobase = Не следует хранить пароли в информационной базе
|
||||
|
||||
UnsafePasswordStorageCheck_Avoid_storing_password_in_infobase_description = Для сведения к минимуму возможности перехвата пароля злоумышленниками не следует хранить пароли в информационной базе
|
||||
|
@ -10,7 +10,7 @@
|
||||
* Contributors:
|
||||
* 1C-Soft LLC - initial API and implementation
|
||||
*******************************************************************************/
|
||||
package com.e1c.v8codestyle.md.check;
|
||||
package com.e1c.v8codestyle.md.commonmodule.check;
|
||||
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.COMMON_MODULE;
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.COMMON_MODULE__RETURN_VALUES_REUSE;
|
||||
@ -38,6 +38,7 @@ import com.e1c.g5.v8.dt.check.settings.IssueType;
|
||||
import com.e1c.v8codestyle.check.StandardCheckExtension;
|
||||
import com.e1c.v8codestyle.internal.md.CorePlugin;
|
||||
import com.e1c.v8codestyle.md.CommonModuleTypes;
|
||||
import com.e1c.v8codestyle.md.check.SkipAdoptedInExtensionMdObjectExtension;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
/**
|
@ -11,7 +11,7 @@
|
||||
* 1C-Soft LLC - initial API and implementation
|
||||
* Aleksandr Kapralov - issue #14
|
||||
*******************************************************************************/
|
||||
package com.e1c.v8codestyle.md.check;
|
||||
package com.e1c.v8codestyle.md.commonmodule.check;
|
||||
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.COMMON_MODULE;
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.COMMON_MODULE__CLIENT_MANAGED_APPLICATION;
|
||||
@ -42,6 +42,8 @@ import com.e1c.g5.v8.dt.check.settings.IssueType;
|
||||
import com.e1c.v8codestyle.check.StandardCheckExtension;
|
||||
import com.e1c.v8codestyle.internal.md.CorePlugin;
|
||||
import com.e1c.v8codestyle.md.CommonModuleTypes;
|
||||
import com.e1c.v8codestyle.md.check.MdObjectNameWithoutSuffix;
|
||||
import com.e1c.v8codestyle.md.check.SkipAdoptedInExtensionMdObjectExtension;
|
||||
|
||||
/**
|
||||
* Check client common module name has "Client" suffix
|
@ -10,7 +10,7 @@
|
||||
* Contributors:
|
||||
* 1C-Soft LLC - initial API and implementation
|
||||
*******************************************************************************/
|
||||
package com.e1c.v8codestyle.md.check;
|
||||
package com.e1c.v8codestyle.md.commonmodule.check;
|
||||
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.COMMON_MODULE;
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.COMMON_MODULE__RETURN_VALUES_REUSE;
|
||||
@ -38,6 +38,7 @@ import com.e1c.g5.v8.dt.check.settings.IssueType;
|
||||
import com.e1c.v8codestyle.check.StandardCheckExtension;
|
||||
import com.e1c.v8codestyle.internal.md.CorePlugin;
|
||||
import com.e1c.v8codestyle.md.CommonModuleTypes;
|
||||
import com.e1c.v8codestyle.md.check.SkipAdoptedInExtensionMdObjectExtension;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
/**
|
@ -11,7 +11,7 @@
|
||||
* 1C-Soft LLC - initial API and implementation
|
||||
* Aleksandr Kapralov - issue #14
|
||||
*******************************************************************************/
|
||||
package com.e1c.v8codestyle.md.check;
|
||||
package com.e1c.v8codestyle.md.commonmodule.check;
|
||||
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.COMMON_MODULE;
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.COMMON_MODULE__CLIENT_MANAGED_APPLICATION;
|
||||
@ -42,6 +42,8 @@ import com.e1c.g5.v8.dt.check.settings.IssueType;
|
||||
import com.e1c.v8codestyle.check.StandardCheckExtension;
|
||||
import com.e1c.v8codestyle.internal.md.CorePlugin;
|
||||
import com.e1c.v8codestyle.md.CommonModuleTypes;
|
||||
import com.e1c.v8codestyle.md.check.MdObjectNameWithoutSuffix;
|
||||
import com.e1c.v8codestyle.md.check.SkipAdoptedInExtensionMdObjectExtension;
|
||||
|
||||
/**
|
||||
* Check client-server common module name has "ClientServer" suffix
|
@ -11,7 +11,7 @@
|
||||
* 1C-Soft LLC - initial API and implementation
|
||||
* Aleksandr Kapralov - issue #14
|
||||
*******************************************************************************/
|
||||
package com.e1c.v8codestyle.md.check;
|
||||
package com.e1c.v8codestyle.md.commonmodule.check;
|
||||
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.COMMON_MODULE;
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.COMMON_MODULE__CLIENT_MANAGED_APPLICATION;
|
||||
@ -42,6 +42,8 @@ import com.e1c.g5.v8.dt.check.settings.IssueType;
|
||||
import com.e1c.v8codestyle.check.StandardCheckExtension;
|
||||
import com.e1c.v8codestyle.internal.md.CorePlugin;
|
||||
import com.e1c.v8codestyle.md.CommonModuleTypes;
|
||||
import com.e1c.v8codestyle.md.check.MdObjectNameWithoutSuffix;
|
||||
import com.e1c.v8codestyle.md.check.SkipAdoptedInExtensionMdObjectExtension;
|
||||
|
||||
/**
|
||||
* Check global common module name has "Global" suffix
|
@ -10,7 +10,7 @@
|
||||
* Contributors:
|
||||
* 1C-Soft LLC - initial API and implementation
|
||||
*******************************************************************************/
|
||||
package com.e1c.v8codestyle.md.check;
|
||||
package com.e1c.v8codestyle.md.commonmodule.check;
|
||||
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.COMMON_MODULE;
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.COMMON_MODULE__GLOBAL;
|
@ -10,7 +10,7 @@
|
||||
* Contributors:
|
||||
* 1C-Soft LLC - initial API and implementation
|
||||
*******************************************************************************/
|
||||
package com.e1c.v8codestyle.md.check;
|
||||
package com.e1c.v8codestyle.md.commonmodule.check;
|
||||
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.COMMON_MODULE;
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.COMMON_MODULE__PRIVILEGED;
|
||||
@ -29,6 +29,8 @@ import com.e1c.g5.v8.dt.check.settings.IssueSeverity;
|
||||
import com.e1c.g5.v8.dt.check.settings.IssueType;
|
||||
import com.e1c.v8codestyle.check.StandardCheckExtension;
|
||||
import com.e1c.v8codestyle.internal.md.CorePlugin;
|
||||
import com.e1c.v8codestyle.md.check.MdObjectNameWithoutSuffix;
|
||||
import com.e1c.v8codestyle.md.check.SkipAdoptedInExtensionMdObjectExtension;
|
||||
|
||||
/**
|
||||
* Check privileged common module name has "FullAccess" suffix
|
@ -10,7 +10,7 @@
|
||||
* Contributors:
|
||||
* 1C-Soft LLC - initial API and implementation
|
||||
*******************************************************************************/
|
||||
package com.e1c.v8codestyle.md.check;
|
||||
package com.e1c.v8codestyle.md.commonmodule.check;
|
||||
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.COMMON_MODULE;
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.COMMON_MODULE__RETURN_VALUES_REUSE;
|
||||
@ -38,6 +38,7 @@ import com.e1c.g5.v8.dt.check.settings.IssueType;
|
||||
import com.e1c.v8codestyle.check.StandardCheckExtension;
|
||||
import com.e1c.v8codestyle.internal.md.CorePlugin;
|
||||
import com.e1c.v8codestyle.md.CommonModuleTypes;
|
||||
import com.e1c.v8codestyle.md.check.SkipAdoptedInExtensionMdObjectExtension;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
/**
|
@ -10,7 +10,7 @@
|
||||
* Contributors:
|
||||
* 1C-Soft LLC - initial API and implementation
|
||||
*******************************************************************************/
|
||||
package com.e1c.v8codestyle.md.check;
|
||||
package com.e1c.v8codestyle.md.commonmodule.check;
|
||||
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.COMMON_MODULE;
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.COMMON_MODULE__SERVER_CALL;
|
||||
@ -37,6 +37,7 @@ import com.e1c.g5.v8.dt.check.settings.IssueType;
|
||||
import com.e1c.v8codestyle.check.StandardCheckExtension;
|
||||
import com.e1c.v8codestyle.internal.md.CorePlugin;
|
||||
import com.e1c.v8codestyle.md.CommonModuleTypes;
|
||||
import com.e1c.v8codestyle.md.check.SkipAdoptedInExtensionMdObjectExtension;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
/**
|
@ -11,7 +11,7 @@
|
||||
* 1C-Soft LLC - initial API and implementation
|
||||
* Aleksandr Kapralov - issue #15
|
||||
*******************************************************************************/
|
||||
package com.e1c.v8codestyle.md.check;
|
||||
package com.e1c.v8codestyle.md.commonmodule.check;
|
||||
|
||||
import static com._1c.g5.v8.dt.common.Functions.featureToLabel;
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.COMMON_MODULE;
|
||||
@ -40,6 +40,7 @@ import com.e1c.g5.v8.dt.check.settings.IssueType;
|
||||
import com.e1c.v8codestyle.check.StandardCheckExtension;
|
||||
import com.e1c.v8codestyle.internal.md.CorePlugin;
|
||||
import com.e1c.v8codestyle.md.CommonModuleTypes;
|
||||
import com.e1c.v8codestyle.md.check.SkipAdoptedInExtensionMdObjectExtension;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
/**
|
@ -0,0 +1,55 @@
|
||||
/*******************************************************************************
|
||||
* Copyright (C) 2021, 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.md.commonmodule.check;
|
||||
|
||||
import org.eclipse.osgi.util.NLS;
|
||||
|
||||
/**
|
||||
* @author Dmitriy Marmyshev
|
||||
*
|
||||
*/
|
||||
final class Messages
|
||||
extends NLS
|
||||
{
|
||||
private static final String BUNDLE_NAME = Messages.class.getPackageName() + ".messages"; //$NON-NLS-1$
|
||||
public static String CommonModuleNameClient_description;
|
||||
public static String CommonModuleNameClient_message;
|
||||
public static String CommonModuleNameClient_title;
|
||||
public static String CommonModuleNameClientServer_description;
|
||||
public static String CommonModuleNameClientServer_message;
|
||||
public static String CommonModuleNameClientServer_title;
|
||||
public static String CommonModuleNamePrivilegedCheck_Description;
|
||||
public static String CommonModuleNamePrivilegedCheck_Issue;
|
||||
public static String CommonModuleNamePrivilegedCheck_Title;
|
||||
public static String CommonModuleNameGlobal_Description;
|
||||
public static String CommonModuleNameGlobal_Message;
|
||||
public static String CommonModuleNameGlobal_Title;
|
||||
public static String CommonModuleNameGlobalClientCheck_Description;
|
||||
public static String CommonModuleNameGlobalClientCheck_Message;
|
||||
public static String CommonModuleNameGlobalClientCheck_Title;
|
||||
public static String CommonModuleType_description;
|
||||
public static String CommonModuleType_message;
|
||||
public static String CommonModuleType_title;
|
||||
public static String CommonModuleNameServerCallPostfixCheck_0;
|
||||
public static String CommonModuleNameServerCallPostfixCheck_Common_module_name_description;
|
||||
public static String CommonModuleNameServerCallPostfixCheck_Common_module_postfix_title;
|
||||
static
|
||||
{
|
||||
// initialize resource bundle
|
||||
NLS.initializeMessages(BUNDLE_NAME, Messages.class);
|
||||
}
|
||||
|
||||
private Messages()
|
||||
{
|
||||
}
|
||||
}
|
@ -0,0 +1,42 @@
|
||||
|
||||
CommonModuleNameClientServer_description = Client-server common module should end with ClientServer suffix
|
||||
|
||||
CommonModuleNameClientServer_message = Client-server common module should end with "{0}" suffix
|
||||
|
||||
CommonModuleNameClientServer_title = Client-server common module should end with ClientServer suffix
|
||||
|
||||
CommonModuleNameClient_description = Client common module should end with Client suffix
|
||||
|
||||
CommonModuleNameClient_message = Client common module name should end with "{0}" suffix
|
||||
|
||||
CommonModuleNameClient_title = Client common module should end with Client suffix
|
||||
|
||||
CommonModuleNameGlobalClientCheck_Description = Client global common module should end with Client suffix
|
||||
|
||||
CommonModuleNameGlobalClientCheck_Message = Client global common module should not have "{0}" suffix
|
||||
|
||||
CommonModuleNameGlobalClientCheck_Title = Client global common module should end with Client suffix
|
||||
|
||||
CommonModuleNameGlobal_Description = Global common module should end with Global suffix
|
||||
|
||||
CommonModuleNameGlobal_Message = Global common module should end with "{0}" suffix
|
||||
|
||||
CommonModuleNameGlobal_Title = Global common module should end with Global suffix
|
||||
|
||||
CommonModuleNamePrivilegedCheck_Description = Privileged common module should end with FullAccess suffix
|
||||
|
||||
CommonModuleNamePrivilegedCheck_Issue = Privileged common module should end with "{0}" suffix
|
||||
|
||||
CommonModuleNamePrivilegedCheck_Title = Privileged common module should end with FullAccess suffix
|
||||
|
||||
CommonModuleNameServerCallPostfixCheck_0 = Common module should end with {0}
|
||||
|
||||
CommonModuleNameServerCallPostfixCheck_Common_module_name_description = Common module should end with correct postfix
|
||||
|
||||
CommonModuleNameServerCallPostfixCheck_Common_module_postfix_title = Common module should end with correct postfix
|
||||
|
||||
CommonModuleType_description = Common module has incorrect type
|
||||
|
||||
CommonModuleType_message = Common module for type "{0}" has incorrect settings: {1}
|
||||
|
||||
CommonModuleType_title = Common module has incorrect type
|
@ -0,0 +1,43 @@
|
||||
#Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/)
|
||||
|
||||
CommonModuleNameClientServer_description = Клиент-серверный общий модуль должен оканчиваться на суффикс КлиентСервер
|
||||
|
||||
CommonModuleNameClientServer_message = Клиент-серверный общий модуль должен оканчиваться на суффикс "{0}"
|
||||
|
||||
CommonModuleNameClientServer_title = Клиент-серверный общий модуль должен оканчиваться на суффикс КлиентСервер
|
||||
|
||||
CommonModuleNameClient_description = Клиентский общий модуль должен оканчиваться на суффикс Клиент
|
||||
|
||||
CommonModuleNameClient_message = Клиентский общий модуль должен оканчиваться на суффикс "{0}"
|
||||
|
||||
CommonModuleNameClient_title = Клиентский общий модуль должен оканчиваться на суффикс Клиент
|
||||
|
||||
CommonModuleNameGlobalClientCheck_Description = Клиентский глобальный общий модуль должен оканчиваться на суффикс Клиент
|
||||
|
||||
CommonModuleNameGlobalClientCheck_Message = Клиентский глобальный общий модуль не должен содержать суффикс "{0}"
|
||||
|
||||
CommonModuleNameGlobalClientCheck_Title = Клиентский глобальный общий модуль должен оканчиваться на суффикс Клиент
|
||||
|
||||
CommonModuleNameGlobal_Description = Глобальный общий модуль должен оканчиваться на суффикс Глобальный
|
||||
|
||||
CommonModuleNameGlobal_Message = Глобальный общий модуль должен оканчиваться на суффикс "{0}"
|
||||
|
||||
CommonModuleNameGlobal_Title = Глобальный общий модуль должен оканчиваться на суффикс Глобальный
|
||||
|
||||
CommonModuleNamePrivilegedCheck_Description = Привилегированный модуль должен оканчиваться на суффикс ПолныеПрава
|
||||
|
||||
CommonModuleNamePrivilegedCheck_Issue = Привилегированный модуль должен оканчиваться на суффикс "{0}"
|
||||
|
||||
CommonModuleNamePrivilegedCheck_Title = Привилегированный модуль должен оканчиваться на суффикс ПолныеПрава
|
||||
|
||||
CommonModuleNameServerCallPostfixCheck_0 = Общий модуль должен именоваться с постфиксом {0}
|
||||
|
||||
CommonModuleNameServerCallPostfixCheck_Common_module_name_description = Общий модуль должен именоваться с постфиксом
|
||||
|
||||
CommonModuleNameServerCallPostfixCheck_Common_module_postfix_title = Общий модуль должен именоваться с постфиксом
|
||||
|
||||
CommonModuleType_description = Общий модуль имеет некорректный тип
|
||||
|
||||
CommonModuleType_message = Общий модуль для типа "{0}" имеет некорректные настройки: {1}
|
||||
|
||||
CommonModuleType_title = Общий модуль имеет некорректный тип
|
@ -10,7 +10,7 @@
|
||||
* Contributors:
|
||||
* 1C-Soft LLC - initial API and implementation
|
||||
*******************************************************************************/
|
||||
package com.e1c.v8codestyle.md.check;
|
||||
package com.e1c.v8codestyle.md.configuration.check;
|
||||
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.CONFIGURATION;
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.CONFIGURATION__DATA_LOCK_CONTROL_MODE;
|
@ -0,0 +1,38 @@
|
||||
/*******************************************************************************
|
||||
* Copyright (C) 2021, 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.md.configuration.check;
|
||||
|
||||
import org.eclipse.osgi.util.NLS;
|
||||
|
||||
|
||||
/**
|
||||
* @author Dmitriy Marmyshev
|
||||
*
|
||||
*/
|
||||
final class Messages
|
||||
extends NLS
|
||||
{
|
||||
private static final String BUNDLE_NAME = Messages.class.getPackageName() + ".messages"; //$NON-NLS-1$
|
||||
public static String ConfigurationDataLock_description;
|
||||
public static String ConfigurationDataLock_message;
|
||||
public static String ConfigurationDataLock_title;
|
||||
static
|
||||
{
|
||||
// initialize resource bundle
|
||||
NLS.initializeMessages(BUNDLE_NAME, Messages.class);
|
||||
}
|
||||
|
||||
private Messages()
|
||||
{
|
||||
}
|
||||
}
|
@ -0,0 +1,6 @@
|
||||
|
||||
ConfigurationDataLock_description = Application should use managed data lock mode
|
||||
|
||||
ConfigurationDataLock_message = Application should use managed data lock mode
|
||||
|
||||
ConfigurationDataLock_title = Configuration data lock mode
|
@ -0,0 +1,7 @@
|
||||
#Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/)
|
||||
|
||||
ConfigurationDataLock_description = Приложение должно использовать управляемый режим блокировки данных
|
||||
|
||||
ConfigurationDataLock_message = Приложение должно использовать управляемый режим блокировки данных
|
||||
|
||||
ConfigurationDataLock_title = Режим блокировки данных конфигурации
|
@ -11,13 +11,13 @@
|
||||
* 1C-Soft LLC - initial API and implementation
|
||||
*******************************************************************************/
|
||||
|
||||
package com.e1c.v8codestyle.md.check;
|
||||
package com.e1c.v8codestyle.md.document.check;
|
||||
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.DOCUMENT;
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.DOCUMENT__POSTING;
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.DOCUMENT__POST_IN_PRIVILEGED_MODE;
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.DOCUMENT__UNPOST_IN_PRIVILEGED_MODE;
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.DOCUMENT__REGISTER_RECORDS;
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.DOCUMENT__UNPOST_IN_PRIVILEGED_MODE;
|
||||
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
|
||||
@ -30,6 +30,7 @@ import com.e1c.g5.v8.dt.check.settings.IssueSeverity;
|
||||
import com.e1c.g5.v8.dt.check.settings.IssueType;
|
||||
import com.e1c.v8codestyle.check.StandardCheckExtension;
|
||||
import com.e1c.v8codestyle.internal.md.CorePlugin;
|
||||
import com.e1c.v8codestyle.md.check.SkipAdoptedInExtensionMdObjectExtension;
|
||||
|
||||
/**
|
||||
* The check that in the document that allow posting set flags "Post in privileged mode"
|
@ -0,0 +1,38 @@
|
||||
/*******************************************************************************
|
||||
* Copyright (C) 2021, 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.md.document.check;
|
||||
|
||||
import org.eclipse.osgi.util.NLS;
|
||||
|
||||
/**
|
||||
* @author Dmitriy Marmyshev
|
||||
*
|
||||
*/
|
||||
final class Messages
|
||||
extends NLS
|
||||
{
|
||||
private static final String BUNDLE_NAME = Messages.class.getPackageName() + ".messages"; //$NON-NLS-1$
|
||||
public static String DocumentPostInPrivilegedModeCheck_description;
|
||||
public static String DocumentPostInPrivilegedModeCheck_message_Post_in_privileged_mode;
|
||||
public static String DocumentPostInPrivilegedModeCheck_message_Unpost_in_privileged_mode;
|
||||
public static String DocumentPostInPrivilegedModeCheck_title;
|
||||
static
|
||||
{
|
||||
// initialize resource bundle
|
||||
NLS.initializeMessages(BUNDLE_NAME, Messages.class);
|
||||
}
|
||||
|
||||
private Messages()
|
||||
{
|
||||
}
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
|
||||
DocumentPostInPrivilegedModeCheck_title = In document that allow posting don't set flag "Post/Unpost in privileged mode"
|
||||
|
||||
DocumentPostInPrivilegedModeCheck_description = In document that allow posting don't set flag "Post/Unpost in privileged mode"
|
||||
|
||||
DocumentPostInPrivilegedModeCheck_message_Post_in_privileged_mode = In document that allow posting don't set flag "Post in privileged mode"
|
||||
|
||||
DocumentPostInPrivilegedModeCheck_message_Unpost_in_privileged_mode = In document that allow posting don't set flag "Unpost in privileged mode"
|
@ -0,0 +1,9 @@
|
||||
#Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/)
|
||||
|
||||
DocumentPostInPrivilegedModeCheck_description = В документе, предполагающем проведение, не стоит флаг "Прив. режим при проведении/отмене проведения"
|
||||
|
||||
DocumentPostInPrivilegedModeCheck_message_Post_in_privileged_mode = В документе, предполагающем проведение, не стоит флаг "Прив. режим при проведении"
|
||||
|
||||
DocumentPostInPrivilegedModeCheck_message_Unpost_in_privileged_mode = В документе, предполагающем проведение, не стоит флаг "Прив. режим при отмене проведения"
|
||||
|
||||
DocumentPostInPrivilegedModeCheck_title = В документе, предполагающем проведение, не стоит флаг "Прив. режим при проведении/отмене проведения"
|
@ -11,11 +11,11 @@
|
||||
* 1C-Soft LLC - initial API and implementation
|
||||
*******************************************************************************/
|
||||
|
||||
package com.e1c.v8codestyle.md.check;
|
||||
package com.e1c.v8codestyle.md.functionoption.check;
|
||||
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.FUNCTIONAL_OPTION;
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.FUNCTIONAL_OPTION__PRIVILEGED_GET_MODE;
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.FUNCTIONAL_OPTION__LOCATION;
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.FUNCTIONAL_OPTION__PRIVILEGED_GET_MODE;
|
||||
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
|
||||
@ -27,6 +27,7 @@ import com.e1c.g5.v8.dt.check.settings.IssueSeverity;
|
||||
import com.e1c.g5.v8.dt.check.settings.IssueType;
|
||||
import com.e1c.v8codestyle.check.StandardCheckExtension;
|
||||
import com.e1c.v8codestyle.internal.md.CorePlugin;
|
||||
import com.e1c.v8codestyle.md.check.SkipAdoptedInExtensionMdObjectExtension;
|
||||
|
||||
/**
|
||||
* Check functional option use privileged get mode.
|
@ -0,0 +1,37 @@
|
||||
/*******************************************************************************
|
||||
* Copyright (C) 2021, 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.md.functionoption.check;
|
||||
|
||||
import org.eclipse.osgi.util.NLS;
|
||||
|
||||
/**
|
||||
* @author Dmitriy Marmyshev
|
||||
*
|
||||
*/
|
||||
final class Messages
|
||||
extends NLS
|
||||
{
|
||||
private static final String BUNDLE_NAME = Messages.class.getPackageName() + ".messages"; //$NON-NLS-1$
|
||||
public static String FunctionalOptionPrivilegedGetModeCheck_description;
|
||||
public static String FunctionalOptionPrivilegedGetModeCheck_message;
|
||||
public static String FunctionalOptionPrivilegedGetModeCheck_title;
|
||||
static
|
||||
{
|
||||
// initialize resource bundle
|
||||
NLS.initializeMessages(BUNDLE_NAME, Messages.class);
|
||||
}
|
||||
|
||||
private Messages()
|
||||
{
|
||||
}
|
||||
}
|
@ -0,0 +1,6 @@
|
||||
|
||||
FunctionalOptionPrivilegedGetModeCheck_message = Functional option don't use privileged get mode
|
||||
|
||||
FunctionalOptionPrivilegedGetModeCheck_description = Functional option don't use privileged get mode
|
||||
|
||||
FunctionalOptionPrivilegedGetModeCheck_title = Functional option don't use privileged get mode
|
@ -0,0 +1,7 @@
|
||||
#Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/)
|
||||
|
||||
FunctionalOptionPrivilegedGetModeCheck_message = В функциональной опции не установлен флаг "Привилегированный режим при получении"
|
||||
|
||||
FunctionalOptionPrivilegedGetModeCheck_description = В функциональной опции не установлен флаг "Привилегированный режим при получении"
|
||||
|
||||
FunctionalOptionPrivilegedGetModeCheck_title = В функциональной опции не установлен флаг "Привилегированный режим при получении"
|
@ -0,0 +1,37 @@
|
||||
/*******************************************************************************
|
||||
* Copyright (C) 2021, 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.md.register.check;
|
||||
|
||||
import org.eclipse.osgi.util.NLS;
|
||||
|
||||
/**
|
||||
* @author Dmitriy Marmyshev
|
||||
*
|
||||
*/
|
||||
final class Messages
|
||||
extends NLS
|
||||
{
|
||||
private static final String BUNDLE_NAME = Messages.class.getPackageName() + ".messages"; //$NON-NLS-1$
|
||||
public static String RegisterResourcePrecisionCheck_description;
|
||||
public static String RegisterResourcePrecisionCheck_message;
|
||||
public static String RegisterResourcePrecisionCheck_title;
|
||||
static
|
||||
{
|
||||
// initialize resource bundle
|
||||
NLS.initializeMessages(BUNDLE_NAME, Messages.class);
|
||||
}
|
||||
|
||||
private Messages()
|
||||
{
|
||||
}
|
||||
}
|
@ -10,7 +10,7 @@
|
||||
* Contributors:
|
||||
* 1C-Soft LLC - initial API and implementation
|
||||
*******************************************************************************/
|
||||
package com.e1c.v8codestyle.md.check;
|
||||
package com.e1c.v8codestyle.md.register.check;
|
||||
|
||||
import static com._1c.g5.v8.dt.mcore.McorePackage.Literals.TYPE_DESCRIPTION;
|
||||
import static com._1c.g5.v8.dt.mcore.McorePackage.Literals.TYPE_DESCRIPTION__NUMBER_QUALIFIERS;
|
@ -0,0 +1,6 @@
|
||||
|
||||
RegisterResourcePrecisionCheck_description = Accumulation or accounting register resource precision is more than 25
|
||||
|
||||
RegisterResourcePrecisionCheck_message = Accumulation or accounting register resource "{0}" precision is more than {1}
|
||||
|
||||
RegisterResourcePrecisionCheck_title = Accumulation or accounting register resource precision is more than 25
|
@ -0,0 +1,7 @@
|
||||
#Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/)
|
||||
|
||||
RegisterResourcePrecisionCheck_description = Превышена максимальная длина ресурса регистра накопления или бухгалтерии (25 знаков)
|
||||
|
||||
RegisterResourcePrecisionCheck_message = Длина ресурса регистра "{0}" превышает {1}
|
||||
|
||||
RegisterResourcePrecisionCheck_title = Превышена максимальная длина ресурса регистра накопления или бухгалтерии (25 знаков)
|
@ -11,7 +11,7 @@
|
||||
* 1C-Soft LLC - initial API and implementation
|
||||
* Sergey Kozynskiy - issue #431
|
||||
*******************************************************************************/
|
||||
package com.e1c.v8codestyle.md.check;
|
||||
package com.e1c.v8codestyle.md.scheduledjob.check;
|
||||
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.SCHEDULED_JOB;
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.SCHEDULED_JOB__DESCRIPTION;
|
||||
@ -28,6 +28,7 @@ import com.e1c.g5.v8.dt.check.settings.IssueSeverity;
|
||||
import com.e1c.g5.v8.dt.check.settings.IssueType;
|
||||
import com.e1c.v8codestyle.check.StandardCheckExtension;
|
||||
import com.e1c.v8codestyle.internal.md.CorePlugin;
|
||||
import com.e1c.v8codestyle.md.check.SkipAdoptedInExtensionMdObjectExtension;
|
||||
|
||||
|
||||
/**
|
@ -12,7 +12,7 @@
|
||||
* Manaev Konstantin - issue #38
|
||||
*******************************************************************************/
|
||||
|
||||
package com.e1c.v8codestyle.md.check;
|
||||
package com.e1c.v8codestyle.md.scheduledjob.check;
|
||||
|
||||
import static com._1c.g5.v8.dt.schedule.model.SchedulePackage.Literals.DAILY_SCHEDULE;
|
||||
import static com._1c.g5.v8.dt.schedule.model.SchedulePackage.Literals.DAILY_SCHEDULE__REPEAT_PAUSE;
|
||||
@ -36,6 +36,7 @@ import com.e1c.g5.v8.dt.check.settings.IssueSeverity;
|
||||
import com.e1c.g5.v8.dt.check.settings.IssueType;
|
||||
import com.e1c.v8codestyle.check.StandardCheckExtension;
|
||||
import com.e1c.v8codestyle.internal.md.CorePlugin;
|
||||
import com.e1c.v8codestyle.md.check.SkipAdoptedInExtensionMdObjectExtension;
|
||||
|
||||
/**
|
||||
* Check mdo ScheduledJobs that a periodicity of execution a job is less than one minute
|
@ -0,0 +1,41 @@
|
||||
/*******************************************************************************
|
||||
* Copyright (C) 2021, 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.md.scheduledjob.check;
|
||||
|
||||
import org.eclipse.osgi.util.NLS;
|
||||
|
||||
/**
|
||||
* @author Dmitriy Marmyshev
|
||||
*
|
||||
*/
|
||||
final class Messages
|
||||
extends NLS
|
||||
{
|
||||
private static final String BUNDLE_NAME = Messages.class.getPackageName() + ".messages"; //$NON-NLS-1$
|
||||
public static String MdScheduledJobDescriptionCheck_title;
|
||||
public static String MdScheduledJobDescriptionCheck_description;
|
||||
public static String MdScheduledJobDescriptionCheck_message;
|
||||
public static String MdScheduledJobPeriodicityCheck_description;
|
||||
public static String MdScheduledJobPeriodicityCheck_The_minimum_job_interval_is_less_then_minute;
|
||||
public static String MdScheduledJobPeriodicityCheck_title;
|
||||
public static String MdScheduledJobPeriodicityCheck_Minimum_job_interval_description;
|
||||
static
|
||||
{
|
||||
// initialize resource bundle
|
||||
NLS.initializeMessages(BUNDLE_NAME, Messages.class);
|
||||
}
|
||||
|
||||
private Messages()
|
||||
{
|
||||
}
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
|
||||
MdScheduledJobDescriptionCheck_description = The description of the predefine scheduled job is set
|
||||
|
||||
MdScheduledJobDescriptionCheck_message = The description of the predefine scheduled job is set
|
||||
|
||||
MdScheduledJobDescriptionCheck_title = The description of the predefine scheduled job is set
|
||||
|
||||
MdScheduledJobPeriodicityCheck_Minimum_job_interval_description = Minimum job interval
|
||||
|
||||
MdScheduledJobPeriodicityCheck_The_minimum_job_interval_is_less_then_minute = The minimum job interval is less then {0}s
|
||||
|
||||
MdScheduledJobPeriodicityCheck_description = The minimum job interval is less then {0}s
|
||||
|
||||
MdScheduledJobPeriodicityCheck_title = The minimum job interval is less then {0}s
|
@ -0,0 +1,15 @@
|
||||
#Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/)
|
||||
|
||||
MdScheduledJobDescriptionCheck_description = Задано наименование предопределенного регламентного задания
|
||||
|
||||
MdScheduledJobDescriptionCheck_message = Задано наименование предопределенного регламентного задания
|
||||
|
||||
MdScheduledJobDescriptionCheck_title = Задано наименование предопределенного регламентного задания
|
||||
|
||||
MdScheduledJobPeriodicityCheck_Minimum_job_interval_description = Минимальный интервал выполнения
|
||||
|
||||
MdScheduledJobPeriodicityCheck_The_minimum_job_interval_is_less_then_minute = Периодичность выполнения регламентного задания меньше {0}сек
|
||||
|
||||
MdScheduledJobPeriodicityCheck_description = Периодичность выполнения регламентного задания меньше {0}сек
|
||||
|
||||
MdScheduledJobPeriodicityCheck_title = Периодичность выполнения регламентного задания меньше {0}сек
|
@ -0,0 +1,39 @@
|
||||
/*******************************************************************************
|
||||
* Copyright (C) 2021, 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.md.subsystem.check;
|
||||
|
||||
import org.eclipse.osgi.util.NLS;
|
||||
|
||||
/**
|
||||
* @author Dmitriy Marmyshev
|
||||
*
|
||||
*/
|
||||
final class Messages
|
||||
extends NLS
|
||||
{
|
||||
private static final String BUNDLE_NAME = Messages.class.getPackageName() + ".messages"; //$NON-NLS-1$
|
||||
public static String SubsystemSynonymTooLongCheck_description;
|
||||
public static String SubsystemSynonymTooLongCheck_Exclude_languages_comma_separated;
|
||||
public static String SubsystemSynonymTooLongCheck_Length_of_section_name_more_than_symbols_for_language;
|
||||
public static String SubsystemSynonymTooLongCheck_Maximum_section_name_length;
|
||||
public static String SubsystemSynonymTooLongCheck_title;
|
||||
static
|
||||
{
|
||||
// initialize resource bundle
|
||||
NLS.initializeMessages(BUNDLE_NAME, Messages.class);
|
||||
}
|
||||
|
||||
private Messages()
|
||||
{
|
||||
}
|
||||
}
|
@ -11,7 +11,7 @@
|
||||
* 1C-Soft LLC - initial API and implementation
|
||||
* Denis Maslennikov - issue #37
|
||||
*******************************************************************************/
|
||||
package com.e1c.v8codestyle.md.check;
|
||||
package com.e1c.v8codestyle.md.subsystem.check;
|
||||
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.MD_OBJECT__SYNONYM;
|
||||
import static com._1c.g5.v8.dt.metadata.mdclass.MdClassPackage.Literals.SUBSYSTEM;
|
||||
@ -35,6 +35,7 @@ import com.e1c.g5.v8.dt.check.settings.IssueSeverity;
|
||||
import com.e1c.g5.v8.dt.check.settings.IssueType;
|
||||
import com.e1c.v8codestyle.check.StandardCheckExtension;
|
||||
import com.e1c.v8codestyle.internal.md.CorePlugin;
|
||||
import com.e1c.v8codestyle.md.check.SkipAdoptedInExtensionMdObjectExtension;
|
||||
|
||||
/**
|
||||
* Check top subsystem synonym length that should be less then 35 by default or value
|
@ -0,0 +1,10 @@
|
||||
|
||||
SubsystemSynonymTooLongCheck_Exclude_languages_comma_separated = Exclude languages (codes, comma-separated)
|
||||
|
||||
SubsystemSynonymTooLongCheck_Length_of_section_name_more_than_symbols_for_language = Length of section synonym "{0}" more than {1} symbols for language {2}
|
||||
|
||||
SubsystemSynonymTooLongCheck_Maximum_section_name_length = Maximum section name length
|
||||
|
||||
SubsystemSynonymTooLongCheck_description = Section name is more than 35 characters long
|
||||
|
||||
SubsystemSynonymTooLongCheck_title = Section name is more than 35 characters long
|
@ -0,0 +1,11 @@
|
||||
#Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/)
|
||||
|
||||
SubsystemSynonymTooLongCheck_Exclude_languages_comma_separated = Исключить языки (коды, разделенных запятыми)
|
||||
|
||||
SubsystemSynonymTooLongCheck_Length_of_section_name_more_than_symbols_for_language = Длина синонима раздела "{0}" превышает {1} символов для языка {2}
|
||||
|
||||
SubsystemSynonymTooLongCheck_Maximum_section_name_length = Максимальная длина названия раздела верхнего уровня
|
||||
|
||||
SubsystemSynonymTooLongCheck_description = Длина названия раздела превышает 35 символов
|
||||
|
||||
SubsystemSynonymTooLongCheck_title = Длина названия раздела превышает 35 символов
|
@ -2,7 +2,7 @@ Manifest-Version: 1.0
|
||||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: %pluginName
|
||||
Bundle-SymbolicName: com.e1c.v8codestyle.ql;singleton:=true
|
||||
Bundle-Version: 0.5.0.qualifier
|
||||
Bundle-Version: 0.7.0.qualifier
|
||||
Bundle-Activator: com.e1c.v8codestyle.internal.ql.CorePlugin
|
||||
Bundle-Vendor: %providerName
|
||||
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.18.0,4.0.0)",
|
||||
@ -28,4 +28,4 @@ Import-Package: com._1c.g5.v8.bm.core;version="[8.0.0,9.0.0)",
|
||||
com.e1c.g5.v8.dt.check.components;version="[2.0.0,3.0.0)",
|
||||
com.e1c.g5.v8.dt.check.settings;version="1.0.0",
|
||||
com.e1c.g5.v8.dt.ql.check;version="[1.0.0,2.0.0)",
|
||||
com.e1c.v8codestyle.check;version="[0.5.0,0.6.0)"
|
||||
com.e1c.v8codestyle.check;version="[0.7.0,0.8.0)"
|
||||
|
@ -18,10 +18,10 @@
|
||||
<parent>
|
||||
<groupId>com.e1c.v8codestyle</groupId>
|
||||
<artifactId>bundles</artifactId>
|
||||
<version>0.5.0-SNAPSHOT</version>
|
||||
<version>0.7.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>com.e1c.v8codestyle.ql</artifactId>
|
||||
<version>0.5.0-SNAPSHOT</version>
|
||||
<version>0.7.0-SNAPSHOT</version>
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
|
||||
<properties>
|
||||
|
@ -21,7 +21,7 @@ import org.eclipse.osgi.util.NLS;
|
||||
final class Messages
|
||||
extends NLS
|
||||
{
|
||||
private static final String BUNDLE_NAME = "com.e1c.v8codestyle.ql.check.messages"; //$NON-NLS-1$
|
||||
private static final String BUNDLE_NAME = Messages.class.getPackageName() + ".messages"; //$NON-NLS-1$
|
||||
public static String CamelCaseStringLiteral_description;
|
||||
public static String CamelCaseStringLiteral_Regular_expression_to_skip_literal_content;
|
||||
public static String CamelCaseStringLiteral_String_literal_contains_non_CamelCase_symbols__0;
|
||||
|
@ -2,7 +2,7 @@ Manifest-Version: 1.0
|
||||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: %pluginName
|
||||
Bundle-SymbolicName: com.e1c.v8codestyle.right;singleton:=true
|
||||
Bundle-Version: 0.5.0.qualifier
|
||||
Bundle-Version: 0.7.0.qualifier
|
||||
Bundle-Activator: com.e1c.v8codestyle.internal.right.CorePlugin
|
||||
Bundle-Vendor: %providerName
|
||||
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.18.0,4.0.0)",
|
||||
@ -35,4 +35,4 @@ Import-Package: com._1c.g5.v8.bm.core;version="[8.0.0,9.0.0)",
|
||||
com.e1c.g5.v8.dt.check.context;version="[2.0.0,3.0.0)",
|
||||
com.e1c.g5.v8.dt.check.ext;version="[1.0.0,2.0.0)",
|
||||
com.e1c.g5.v8.dt.check.settings;version="[3.0.0,4.0.0)",
|
||||
com.e1c.v8codestyle.check;version="[0.5.0,0.6.0)"
|
||||
com.e1c.v8codestyle.check;version="[0.7.0,0.8.0)"
|
||||
|
@ -18,10 +18,10 @@
|
||||
<parent>
|
||||
<groupId>com.e1c.v8codestyle</groupId>
|
||||
<artifactId>bundles</artifactId>
|
||||
<version>0.5.0-SNAPSHOT</version>
|
||||
<version>0.7.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>com.e1c.v8codestyle.right</artifactId>
|
||||
<version>0.5.0-SNAPSHOT</version>
|
||||
<version>0.7.0-SNAPSHOT</version>
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
|
||||
<properties>
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user