Conversation
Bumps [org.junit:junit-bom](https://github.com/junit-team/junit-framework) from 6.0.3 to 6.1.0. - [Release notes](https://github.com/junit-team/junit-framework/releases) - [Commits](junit-team/junit-framework@r6.0.3...r6.1.0) --- updated-dependencies: - dependency-name: org.junit:junit-bom dependency-version: 6.1.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps org.slf4j:slf4j-api from 2.0.17 to 2.0.18. --- updated-dependencies: - dependency-name: org.slf4j:slf4j-api dependency-version: 2.0.18 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps org.sonarqube from 7.3.0.8198 to 7.3.1.8318. --- updated-dependencies: - dependency-name: org.sonarqube dependency-version: 7.3.1.8318 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [io.github.1c-syntax:utils](https://github.com/1c-syntax/utils) from 0.7.0 to 0.7.2. - [Release notes](https://github.com/1c-syntax/utils/releases) - [Commits](1c-syntax/utils@v0.7.0...v0.7.2) --- updated-dependencies: - dependency-name: io.github.1c-syntax:utils dependency-version: 0.7.2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
…-syntax-utils-0.7.2 build(deps): bump io.github.1c-syntax:utils from 0.7.0 to 0.7.2
…nit-bom-6.1.0 build(deps): bump org.junit:junit-bom from 6.0.3 to 6.1.0
…f4j-api-2.0.18 build(deps): bump org.slf4j:slf4j-api from 2.0.17 to 2.0.18
…e-7.3.1.8318 build(deps): bump org.sonarqube from 7.3.0.8198 to 7.3.1.8318
Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v6...v7) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
…ons/checkout-7 build(deps): bump actions/checkout from 6 to 7
Bumps [gradle-wrapper](https://github.com/gradle/gradle) from 9.5.1 to 9.6.0. - [Release notes](https://github.com/gradle/gradle/releases) - [Commits](gradle/gradle@v9.5.1...v9.6.0) --- updated-dependencies: - dependency-name: gradle-wrapper dependency-version: 9.6.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…#615) Bumps [com.ginsberg:junit5-system-exit](https://github.com/tginsberg/junit5-system-exit) from 2.0.2 to 2.0.3. - [Release notes](https://github.com/tginsberg/junit5-system-exit/releases) - [Changelog](https://github.com/tginsberg/junit5-system-exit/blob/master/CHANGELOG.md) - [Commits](tginsberg/junit5-system-exit@v2.0.2...v2.0.3) --- updated-dependencies: - dependency-name: com.ginsberg:junit5-system-exit dependency-version: 2.0.3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 6.2.0 to 6.3.0. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](actions/setup-python@v6.2.0...v6.3.0) --- updated-dependencies: - dependency-name: actions/setup-python dependency-version: 6.3.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
…ons/setup-python-6.3.0 build(deps): bump actions/setup-python from 6.2.0 to 6.3.0
Bumps [gradle-wrapper](https://github.com/gradle/gradle) from 9.6.0 to 9.6.1. - [Release notes](https://github.com/gradle/gradle/releases) - [Commits](gradle/gradle@v9.6.0...v9.6.1) --- updated-dependencies: - dependency-name: gradle-wrapper dependency-version: 9.6.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
…er-9.6.1 build(deps): bump gradle-wrapper from 9.6.0 to 9.6.1
* фикстуры ssl32 (8.5) * 1. фикс парсинга предопределенных значений 2. фикс тестов ssl * обновлены фикстуры ssl31 * фикс
Bumps org.jreleaser from 1.24.0 to 1.25.0. --- updated-dependencies: - dependency-name: org.jreleaser dependency-version: 1.25.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [org.junit:junit-bom](https://github.com/junit-team/junit-framework) from 6.1.0 to 6.1.1. - [Release notes](https://github.com/junit-team/junit-framework/releases) - [Commits](junit-team/junit-framework@r6.1.0...r6.1.1) --- updated-dependencies: - dependency-name: org.junit:junit-bom dependency-version: 6.1.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
….0 (#627) Bumps [io.github.1c-syntax:supportconf](https://github.com/1c-syntax/supportconf) from 0.16.0 to 0.17.0. - [Release notes](https://github.com/1c-syntax/supportconf/releases) - [Commits](1c-syntax/supportconf@v0.16.0...v0.17.0) --- updated-dependencies: - dependency-name: io.github.1c-syntax:supportconf dependency-version: 0.17.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* добавлено чтение измерений перерасчетов * фиксы
* чтение форм по умолчанию * убрал лишние поля
* фикстуры * переработка тестовых утиллит * Первая часть переработанных тестов * Вторая часть переработанных тестов * 1. скорректированы значения интерфейсов по умолчанию 2. хранение пути для макета изменено с Path на URI 3. скорректировано заполнение режима совместимости расширений 4. скорректирован формат длины для стандартных реквизитов кода и номера 5. реализовано чтение стилей и интерфейсов обычного приложения для формата едт 6. скорректированы конверторы для сериализации в json для тестов * 1. скорректирован алгоритм определения mdotype для некоторых дочерних 2. добавлены тесты и фикстуры для дочерних * 1. исправлено чтение элементов форм для обоих форматов 2. добавлены тесты для форм * тесты на макеты * исключение сериализации uri * sq fixes
Bumps [io.github.1c-syntax:utils](https://github.com/1c-syntax/utils) from 0.7.2 to 0.8.0. - [Release notes](https://github.com/1c-syntax/utils/releases) - [Commits](1c-syntax/utils@v0.7.2...v0.8.0) --- updated-dependencies: - dependency-name: io.github.1c-syntax:utils dependency-version: 0.8.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Реализация Solution - объединения конфигурации и расширений в единый объект - Добавлены классы Solution и ObjectProvenance для слияния конфигураций с отслеживанием происхождения объектов. MDClasses.createSolution() теперь возвращает Solution вместо Configuration, содержа объединённую конфигурацию, базовую конфигурацию, список расширений и карту происхождений. - ConfigurationConverter разделён на реализации для каждого формата - Улучшен MDMerger с полной поддержкой дочерних типов: - копирование реквизитов, табличных частей, предопределённых значений для всех типов-владельцев - поддержка регистров, перечислений, задач, расчётов, внешних источников данных, планов счетов - добавлен mergeAll() с возвратом MergeResult и происхождений * sq fixes * tests * sq fixes
Bumps [io.github.1c-syntax:utils](https://github.com/1c-syntax/utils) from 0.8.0 to 0.9.0. - [Release notes](https://github.com/1c-syntax/utils/releases) - [Commits](1c-syntax/utils@v0.8.0...v0.9.0) --- updated-dependencies: - dependency-name: io.github.1c-syntax:utils dependency-version: 0.9.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [org.junit:junit-bom](https://github.com/junit-team/junit-framework) from 6.1.1 to 6.1.2. - [Release notes](https://github.com/junit-team/junit-framework/releases) - [Commits](junit-team/junit-framework@r6.1.1...r6.1.2) --- updated-dependencies: - dependency-name: org.junit:junit-bom dependency-version: 6.1.2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Добавлено чтение свойства "Периодичность" (InformationRegisterPeriodicity) для регистров сведений из форматов конфигуратора и EDT. - новое перечисление InformationRegisterPeriodicity в mdo.support - поле informationRegisterPeriodicity в InformationRegister (по умолчанию NONPERIODICAL) - регистрация EnumConverter в ExtendXStream - тесты и обновлённые фикстуры (пример непериодического и периодического регистра — КурсыВалют) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CgG1X7FPscMdgYMBHQ7CFR
Добавлено чтение свойства "Периодичность" (Periodicity) для регистров расчета из форматов конфигуратора и EDT. - новое перечисление CalculationRegisterPeriodicity (Day/Month/Quarter/Year) в mdo.support - поле periodicity в CalculationRegister (по умолчанию MONTH) - регистрация EnumConverter в ExtendXStream - тесты и обновлённые фикстуры - генератор фикстур GenerateMdoFixtures переведён на запуск через main-метод Регистры бухгалтерии и накопления свойства "Периодичность" не имеют. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CgG1X7FPscMdgYMBHQ7CFR
…eld-vx032j feat: чтение периодичности регистров сведений и расчета
Профилирование чтения метаданных (mdclasses — ~42% CPU при analyze большой конфигурации) показало, что TransformationUtils.setValue на каждый узел XML заново вычислял тип параметра сеттера (getGenericParameterTypes() аллоцирует Type[]) и, для параметризованных свойств, склеивал "add" + methodName и делал повторный поиск метода. Кэшируем разобранный сеттер в дескриптор (setter, parameterized, singularAdder) по паре (класс, свойство). setValue теперь только выбирает целевой метод и вызывает его — без повторной интроспекции и аллокаций на каждый вызов. Поведение не меняется. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HLvkKQCwBjTHwuZ4EGBQK6
…t ConcurrentHashMap Профилирование чтения показало, что кэши TransformationUtils (METHODS/TYPES/SETTERS) на ConcurrentSkipListMap с компаратором CASE_INSENSITIVE_ORDER — крупнейший прикладной hotspot чтения: ~6% CPU уходит на ConcurrentSkipListMap.doGet + StringLatin1.compareToCI при поиске метода/типа по имени XML-узла. Регистронезависимость нужна лишь при первом резолве (скан equalsIgnoreCase по методам класса), а не на каждый поиск в кэше. Переводим кэши на ConcurrentHashMap с точным ключом-именем узла (имена узлов повторяются и интернированы Xerces) — поиск O(1) по хешу без CI-сравнений. Первый резолв по-прежнему матчит имя регистронезависимо. Доступ к кэшу — get()-first, а не computeIfAbsent с захватывающей лямбдой: ConcurrentHashMap.computeIfAbsent не встраивается JIT-ом, из-за чего лямбда-функция отображения перестаёт скаляризоваться escape-анализом и аллоцируется на каждый вызов. На попадании в кэш (горячий путь) лямбда не создаётся. Замеры (JMH MDClassesBenchmark на cpm, JFR sample share — устойчив к шуму машины): - доля CI-поиска в CPU чтения: 6.0% -> 1.1% (-4.9 п.п.); - аллокации: без изменений (5078 -> 5077 МБ/чтение), лямбды кэша не аллоцируются; - wall: 9065 -> 8887 мс (в пределах шума). Поведение не меняется. Тесты TransformationUtilsTest и интеграционные MDOReaderTest зелёные. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HLvkKQCwBjTHwuZ4EGBQK6
…ap contention Профилирование чтения показало, что QNameMap.getJavaClassName вызывается на каждый XML-элемент и делает get по Collections.synchronizedMap. Метаданные читаются параллельно (parallelStream), поэтому все потоки сериализуются на мониторе одной общей карты — по профилю ~5% CPU уходит в SynchronizedMap.get. Вводим ConcurrentQNameMap с картами на ConcurrentHashMap (чтение без блокировок). Отображения регистрируются один раз до чтения, во время чтения карты только читаются. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HLvkKQCwBjTHwuZ4EGBQK6
get()-first проверял значение кэша (Optional) на null — Sonar S2789 (Optional не должен быть null). Убираем Optional из значений кэшей METHODS/TYPES/SETTERS: храним сырые Method/Type/SetterDescriptor, а отрицательный результат — через сентинелы (в ConcurrentHashMap нельзя хранить null). Перф opt-A сохранён: CI-поиск ~1% CPU, аллокации 5078 МБ/чтение (без изменений), лямбды кэша не аллоцируются. Заодно упрощён perClassCache: лямбда k -> new ConcurrentHashMap<>() незахватывающая (синглтон), поэтому computeIfAbsent там безопасен по аллокациям — get()-first обёртка не нужна. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HLvkKQCwBjTHwuZ4EGBQK6
…r-cache perf(reader): кэш дескриптора сеттера в TransformationUtils
…ap-cache perf(reader): CI skip-list кэши → get-first ConcurrentHashMap
- registerMapping помечен synchronized, чтобы соответствовать контракту родителя QNameMap (Sonar S3551); метод вызывается только на этапе настройки, на горячий путь чтения не влияет. - Добавлен ConcurrentQNameMapTest (регистрация/резолв, фолбэки) — покрытие нового класса. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HLvkKQCwBjTHwuZ4EGBQK6
perf(reader): lock-free ConcurrentQNameMap (снятие контеншена на synchronizedMap)
…nit-bom-6.1.2 build(deps): bump org.junit:junit-bom from 6.1.1 to 6.1.2
…-syntax-utils-0.9.0 build(deps): bump io.github.1c-syntax:utils from 0.8.0 to 0.9.0
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|



No description provided.