Class OpenEhrAuditInterceptor<T extends OpenEhrAuditDataset>

java.lang.Object
org.ehrbase.rest.openehr.audit.OpenEhrAuditInterceptor<T>
All Implemented Interfaces:
org.springframework.web.servlet.HandlerInterceptor
Direct Known Subclasses:
CompositionAuditInterceptor, EhrAuditInterceptor, QueryAuditInterceptor

public abstract class OpenEhrAuditInterceptor<T extends OpenEhrAuditDataset> extends Object implements org.springframework.web.servlet.HandlerInterceptor
Base HandlerInterceptor that provides the common logic for handling audit feature.
  • Field Details

    • EHR_ID_ATTRIBUTE

      public static final String EHR_ID_ATTRIBUTE
    • START_TIME_ATTRIBUTE

      public static final String START_TIME_ATTRIBUTE
    • auditContext

      protected final org.openehealth.ipf.commons.audit.AuditContext auditContext
    • ehrService

      protected final EhrService ehrService
    • tenantService

      protected final TenantService tenantService
  • Constructor Details

    • OpenEhrAuditInterceptor

      protected OpenEhrAuditInterceptor(org.openehealth.ipf.commons.audit.AuditContext auditContext, EhrService ehrService, TenantService tenantService)
  • Method Details

    • preHandle

      public boolean preHandle(@NonNull javax.servlet.http.HttpServletRequest request, @NonNull javax.servlet.http.HttpServletResponse response, @NonNull Object handler) throws Exception
      Specified by:
      preHandle in interface org.springframework.web.servlet.HandlerInterceptor
      Throws:
      Exception
    • afterCompletion

      public void afterCompletion(@NonNull javax.servlet.http.HttpServletRequest request, @NonNull javax.servlet.http.HttpServletResponse response, @NonNull Object handler, Exception ex)
      Specified by:
      afterCompletion in interface org.springframework.web.servlet.HandlerInterceptor
    • createAuditDataset

      protected abstract T createAuditDataset()
    • enrichDataset

      protected void enrichDataset(T auditDataset, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
    • getAuditMessages

      protected abstract org.openehealth.ipf.commons.audit.model.AuditMessage[] getAuditMessages(T auditDataset)
    • getClientIpAddress

      protected String getClientIpAddress(javax.servlet.http.HttpServletRequest request)
    • getUniqueEhrId

      protected UUID getUniqueEhrId(javax.servlet.http.HttpServletRequest request)
    • getEhrIds

      protected Set<UUID> getEhrIds(javax.servlet.http.HttpServletRequest request)
    • getPatientNumbers

      protected Set<String> getPatientNumbers(javax.servlet.http.HttpServletRequest request)