From a0f61a5537e281b6c0a54361747c0ee2424b2992 Mon Sep 17 00:00:00 2001 From: Adam Rauch Date: Wed, 27 Aug 2025 11:20:26 -0700 Subject: [PATCH 1/3] Give EHRSecurityEscalationDomainKind a unique prefix --- .../security/EHRSecurityEscalatorAuditProvider.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/ehr/api-src/org/labkey/api/ehr/security/EHRSecurityEscalatorAuditProvider.java b/ehr/api-src/org/labkey/api/ehr/security/EHRSecurityEscalatorAuditProvider.java index 1cf2de19b..0e407dadc 100644 --- a/ehr/api-src/org/labkey/api/ehr/security/EHRSecurityEscalatorAuditProvider.java +++ b/ehr/api-src/org/labkey/api/ehr/security/EHRSecurityEscalatorAuditProvider.java @@ -48,8 +48,9 @@ public String getAuditLogTitle() { } @Override - protected AbstractAuditDomainKind getDomainKind() { - return new EHRSecurityEscalationDomain(); + protected AbstractAuditDomainKind getDomainKind() + { + return new EHRSecurityEscalationDomainKind(); } public static class EHRSecurityEscalationEvent extends SecurityEscalationEvent @@ -69,9 +70,10 @@ public String getEventType() { } } - public static class EHRSecurityEscalationDomain extends SecurityEscalationAuditDomainKind + public static class EHRSecurityEscalationDomainKind extends SecurityEscalationAuditDomainKind { - public EHRSecurityEscalationDomain() { + public EHRSecurityEscalationDomainKind() + { super(EVENT_TYPE, EHRSecurityEscalationEvent.class.getName()); } } From 3f4a9f727946636ce03dcf345d7b539eb3c5e5c9 Mon Sep 17 00:00:00 2001 From: Adam Rauch Date: Wed, 27 Aug 2025 19:02:54 -0700 Subject: [PATCH 2/3] Uniquify domain namespace prefixes --- .../api/ehr/security/EHRSecurityEscalatorAuditProvider.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ehr/api-src/org/labkey/api/ehr/security/EHRSecurityEscalatorAuditProvider.java b/ehr/api-src/org/labkey/api/ehr/security/EHRSecurityEscalatorAuditProvider.java index 0e407dadc..8ede3abb8 100644 --- a/ehr/api-src/org/labkey/api/ehr/security/EHRSecurityEscalatorAuditProvider.java +++ b/ehr/api-src/org/labkey/api/ehr/security/EHRSecurityEscalatorAuditProvider.java @@ -76,5 +76,11 @@ public EHRSecurityEscalationDomainKind() { super(EVENT_TYPE, EHRSecurityEscalationEvent.class.getName()); } + + @Override + protected String getNamespacePrefix() + { + return NAMESPACE_PREFIX + "EHRSecurityEscalationDomain"; + } } } From b5c5676ec3cc26fe7da4bd1572bb5a568d59d535 Mon Sep 17 00:00:00 2001 From: Adam Rauch Date: Thu, 28 Aug 2025 07:17:22 -0700 Subject: [PATCH 3/3] Stricter checks on namespace prefixes --- .../EHRSecurityEscalatorAuditProvider.java | 15 +++++++-------- .../org/labkey/snd/NarrativeAuditProvider.java | 11 +++++------ 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/ehr/api-src/org/labkey/api/ehr/security/EHRSecurityEscalatorAuditProvider.java b/ehr/api-src/org/labkey/api/ehr/security/EHRSecurityEscalatorAuditProvider.java index 8ede3abb8..aa013232f 100644 --- a/ehr/api-src/org/labkey/api/ehr/security/EHRSecurityEscalatorAuditProvider.java +++ b/ehr/api-src/org/labkey/api/ehr/security/EHRSecurityEscalatorAuditProvider.java @@ -15,7 +15,6 @@ */ package org.labkey.api.ehr.security; -import org.labkey.api.audit.query.AbstractAuditDomainKind; import org.labkey.api.data.Container; import org.labkey.api.study.security.SecurityEscalationAuditProvider; @@ -27,8 +26,14 @@ public class EHRSecurityEscalatorAuditProvider extends SecurityEscalationAuditPr public static String EVENT_TYPE = EHRSecurityEscalationEvent.class.getSimpleName(); public static String AUDIT_LOG_TITLE = "EHR Security Escalations"; + public EHRSecurityEscalatorAuditProvider() + { + super(new EHRSecurityEscalationDomainKind()); + } + @Override - public String getDescription() { + public String getDescription() + { return "This audits all uses of the EHR Security Escalation"; } @@ -47,12 +52,6 @@ public String getAuditLogTitle() { return AUDIT_LOG_TITLE; } - @Override - protected AbstractAuditDomainKind getDomainKind() - { - return new EHRSecurityEscalationDomainKind(); - } - public static class EHRSecurityEscalationEvent extends SecurityEscalationEvent { /** Important for reflection-based instantiation */ diff --git a/snd/src/org/labkey/snd/NarrativeAuditProvider.java b/snd/src/org/labkey/snd/NarrativeAuditProvider.java index 17643cd4b..64075e8c1 100644 --- a/snd/src/org/labkey/snd/NarrativeAuditProvider.java +++ b/snd/src/org/labkey/snd/NarrativeAuditProvider.java @@ -42,10 +42,10 @@ public class NarrativeAuditProvider extends AbstractAuditTypeProvider implements public static final String COLUMN_NAME_EVENTDATE = "EventDate"; public static final String COLUMN_NAME_QCSTATE = "QcState"; - static final List defaultVisibleColumns = new ArrayList<>(); - - static { + private static final List defaultVisibleColumns = new ArrayList<>(); + static + { defaultVisibleColumns.add(FieldKey.fromParts(COLUMN_NAME_CREATED)); defaultVisibleColumns.add(FieldKey.fromParts(COLUMN_NAME_CREATED_BY)); defaultVisibleColumns.add(FieldKey.fromParts(COLUMN_NAME_IMPERSONATED_BY)); @@ -57,10 +57,9 @@ public class NarrativeAuditProvider extends AbstractAuditTypeProvider implements defaultVisibleColumns.add(FieldKey.fromParts(COLUMN_NAME_QCSTATE)); } - @Override - protected AbstractAuditDomainKind getDomainKind() + public NarrativeAuditProvider() { - return new org.labkey.snd.NarrativeAuditProvider.NarrativeAuditDomainKind(); + super(new NarrativeAuditDomainKind()); } @Override