-
Notifications
You must be signed in to change notification settings - Fork 24
Оптимизации #467
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Оптимизации #467
Conversation
Warning Rate limit exceeded@theshadowco has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 0 minutes and 37 seconds before requesting another review. How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. WalkthroughВнесены изменения в зависимости и классы проекта, обновлена версия Changes
Poem
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (invoked as PR comments)
Additionally, you can add CodeRabbit Configration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 4
Outside diff range, codebase verification and nitpick comments (3)
src/main/java/com/github/_1c_syntax/bsl/reader/common/converter/ProtectedModuleInfo.java (1)
51-71
: Отсутствуют тесты для классаProtectedModuleInfo
.На основании анализа, классу
ProtectedModuleInfo
не хватает тестового покрытия, что может привести к невыявленным ошибкам и проблемам в работе с защищенными модулями. Рекомендуется добавить тесты для проверки функциональности этого класса.
- Отсутствуют тесты, проверяющие
ProtectedModuleInfo
напрямую или косвенно.Analysis chain
Инициализация и проверка защищенности модуля выглядят правильными.
Логика конструктора корректно обрабатывает случаи, когда модуль не существует или защищен.
Однако, рекомендуется проверить обработку крайних случаев и наличие соответствующих тестов.
Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify handling of protected modules in `ProtectedModuleInfo`. # Test: Search for tests that cover `ProtectedModuleInfo`. rg --type java 'ProtectedModuleInfo'Length of output: 843
Script:
#!/bin/bash # Description: Verify handling of protected modules in `ProtectedModuleInfo`. # Test: Search for test files that cover `ProtectedModuleInfo`. rg --type java 'ProtectedModuleInfo' --glob '*Test.java'Length of output: 56
Script:
#!/bin/bash # Description: Verify handling of protected modules in `ProtectedModuleInfo`. # Test: Search for test methods that might indirectly test `ProtectedModuleInfo`. rg --type java 'ProtectedModuleInfo' --glob '*Test.java' -A 10Length of output: 62
src/main/java/com/github/_1c_syntax/bsl/reader/edt/converter/CommonTemplateConverter.java (1)
39-52
: Отсутствуют тесты дляCommonTemplateConverter
.Изменения в методе
unmarshal
требуют тестирования для проверки обработки крайних случаев и предотвращения возможных ошибок. Рекомендуется добавить соответствующие тесты дляCommonTemplateConverter
.
- Отсутствуют тесты, покрывающие
CommonTemplateConverter
.Analysis chain
Изменения в методе
unmarshal
выглядят правильными.Использование
ExtendXStream
для чтения данных и установкиTemplateData
улучшает функциональность.Однако, рекомендуется проверить обработку крайних случаев и наличие соответствующих тестов.
Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify handling of `unmarshal` method in `CommonTemplateConverter`. # Test: Search for tests that cover `CommonTemplateConverter`. rg --type java 'CommonTemplateConverter'Length of output: 199
Script:
#!/bin/bash # Description: Verify handling of `unmarshal` method in `CommonTemplateConverter`. # Test: Search for tests that cover `CommonTemplateConverter` in test directories. rg --type java 'CommonTemplateConverter' --glob 'src/test/**'Length of output: 61
Script:
#!/bin/bash # Description: Verify handling of `unmarshal` method in `CommonTemplateConverter`. # Test: Search for tests that cover `CommonTemplateConverter` in the entire repository. rg --type java 'CommonTemplateConverter'Length of output: 199
src/main/java/com/github/_1c_syntax/bsl/reader/edt/converter/Unmarshaller.java (1)
Line range hint
73-107
: МетодreadNode
.Метод
readNode
корректно обрабатывает различные типы узлов и устанавливает значения в контексте. Однако, можно улучшить читаемость кода, добавив комментарии.// Проверка, если узел соответствует языковому узлу if (LANGUAGE_NODE.equals(name)) { fieldClass = Language.class; name = LANGUAGE_METHOD_NAME; } else { fieldClass = String.class; }Этот комментарий улучшит понимание кода.
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files ignored due to path filters (104)
src/test/resources/fixtures/external/ТестоваяВнешняяОбработка.json
is excluded by!**/*.json
src/test/resources/fixtures/external/ТестоваяВнешняяОбработка_edt.json
is excluded by!**/*.json
src/test/resources/fixtures/external/ТестовыйВнешнийОтчет.json
is excluded by!**/*.json
src/test/resources/fixtures/external/ТестовыйВнешнийОтчет_edt.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/AccountingRegisters.РегистрБухгалтерии1.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/AccumulationRegisters.РегистрНакопления1.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/BusinessProcesses.БизнесПроцесс1.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/BusinessProcesses.БизнесПроцесс1_edt.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/CalculationRegisters.РегистрРасчета1.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/CalculationRegisters.РегистрРасчета1_edt.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/Catalogs.Справочник1.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/Catalogs.Справочник1_edt.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/ChartsOfAccounts.ПланСчетов1.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/ChartsOfAccounts.ПланСчетов1_edt.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/ChartsOfCalculationTypes.ПланВидовРасчета1.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/ChartsOfCharacteristicTypes.ПланВидовХарактеристик1.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/ChartsOfCharacteristicTypes.ПланВидовХарактеристик1_edt.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/CommandGroups.ГруппаКоманд1.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/CommonAttributes.ОбщийРеквизит1.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/CommonCommands.ОбщаяКоманда1.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/CommonCommands.ОбщаяКоманда1_edt.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/CommonForms.Форма.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/CommonForms.Форма_edt.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/CommonPictures.ОбщаяКартинка1.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/Configuration.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/Configuration_edt.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/Constants.Константа1.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/Constants.Константа1_edt.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/DataProcessors.Обработка1.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/DataProcessors.Обработка1_edt.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/DefinedTypes.ОпределяемыйТип1.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/DocumentJournals.ЖурналДокументов1.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/DocumentJournals.ЖурналДокументов1_edt.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/DocumentNumerators.НумераторДокументов1.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/Documents.Документ1.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/Documents.Документ1_edt.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/Enums.Перечисление1.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/Enums.Перечисление1_edt.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/EventSubscriptions.ПодпискаНаСобытие1.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/ExchangePlans.ПланОбмена1.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/ExchangePlans.ПланОбмена1_edt.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/ExternalDataSources.ТекущаяСУБД.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/ExternalDataSources.ТекущаяСУБД_edt.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/FilterCriteria.КритерийОтбора1.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/FilterCriteria.КритерийОтбора1_edt.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/FunctionalOptions.ФункциональнаяОпция1.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/HTTPServices.HTTPСервис1.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/HTTPServices.HTTPСервис1_edt.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/InformationRegisters.РегистрСведений1.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/InformationRegisters.РегистрСведений1_edt.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/Interfaces.Интерфейс1.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/Reports.Отчет1.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/Reports.Отчет1_edt.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/Roles.Роль1.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/ScheduledJobs.РегламентноеЗадание1.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/Sequences.Последовательность1.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/Sequences.Последовательность1_edt.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/SessionParameters.ПараметрСеанса1.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/StyleItems.ЭлементСтиля1.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/Subsystems.ПерваяПодсистема.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/Tasks.Задача1.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/WebServices.WebСервис1.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/WebServices.WebСервис1_edt.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses/XDTOPackages.ПакетXDTO1.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses_3_18/Bots.Бот1.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses_3_18/Bots.Бот1_edt.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses_3_18/Configuration.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses_3_18/Configuration_edt.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses_3_18/IntegrationServices.СервисИнтеграции1.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses_3_18/IntegrationServices.СервисИнтеграции1_edt.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses_3_24/Configuration_edt.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses_ext/Configuration.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses_ext/Configuration_edt.json
is excluded by!**/*.json
src/test/resources/fixtures/mdclasses_unknown/Configuration_edt.json
is excluded by!**/*.json
src/test/resources/fixtures/ssl_3_1/BusinessProcesses.Задание.json
is excluded by!**/*.json
src/test/resources/fixtures/ssl_3_1/BusinessProcesses.Задание_edt.json
is excluded by!**/*.json
src/test/resources/fixtures/ssl_3_1/Catalogs.Заметки.json
is excluded by!**/*.json
src/test/resources/fixtures/ssl_3_1/Catalogs.Заметки_edt.json
is excluded by!**/*.json
src/test/resources/fixtures/ssl_3_1/ChartsOfCharacteristicTypes.ДополнительныеРеквизитыИСведения.json
is excluded by!**/*.json
src/test/resources/fixtures/ssl_3_1/ChartsOfCharacteristicTypes.ДополнительныеРеквизитыИСведения_edt.json
is excluded by!**/*.json
src/test/resources/fixtures/ssl_3_1/CommonForms.Вопрос.json
is excluded by!**/*.json
src/test/resources/fixtures/ssl_3_1/CommonForms.Вопрос_edt.json
is excluded by!**/*.json
src/test/resources/fixtures/ssl_3_1/Constants.ЗаголовокСистемы.json
is excluded by!**/*.json
src/test/resources/fixtures/ssl_3_1/DataProcessors.ЗагрузкаКурсовВалют.json
is excluded by!**/*.json
src/test/resources/fixtures/ssl_3_1/DataProcessors.ЗагрузкаКурсовВалют_edt.json
is excluded by!**/*.json
src/test/resources/fixtures/ssl_3_1/DocumentJournals.Взаимодействия.json
is excluded by!**/*.json
src/test/resources/fixtures/ssl_3_1/DocumentJournals.Взаимодействия_edt.json
is excluded by!**/*.json
src/test/resources/fixtures/ssl_3_1/Documents.Анкета.json
is excluded by!**/*.json
src/test/resources/fixtures/ssl_3_1/Documents.Анкета_edt.json
is excluded by!**/*.json
src/test/resources/fixtures/ssl_3_1/Enums.СтатусыОбработчиковОбновления.json
is excluded by!**/*.json
src/test/resources/fixtures/ssl_3_1/Enums.СтатусыОбработчиковОбновления_edt.json
is excluded by!**/*.json
src/test/resources/fixtures/ssl_3_1/ExchangePlans.ОбновлениеИнформационнойБазы.json
is excluded by!**/*.json
src/test/resources/fixtures/ssl_3_1/ExchangePlans.ОбновлениеИнформационнойБазы_edt.json
is excluded by!**/*.json
src/test/resources/fixtures/ssl_3_1/FilterCriteria.ФайлыВТоме.json
is excluded by!**/*.json
src/test/resources/fixtures/ssl_3_1/FilterCriteria.ФайлыВТоме_edt.json
is excluded by!**/*.json
src/test/resources/fixtures/ssl_3_1/InformationRegisters.ЭлектронныеПодписи.json
is excluded by!**/*.json
src/test/resources/fixtures/ssl_3_1/InformationRegisters.ЭлектронныеПодписи_edt.json
is excluded by!**/*.json
src/test/resources/fixtures/ssl_3_1/Reports.АнализВерсийОбъектов.json
is excluded by!**/*.json
src/test/resources/fixtures/ssl_3_1/Reports.АнализВерсийОбъектов_edt.json
is excluded by!**/*.json
src/test/resources/fixtures/ssl_3_1/Roles.БазовыеПраваБСП.json
is excluded by!**/*.json
src/test/resources/fixtures/ssl_3_1/SettingsStorages.ХранилищеВариантовОтчетов.json
is excluded by!**/*.json
src/test/resources/fixtures/ssl_3_1/SettingsStorages.ХранилищеВариантовОтчетов_edt.json
is excluded by!**/*.json
src/test/resources/fixtures/ssl_3_1/Tasks.ЗадачаИсполнителя.json
is excluded by!**/*.json
src/test/resources/fixtures/ssl_3_1/Tasks.ЗадачаИсполнителя_edt.json
is excluded by!**/*.json
Files selected for processing (48)
- build.gradle.kts (1 hunks)
- src/main/java/com/github/_1c_syntax/bsl/mdclasses/CF.java (3 hunks)
- src/main/java/com/github/_1c_syntax/bsl/mdclasses/Configuration.java (3 hunks)
- src/main/java/com/github/_1c_syntax/bsl/mdclasses/ConfigurationExtension.java (3 hunks)
- src/main/java/com/github/_1c_syntax/bsl/mdclasses/helpers/Rights.java (2 hunks)
- src/main/java/com/github/_1c_syntax/bsl/mdo/CommonForm.java (1 hunks)
- src/main/java/com/github/_1c_syntax/bsl/mdo/children/ObjectForm.java (1 hunks)
- src/main/java/com/github/_1c_syntax/bsl/mdo/storage/EmptyFormData.java (1 hunks)
- src/main/java/com/github/_1c_syntax/bsl/mdo/storage/EmptyTemplateData.java (1 hunks)
- src/main/java/com/github/_1c_syntax/bsl/mdo/storage/FormData.java (2 hunks)
- src/main/java/com/github/_1c_syntax/bsl/mdo/storage/ManagedFormData.java (2 hunks)
- src/main/java/com/github/_1c_syntax/bsl/mdo/storage/RoleData.java (2 hunks)
- src/main/java/com/github/_1c_syntax/bsl/mdo/storage/form/FormDataPath.java (1 hunks)
- src/main/java/com/github/_1c_syntax/bsl/mdo/storage/form/FormElementType.java (1 hunks)
- src/main/java/com/github/_1c_syntax/bsl/mdo/storage/form/FormHandler.java (1 hunks)
- src/main/java/com/github/_1c_syntax/bsl/mdo/storage/form/FormItem.java (2 hunks)
- src/main/java/com/github/_1c_syntax/bsl/mdo/storage/form/SimpleFormItem.java (3 hunks)
- src/main/java/com/github/_1c_syntax/bsl/mdo/support/DataSetType.java (3 hunks)
- src/main/java/com/github/_1c_syntax/bsl/mdo/support/Handler.java (2 hunks)
- src/main/java/com/github/_1c_syntax/bsl/mdo/support/MultiLanguageString.java (3 hunks)
- src/main/java/com/github/_1c_syntax/bsl/mdo/utils/LazyLoader.java (5 hunks)
- src/main/java/com/github/_1c_syntax/bsl/reader/FakeReader.java (1 hunks)
- src/main/java/com/github/_1c_syntax/bsl/reader/common/TransformationUtils.java (4 hunks)
- src/main/java/com/github/_1c_syntax/bsl/reader/common/context/AbstractReaderContext.java (3 hunks)
- src/main/java/com/github/_1c_syntax/bsl/reader/common/context/FormElementReaderContext.java (2 hunks)
- src/main/java/com/github/_1c_syntax/bsl/reader/common/context/MDReaderContext.java (2 hunks)
- src/main/java/com/github/_1c_syntax/bsl/reader/common/converter/DataCompositionSchemaConverter.java (1 hunks)
- src/main/java/com/github/_1c_syntax/bsl/reader/common/converter/DataSetConverter.java (2 hunks)
- src/main/java/com/github/_1c_syntax/bsl/reader/common/converter/ProtectedModuleInfo.java (1 hunks)
- src/main/java/com/github/_1c_syntax/bsl/reader/common/converter/RoleDataConverter.java (2 hunks)
- src/main/java/com/github/_1c_syntax/bsl/reader/common/converter/XdtoPackageDataConverter.java (4 hunks)
- src/main/java/com/github/_1c_syntax/bsl/reader/common/xstream/ExtendXStream.java (2 hunks)
- src/main/java/com/github/_1c_syntax/bsl/reader/designer/DesignerReader.java (1 hunks)
- src/main/java/com/github/_1c_syntax/bsl/reader/designer/converter/FormElementConverter.java (2 hunks)
- src/main/java/com/github/_1c_syntax/bsl/reader/designer/converter/MdoReferenceConverter.java (3 hunks)
- src/main/java/com/github/_1c_syntax/bsl/reader/designer/converter/Unmarshaller.java (1 hunks)
- src/main/java/com/github/_1c_syntax/bsl/reader/edt/EDTReader.java (1 hunks)
- src/main/java/com/github/_1c_syntax/bsl/reader/edt/converter/CommonTemplateConverter.java (1 hunks)
- src/main/java/com/github/_1c_syntax/bsl/reader/edt/converter/ExternalDataSourceTableConverter.java (2 hunks)
- src/main/java/com/github/_1c_syntax/bsl/reader/edt/converter/FormDataPathConverter.java (1 hunks)
- src/main/java/com/github/_1c_syntax/bsl/reader/edt/converter/FormHandlerConverter.java (2 hunks)
- src/main/java/com/github/_1c_syntax/bsl/reader/edt/converter/FormItemConverter.java (1 hunks)
- src/main/java/com/github/_1c_syntax/bsl/reader/edt/converter/ManagedFormDataConverter.java (2 hunks)
- src/main/java/com/github/_1c_syntax/bsl/reader/edt/converter/ObjectTemplateConverter.java (3 hunks)
- src/main/java/com/github/_1c_syntax/bsl/reader/edt/converter/Unmarshaller.java (3 hunks)
- src/test/java/com/github/_1c_syntax/bsl/mdo/DocumentTest.java (2 hunks)
- src/test/java/com/github/_1c_syntax/bsl/mdo/RoleTest.java (2 hunks)
- src/test/java/com/github/_1c_syntax/bsl/test_utils/MDTestUtils.java (2 hunks)
Files skipped from review due to trivial changes (10)
- build.gradle.kts
- src/main/java/com/github/_1c_syntax/bsl/mdo/CommonForm.java
- src/main/java/com/github/_1c_syntax/bsl/mdo/children/ObjectForm.java
- src/main/java/com/github/_1c_syntax/bsl/mdo/support/Handler.java
- src/main/java/com/github/_1c_syntax/bsl/reader/common/context/AbstractReaderContext.java
- src/main/java/com/github/_1c_syntax/bsl/reader/common/converter/DataCompositionSchemaConverter.java
- src/main/java/com/github/_1c_syntax/bsl/reader/designer/converter/Unmarshaller.java
- src/main/java/com/github/_1c_syntax/bsl/reader/edt/EDTReader.java
- src/main/java/com/github/_1c_syntax/bsl/reader/edt/converter/FormHandlerConverter.java
- src/test/java/com/github/_1c_syntax/bsl/mdo/DocumentTest.java
Additional comments not posted (99)
src/main/java/com/github/_1c_syntax/bsl/mdo/storage/form/FormDataPath.java (2)
34-34
: Отличная реализация константы.Добавление статического финального поля
EMPTY
для представления пустогоFormDataPath
соответствует лучшим практикам.
39-41
: МетодisEmpty()
добавлен правильно.Новый метод
isEmpty()
корректно реализован и улучшает удобство использования классаFormDataPath
.src/main/java/com/github/_1c_syntax/bsl/mdo/storage/EmptyTemplateData.java (2)
27-31
: Корректное использование final и приватного конструктора.Изменение класса на
final
и добавление приватного конструктора соответствуют лучшим практикам для создания синглтонов.
Line range hint
32-38
:
Оптимизация методаgetEmpty()
.Метод
getEmpty()
теперь возвращает экземплярEMPTY
, что соответствует паттерну синглтон и улучшает производительность.src/main/java/com/github/_1c_syntax/bsl/mdo/storage/form/FormItem.java (1)
35-35
: Улучшение типизации и удаление реализации по умолчанию.Изменение возвращаемого типа метода
getType()
наFormElementType
улучшает безопасность типов. Удаление реализации по умолчанию дляgetPlainItems()
требует, чтобы подклассы предоставляли собственную реализацию.Also applies to: 65-65
src/main/java/com/github/_1c_syntax/bsl/reader/edt/converter/FormDataPathConverter.java (1)
37-41
: Корректное использованиеFormDataPath
в методеunmarshal
.Метод
unmarshal
теперь правильно используетFormDataPath
для создания нового экземпляра с значением из ридера.src/main/java/com/github/_1c_syntax/bsl/mdo/storage/FormData.java (6)
38-40
: Метод isEmpty выглядит правильно.Метод эффективно проверяет, является ли текущий экземпляр синглтоном
EmptyFormData.EMPTY
.
45-45
: Метод getTitle выглядит правильно.Метод декларации для получения заголовка формы.
50-50
: Метод getHandlers выглядит правильно.Метод декларации для получения обработчиков событий формы.
55-55
: Метод getItems выглядит правильно.Метод декларации для получения визуальных элементов формы первого уровня.
60-60
: Метод getPlainItems выглядит правильно.Метод декларации для получения всех визуальных элементов формы.
65-65
: Метод getAttributes выглядит правильно.Метод декларации для получения реквизитов формы.
src/main/java/com/github/_1c_syntax/bsl/reader/edt/converter/ManagedFormDataConverter.java (2)
Line range hint
37-42
:
Метод unmarshal выглядит правильно.Метод корректно использует
FormElementReaderContext
иUnmarshaller
для обработки данных.
44-47
: Метод canConvert выглядит правильно.Метод корректно проверяет тип на соответствие
ManagedFormData
иFormAttribute
.src/main/java/com/github/_1c_syntax/bsl/mdo/storage/form/SimpleFormItem.java (4)
41-41
: Поле type выглядит правильно.Поле корректно инициализируется значением по умолчанию
FormElementType.UNKNOWN
.
53-53
: Поле plainItems выглядит правильно.Поле корректно инициализируется с использованием ленивого загрузчика.
56-58
: Метод getPlainItems выглядит правильно.Метод корректно использует механизм ленивой загрузки.
60-62
: Метод computePlainItems выглядит правильно.Метод корректно использует
LazyLoader
для вычисления плоских элементов.src/main/java/com/github/_1c_syntax/bsl/mdo/support/DataSetType.java (3)
45-46
: Поле KEYS выглядит правильно.Поле корректно инициализируется с использованием метода
computeKeys
.
56-58
: Метод fromString выглядит правильно.Метод корректно использует карту
KEYS
для выполнения преобразования.
60-65
: Метод computeKeys выглядит правильно.Метод корректно перебирает значения перечисления и заполняет карту.
src/main/java/com/github/_1c_syntax/bsl/mdo/storage/ManagedFormData.java (4)
28-29
: Добавление необходимых импортов.Добавлены импорты для
LazyLoader
иLazy
. Это необходимо для реализации ленивой загрузки plain items.
52-52
: Инициализация Lazy переменной.Инициализация переменной
plainItems
с использованием ленивой загрузки. Это улучшает производительность, загружая данные только при необходимости.
55-57
: Метод для получения plain items.Метод
getPlainItems
использует ленивую загрузку для получения plain items. Это улучшает производительность, загружая данные только при необходимости.
59-60
: Метод для вычисления plain items.Метод
computePlainItems
используетLazyLoader
для вычисления plain items. Это улучшает производительность и упрощает код.src/main/java/com/github/_1c_syntax/bsl/mdo/storage/EmptyFormData.java (8)
24-27
: Добавление необходимых импортов.Добавлены импорты для
FormAttribute
,FormHandler
,FormItem
иMultiLanguageString
. Это необходимо для реализации методов интерфейсаFormData
.
40-40
: Добавление константы EMPTY.Константа
EMPTY
заменяет методgetEmpty()
. Это улучшает производительность и упрощает доступ к пустому содержимому формы.
42-43
: Приватный конструктор.Приватный конструктор предотвращает создание экземпляров класса извне. Это улучшает инкапсуляцию и безопасность.
45-48
: Метод для получения заголовка.Метод
getTitle
возвращает пустойMultiLanguageString
. Это соответствует ожиданиям для пустого содержимого формы.
50-53
: Метод для получения обработчиков формы.Метод
getHandlers
возвращает пустой список. Это соответствует ожиданиям для пустого содержимого формы.
55-58
: Метод для получения элементов формы.Метод
getItems
возвращает пустой список. Это соответствует ожиданиям для пустого содержимого формы.
60-62
: Метод для получения plain items.Метод
getPlainItems
возвращает пустой список. Это соответствует ожиданиям для пустого содержимого формы.
66-67
: Метод для получения атрибутов формы.Метод
getAttributes
возвращает пустой список. Это соответствует ожиданиям для пустого содержимого формы.src/main/java/com/github/_1c_syntax/bsl/reader/edt/converter/FormItemConverter.java (4)
24-26
: Добавление необходимых импортов.Добавлены импорты для
FormElementType
,FormItem
,FormElementReaderContext
, иReadConverter
. Это необходимо для реализации конвертора данных формы.
34-35
: Аннотация EDTConverter.Аннотация
@EDTConverter
указывает, что данный класс является конвертором данных в формате ЕДТ. Это улучшает читаемость и поддержку кода.
37-45
: Метод unmarshal для конвертации данных.Метод
unmarshal
выполняет чтение данных изHierarchicalStreamReader
и преобразует их в объектFormElementReaderContext
. Если тип элемента формы не задан, он устанавливается на основе атрибутаtype
. Это улучшает поддержку различных типов элементов формы.
48-51
: Метод canConvert для проверки типа.Метод
canConvert
проверяет, может ли данный конвертор обрабатывать указанный тип. Это улучшает гибкость и расширяемость конвертора.src/main/java/com/github/_1c_syntax/bsl/reader/edt/converter/ObjectTemplateConverter.java (5)
Line range hint
24-28
:
Добавление необходимых импортов.Добавлены импорты для
ObjectTemplate
,EmptyTemplateData
,TemplateData
,AbstractReadConverter
,ExtendXStream
,MDOType
,UnmarshallingContext
, иHierarchicalStreamReader
. Это необходимо для реализации конвертора шаблонов объектов.
36-36
: Аннотация EDTConverter.Аннотация
@EDTConverter
указывает, что данный класс является конвертором данных в формате ЕДТ. Это улучшает читаемость и поддержку кода.
45-52
: Метод unmarshal для конвертации данных.Метод
unmarshal
выполняет чтение данных изHierarchicalStreamReader
и преобразует их в объектTemplateData
. Если данные являются экземпляромTemplateData
, они устанавливаются в контексте чтения. Это улучшает поддержку различных типов данных шаблонов.
57-57
: Метод canConvert для проверки типа.Метод
canConvert
проверяет, может ли данный конвертор обрабатывать указанный тип. Это улучшает гибкость и расширяемость конвертора.
60-61
: Метод dataPath для вычисления пути данных.Метод
dataPath
вычисляет путь к данным шаблона на основе текущего пути и имени. Это улучшает поддержку различных путей данных.src/main/java/com/github/_1c_syntax/bsl/mdo/storage/form/FormHandler.java (1)
71-75
: Изменение логики сравнения в методеcompareTo
выглядит правильным.Теперь метод сначала сравнивает
event
, а затемname
, что улучшает порядок сортировки.src/main/java/com/github/_1c_syntax/bsl/mdo/storage/RoleData.java (1)
77-77
: Изменение типа поляname
вObjectRight
наMdoReference
выглядит правильным.Это улучшает типизацию и функциональность.
Однако, рекомендуется проверить все места использования
ObjectRight
для соответствия новому типу.src/main/java/com/github/_1c_syntax/bsl/reader/edt/converter/CommonTemplateConverter.java (1)
59-61
: МетодdataPath
выглядит правильным.Метод корректно вычисляет путь для
Template.dcs
.src/main/java/com/github/_1c_syntax/bsl/reader/edt/converter/ExternalDataSourceTableConverter.java (3)
33-33
: Добавлен импорт дляPattern
.Импорт
Pattern
необходим для использования регулярных выражений в коде. Изменение выглядит корректным.
42-42
: Добавлен паттерн для разбивки строк.Паттерн
SPLITTER_PATTERN
используется для разбивки строки по точке. Это улучшает читаемость и повторное использование.
48-48
: Использование паттерна для разбивки строки вunmarshal
методе.Использование
SPLITTER_PATTERN
для разбивки значения и получениеchildName
улучшает читаемость и поддержку кода.src/test/java/com/github/_1c_syntax/bsl/mdo/RoleTest.java (3)
60-60
: Добавлена проверка имени и прав для конфигурации.Проверяется, что имя конфигурации и количество прав соответствуют ожидаемым значениям. Изменение выглядит корректным.
64-64
: Добавлена проверка имени и прав для документа.Проверяется, что имя документа и количество прав соответствуют ожидаемым значениям. Изменение выглядит корректным.
68-68
: Добавлена проверка имени и прав для справочника.Проверяется, что имя справочника и количество прав соответствуют ожидаемым значениям. Изменение выглядит корректным.
src/main/java/com/github/_1c_syntax/bsl/reader/common/context/FormElementReaderContext.java (5)
26-26
: Добавлен импорт дляFormElementType
.Импорт
FormElementType
необходим для использования этого типа в классе. Изменение выглядит корректным.
32-34
: Добавлены аннотации Lombok для полей.Аннотации
@Getter
и@Setter
автоматически генерируют методы доступа для поляelementType
, что улучшает читаемость и поддержку кода.
56-59
: Добавлено полеelementType
с аннотациями@Setter
и@Getter
.Поле
elementType
используется для хранения типа элемента формы. Изменение улучшает функциональность класса.
63-63
: Использование картыCLASSES
для определения реального класса.Использование карты
CLASSES
для определения реального класса улучшает читаемость и поддержку кода.
69-71
: Улучшение методаfieldType
для определения типа поля.Метод
fieldType
теперь проверяет наличие поля в картеCLASSES
и использует суперметод, если поле не найдено. Это улучшает гибкость и поддержку кода.src/main/java/com/github/_1c_syntax/bsl/reader/designer/converter/FormElementConverter.java (2)
25-25
: Добавлен импорт дляFormElementType
.Импорт
FormElementType
необходим для использования этого типа в классе. Изменение выглядит корректным.
57-57
: Установка типа элемента вreaderContext
.Установка значения типа элемента с использованием
FormElementType.fromString
улучшает читаемость и поддержку кода.src/main/java/com/github/_1c_syntax/bsl/reader/designer/converter/MdoReferenceConverter.java (1)
Line range hint
44-49
:
Проверьте логику обработки значения.В методе
unmarshal
значениеvalue
устанавливается в пустую строку, если дочерние элементы отсутствуют. Возможно, стоит добавить логирование для отладки или дополнительных проверок.src/main/java/com/github/_1c_syntax/bsl/reader/FakeReader.java (1)
93-93
: Изменение инициализации наEmptyFormData.EMPTY
.Изменение инициализации на
EmptyFormData.EMPTY
вместо использования методаgetEmpty()
улучшает производительность и читабельность.src/main/java/com/github/_1c_syntax/bsl/reader/common/converter/DataSetConverter.java (1)
49-49
: Изменение типа данных.Изменение типа данных в методе
unmarshal
дляdataSet.type
улучшает читабельность и упрощает поддержку кода.src/main/java/com/github/_1c_syntax/bsl/reader/common/converter/RoleDataConverter.java (2)
Line range hint
48-55
:
Использование методаequals
.Изменение вызова метода
equals
на проверку константы повышает читаемость и снижает вероятность ошибок.
68-71
: Использование методаequals
.Изменение вызова метода
equals
на проверку константы повышает читаемость и снижает вероятность ошибок.src/main/java/com/github/_1c_syntax/bsl/mdo/storage/form/FormElementType.java (5)
1-21
: Лицензионное уведомление и информация о файле.Этот сегмент содержит лицензионное уведомление и информацию о файле. Здесь нет изменений кода, требующих обзора.
24-37
: Импорт и объявление класса.Импорты и объявление класса выглядят корректно. Использование
lombok
для автоматического создания методов-геттеров и других функций улучшает читаемость кода.
38-83
: Объявление констант перечисления.Константы перечисления объявлены корректно. Использование конструктора и метода
isUnknown
для типаUNKNOWN
выглядит логичным.
85-85
: Инициализация статической карты KEYS.Инициализация статической карты KEYS с вызовом метода
computeKeys
выглядит корректно.
105-111
: МетодcomputeKeys
.Метод
computeKeys
корректно создает неизменяемую карту из значений перечисления. ИспользованиеCollections.unmodifiableMap
повышает безопасность кода.src/main/java/com/github/_1c_syntax/bsl/reader/common/context/MDReaderContext.java (2)
Line range hint
1-90
: Лицензионное уведомление и информация о файле. Импорт и объявление класса.Этот сегмент содержит лицензионное уведомление, информацию о файле, импорты и объявление класса. Здесь нет изменений кода, требующих обзора.
141-150
: МетодsetValueChildren
.Метод
setValueChildren
корректно обрабатывает дочерние контексты и устанавливает значения для них. Использование потоков и параллельных стримов повышает производительность.src/main/java/com/github/_1c_syntax/bsl/reader/edt/converter/Unmarshaller.java (3)
Line range hint
1-72
: Лицензионное уведомление и информация о файле. Импорт и объявление класса.Этот сегмент содержит лицензионное уведомление, информацию о файле, импорты и объявление класса. Здесь нет изменений кода, требующих обзора.
115-118
: МетодtransformMultiLanguageString
.Метод
transformMultiLanguageString
корректно объединяет значения многоязычных строк. Код выглядит корректно и не требует изменений.
126-129
: МетодsaveExtra
.Метод
saveExtra
корректно сохраняет дополнительные значения в контексте. Код выглядит корректно и не требует изменений.src/main/java/com/github/_1c_syntax/bsl/mdclasses/CF.java (5)
Line range hint
1-93
: Лицензионное уведомление и информация о файле. Импорт и объявление интерфейса.Этот сегмент содержит лицензионное уведомление, информацию о файле, импорты и объявление интерфейса. Здесь нет изменений кода, требующих обзора.
94-98
: МетодgetCommonModulesByName
.Метод
getCommonModulesByName
добавлен корректно. Он возвращает карту общих модулей по имени.
100-103
: МетодgetChildrenByMdoRef
.Метод
getChildrenByMdoRef
добавлен корректно. Он возвращает карту дочерних объектов по ссылке.
174-176
: МетодfindChild
по ссылке.Метод
findChild
модифицирован корректно. Он теперь использует методgetChildrenByMdoRef
для поиска дочернего объекта по ссылке.
179-181
: МетодfindCommonModule
по имени.Метод
findCommonModule
модифицирован корректно. Он теперь использует методgetCommonModulesByName
для поиска общего модуля по имени.src/main/java/com/github/_1c_syntax/bsl/reader/common/TransformationUtils.java (3)
89-92
: Проверьте корректность использованияcomputeFieldType
.Метод
fieldType
правильно используетConcurrentSkipListMap
для кэширования типов и вызываетcomputeFieldType
, если тип не закэширован. Убедитесь, чтоcomputeFieldType
реализован корректно.
136-141
: Проверьте корректность фильтрации методов.Метод
getMethod
правильно используетConcurrentSkipListMap
для кэширования методов и фильтрует методы по имени. Убедитесь, что логика фильтрации методов корректна.
143-157
: Проверьте корректность обработки типов вcomputeFieldType
.Метод
computeFieldType
корректно обрабатывает различные сценарии типов, включая параметризованные и wildcard типы. Убедитесь, что метод возвращает правильный тип.src/main/java/com/github/_1c_syntax/bsl/reader/common/converter/XdtoPackageDataConverter.java (3)
67-73
: Проверьте корректность использования switch с лямбда-синтаксисом.Метод
unmarshal
корректно использует switch с лямбда-синтаксисом для обработки различных имен узлов. Убедитесь, что все случаи правильно обработаны и паттерн builder используется эффективно.
97-99
: Проверьте корректность чтения атрибутов и узлов вreadValueType
.Метод
readValueType
корректно создает объектValueType
из данных XDTO. Убедитесь, что метод правильно читает атрибуты и обрабатывает узлы перечислений.
114-116
: Проверьте корректность чтения атрибутов и определения типов вreadProperty
.Метод
readProperty
корректно создает объектProperty
из данных XDTO. Убедитесь, что метод правильно читает атрибуты и обрабатывает определения типов.src/main/java/com/github/_1c_syntax/bsl/mdo/support/MultiLanguageString.java (2)
48-57
: Проверьте корректность реализации константыEMPTY
и конструктора.Константа
EMPTY
и конструктор правильно инициализируют содержимое пустым набором.
190-192
: Проверьте корректность реализации классаEntry
.Класс
Entry
объявлен какfinal
и правильно реализует методы для создания и сравнения записей.src/main/java/com/github/_1c_syntax/bsl/mdclasses/helpers/Rights.java (2)
147-147
: Проверьте корректность фильтрации прав в методеrightAccess
.Метод
rightAccess
правильно фильтрует и проверяет права. Убедитесь, что логика фильтрации корректна.
161-161
: Проверьте корректность фильтрации ролей в методеrolesAccess
.Метод
rolesAccess
правильно фильтрует и собирает роли. Убедитесь, что логика фильтрации корректна.src/test/java/com/github/_1c_syntax/bsl/test_utils/MDTestUtils.java (1)
110-112
: Проверьте покрытие тестами новых полей.Изменения одобрены. Добавлены новые строки для исключения полей
plainItems
,commonModulesByName
иchildrenByMdoRef
при сериализации в JSON. Убедитесь, что новые поля покрыты тестами.src/main/java/com/github/_1c_syntax/bsl/reader/designer/DesignerReader.java (1)
151-151
: Проверьте покрытие тестами нового случая.Изменения одобрены. Добавлено новое условие для возврата
EmptyFormData.EMPTY
, если файл данных формы не существует. Убедитесь, что этот случай покрыт тестами.src/main/java/com/github/_1c_syntax/bsl/mdclasses/ConfigurationExtension.java (2)
251-252
: Изменения одобрены: Добавлены ленивые поля.Новые ленивые поля
commonModulesByName
иchildrenByMdoRef
добавлены для улучшения производительности.
295-303
: Изменения одобрены: Добавлены новые методы.Новые методы
getCommonModulesByName
иgetChildrenByMdoRef
добавлены для доступа к ленивым полям.src/main/java/com/github/_1c_syntax/bsl/mdo/utils/LazyLoader.java (3)
210-211
: Изменения одобрены: Добавлен методcomputeModulesByType
.Метод создает соответствие URI модуля к его типу, используя поток для сбора данных в немодифицируемую карту.
242-245
: Изменения одобрены: Добавлен методcomputeChildrenByMdoRef
.Метод создает соответствие ссылки довернего объекта к нему самому, используя поток для сбора данных в немодифицируемую карту.
256-258
: Изменения одобрены: Добавлен методcomputeModulesByURI
.Метод создает соответствие URI модуля к самому модулю, используя поток для сбора данных в немодифицируемую карту.
src/main/java/com/github/_1c_syntax/bsl/mdclasses/Configuration.java (3)
260-260
: Одобрено: Правильное использование ленивой загрузкиИспользование ленивой загрузки для
commonModulesByName
корректно.
261-261
: Одобрено: Правильное использование ленивой загрузкиИспользование ленивой загрузки для
childrenByMdoRef
корректно.
350-359
: Одобрено: Корректная реализация методов доступаМетоды
getCommonModulesByName
иgetChildrenByMdoRef
корректно используют ленивую загрузку для эффективного получения данных.src/main/java/com/github/_1c_syntax/bsl/reader/common/xstream/ExtendXStream.java (1)
269-269
: Одобрено: Регистрация конвертера для FormElementTypeРегистрация конвертера для
FormElementType
в методеsetupConverters
обеспечивает правильную обработку перечисления при сериализации и десериализации.
src/main/java/com/github/_1c_syntax/bsl/reader/designer/converter/MdoReferenceConverter.java
Outdated
Show resolved
Hide resolved
src/main/java/com/github/_1c_syntax/bsl/reader/common/converter/DataSetConverter.java
Show resolved
Hide resolved
src/main/java/com/github/_1c_syntax/bsl/reader/common/converter/DataSetConverter.java
Show resolved
Hide resolved
src/main/java/com/github/_1c_syntax/bsl/mdo/storage/form/FormElementType.java
Outdated
Show resolved
Hide resolved
|
Описание
Связанные задачи
Closes
Чеклист
Общие
gradlew precommit
)Дополнительно