From 2b3d9789786f65a1aad864ff27e4259b248796ea Mon Sep 17 00:00:00 2001 From: SirWayne Date: Thu, 21 Apr 2016 13:00:54 +0200 Subject: [PATCH] =?UTF-8?q?Add=20signature=20from=20interface=20to=20the?= =?UTF-8?q?=20concret=20class,=20because=20of=20Spring=20MVC=20and=20param?= =?UTF-8?q?eter=20inheritance.=20"also=20actually=20doesn=E2=80=99t=20work?= =?UTF-8?q?=20with=20Spring=20MVC=20in=20its=20current=20form=20(method=20?= =?UTF-8?q?parameter=20mapping=20is=20not=20inherited"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: SirWayne --- .../resource/DdiArtifactStoreController.java | 9 ++-- .../ddi/rest/resource/DdiRootController.java | 47 +++++++++++-------- 2 files changed, 34 insertions(+), 22 deletions(-) diff --git a/hawkbit-ddi-resource/src/main/java/org/eclipse/hawkbit/ddi/rest/resource/DdiArtifactStoreController.java b/hawkbit-ddi-resource/src/main/java/org/eclipse/hawkbit/ddi/rest/resource/DdiArtifactStoreController.java index 4c24b0238..024a32454 100644 --- a/hawkbit-ddi-resource/src/main/java/org/eclipse/hawkbit/ddi/rest/resource/DdiArtifactStoreController.java +++ b/hawkbit-ddi-resource/src/main/java/org/eclipse/hawkbit/ddi/rest/resource/DdiArtifactStoreController.java @@ -32,6 +32,8 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; +import org.springframework.security.web.bind.annotation.AuthenticationPrincipal; +import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RestController; /** @@ -60,8 +62,9 @@ public class DdiArtifactStoreController implements DdiArtifactStoreControllerRes private HawkbitSecurityProperties securityProperties; @Override - public ResponseEntity downloadArtifactByFilename(final String fileName, final HttpServletResponse response, - final HttpServletRequest request, final String targetid) { + public ResponseEntity downloadArtifactByFilename(@PathVariable("fileName") final String fileName, + final HttpServletResponse response, final HttpServletRequest request, + @AuthenticationPrincipal final String targetid) { ResponseEntity result; final List foundArtifacts = artifactManagement.findLocalArtifactByFilename(fileName); @@ -98,7 +101,7 @@ public class DdiArtifactStoreController implements DdiArtifactStoreControllerRes } @Override - public ResponseEntity downloadArtifactMD5ByFilename(final String fileName, + public ResponseEntity downloadArtifactMD5ByFilename(@PathVariable("fileName") final String fileName, final HttpServletResponse response) { final List foundArtifacts = artifactManagement.findLocalArtifactByFilename(fileName); diff --git a/hawkbit-ddi-resource/src/main/java/org/eclipse/hawkbit/ddi/rest/resource/DdiRootController.java b/hawkbit-ddi-resource/src/main/java/org/eclipse/hawkbit/ddi/rest/resource/DdiRootController.java index 3a9e07d79..c9c4f1d92 100644 --- a/hawkbit-ddi-resource/src/main/java/org/eclipse/hawkbit/ddi/rest/resource/DdiRootController.java +++ b/hawkbit-ddi-resource/src/main/java/org/eclipse/hawkbit/ddi/rest/resource/DdiRootController.java @@ -52,11 +52,12 @@ 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; /** - * The {@link DdiRootController} of the hawkBit server DDI API that is queried by - * the hawkBit controller in order to pull {@link Action}s that have to be + * The {@link DdiRootController} of the hawkBit server DDI API that is queried + * by the hawkBit controller in order to pull {@link Action}s that have to be * fulfilled and report status updates concerning the {@link Action} processing. * * Transactional (read-write) as all queries at least update the last poll time. @@ -90,7 +91,8 @@ public class DdiRootController implements DdiRootControllerRestApi { @Override public ResponseEntity> getSoftwareModulesArtifacts( - final String targetid, final Long softwareModuleId) { + @PathVariable("targetid") final String targetid, + @PathVariable("softwareModuleId") final Long softwareModuleId) { LOG.debug("getSoftwareModulesArtifacts({})", targetid); final SoftwareModule softwareModule = softwareManagement.findSoftwareModuleById(softwareModuleId); @@ -106,7 +108,7 @@ public class DdiRootController implements DdiRootControllerRestApi { } @Override - public ResponseEntity getControllerBase(final String targetid, + public ResponseEntity getControllerBase(@PathVariable("targetid") final String targetid, final HttpServletRequest request) { LOG.debug("getControllerBase({})", targetid); @@ -127,8 +129,10 @@ public class DdiRootController implements DdiRootControllerRestApi { } @Override - public ResponseEntity downloadArtifact(final String targetid, final Long softwareModuleId, - final String fileName, final HttpServletResponse response, final HttpServletRequest request) { + public ResponseEntity downloadArtifact(@PathVariable("targetid") final String targetid, + @PathVariable("softwareModuleId") final Long softwareModuleId, + @PathVariable("fileName") final String fileName, final HttpServletResponse response, + final HttpServletRequest request) { ResponseEntity result; final Target target = controllerManagement.updateLastTargetQuery(targetid, @@ -179,8 +183,10 @@ public class DdiRootController implements DdiRootControllerRestApi { } @Override - public ResponseEntity downloadArtifactMd5(final String targetid, final Long softwareModuleId, - final String fileName, final HttpServletResponse response, final HttpServletRequest request) { + public ResponseEntity downloadArtifactMd5(@PathVariable("targetid") final String targetid, + @PathVariable("softwareModuleId") final Long softwareModuleId, + @PathVariable("fileName") final String fileName, final HttpServletResponse response, + final HttpServletRequest request) { controllerManagement.updateLastTargetQuery(targetid, IpUtil.getClientIpFromRequest(request, securityProperties.getClients().getRemoteIpHeader())); @@ -203,8 +209,10 @@ public class DdiRootController implements DdiRootControllerRestApi { } @Override - public ResponseEntity getControllerBasedeploymentAction(final String targetid, - final Long actionId, final int resource, final HttpServletRequest request) { + public ResponseEntity getControllerBasedeploymentAction( + @PathVariable("targetid") final String targetid, @PathVariable("actionId") final Long actionId, + @RequestParam(value = "c", required = false, defaultValue = "-1") final int resource, + final HttpServletRequest request) { LOG.debug("getControllerBasedeploymentAction({},{})", targetid, resource); final Target target = controllerManagement.updateLastTargetQuery(targetid, @@ -237,8 +245,9 @@ public class DdiRootController implements DdiRootControllerRestApi { } @Override - public ResponseEntity postBasedeploymentActionFeedback(final DdiActionFeedback feedback, - final String targetid, final Long actionId, final HttpServletRequest request) { + public ResponseEntity postBasedeploymentActionFeedback(@Valid @RequestBody final DdiActionFeedback feedback, + @PathVariable("targetid") final String targetid, @PathVariable("actionId") @NotEmpty final Long actionId, + final HttpServletRequest request) { LOG.debug("provideBasedeploymentActionFeedback for target [{},{}]: {}", targetid, actionId, feedback); final Target target = controllerManagement.updateLastTargetQuery(targetid, @@ -333,8 +342,8 @@ public class DdiRootController implements DdiRootControllerRestApi { } @Override - public ResponseEntity putConfigData(final DdiConfigData configData, final String targetid, - final HttpServletRequest request) { + public ResponseEntity putConfigData(@Valid @RequestBody final DdiConfigData configData, + @PathVariable("targetid") final String targetid, final HttpServletRequest request) { controllerManagement.updateLastTargetQuery(targetid, IpUtil.getClientIpFromRequest(request, securityProperties.getClients().getRemoteIpHeader())); @@ -344,8 +353,9 @@ public class DdiRootController implements DdiRootControllerRestApi { } @Override - public ResponseEntity getControllerCancelAction(final String targetid, final Long actionId, - final HttpServletRequest request) { + public ResponseEntity getControllerCancelAction( + @PathVariable("targetid") @NotEmpty final String targetid, + @PathVariable("actionId") @NotEmpty final Long actionId, final HttpServletRequest request) { LOG.debug("getControllerCancelAction({})", targetid); final Target target = controllerManagement.updateLastTargetQuery(targetid, @@ -374,8 +384,8 @@ public class DdiRootController implements DdiRootControllerRestApi { @Override public ResponseEntity postCancelActionFeedback(@Valid @RequestBody final DdiActionFeedback feedback, - @PathVariable @NotEmpty final String targetid, @PathVariable @NotEmpty final Long actionId, - final HttpServletRequest request) { + @PathVariable("targetid") @NotEmpty final String targetid, + @PathVariable("actionId") @NotEmpty final Long actionId, final HttpServletRequest request) { LOG.debug("provideCancelActionFeedback for target [{}]: {}", targetid, feedback); final Target target = controllerManagement.updateLastTargetQuery(targetid, @@ -454,5 +464,4 @@ public class DdiRootController implements DdiRootControllerRestApi { } return findAction; } - }