Feature download only (#810)

* Added initial version of DOWNLOAD_ONLY
* Added DOWNLOAD_ONLY option to ActionTypeOptionGroupLayout
* Removed DOWNLOAD_ONLY checkbox, added Download Only UI option
* Mark actions that finished with DOWNLOADED as finished
* initial changes to realize downoadOnly in UI
* Changed method of disabling maintenanceWindow into smarter solution
* Added new icon for download only option
* Set DistributionSet as unassigned when DOWNLOAD_ONLY
* Enabled update action status for DOWNLOAD_ONLY after download
* Current state of abstraction task
* Assign DistributionSet to target if target installs it after downloading
* Abstracted class redundant methods
* Added tests
* Fixed Rollout finish status for DWONLOAD_ONLY Rollouts
* Added Rollout type json property in test documentation
* Added DOWNLOAD_ONLY test for target assignment
* Added event listener also to DistributionTable
* Fixed event listener problem
* Change column name to "Type" and added also DownloadOnly icon to that column.
* Cleanup
* Center aligned the icons in type column
* Fixed DistributionSet already assigned but not installed
* Rename download_only to downloadonly
* Further changes regarding center aligned the icons
* Fixed target assign status in Rollout view when download_only
* Fixed SonarQube issues
* Fixed SonarQube issues + code formatting
* Fixed Tests
* Marked squid:S128 as suppressed - irrelevant
* Adapting rollouts view by additional column (not finished by now)
* Putted type column on proper position
* Trying to display icons in new type column in rollouts view
* Added icon also for soft, icon might change -> just change
* createOptionGroup method in ActionTypeOptionGroupLayout class
* added first draft of type column in rollouts view
* increase visibility of sendUpdateMessageToTarget method
* Ground functionality of new type column in deployment view is now implemented
* Type column implementation in rollouts view is finished for now
* Rebased on master
* Fixed DurationControl change on ScheduleControl change.
* (Re)Added Soft deployment Icon
* Fixed SonarQube issues
* Fixed SonarQube issues
* Fixed failing test
* Fixes + added missing header
* Added message to the fail() instruction
* Fixed copyright header
* Apply suggestions from code review
* Fixed TotalTargetCountStatus.java
* Removed unused method from TotalTargetCountStatus.java
* add id to rollout create and update UI popup
* Added download_only tests for MgmtTargetResourceTest.java
* added missing header in TotalTargetCountStatusTest.java
* Rename because of newest changes
* added Download_Only dmf integration tests
* Renamed MgmtAction.forcedType to actionType
* renamed actionType to forceType for Mgmt API
* added missing javadocs for public methods
* Added Download Only support for AutoAssignment

Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch-si.com>
Signed-off-by: Ammar Bikic <ammar.bikic@bosch-si.com>
This commit is contained in:
Ahmed Sayed
2019-04-17 12:27:23 +02:00
committed by Stefan Behl
parent 04b9abda3b
commit ed95ae6398
76 changed files with 1754 additions and 639 deletions

View File

@@ -57,8 +57,8 @@ public class MgmtAction extends MgmtBaseEntity {
@JsonProperty
private Long forceTime;
@JsonProperty
private MgmtActionType forceType;
@JsonProperty(value="forceType")
private MgmtActionType actionType;
@JsonProperty
private MgmtMaintenanceWindow maintenanceWindow;
@@ -79,12 +79,12 @@ public class MgmtAction extends MgmtBaseEntity {
this.forceTime = forceTime;
}
public MgmtActionType getForceType() {
return forceType;
public MgmtActionType getActionType() {
return actionType;
}
public void setForceType(final MgmtActionType forceType) {
this.forceType = forceType;
public void setActionType(final MgmtActionType actionType) {
this.actionType = actionType;
}
public String getStatus() {

View File

@@ -18,15 +18,15 @@ import com.fasterxml.jackson.annotation.JsonProperty;
*/
public class MgmtActionRequestBodyPut {
@JsonProperty
private MgmtActionType forceType;
@JsonProperty(value="forceType")
private MgmtActionType actionType;
public MgmtActionType getForceType() {
return forceType;
public MgmtActionType getActionType() {
return actionType;
}
public void setForceType(final MgmtActionType forceType) {
this.forceType = forceType;
public void setActionType(final MgmtActionType actionType) {
this.actionType = actionType;
}
}

View File

@@ -28,7 +28,12 @@ public enum MgmtActionType {
/**
* The time forced action type.
*/
TIMEFORCED("timeforced");
TIMEFORCED("timeforced"),
/**
* The Download-Only action type.
*/
DOWNLOAD_ONLY("downloadonly");
private final String name;

View File

@@ -17,6 +17,7 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.annotation.JsonProperty;
import org.eclipse.hawkbit.mgmt.json.model.distributionset.MgmtActionType;
/**
*
@@ -43,6 +44,9 @@ public class MgmtRolloutResponseBody extends MgmtNamedEntity {
@JsonProperty
private boolean deleted;
@JsonProperty
private MgmtActionType type;
public boolean isDeleted() {
return deleted;
}
@@ -102,4 +106,12 @@ public class MgmtRolloutResponseBody extends MgmtNamedEntity {
totalTargetsPerStatus.put(status, totalTargetCountByStatus);
}
public void setType(final MgmtActionType type) {
this.type = type;
}
public MgmtActionType getType() {
return type;
}
}

View File

@@ -28,9 +28,8 @@ public class MgmtAssignedDistributionSetRequestBody {
return distributionSetId;
}
public MgmtAssignedDistributionSetRequestBody setDistributionSetId(final Long distributionSetId) {
public void setDistributionSetId(final Long distributionSetId) {
this.distributionSetId = distributionSetId;
return this;
}
}