From ac0a6d43264b773663c7acbb30666f42404f6756 Mon Sep 17 00:00:00 2001 From: Avgustin Marinov Date: Sun, 17 Nov 2024 20:10:41 +0200 Subject: [PATCH] DDI resource - remove dupplicated annotations (MgmtTargetResource) (#2070) Signed-off-by: Avgustin Marinov --- .../mgmt/rest/api/MgmtTargetRestApi.java | 30 +++-- .../rest/resource/MgmtTargetResource.java | 115 +++++++++--------- 2 files changed, 77 insertions(+), 68 deletions(-) diff --git a/hawkbit-mgmt/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/rest/api/MgmtTargetRestApi.java b/hawkbit-mgmt/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/rest/api/MgmtTargetRestApi.java index 27b92092d..da1c11e5f 100644 --- a/hawkbit-mgmt/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/rest/api/MgmtTargetRestApi.java +++ b/hawkbit-mgmt/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/rest/api/MgmtTargetRestApi.java @@ -177,7 +177,7 @@ public interface MgmtTargetRestApi { @PostMapping(value = MgmtRestConstants.TARGET_V1_REQUEST_MAPPING, consumes = { MediaTypes.HAL_JSON_VALUE, MediaType.APPLICATION_JSON_VALUE }, produces = { MediaTypes.HAL_JSON_VALUE, MediaType.APPLICATION_JSON_VALUE }) - ResponseEntity> createTargets(List targets); + ResponseEntity> createTargets(@RequestBody List targets); /** * Handles the PUT request of updating a target. The ID is within the URL path of the request. A given ID in the request body is ignored. @@ -217,7 +217,9 @@ public interface MgmtTargetRestApi { @PutMapping(value = MgmtRestConstants.TARGET_V1_REQUEST_MAPPING + "/{targetId}", consumes = { MediaTypes.HAL_JSON_VALUE, MediaType.APPLICATION_JSON_VALUE }, produces = { MediaTypes.HAL_JSON_VALUE, MediaType.APPLICATION_JSON_VALUE }) - ResponseEntity updateTarget(@PathVariable("targetId") String targetId, MgmtTargetRequestBody targetRest); + ResponseEntity updateTarget( + @PathVariable("targetId") String targetId, + @RequestBody MgmtTargetRequestBody targetRest); /** * Handles the DELETE request of deleting a target. @@ -302,7 +304,7 @@ public interface MgmtTargetRestApi { }) @PostMapping(value = MgmtRestConstants.TARGET_V1_REQUEST_MAPPING + MgmtRestConstants.TARGET_TARGET_TYPE_V1_REQUEST_MAPPING, consumes = { MediaTypes.HAL_JSON_VALUE, MediaType.APPLICATION_JSON_VALUE }) - ResponseEntity assignTargetType(@PathVariable("targetId") String targetId, MgmtId targetTypeId); + ResponseEntity assignTargetType(@PathVariable("targetId") String targetId, @RequestBody MgmtId targetTypeId); /** * Handles the GET request of retrieving the attributes of a specific target. @@ -422,7 +424,9 @@ public interface MgmtTargetRestApi { }) @GetMapping(value = MgmtRestConstants.TARGET_V1_REQUEST_MAPPING + "/{targetId}/actions/{actionId}", produces = { MediaTypes.HAL_JSON_VALUE, MediaType.APPLICATION_JSON_VALUE }) - ResponseEntity getAction(@PathVariable("targetId") String targetId, @PathVariable("actionId") Long actionId); + ResponseEntity getAction( + @PathVariable("targetId") String targetId, + @PathVariable("actionId") Long actionId); /** * Handles the DELETE request of canceling an specific Actions of a specific Target. @@ -497,7 +501,8 @@ public interface MgmtTargetRestApi { produces = { MediaTypes.HAL_JSON_VALUE, MediaType.APPLICATION_JSON_VALUE }) ResponseEntity updateAction( @PathVariable("targetId") String targetId, - @PathVariable("actionId") Long actionId, MgmtActionRequestBodyPut actionUpdate); + @PathVariable("actionId") Long actionId, + @RequestBody MgmtActionRequestBodyPut actionUpdate); /** * Handles the GET request of retrieving the ActionStatus of a specific target and action. @@ -610,7 +615,7 @@ public interface MgmtTargetRestApi { produces = { MediaTypes.HAL_JSON_VALUE, MediaType.APPLICATION_JSON_VALUE }) ResponseEntity postAssignedDistributionSet( @PathVariable("targetId") String targetId, - @Valid MgmtDistributionSetAssignments dsAssignments, + @RequestBody @Valid MgmtDistributionSetAssignments dsAssignments, @RequestParam(value = "offline", required = false) @Schema(description = """ Offline update (set param to true) that is only reported but not managed by the service, e.g. @@ -709,7 +714,8 @@ public interface MgmtTargetRestApi { }) @GetMapping(value = MgmtRestConstants.TARGET_V1_REQUEST_MAPPING + "/{targetId}/metadata", produces = { MediaTypes.HAL_JSON_VALUE, MediaType.APPLICATION_JSON_VALUE }) - ResponseEntity> getMetadata(@PathVariable("targetId") String targetId, + ResponseEntity> getMetadata( + @PathVariable("targetId") String targetId, @RequestParam( value = MgmtRestConstants.REQUEST_PARAMETER_PAGING_OFFSET, defaultValue = MgmtRestConstants.REQUEST_PARAMETER_PAGING_DEFAULT_OFFSET) @@ -804,7 +810,8 @@ public interface MgmtTargetRestApi { produces = { MediaTypes.HAL_JSON_VALUE, MediaType.APPLICATION_JSON_VALUE }) ResponseEntity updateMetadata( @PathVariable("targetId") String targetId, - @PathVariable("metadataKey") String metadataKey, MgmtMetadataBodyPut metadata); + @PathVariable("metadataKey") String metadataKey, + @RequestBody MgmtMetadataBodyPut metadata); /** * Deletes a single metadata entry from the target. @@ -874,7 +881,9 @@ public interface MgmtTargetRestApi { @PostMapping(value = MgmtRestConstants.TARGET_V1_REQUEST_MAPPING + "/{targetId}/metadata", consumes = { MediaType.APPLICATION_JSON_VALUE, MediaTypes.HAL_JSON_VALUE }, produces = { MediaTypes.HAL_JSON_VALUE, MediaType.APPLICATION_JSON_VALUE }) - ResponseEntity> createMetadata(@PathVariable("targetId") String targetId, List metadataRest); + ResponseEntity> createMetadata( + @PathVariable("targetId") String targetId, + @RequestBody List metadataRest); /** * Get the current auto-confirm state for a specific target. @@ -977,5 +986,6 @@ public interface MgmtTargetRestApi { content = @Content(mediaType = "application/json", schema = @Schema(hidden = true))) }) @PostMapping(value = MgmtRestConstants.TARGET_V1_REQUEST_MAPPING + "/{targetId}/autoConfirm/deactivate") - ResponseEntity deactivateAutoConfirm(@PathVariable("targetId") String targetId); + ResponseEntity deactivateAutoConfirm( + @PathVariable("targetId") String targetId); } \ No newline at end of file diff --git a/hawkbit-mgmt/hawkbit-mgmt-resource/src/main/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtTargetResource.java b/hawkbit-mgmt/hawkbit-mgmt-resource/src/main/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtTargetResource.java index fb4b3e2a6..d2bb364c0 100644 --- a/hawkbit-mgmt/hawkbit-mgmt-resource/src/main/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtTargetResource.java +++ b/hawkbit-mgmt/hawkbit-mgmt-resource/src/main/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtTargetResource.java @@ -64,9 +64,6 @@ import org.springframework.data.domain.Slice; import org.springframework.data.domain.Sort; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; /** @@ -84,7 +81,8 @@ public class MgmtTargetResource implements MgmtTargetRestApi { private final EntityFactory entityFactory; private final TenantConfigHelper tenantConfigHelper; - MgmtTargetResource(final TargetManagement targetManagement, final DeploymentManagement deploymentManagement, + MgmtTargetResource( + final TargetManagement targetManagement, final DeploymentManagement deploymentManagement, final ConfirmationManagement confirmationManagement, final EntityFactory entityFactory, final SystemSecurityContext systemSecurityContext, final TenantConfigurationManagement tenantConfigurationManagement) { @@ -96,7 +94,7 @@ public class MgmtTargetResource implements MgmtTargetRestApi { } @Override - public ResponseEntity getTarget(@PathVariable("targetId") final String targetId) { + public ResponseEntity getTarget(final String targetId) { final Target findTarget = findTargetWithExceptionIfNotFound(targetId); // to single response include poll status final MgmtTarget response = MgmtTargetMapper.toResponse(findTarget, tenantConfigHelper, null); @@ -107,10 +105,10 @@ public class MgmtTargetResource implements MgmtTargetRestApi { @Override public ResponseEntity> getTargets( - @RequestParam(value = MgmtRestConstants.REQUEST_PARAMETER_PAGING_OFFSET, defaultValue = MgmtRestConstants.REQUEST_PARAMETER_PAGING_DEFAULT_OFFSET) final int pagingOffsetParam, - @RequestParam(value = MgmtRestConstants.REQUEST_PARAMETER_PAGING_LIMIT, defaultValue = MgmtRestConstants.REQUEST_PARAMETER_PAGING_DEFAULT_LIMIT) final int pagingLimitParam, - @RequestParam(value = MgmtRestConstants.REQUEST_PARAMETER_SORTING, required = false) final String sortParam, - @RequestParam(value = MgmtRestConstants.REQUEST_PARAMETER_SEARCH, required = false) final String rsqlParam) { + final int pagingOffsetParam, + final int pagingLimitParam, + final String sortParam, + final String rsqlParam) { final int sanitizedOffsetParam = PagingUtility.sanitizeOffsetParam(pagingOffsetParam); final int sanitizedLimitParam = PagingUtility.sanitizePageLimitParam(pagingLimitParam); final Sort sorting = PagingUtility.sanitizeTargetSortParam(sortParam); @@ -131,7 +129,7 @@ public class MgmtTargetResource implements MgmtTargetRestApi { } @Override - public ResponseEntity> createTargets(@RequestBody final List targets) { + public ResponseEntity> createTargets(final List targets) { log.debug("creating {} targets", targets.size()); final Collection createdTargets = this.targetManagement .create(MgmtTargetMapper.fromRequest(entityFactory, targets)); @@ -142,8 +140,8 @@ public class MgmtTargetResource implements MgmtTargetRestApi { @Override public ResponseEntity updateTarget( - @PathVariable("targetId") final String targetId, - @RequestBody final MgmtTargetRequestBody targetRest) { + final String targetId, + final MgmtTargetRequestBody targetRest) { if (targetRest.getRequestAttributes() != null) { if (targetRest.getRequestAttributes()) { targetManagement.requestControllerAttributes(targetId); @@ -177,27 +175,27 @@ public class MgmtTargetResource implements MgmtTargetRestApi { } @Override - public ResponseEntity deleteTarget(@PathVariable("targetId") final String targetId) { + public ResponseEntity deleteTarget(final String targetId) { this.targetManagement.deleteByControllerID(targetId); log.debug("{} target deleted, return status {}", targetId, HttpStatus.OK); return ResponseEntity.ok().build(); } @Override - public ResponseEntity unassignTargetType(@PathVariable("targetId") final String targetId) { + public ResponseEntity unassignTargetType(final String targetId) { this.targetManagement.unassignType(targetId); return ResponseEntity.ok().build(); } @Override - public ResponseEntity assignTargetType(@PathVariable("targetId") final String targetId, - @RequestBody final MgmtId targetTypeId) { + public ResponseEntity assignTargetType(final String targetId, + final MgmtId targetTypeId) { this.targetManagement.assignType(targetId, targetTypeId.getId()); return ResponseEntity.ok().build(); } @Override - public ResponseEntity getAttributes(@PathVariable("targetId") final String targetId) { + public ResponseEntity getAttributes(final String targetId) { final Map controllerAttributes = targetManagement.getControllerAttributes(targetId); if (controllerAttributes.isEmpty()) { return ResponseEntity.noContent().build(); @@ -211,12 +209,11 @@ public class MgmtTargetResource implements MgmtTargetRestApi { @Override public ResponseEntity> getActionHistory( - @PathVariable("targetId") final String targetId, - @RequestParam(value = MgmtRestConstants.REQUEST_PARAMETER_PAGING_OFFSET, defaultValue = MgmtRestConstants.REQUEST_PARAMETER_PAGING_DEFAULT_OFFSET) final int pagingOffsetParam, - @RequestParam(value = MgmtRestConstants.REQUEST_PARAMETER_PAGING_LIMIT, defaultValue = MgmtRestConstants.REQUEST_PARAMETER_PAGING_DEFAULT_LIMIT) final int pagingLimitParam, - @RequestParam(value = MgmtRestConstants.REQUEST_PARAMETER_SORTING, required = false) final String sortParam, - @RequestParam(value = MgmtRestConstants.REQUEST_PARAMETER_SEARCH, required = false) final String rsqlParam) { - + final String targetId, + final int pagingOffsetParam, + final int pagingLimitParam, + final String sortParam, + final String rsqlParam) { findTargetWithExceptionIfNotFound(targetId); final int sanitizedOffsetParam = PagingUtility.sanitizeOffsetParam(pagingOffsetParam); @@ -239,8 +236,8 @@ public class MgmtTargetResource implements MgmtTargetRestApi { @Override public ResponseEntity getAction( - @PathVariable("targetId") final String targetId, - @PathVariable("actionId") final Long actionId) { + final String targetId, + final Long actionId) { final Action action = deploymentManagement.findAction(actionId) .orElseThrow(() -> new EntityNotFoundException(Action.class, actionId)); if (!action.getTarget().getControllerId().equals(targetId)) { @@ -253,9 +250,9 @@ public class MgmtTargetResource implements MgmtTargetRestApi { @Override public ResponseEntity cancelAction( - @PathVariable("targetId") final String targetId, - @PathVariable("actionId") final Long actionId, - @RequestParam(value = "force", required = false, defaultValue = "false") final boolean force) { + final String targetId, + final Long actionId, + final boolean force) { final Action action = deploymentManagement.findAction(actionId) .orElseThrow(() -> new EntityNotFoundException(Action.class, actionId)); @@ -277,8 +274,9 @@ public class MgmtTargetResource implements MgmtTargetRestApi { @Override public ResponseEntity updateAction( - @PathVariable("targetId") final String targetId, - @PathVariable("actionId") final Long actionId, @RequestBody final MgmtActionRequestBodyPut actionUpdate) { + final String targetId, + final Long actionId, + final MgmtActionRequestBodyPut actionUpdate) { Action action = deploymentManagement.findAction(actionId) .orElseThrow(() -> new EntityNotFoundException(Action.class, actionId)); @@ -298,11 +296,11 @@ public class MgmtTargetResource implements MgmtTargetRestApi { @Override public ResponseEntity> getActionStatusList( - @PathVariable("targetId") final String targetId, @PathVariable("actionId") final Long actionId, - @RequestParam(value = MgmtRestConstants.REQUEST_PARAMETER_PAGING_OFFSET, defaultValue = MgmtRestConstants.REQUEST_PARAMETER_PAGING_DEFAULT_OFFSET) final int pagingOffsetParam, - @RequestParam(value = MgmtRestConstants.REQUEST_PARAMETER_PAGING_LIMIT, defaultValue = MgmtRestConstants.REQUEST_PARAMETER_PAGING_DEFAULT_LIMIT) final int pagingLimitParam, - @RequestParam(value = MgmtRestConstants.REQUEST_PARAMETER_SORTING, required = false) final String sortParam) { - + final String targetId, + final Long actionId, + final int pagingOffsetParam, + final int pagingLimitParam, + final String sortParam) { final Target target = findTargetWithExceptionIfNotFound(targetId); final Action action = deploymentManagement.findAction(actionId) @@ -326,7 +324,7 @@ public class MgmtTargetResource implements MgmtTargetRestApi { } @Override - public ResponseEntity getAssignedDistributionSet(@PathVariable("targetId") final String targetId) { + public ResponseEntity getAssignedDistributionSet(final String targetId) { final MgmtDistributionSet distributionSetRest = deploymentManagement.getAssignedDistributionSet(targetId) .map(ds -> { final MgmtDistributionSet response = MgmtDistributionSetMapper.toResponse(ds); @@ -343,9 +341,9 @@ public class MgmtTargetResource implements MgmtTargetRestApi { @Override public ResponseEntity postAssignedDistributionSet( - @PathVariable("targetId") final String targetId, - @RequestBody final MgmtDistributionSetAssignments dsAssignments, - @RequestParam(value = "offline", required = false) final Boolean offline) { + final String targetId, + final MgmtDistributionSetAssignments dsAssignments, + final Boolean offline) { if (offline != null && offline) { final List> offlineAssignments = dsAssignments.stream() .map(dsAssignment -> new SimpleEntry(targetId, dsAssignment.getId())) @@ -369,7 +367,7 @@ public class MgmtTargetResource implements MgmtTargetRestApi { } @Override - public ResponseEntity getInstalledDistributionSet(@PathVariable("targetId") final String targetId) { + public ResponseEntity getInstalledDistributionSet(final String targetId) { final MgmtDistributionSet distributionSetRest = deploymentManagement.getInstalledDistributionSet(targetId) .map(set -> { final MgmtDistributionSet response = MgmtDistributionSetMapper.toResponse(set); @@ -386,18 +384,18 @@ public class MgmtTargetResource implements MgmtTargetRestApi { } @Override - public ResponseEntity> getTags(@PathVariable("targetId") String targetId) { + public ResponseEntity> getTags(final String targetId) { final Set tags = targetManagement.getTagsByControllerId(targetId); return ResponseEntity.ok(MgmtTagMapper.toResponse(tags == null ? Collections.emptyList() : tags.stream().toList())); } @Override public ResponseEntity> getMetadata( - @PathVariable("targetId") final String targetId, - @RequestParam(value = MgmtRestConstants.REQUEST_PARAMETER_PAGING_OFFSET, defaultValue = MgmtRestConstants.REQUEST_PARAMETER_PAGING_DEFAULT_OFFSET) final int pagingOffsetParam, - @RequestParam(value = MgmtRestConstants.REQUEST_PARAMETER_PAGING_LIMIT, defaultValue = MgmtRestConstants.REQUEST_PARAMETER_PAGING_DEFAULT_LIMIT) final int pagingLimitParam, - @RequestParam(value = MgmtRestConstants.REQUEST_PARAMETER_SORTING, required = false) final String sortParam, - @RequestParam(value = MgmtRestConstants.REQUEST_PARAMETER_SEARCH, required = false) final String rsqlParam) { + final String targetId, + final int pagingOffsetParam, + final int pagingLimitParam, + final String sortParam, + final String rsqlParam) { final int sanitizedOffsetParam = PagingUtility.sanitizeOffsetParam(pagingOffsetParam); final int sanitizedLimitParam = PagingUtility.sanitizePageLimitParam(pagingLimitParam); final Sort sorting = PagingUtility.sanitizeDistributionSetMetadataSortParam(sortParam); @@ -417,8 +415,8 @@ public class MgmtTargetResource implements MgmtTargetRestApi { @Override public ResponseEntity getMetadataValue( - @PathVariable("targetId") final String targetId, - @PathVariable("metadataKey") final String metadataKey) { + final String targetId, + final String metadataKey) { final TargetMetadata findOne = targetManagement.getMetaDataByControllerId(targetId, metadataKey) .orElseThrow(() -> new EntityNotFoundException(TargetMetadata.class, targetId, metadataKey)); return ResponseEntity.ok(MgmtTargetMapper.toResponseTargetMetadata(findOne)); @@ -426,8 +424,9 @@ public class MgmtTargetResource implements MgmtTargetRestApi { @Override public ResponseEntity updateMetadata( - @PathVariable("targetId") final String targetId, - @PathVariable("metadataKey") final String metadataKey, @RequestBody final MgmtMetadataBodyPut metadata) { + final String targetId, + final String metadataKey, + final MgmtMetadataBodyPut metadata) { final TargetMetadata updated = targetManagement.updateMetadata(targetId, entityFactory.generateTargetMetadata(metadataKey, metadata.getValue())); return ResponseEntity.ok(MgmtTargetMapper.toResponseTargetMetadata(updated)); @@ -435,23 +434,23 @@ public class MgmtTargetResource implements MgmtTargetRestApi { @Override public ResponseEntity deleteMetadata( - @PathVariable("targetId") final String targetId, - @PathVariable("metadataKey") final String metadataKey) { + final String targetId, + final String metadataKey) { targetManagement.deleteMetaData(targetId, metadataKey); return ResponseEntity.ok().build(); } @Override public ResponseEntity> createMetadata( - @PathVariable("targetId") final String targetId, - @RequestBody final List metadataRest) { + final String targetId, + final List metadataRest) { final List created = targetManagement.createMetaData(targetId, MgmtTargetMapper.fromRequestTargetMetadata(metadataRest, entityFactory)); return new ResponseEntity<>(MgmtTargetMapper.toResponseTargetMetadata(created), HttpStatus.CREATED); } @Override - public ResponseEntity getAutoConfirmStatus(@PathVariable("targetId") final String targetId) { + public ResponseEntity getAutoConfirmStatus(final String targetId) { final Target findTarget = findTargetWithExceptionIfNotFound(targetId); final MgmtTargetAutoConfirm state = MgmtTargetMapper.getTargetAutoConfirmResponse(findTarget); return ResponseEntity.ok(state); @@ -459,8 +458,8 @@ public class MgmtTargetResource implements MgmtTargetRestApi { @Override public ResponseEntity activateAutoConfirm( - @PathVariable("targetId") final String targetId, - @RequestBody(required = false) final MgmtTargetAutoConfirmUpdate update) { + final String targetId, + final MgmtTargetAutoConfirmUpdate update) { final String initiator = getNullIfEmpty(update, MgmtTargetAutoConfirmUpdate::getInitiator); final String remark = getNullIfEmpty(update, MgmtTargetAutoConfirmUpdate::getRemark); confirmationManagement.activateAutoConfirmation(targetId, initiator, remark); @@ -468,7 +467,7 @@ public class MgmtTargetResource implements MgmtTargetRestApi { } @Override - public ResponseEntity deactivateAutoConfirm(@PathVariable("targetId") final String targetId) { + public ResponseEntity deactivateAutoConfirm(final String targetId) { confirmationManagement.deactivateAutoConfirmation(targetId); return new ResponseEntity<>(HttpStatus.OK); }