From 9fb84e2d693d4c5335d963e345004cc4d760fdbd Mon Sep 17 00:00:00 2001 From: Avgustin Marinov Date: Thu, 2 Oct 2025 11:40:56 +0300 Subject: [PATCH] Add MgmtActionResource call log - upcoming deprectaion / changes (#2715) Signed-off-by: Avgustin Marinov --- .../rest/resource/MgmtActionResource.java | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/hawkbit-mgmt/hawkbit-mgmt-resource/src/main/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtActionResource.java b/hawkbit-mgmt/hawkbit-mgmt-resource/src/main/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtActionResource.java index 6f6315b74..a4478a378 100644 --- a/hawkbit-mgmt/hawkbit-mgmt-resource/src/main/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtActionResource.java +++ b/hawkbit-mgmt/hawkbit-mgmt-resource/src/main/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtActionResource.java @@ -11,6 +11,10 @@ package org.eclipse.hawkbit.mgmt.rest.resource; import static org.eclipse.hawkbit.mgmt.rest.resource.util.PagingUtility.sanitizeActionSortParam; +import java.util.Optional; + +import jakarta.servlet.http.HttpServletRequest; + import lombok.extern.slf4j.Slf4j; import org.eclipse.hawkbit.mgmt.json.model.PagedList; import org.eclipse.hawkbit.mgmt.json.model.action.MgmtAction; @@ -21,6 +25,9 @@ import org.eclipse.hawkbit.mgmt.rest.resource.util.PagingUtility; import org.eclipse.hawkbit.repository.DeploymentManagement; import org.eclipse.hawkbit.repository.exception.EntityNotFoundException; import org.eclipse.hawkbit.repository.model.Action; +import org.eclipse.hawkbit.rest.util.RequestResponseContextHolder; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Slice; @@ -38,10 +45,28 @@ public class MgmtActionResource implements MgmtActionRestApi { this.deploymentManagement = deploymentManagement; } + private static final Logger LOGGER = LoggerFactory.getLogger("DEPRECATED_USAGE"); @Override public ResponseEntity> getActions( final String rsqlParam, final int pagingOffsetParam, final int pagingLimitParam, final String sortParam, final String representationModeParam) { + try { + if (LOGGER.isDebugEnabled()) { + final HttpServletRequest httpServletRequest = RequestResponseContextHolder.getHttpServletRequest(); + final String remoteHost = httpServletRequest.getRemoteHost(); + final String refererOrOrigin = Optional.ofNullable(httpServletRequest.getHeader("Referer")) + .map(referer -> "Referer: " + referer) + .orElseGet(() -> "Origin: " + httpServletRequest.getHeader("Origin")); + if (rsqlParam != null && rsqlParam.contains("status")) { + LOGGER.debug("[DEPRECATED] [{}/{}] Usage of getActions with RSQL that is up to modification: rsql='{}'.", + remoteHost, refererOrOrigin, rsqlParam); + } else { + LOGGER.debug("[DEPRECATED] [{}/{}] Usage of getActions:result that is up to modification.", remoteHost, refererOrOrigin); + } + } + } catch (final Exception e) { + LOGGER.error("[DEPRECATED] Unexpected logging exception!", e); + } final Pageable pageable = PagingUtility.toPageable(pagingOffsetParam, pagingLimitParam, sanitizeActionSortParam(sortParam)); final Slice actions;