Skip to content

feat - Issue 98, implementing remaining controller functionality #115

Closed
springframeworkguru wants to merge 2 commits into
GreenButtonAlliance:mainfrom
springframeworkguru:98.1-controller-functionality
Closed

feat - Issue 98, implementing remaining controller functionality #115
springframeworkguru wants to merge 2 commits into
GreenButtonAlliance:mainfrom
springframeworkguru:98.1-controller-functionality

Conversation

@springframeworkguru
Copy link
Copy Markdown
Contributor

This pull request introduces several enhancements and new features to the DTO export and mapping services in the Green Button Alliance codebase. The main focus is on expanding support for Atom feeds and entries for various domain entities, improving DTO mapping, and adding a new DTO for service status. The changes improve modularity, extensibility, and clarity in how domain objects are exposed as DTOs and Atom feeds.

Closes #98

Key changes include:

Atom Feed and Entry Export Enhancements

  • Added multiple new methods to the DtoExportService and its implementations (DtoExportServiceFacade and DtoExportServiceImpl) to support Atom feed and entry creation for UsagePoint, TimeConfiguration, RetailCustomer, UsageSummary, ReadingType, and ServiceStatus entities. This includes feed creation by entity lists or IDs, and entry creation by entity or ID. [1] [2] [3]

  • Introduced a new method in BaseExportService to create an Atom entry for the service status, wrapping a new ServiceStatusDto.

DTO and Mapper Improvements

  • Added a new DTO: ServiceStatusDto, representing the service status with JAXB annotations for XML serialization.

  • Extended the CustomerMapper interface to include a default method for mapping a RetailCustomerEntity to a CustomerDto, including nested mapping for organization, email, and phone details.

Repository and Service Interface Updates

  • Updated the ReadingTypeService interface to add a findAll() method for retrieving all reading types.

Dependency and Constructor Updates

  • Updated constructor and field dependencies in DtoExportServiceFacade and DtoExportServiceImpl to inject and use the new repositories and mappers required for the enhanced export and mapping functionality. [1] [2]

Import Cleanups

  • Added necessary import statements in multiple files to support the new DTOs, mappers, and repositories used in the new and updated methods. [1] [2] [3] [4] [5] [6]

References:
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14]

…hods; add corresponding tests. Update controllers to leverage `ApiRequestValidator`. Introduce new test classes for `BatchController` and `IntervalBlockController`.
@dfcoffin
Copy link
Copy Markdown
Contributor

Closing — superseded by #116, which merged a renamed/refactored subset of this work on 2026-05-20.

Items from this PR's scope that did not land in #116 (notably the new web/api/ManageController, web/api/RetailCustomerController write methods, and web/api/ServiceStatusController) remain .disabled on main.

Remediation for what did land via #116, plus pre-conditions for re-enabling the .disabled files, is tracked in PR_115_REMEDIATION_PLAN.md in the repo root.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Complete Get Controller Functionality

2 participants