[OpenNMS/opennms] 988e14: NMS-20045: Replace Vaadin surveillance views, part...
Marshall Massengill via opennms-cvs <[email protected]>
| Newsgroups | gmane.network.opennms.cvs |
|---|---|
| Message-ID | <OpenNMS/opennms/push/refs/heads/mm/NMS-20045-smoke/[email protected]> |
Branch: refs/heads/mm/NMS-20045-smoke
Home: https://github.com/OpenNMS/opennms
Commit: 988e14e5256bd31faec0abb795f82d52aae862e9
https://github.com/OpenNMS/opennms/commit/988e14e5256bd31faec0abb795f82d52aae862e9
Author: Marshall Massengill <[email protected]>
Date: 2026-07-20 (Mon, 20 Jul 2026)
Changed paths:
M features/pom.xml
A features/surveillance-views/pom.xml
A features/surveillance-views/src/main/java/org/opennms/netmgt/surveillance/views/SurveillanceView.java
A features/surveillance-views/src/main/java/org/opennms/netmgt/surveillance/views/SurveillanceViewDao.java
A features/surveillance-views/src/main/java/org/opennms/netmgt/surveillance/views/SurveillanceViewDataService.java
A features/surveillance-views/src/main/java/org/opennms/netmgt/surveillance/views/SurveillanceViewDef.java
A features/surveillance-views/src/main/java/org/opennms/netmgt/surveillance/views/impl/DefaultSurveillanceViewDataService.java
A features/surveillance-views/src/main/java/org/opennms/netmgt/surveillance/views/impl/SurveillanceViewJsonStore.java
A features/surveillance-views/src/main/resources/META-INF/opennms/component-dao.xml
A features/surveillance-views/src/test/java/org/opennms/netmgt/surveillance/views/DefaultSurveillanceViewDataServiceAlarmIT.java
A features/surveillance-views/src/test/java/org/opennms/netmgt/surveillance/views/DefaultSurveillanceViewDataServiceRtcIT.java
A features/surveillance-views/src/test/java/org/opennms/netmgt/surveillance/views/SurveillanceViewDaoIT.java
M opennms-base-assembly/pom.xml
M opennms-webapp-rest/pom.xml
A opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/SurveillanceViewDTO.java
A opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/SurveillanceViewRestService.java
A opennms-webapp-rest/src/main/java/org/opennms/web/rest/v2/SurveillanceViewStatusDTO.java
A opennms-webapp-rest/src/test/java/org/opennms/web/rest/v2/SurveillanceViewRestServiceIT.java
Log Message:
-----------
NMS-20045: Replace Vaadin surveillance views, part 1: kv-store persistence + REST API
New features/surveillance-views module:
- SurveillanceView/SurveillanceViewDef domain model and a SurveillanceViewDao
backed by the shared JsonStore (kvstore_jsonb, context 'surveillance-views'),
following the topology-views pattern. The default-view setting lives in its
own context so enumerating views stays clean, and deleting the default view
clears the setting rather than leaving it dangling.
- The legacy etc/surveillance-views.xml is NOT read or imported: an empty
store is seeded in code with the stock default view (the same grid the XML
shipped), and pre-existing customized views are recreated through the new
API/UI. This keeps the new module free of the JAXB/config-model scaffolding
so all of it can be deleted with the Vaadin feature. Seeding only touches a
store with zero views; restarts never resurrect deleted views.
- SurveillanceViewDataService: the non-UI core of the Vaadin
DefaultSurveillanceViewService. The category-intersection SQL, notification
severity bucketing, and 24h RTC math are ported unchanged, but drill-downs
now take category names and return detached value objects materialized
inside the service transaction, so callers never touch lazy Hibernate state.
New /api/v2/surveillance/views resource (opennms-webapp-rest):
- CRUD over view definitions with name-uniqueness (409), shape validation
matching the legacy XSD constraints (400), and an in-resource ROLE_ADMIN
guard on writes; reads stay open to authenticated users.
- GET default resolves per user by the legacy naming convention: username
match, then group-name match (GroupDao, optional), then the configured
default.
- GET {id}/status computes the grid (down/total/status per cell); {id}/alarms,
{id}/notifications and {id}/rtc serve the dashboard drill-downs, narrowed by
optional row/column labels.
The Vaadin feature stays in place until the replacement UI lands; removal is
a follow-up. ITs: SurveillanceViewDaoIT (CRUD, default handling, seeding),
DefaultSurveillanceViewDataService{Alarm,Rtc}IT (ports of NMS15448_IT and
NMS14048_IT plus cell-status coverage), SurveillanceViewRestServiceIT.
To unsubscribe from these emails, change your notification settings at https://github.com/OpenNMS/opennms/settings/notifications
_______________________________________________
Please read the OpenNMS Mailing List FAQ:
http://www.opennms.org/wiki/index.php?page=MailingListFaq
opennms-cvs mailing list
To *unsubscribe* or change your subscription options, see the bottom of this page:
https://lists.sourceforge.net/lists/listinfo/opennms-cvs