Fix sonar issues and add DMF tests for maintenance window feature (#655)

* Fix sonar issues.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* POM cleanup and more sonar issues fixed.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Remove unneeded JavaDocs.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* More sonar issues.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* More issues.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Adapt maintenance window to naming.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Add DMF tests.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Readibility.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Typos fixed.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>
This commit is contained in:
Kai Zimmermann
2018-03-08 10:42:25 +01:00
committed by GitHub
parent f4278c45ef
commit b4414438b0
32 changed files with 411 additions and 364 deletions

View File

@@ -8,6 +8,9 @@
*/
package org.eclipse.hawkbit.mgmt.json.model;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.annotation.JsonSetter;
/**
@@ -15,7 +18,9 @@ import com.fasterxml.jackson.annotation.JsonSetter;
* schedule defined as cron expression, duration in HH:mm:ss format and time
* zone as offset from UTC.
*/
public class MaintenanceWindow {
@JsonInclude(Include.NON_NULL)
@JsonIgnoreProperties(ignoreUnknown = true)
public class MgmtMaintenanceWindow {
private String maintenanceSchedule;
private String maintenanceWindowDuration;
@@ -31,7 +36,7 @@ public class MaintenanceWindow {
* year".
*/
@JsonSetter("schedule")
public void setMaintenanceSchedule(String maintenanceSchedule) {
public void setMaintenanceSchedule(final String maintenanceSchedule) {
this.maintenanceSchedule = maintenanceSchedule;
}
@@ -43,7 +48,7 @@ public class MaintenanceWindow {
* window, for example 00:30:00 for 30 minutes.
*/
@JsonSetter("duration")
public void setMaintenanceWindowDuration(String maintenanceWindowDuration) {
public void setMaintenanceWindowDuration(final String maintenanceWindowDuration) {
this.maintenanceWindowDuration = maintenanceWindowDuration;
}
@@ -57,7 +62,7 @@ public class MaintenanceWindow {
* cron expression is relative to this time zone.
*/
@JsonSetter("timezone")
public void setMaintenanceWindowTimeZone(String maintenanceWindowTimeZone) {
public void setMaintenanceWindowTimeZone(final String maintenanceWindowTimeZone) {
this.maintenanceWindowTimeZone = maintenanceWindowTimeZone;
}

View File

@@ -8,7 +8,7 @@
*/
package org.eclipse.hawkbit.mgmt.json.model.distributionset;
import org.eclipse.hawkbit.mgmt.json.model.MaintenanceWindow;
import org.eclipse.hawkbit.mgmt.json.model.MgmtMaintenanceWindow;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
@@ -28,72 +28,40 @@ public class MgmtTargetAssignmentRequestBody {
private MgmtActionType type;
/**
* {@link MaintenanceWindow} object containing schedule, duration and
* {@link MgmtMaintenanceWindow} object containing schedule, duration and
* timezone.
*/
private MaintenanceWindow maintenanceWindow = null;
private MgmtMaintenanceWindow maintenanceWindow;
/**
* @return the id
*/
public String getId() {
return id;
}
/**
* @param id
* the id to set
*/
public void setId(final String id) {
this.id = id;
}
/**
* @return the type
*/
public MgmtActionType getType() {
return type;
}
/**
* @param type
* the type to set
*/
public void setType(final MgmtActionType type) {
this.type = type;
}
/**
* @return the forcetime
*/
public long getForcetime() {
return forcetime;
}
/**
* @param forcetime
* the forcetime to set
*/
public void setForcetime(final long forcetime) {
this.forcetime = forcetime;
}
/**
* Returns {@link MaintenanceWindow} for the target assignment request.
*
* @return {@link MaintenanceWindow}.
*/
public MaintenanceWindow getMaintenanceWindow() {
public MgmtMaintenanceWindow getMaintenanceWindow() {
return maintenanceWindow;
}
/**
* Sets {@link MaintenanceWindow} for the target assignment request.
*
* @param maintenanceWindow
* as {@link MaintenanceWindow}.
*/
public void setMaintenanceWindow(MaintenanceWindow maintenanceWindow) {
public void setMaintenanceWindow(final MgmtMaintenanceWindow maintenanceWindow) {
this.maintenanceWindow = maintenanceWindow;
}

View File

@@ -3,70 +3,56 @@
*/
package org.eclipse.hawkbit.mgmt.json.model.target;
import org.eclipse.hawkbit.mgmt.json.model.MaintenanceWindow;
import org.eclipse.hawkbit.mgmt.json.model.MgmtId;
import org.eclipse.hawkbit.mgmt.json.model.MgmtMaintenanceWindow;
import org.eclipse.hawkbit.mgmt.json.model.distributionset.MgmtActionType;
/**
* Request Body of DistributionSet for assignment operations (ID only).
*
*/
public class MgmtDistributionSetAssigment extends MgmtId {
public class MgmtDistributionSetAssignment extends MgmtId {
private long forcetime;
private MgmtActionType type;
/**
* {@link MaintenanceWindow} object defining a schedule, duration and
* {@link MgmtMaintenanceWindow} object defining a schedule, duration and
* timezone.
*/
private MaintenanceWindow maintenanceWindow = null;
private MgmtMaintenanceWindow maintenanceWindow;
/**
* @return the type
*/
public MgmtActionType getType() {
return type;
}
/**
* @param type
* the type to set
*/
public void setType(final MgmtActionType type) {
this.type = type;
}
/**
* @return the forcetime
*/
public long getForcetime() {
return forcetime;
}
/**
* @param forcetime
* the forcetime to set
*/
public void setForcetime(final long forcetime) {
this.forcetime = forcetime;
}
/**
* Returns {@link MaintenanceWindow} for distribution set assignment.
* Returns {@link MgmtMaintenanceWindow} for distribution set assignment.
*
* @return {@link MaintenanceWindow}.
* @return {@link MgmtMaintenanceWindow}.
*/
public MaintenanceWindow getMaintenanceWindow() {
public MgmtMaintenanceWindow getMaintenanceWindow() {
return maintenanceWindow;
}
/**
* Sets {@link MaintenanceWindow} for distribution set assignment.
* Sets {@link MgmtMaintenanceWindow} for distribution set assignment.
*
* @param maintenanceWindow
* as {@link MaintenanceWindow}.
* as {@link MgmtMaintenanceWindow}.
*/
public void setMaintenanceWindow(MaintenanceWindow maintenanceWindow) {
public void setMaintenanceWindow(final MgmtMaintenanceWindow maintenanceWindow) {
this.maintenanceWindow = maintenanceWindow;
}
}

View File

@@ -16,7 +16,7 @@ import org.eclipse.hawkbit.mgmt.json.model.action.MgmtActionRequestBodyPut;
import org.eclipse.hawkbit.mgmt.json.model.action.MgmtActionStatus;
import org.eclipse.hawkbit.mgmt.json.model.distributionset.MgmtDistributionSet;
import org.eclipse.hawkbit.mgmt.json.model.distributionset.MgmtTargetAssignmentResponseBody;
import org.eclipse.hawkbit.mgmt.json.model.target.MgmtDistributionSetAssigment;
import org.eclipse.hawkbit.mgmt.json.model.target.MgmtDistributionSetAssignment;
import org.eclipse.hawkbit.mgmt.json.model.target.MgmtTarget;
import org.eclipse.hawkbit.mgmt.json.model.target.MgmtTargetAttributes;
import org.eclipse.hawkbit.mgmt.json.model.target.MgmtTargetRequestBody;
@@ -273,7 +273,7 @@ public interface MgmtTargetRestApi {
MediaTypes.HAL_JSON_VALUE, MediaType.APPLICATION_JSON_VALUE }, produces = { MediaTypes.HAL_JSON_VALUE,
MediaType.APPLICATION_JSON_VALUE })
ResponseEntity<MgmtTargetAssignmentResponseBody> postAssignedDistributionSet(
@PathVariable("controllerId") String controllerId, MgmtDistributionSetAssigment dsId,
@PathVariable("controllerId") String controllerId, MgmtDistributionSetAssignment dsId,
@RequestParam(value = "offline", required = false) boolean offline);
/**