SDK: Fix feedback content (#2276)

Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
This commit is contained in:
Avgustin Marinov
2025-02-13 11:44:27 +02:00
committed by GitHub
parent 1e9d105c74
commit c31c832b23
2 changed files with 18 additions and 21 deletions

View File

@@ -263,7 +263,8 @@ public interface UpdateHandler {
throws NoSuchAlgorithmException, IOException {
final Validator sizeValidator = sizeValidator(size);
final Validator hashValidator = hashValidator(hash);
final ArtifactHandler.DownloadHandler downloadHandler = artifactHandler.getDownloadHandler(link.getHref());
final String href = link.getHref();
final ArtifactHandler.DownloadHandler downloadHandler = artifactHandler.getDownloadHandler(href);
return HawkbitClient.getLink(link, InputStream.class, ddiController.getTenant(), ddiController.getController(), is -> {
try {
final byte[] buff = new byte[32 * 1024];
@@ -275,19 +276,19 @@ public interface UpdateHandler {
sizeValidator.validate();
hashValidator.validate();
final String message = "Downloaded " + link + " (" + size + " bytes)";
final String message = "Downloaded " + href + " (" + size + " bytes)";
log.debug(LOG_PREFIX + message, ddiController.getTenantId(), ddiController.getControllerId());
downloadHandler.finished(ArtifactHandler.DownloadHandler.Status.SUCCESS);
downloadHandler.download().ifPresent(path -> downloads.put(link.getHref(), path));
downloadHandler.download().ifPresent(path -> downloads.put(href, path));
return new UpdateStatus(UpdateStatus.Status.SUCCESSFUL, List.of(message));
} catch (final Exception e) {
final String message = e.getMessage();
if (log.isTraceEnabled()) {
log.error(LOG_PREFIX + DOWNLOAD_LOG_MESSAGE + link + " failed: " + message,
ddiController.getTenantId(), ddiController.getControllerId(), e);
log.error(LOG_PREFIX + DOWNLOAD_LOG_MESSAGE + "{} failed: {}",
ddiController.getTenantId(), ddiController.getControllerId(), href, message, e);
} else {
log.error(LOG_PREFIX + DOWNLOAD_LOG_MESSAGE + link + " failed: " + message,
ddiController.getTenantId(), ddiController.getControllerId());
log.error(LOG_PREFIX + DOWNLOAD_LOG_MESSAGE + "{} failed: {}" + message,
ddiController.getTenantId(), ddiController.getControllerId(), href, message);
}
downloadHandler.finished(ArtifactHandler.DownloadHandler.Status.ERROR);
return new UpdateStatus(UpdateStatus.Status.FAILURE, List.of(message));

View File

@@ -89,12 +89,8 @@ public interface UpdateHandler {
try {
final UpdateStatus updateStatus = download();
dmfController.sendFeedback(updateStatus);
if (updateStatus.status() == DmfActionStatus.ERROR) {
return;
} else {
if (eventTopic != EventTopic.DOWNLOAD) {
dmfController.sendFeedback(update());
}
if (updateStatus.status() != DmfActionStatus.ERROR && eventTopic != EventTopic.DOWNLOAD) {
dmfController.sendFeedback(update());
}
} finally {
cleanup();
@@ -267,8 +263,8 @@ public interface UpdateHandler {
throws NoSuchAlgorithmException, IOException {
final Validator sizeValidator = sizeValidator(size);
final Validator hashValidator = hashValidator(hash);
final ArtifactHandler.DownloadHandler downloadHandler = artifactHandler.getDownloadHandler(link.getHref());
final String href = link.getHref();
final ArtifactHandler.DownloadHandler downloadHandler = artifactHandler.getDownloadHandler(href);
return HawkbitClient.getLink(link, InputStream.class, dmfController.getTenant(), dmfController.getController(), is -> {
try {
final byte[] buff = new byte[32 * 1024];
@@ -280,19 +276,19 @@ public interface UpdateHandler {
sizeValidator.validate();
hashValidator.validate();
final String message = "Downloaded " + link + " (" + size + " bytes)";
final String message = "Downloaded " + href + " (" + size + " bytes)";
log.debug(LOG_PREFIX + message, dmfController.getTenant().getTenantId(), dmfController.getControllerId());
downloadHandler.finished(ArtifactHandler.DownloadHandler.Status.SUCCESS);
downloadHandler.download().ifPresent(path -> downloads.put(link.getHref(), path));
downloadHandler.download().ifPresent(path -> downloads.put(href, path));
return new UpdateStatus(DmfActionStatus.FINISHED, List.of(message));
} catch (final Exception e) {
final String message = e.getMessage();
if (log.isTraceEnabled()) {
log.error(LOG_PREFIX + DOWNLOAD_LOG_MESSAGE + link + " failed: " + message,
dmfController.getTenant().getTenantId(), dmfController.getControllerId(), e);
log.error(LOG_PREFIX + DOWNLOAD_LOG_MESSAGE + "{} failed: {}",
dmfController.getTenant().getTenantId(), dmfController.getControllerId(), href, message, e);
} else {
log.error(LOG_PREFIX + DOWNLOAD_LOG_MESSAGE + link + " failed: " + message,
dmfController.getTenant().getTenantId(), dmfController.getControllerId());
log.error(LOG_PREFIX + DOWNLOAD_LOG_MESSAGE + "{} failed: {}",
dmfController.getTenant().getTenantId(), dmfController.getControllerId(), href, message);
}
downloadHandler.finished(ArtifactHandler.DownloadHandler.Status.ERROR);
return new UpdateStatus(DmfActionStatus.ERROR, List.of(message));