20250828 cleanup (#2639)

* Cleanup

* Refactor artifact management
This commit is contained in:
Avgustin Marinov
2025-09-02 16:08:14 +03:00
committed by GitHub
parent 4f0a8893c7
commit 2a636328a0
305 changed files with 2253 additions and 4566 deletions

View File

@@ -47,9 +47,7 @@ public class DdiActionHistory {
* @param messages is a list of messages retrieved from action history.
*/
@JsonCreator
public DdiActionHistory(
@JsonProperty("status") final String status,
@JsonProperty("messages") final List<String> messages) {
public DdiActionHistory(@JsonProperty("status") final String status, @JsonProperty("messages") final List<String> messages) {
this.status = status;
this.messages = messages;
}

View File

@@ -14,6 +14,7 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.lang.Nullable;
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
@@ -27,16 +28,10 @@ public class DdiActivateAutoConfirmation {
"confirming future actions", example = "exampleRemark")
private final String remark;
/**
* Constructor.
*
* @param initiator can be null
* @param remark can be null
*/
@JsonCreator
public DdiActivateAutoConfirmation(
@JsonProperty(value = "initiator") final String initiator,
@JsonProperty(value = "remark") final String remark) {
@Nullable @JsonProperty(value = "initiator") final String initiator,
@Nullable @JsonProperty(value = "remark") final String remark) {
this.initiator = initiator;
this.remark = remark;
}

View File

@@ -32,7 +32,7 @@ import org.springframework.hateoas.RepresentationModel;
* **download** - HTTPs Download resource for artifacts. The resource supports partial download as specified by RFC7233 (range requests). Keep in mind that the target needs to have the artifact assigned in order to be granted permission to download.
* **md5sum** - HTTPs Download resource for MD5SUM file is an optional auto generated artifact that is especially useful for Linux based devices on order to check artifact consistency after download by using the md5sum command line tool. The MD5 and SHA1 are in addition available as metadata in the deployment command itself.
* **download-http** - HTTP Download resource for artifacts. The resource supports partial download as specified by RFC7233 (range requests). Keep in mind that the target needs to have the artifact assigned in order to be granted permission to download. (note: anonymous download needs to be enabled on the service account for non-TLS access)
* **md5sum-http** - HTTP Download resource for MD5SUM file is an optional auto generated artifact that is especially useful for Linux based devices on order to check artifact consistency after download by using the md5sum command line tool. The MD5 and SHA1 are in addition available as metadata in the deployment command itself. (note: anonymous download needs to be enabled on the service account for non-TLS access)
* **md5sum-http** - HTTP Download resource for MD5SUM file is an optional auto generated artifact that is especially useful for Linux based devices on order to check artifact consistency after download by using the md5sum command line tool. The MD5 and SHA1 are in addition available as metadata in the deployment command itself. (note: anonymous download needs to be enabled on the service account for non-TLS access)
""", example = """
{
"filename" : "binaryFile",
@@ -47,10 +47,10 @@ import org.springframework.hateoas.RepresentationModel;
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/40/filename/binaryFile"
},
"download-http" : {
"href" : "http://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/40/filename/binaryFile"
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/40/filename/binaryFile"
},
"md5sum-http" : {
"href" : "http://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/40/filename/binaryFile.MD5SUM"
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/40/filename/binaryFile.MD5SUM"
},
"md5sum" : {
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/40/filename/binaryFile.MD5SUM"

View File

@@ -28,11 +28,6 @@ public class DdiConfig {
private final DdiPolling polling;
/**
* Constructor.
*
* @param polling configuration of the polling for the target
*/
@JsonCreator
public DdiConfig(@JsonProperty("polling") final DdiPolling polling) {
this.polling = polling;

View File

@@ -57,8 +57,7 @@ public class DdiConfirmationBase extends RepresentationModel<DdiConfirmationBase
private final DdiAutoConfirmationState autoConfirm;
@JsonCreator
public DdiConfirmationBase(
@JsonProperty(value = "autoConfirm", required = true) final DdiAutoConfirmationState autoConfirm) {
public DdiConfirmationBase(@JsonProperty(value = "autoConfirm", required = true) final DdiAutoConfirmationState autoConfirm) {
this.autoConfirm = autoConfirm;
}
}

View File

@@ -58,10 +58,10 @@ import org.springframework.hateoas.RepresentationModel;
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/17/filename/binary.tgz"
},
"download-http" : {
"href" : "http://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/17/filename/binary.tgz"
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/17/filename/binary.tgz"
},
"md5sum-http" : {
"href" : "http://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/17/filename/binary.tgz.MD5SUM"
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/17/filename/binary.tgz.MD5SUM"
},
"md5sum" : {
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/17/filename/binary.tgz.MD5SUM"
@@ -80,10 +80,10 @@ import org.springframework.hateoas.RepresentationModel;
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/17/filename/file.signature"
},
"download-http" : {
"href" : "http://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/17/filename/file.signature"
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/17/filename/file.signature"
},
"md5sum-http" : {
"href" : "http://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/17/filename/file.signature.MD5SUM"
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/17/filename/file.signature.MD5SUM"
},
"md5sum" : {
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/17/filename/file.signature.MD5SUM"
@@ -107,10 +107,10 @@ import org.springframework.hateoas.RepresentationModel;
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/16/filename/binary.tgz"
},
"download-http" : {
"href" : "http://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/16/filename/binary.tgz"
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/16/filename/binary.tgz"
},
"md5sum-http" : {
"href" : "http://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/16/filename/binary.tgz.MD5SUM"
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/16/filename/binary.tgz.MD5SUM"
},
"md5sum" : {
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/16/filename/binary.tgz.MD5SUM"
@@ -129,10 +129,10 @@ import org.springframework.hateoas.RepresentationModel;
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/16/filename/file.signature"
},
"download-http" : {
"href" : "http://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/16/filename/file.signature"
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/16/filename/file.signature"
},
"md5sum-http" : {
"href" : "http://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/16/filename/file.signature.MD5SUM"
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/16/filename/file.signature.MD5SUM"
},
"md5sum" : {
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/16/filename/file.signature.MD5SUM"
@@ -156,10 +156,10 @@ import org.springframework.hateoas.RepresentationModel;
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/18/filename/binary.tgz"
},
"download-http" : {
"href" : "http://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/18/filename/binary.tgz"
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/18/filename/binary.tgz"
},
"md5sum-http" : {
"href" : "http://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/18/filename/binary.tgz.MD5SUM"
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/18/filename/binary.tgz.MD5SUM"
},
"md5sum" : {
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/18/filename/binary.tgz.MD5SUM"
@@ -178,10 +178,10 @@ import org.springframework.hateoas.RepresentationModel;
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/18/filename/file.signature"
},
"download-http" : {
"href" : "http://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/18/filename/file.signature"
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/18/filename/file.signature"
},
"md5sum-http" : {
"href" : "http://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/18/filename/file.signature.MD5SUM"
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/18/filename/file.signature.MD5SUM"
},
"md5sum" : {
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/18/filename/file.signature.MD5SUM"

View File

@@ -32,7 +32,7 @@ import org.springframework.hateoas.RepresentationModel;
**_links**: Actions that the server has for the target
* **deploymentBase** - Detailed deployment operation
* **installedBase** - Detailed operation of last successfully finished action
* **configData** - Link which is provided whenever the provisioning target or device is supposed to push its configuration data (aka. "controller attributes") to the server. Only shown for the initial configuration, after a successful update action, or if requested explicitly (e.g. via the management UI)
* **configData** - Link which is provided whenever the provisioning target or device is supposed to push its configuration data (aka. "controller attributes") to the server. Only shown for the initial configuration, after a successful update action, or if requested explicitly (e.g. via the management UI)
""",
example = """
{

View File

@@ -100,7 +100,7 @@ public class DdiDeployment {
*/
FORCED("forced");
private String name;
private final String name;
HandlingType(final String name) {
this.name = name;
@@ -128,7 +128,7 @@ public class DdiDeployment {
*/
UNAVAILABLE("unavailable");
private String status;
private final String status;
DdiMaintenanceWindowStatus(final String status) {
this.status = status;

View File

@@ -54,10 +54,10 @@ import org.springframework.hateoas.RepresentationModel;
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/23/filename/binary.tgz"
},
"download-http" : {
"href" : "http://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/23/filename/binary.tgz"
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/23/filename/binary.tgz"
},
"md5sum-http" : {
"href" : "http://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/23/filename/binary.tgz.MD5SUM"
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/23/filename/binary.tgz.MD5SUM"
},
"md5sum" : {
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/23/filename/binary.tgz.MD5SUM"
@@ -76,10 +76,10 @@ import org.springframework.hateoas.RepresentationModel;
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/23/filename/file.signature"
},
"download-http" : {
"href" : "http://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/23/filename/file.signature"
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/23/filename/file.signature"
},
"md5sum-http" : {
"href" : "http://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/23/filename/file.signature.MD5SUM"
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/23/filename/file.signature.MD5SUM"
},
"md5sum" : {
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/23/filename/file.signature.MD5SUM"
@@ -103,10 +103,10 @@ import org.springframework.hateoas.RepresentationModel;
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/24/filename/binary.tgz"
},
"download-http" : {
"href" : "http://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/24/filename/binary.tgz"
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/24/filename/binary.tgz"
},
"md5sum-http" : {
"href" : "http://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/24/filename/binary.tgz.MD5SUM"
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/24/filename/binary.tgz.MD5SUM"
},
"md5sum" : {
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/24/filename/binary.tgz.MD5SUM"
@@ -125,10 +125,10 @@ import org.springframework.hateoas.RepresentationModel;
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/24/filename/file.signature"
},
"download-http" : {
"href" : "http://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/24/filename/file.signature"
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/24/filename/file.signature"
},
"md5sum-http" : {
"href" : "http://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/24/filename/file.signature.MD5SUM"
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/24/filename/file.signature.MD5SUM"
},
"md5sum" : {
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/24/filename/file.signature.MD5SUM"
@@ -152,10 +152,10 @@ import org.springframework.hateoas.RepresentationModel;
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/22/filename/binary.tgz"
},
"download-http" : {
"href" : "http://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/22/filename/binary.tgz"
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/22/filename/binary.tgz"
},
"md5sum-http" : {
"href" : "http://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/22/filename/binary.tgz.MD5SUM"
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/22/filename/binary.tgz.MD5SUM"
},
"md5sum" : {
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/22/filename/binary.tgz.MD5SUM"
@@ -174,10 +174,10 @@ import org.springframework.hateoas.RepresentationModel;
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/22/filename/file.signature"
},
"download-http" : {
"href" : "http://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/22/filename/file.signature"
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/22/filename/file.signature"
},
"md5sum-http" : {
"href" : "http://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/22/filename/file.signature.MD5SUM"
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/22/filename/file.signature.MD5SUM"
},
"md5sum" : {
"href" : "https://link-to-cdn.com/api/v1/TENANT_ID/download/controller/CONTROLLER_ID/softwaremodules/22/filename/file.signature.MD5SUM"

View File

@@ -67,7 +67,7 @@ public class DdiResult {
*/
NONE("none");
private String name;
private final String name;
FinalResult(final String name) {
this.name = name;

View File

@@ -13,8 +13,7 @@ package org.eclipse.hawkbit.ddi.json.model;
import com.fasterxml.jackson.annotation.JsonValue;
/**
* Enumerates the supported update modes. Each mode represents an attribute
* update strategy.
* Enumerates the supported update modes. Each mode represents an attribute update strategy.
*
* @see DdiConfigData
*/

View File

@@ -100,7 +100,7 @@ public interface DdiRootControllerRestApi {
retrieve actions that need to be executed. Those are provided as a list of links to give more detailed
information about the action. Links are only available for initial configuration, open actions, or the latest
installed action, respectively. The resource supports Etag based modification checks in order to save traffic.
Note: deployments have to be confirmed in order to move on to the next action. Cancellations have to be
confirmed or rejected.""")
@ApiResponses(value = {
@@ -214,7 +214,7 @@ public interface DdiRootControllerRestApi {
* the eTag needs to be re-generated
* @param actionHistoryMessageCount specifies the number of messages to be returned from action history. Regardless of the passed value,
* in order to restrict resource utilization by controllers, maximum number of
* messages that are retrieved from database is limited by {@link RepositoryConstants#MAX_ACTION_HISTORY_MSG_COUNT}.
* messages that are retrieved from database is limited by RepositoryConstants#MAX_ACTION_HISTORY_MSG_COUNT.
* actionHistoryMessageCount less than zero: retrieves the maximum allowed number of action status messages from history;
* actionHistoryMessageCount equal to zero: does not retrieve any message;
* actionHistoryMessageCount greater than zero: retrieves the specified number of messages, limited by maximum allowed number.
@@ -222,7 +222,7 @@ public interface DdiRootControllerRestApi {
*/
@Operation(summary = "Resource for software module (Deployment Base)", description = """
Core resource for deployment operations. Contains all information necessary in order to execute the operation.
Keep in mind that the provided download links for the artifacts are generated dynamically by the update server.
Host, port and path and not guaranteed to be similar to the provided examples below but will be defined at
runtime.
@@ -230,15 +230,14 @@ public interface DdiRootControllerRestApi {
@ApiResponses(value = {
@ApiResponse(responseCode = "200", description = """
Successfully retrieved
In case a device provides state information on the feedback channel and wont store it locally,
a query for, e.q, the last 10 messages, could be used which will include the previously provided by the
device,
feedback.
device, feedback.
In addition to the straight forward approach to inform the device to download and install the software
in one transaction hawkBit supports the separation of download and installation into separate steps.
This feature is called Maintenance Window where the device is informed to download the software first
and then when it enters a defined (maintenance) window the installation triggers follows as usual.
"""),
@@ -373,7 +372,7 @@ public interface DdiRootControllerRestApi {
*/
@Operation(summary = "Cancel an action", description = """
The Hawkbit server might cancel an operation, e.g. an unfinished update has a successor. It is up to the
provisioning target to decide to accept the cancelation or reject it.""")
provisioning target to decide to accept the cancellation or reject it.""")
@ApiResponses(value = {
@ApiResponse(responseCode = "200", description = "Successfully retrieved"),
@ApiResponse(responseCode = "400", description = "Bad Request - e.g. invalid parameters",
@@ -450,7 +449,7 @@ public interface DdiRootControllerRestApi {
* @param actionId of the {@link DdiDeploymentBase} that matches to installed action.
* @param actionHistoryMessageCount specifies the number of messages to be returned from action
* history. Regardless of the passed value, in order to restrict resource utilization by controllers, maximum number of
* messages that are retrieved from database is limited by {@link RepositoryConstants#MAX_ACTION_HISTORY_MSG_COUNT}.
* messages that are retrieved from database is limited by RepositoryConstants#MAX_ACTION_HISTORY_MSG_COUNT.
* actionHistoryMessageCount less than zero: retrieves the maximum allowed number of action status messages from history;
* actionHistoryMessageCount equal to zero: does not retrieve any message;
* actionHistoryMessageCount greater than zero: retrieves the specified number of messages, limited by maximum allowed number.
@@ -461,7 +460,7 @@ public interface DdiRootControllerRestApi {
the already finished action, for example in case a re-installation is necessary. The response will be of
the same format as the deploymentBase operation, providing the previous action that has been finished
successfully. As the action is already finished, no further feedback is expected.
Keep in mind that the provided download links for the artifacts are generated dynamically by the update server.
Host, port and path are not guaranteed to be similar to the provided examples below but will be defined at
runtime.
@@ -470,7 +469,7 @@ public interface DdiRootControllerRestApi {
@ApiResponse(responseCode = "200", description = """
The response body includes the detailed operation for the already finished action in the same format as
for the deploymentBase operation.
In this case the (optional) query for the last 10 messages, previously provided by the device, are included.
"""),
@ApiResponse(responseCode = "400", description = "Bad Request - e.g. invalid parameters",
@@ -546,7 +545,7 @@ public interface DdiRootControllerRestApi {
* needs to be re-generated
* @param actionHistoryMessageCount specifies the number of messages to be returned from action history. Regardless of the passed value,
* in order to restrict resource utilization by controllers, maximum number of messages that are retrieved from database is limited
* by {@link RepositoryConstants#MAX_ACTION_HISTORY_MSG_COUNT}.
* by RepositoryConstants#MAX_ACTION_HISTORY_MSG_COUNT.
* actionHistoryMessageCount less than zero: retrieves the maximum allowed number of action status messages from history;
* actionHistoryMessageCount equal to zero: does not retrieve any message;
* actionHistoryMessageCount greater than zero: retrieves the specified number of messages, limited by maximum allowed number.
@@ -556,7 +555,7 @@ public interface DdiRootControllerRestApi {
Resource to receive information about a pending confirmation. The response will be of the same format as the
deploymentBase operation. The controller should provide feedback about the confirmation first, before
processing the deployment.
Keep in mind that the provided download links for the artifacts are generated dynamically by the update server.
Host, port and path are not guaranteed to be similar to the provided examples below but will be defined at
runtime.

View File

@@ -49,7 +49,7 @@ class DdiActionHistoryTest {
}
/**
* Verify the correct deserialization of a model with a additional unknown property
* Verify the correct deserialization of a model with an additional unknown property
*/
@Test
void shouldDeserializeObjectWithUnknownProperty() throws IOException {

View File

@@ -50,7 +50,7 @@ class DdiArtifactHashTest {
}
/**
* Verify the correct deserialization of a model with a additional unknown property
* Verify the correct deserialization of a model with an additional unknown property
*/
@Test
void shouldDeserializeObjectWithUnknownProperty() throws IOException {

View File

@@ -53,7 +53,7 @@ class DdiArtifactTest {
}
/**
* Verify the correct deserialization of a model with a additional unknown property
* Verify the correct deserialization of a model with an additional unknown property
*/
@Test
void shouldDeserializeObjectWithUnknownProperty() throws IOException {

View File

@@ -47,7 +47,7 @@ class DdiCancelActionToStopTest {
}
/**
* Verify the correct deserialization of a model with a additional unknown property
* Verify the correct deserialization of a model with an additional unknown property
*/
@Test
void shouldDeserializeObjectWithUnknownProperty() throws IOException {

View File

@@ -48,7 +48,7 @@ class DdiCancelTest {
}
/**
* Verify the correct deserialization of a model with a additional unknown property
* Verify the correct deserialization of a model with an additional unknown property
*/
@Test
void shouldDeserializeObjectWithUnknownProperty() throws IOException {

View File

@@ -54,7 +54,7 @@ class DdiChunkTest {
}
/**
* Verify the correct deserialization of a model with a additional unknown property
* Verify the correct deserialization of a model with an additional unknown property
*/
@Test
void shouldDeserializeObjectWithUnknownProperty() throws IOException {

View File

@@ -46,7 +46,7 @@ class DdiConfigTest {
}
/**
* Verify the correct deserialization of a model with a additional unknown property
* Verify the correct deserialization of a model with an additional unknown property
*/
@Test
void shouldDeserializeObjectWithUnknownProperty() throws IOException {

View File

@@ -64,7 +64,7 @@ class DdiConfirmationBaseTest {
}
/**
* Verify the correct deserialization of a model with a additional unknown property
* Verify the correct deserialization of a model with an additional unknown property
*/
@Test
void shouldDeserializeObjectWithUnknownProperty() throws IOException {

View File

@@ -47,7 +47,7 @@ class DdiControllerBaseTest {
}
/**
* Verify the correct deserialization of a model with a additional unknown property
* Verify the correct deserialization of a model with an additional unknown property
*/
@Test
void shouldDeserializeObjectWithUnknownProperty() throws IOException {

View File

@@ -58,7 +58,7 @@ class DdiDeploymentBaseTest {
}
/**
* Verify the correct deserialization of a model with a additional unknown property
* Verify the correct deserialization of a model with an additional unknown property
*/
@Test
void shouldDeserializeObjectWithUnknownProperty() throws IOException {

View File

@@ -52,7 +52,7 @@ class DdiDeploymentTest {
}
/**
* Verify the correct deserialization of a model with a additional unknown property
* Verify the correct deserialization of a model with an additional unknown property
*/
@Test
void shouldDeserializeObjectWithUnknownProperty() throws IOException {

View File

@@ -48,7 +48,7 @@ class DdiMetadataTest {
}
/**
* Verify the correct deserialization of a model with a additional unknown property
* Verify the correct deserialization of a model with an additional unknown property
*/
@Test
void shouldDeserializeObjectWithUnknownProperty() throws IOException {

View File

@@ -45,7 +45,7 @@ class DdiPollingTest {
}
/**
* Verify the correct deserialization of a model with a additional unknown property
* Verify the correct deserialization of a model with an additional unknown property
*/
@Test
void shouldDeserializeObjectWithUnknownProperty() throws IOException {

View File

@@ -46,7 +46,7 @@ class DdiProgressTest {
}
/**
* Verify the correct deserialization of a model with a additional unknown property
* Verify the correct deserialization of a model with an additional unknown property
*/
@Test
void shouldDeserializeObjectWithUnknownProperty() throws IOException {

View File

@@ -49,7 +49,7 @@ class DdiResultTest {
}
/**
* Verify the correct deserialization of a model with a additional unknown property
* Verify the correct deserialization of a model with an additional unknown property
*/
@Test
void shouldDeserializeObjectWithUnknownProperty() throws IOException {

View File

@@ -55,7 +55,7 @@ class DdiStatusTest {
}
/**
* Verify the correct deserialization of a model with a additional unknown property
* Verify the correct deserialization of a model with an additional unknown property
*/
@Test
void shouldDeserializeObjectWithUnknownProperty() throws IOException {