feat: ESPI 4.0 Schema Compliance - Phase 11: UsageSummary#77
Merged
Conversation
Complete rebuild of UsageSummary entity, DTOs, and mappers to achieve full ESPI 4.0 XSD compliance (espi.xsd:806-939). Entity Changes: - Added 5 missing fields to UsageSummaryEntity (commodity, tariffProfile, readCycle, tariffRiderRefs collection, billingChargeSource) - Reordered all 25 fields to match XSD sequence exactly - Added helper methods for tariffRiderRefs collection management New Domain Objects: - TariffRiderRefEntity (Object-based, Long ID with auto-increment) - BillingChargeSource (embeddable value object) DTO Changes: - Completely rebuilt UsageSummaryDto with all 32 fields in XSD order - Added all 10 SummaryMeasurement DTO fields (consumption summaries) - Added ratchetDemandPeriod, costAdditionalDetailLastPeriod collection - Fixed statusTimeStamp type from OffsetDateTime to Long (TimeType) - Created BillingChargeSourceDto for XML marshalling Mapper Changes: - Created TariffRiderRefMapper with collection conversion methods - Updated UsageSummaryMapper with all new field mappings - Added proper @nAmed qualifiers for TariffRiderRefs wrapper conversion Database Migrations: - Added tariff_rider_refs table to V2 migrations (MySQL, PostgreSQL, H2) - Added 4 new columns to usage_summaries table (commodity, tariffProfile, readCycle, billingChargeSource.agencyName) - Added indexes for new columns and foreign key relationships Test Updates: - Updated TestApplication @EntityScan to include domain.common package - All 533 tests passing with Phase 11 changes Related Issues: #28 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Fixes CI/CD test failures caused by TariffRiderRefEntity not being found in the persistence unit. This entity is located in the domain.common package which was missing from the @EntityScan configuration. The same fix was previously applied to TestApplication.java during Phase 11 development, but DataCustodianApplication.java was overlooked. Resolves ApplicationStartupIntegrationTest and DataCustodianApplicationTest context loading failures in PR #77. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This was referenced Jan 14, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Complete rebuild of UsageSummary entity, DTOs, and mappers to achieve full ESPI 4.0 XSD compliance (espi.xsd:806-939). This phase adds all missing fields, reorders existing fields to match XSD sequence, and implements proper collection management for tariff rider references.
Entity Changes
commodity(Integer) - CommodityKind enumerationtariffProfile(String 256) - Tariff schedule structurereadCycle(String 256) - Meter read cycle daytariffRiderRefs(List) - Rate options collectionbillingChargeSource(BillingChargeSource) - Billing source informationaddTariffRiderRef(),removeTariffRiderRef()merge(),unlink(), andtoString()methodsNew Domain Objects
DTO Changes
Mapper Changes
tariffRiderRefsDtoToEntityList- Unwraps TariffRiderRefsDto to ListentityListToTariffRiderRefsDto- Wraps List in TariffRiderRefsDtoDatabase Migrations
tariff_rider_refstable to V2 migrations (MySQL, PostgreSQL, H2):usage_summariestable:Test Updates
domain.commonpackageTest Plan
Migration Notes
Important: This PR modifies existing V2 Flyway migrations. In development environments, clear Flyway's schema history before applying:
Related Issues
Closes #28
🤖 Generated with Claude Code