[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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.