introduced open actionIds in MgmtTargetAssignmentResponseBody (#864)

* introduced open actionIds in MgmtTargetAssignmentResponseBody

Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch-si.com>

* fixed SonarQube issues

Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch-si.com>

* removed unused method parameter

Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch-si.com>

* updated documentation tests

Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch-si.com>

* added limit to the alreadyAssignedActions in the AssignmentResult

Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch-si.com>

* moved alreadyAssignedActions limitation to MgmtDistributionSetMapper

Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch-si.com>

* fixed review findings

Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch-si.com>

* removed alreadyAssignedActions

Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch-si.com>

* fixed sonarQube issues

Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch-si.com>

* fixed compilation error

Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch-si.com>

* fixed PR review findings

Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch-si.com>

* fixed PR review findings

Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch-si.com>

* Renamed AssignmentResult to AbstractAssignmentResult

Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch-si.com>

* fixed review findings

Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch-si.com>

* fixed formatting

Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch-si.com>

* reverted method visibility

Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch-si.com>
This commit is contained in:
Ahmed Sayed
2019-08-20 11:31:20 +02:00
committed by Dominic Schabel
parent 973f1952c7
commit d40b11d2ab
43 changed files with 580 additions and 402 deletions

View File

@@ -18,35 +18,24 @@ import java.util.List;
* type of the assigned and unassigned {@link BaseEntity}s.
*
*/
public class AssignmentResult<T extends BaseEntity> {
public abstract class AbstractAssignmentResult<T extends BaseEntity> {
private final int total;
private final int assigned;
private final int alreadyAssigned;
private final int unassigned;
private final List<T> assignedEntity;
private final List<T> unassignedEntity;
private final List<? extends T> assignedEntity;
private final List<? extends T> unassignedEntity;
/**
* Constructor.
*
* @param assigned
* is the number of newly assigned elements.
* @param alreadyAssigned
* number of already assigned/ignored elements
* @param unassigned
* number of newly assigned elements
* count of already assigned entities
* @param assignedEntity
* {@link List} of assigned entity.
* @param unassignedEntity
* {@link List} of unassigned entity.
*/
public AssignmentResult(final int assigned, final int alreadyAssigned, final int unassigned,
final List<T> assignedEntity, final List<T> unassignedEntity) {
this.assigned = assigned;
public AbstractAssignmentResult(final int alreadyAssigned, final List<? extends T> assignedEntity,
final List<? extends T> unassignedEntity) {
this.alreadyAssigned = alreadyAssigned;
total = assigned + alreadyAssigned;
this.unassigned = unassigned;
this.assignedEntity = assignedEntity;
this.unassignedEntity = unassignedEntity;
}
@@ -55,14 +44,14 @@ public class AssignmentResult<T extends BaseEntity> {
* @return number of newly assigned elements.
*/
public int getAssigned() {
return assigned;
return getAssignedEntity().size();
}
/**
* @return total number (assigned and already assigned).
*/
public int getTotal() {
return total;
return getAssigned() + alreadyAssigned;
}
/**
@@ -76,7 +65,7 @@ public class AssignmentResult<T extends BaseEntity> {
* @return number of unsassigned elements
*/
public int getUnassigned() {
return unassigned;
return getUnassignedEntity().size();
}
/**

View File

@@ -10,10 +10,6 @@ package org.eclipse.hawkbit.repository.model;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
import org.eclipse.hawkbit.repository.TargetManagement;
import org.springframework.util.CollectionUtils;
/**
* A bean which holds a complex result of an service operation to combine the
@@ -21,41 +17,24 @@ import org.springframework.util.CollectionUtils;
* how much of the assignments had already been existed.
*
*/
public class DistributionSetAssignmentResult extends AssignmentResult<Target> {
private final List<String> assignedTargets;
private final List<Action> actions;
public class DistributionSetAssignmentResult extends AbstractAssignmentResult<Action> {
private final DistributionSet distributionSet;
private final TargetManagement targetManagement;
/**
*
* Constructor.
*
* @param distributionSet
* @param distributionSet
* that has been assigned
* @param assignedTargets
* the target objects which have been assigned to the
* distribution set
* @param assigned
* count of the assigned targets
* @param alreadyAssigned
* the count of the already assigned targets
* @param actions
* of the assignment
* @param targetManagement
* to retrieve the assigned targets
* the the count of already assigned targets
* @param assigned
* the assigned actions
*/
public DistributionSetAssignmentResult(final DistributionSet distributionSet, final List<String> assignedTargets,
final int assigned, final int alreadyAssigned, final List<Action> actions,
final TargetManagement targetManagement) {
super(assigned, alreadyAssigned, 0, Collections.emptyList(), Collections.emptyList());
public DistributionSetAssignmentResult(final DistributionSet distributionSet, final int alreadyAssigned,
final List<? extends Action> assigned) {
super(alreadyAssigned, assigned, Collections.emptyList());
this.distributionSet = distributionSet;
this.assignedTargets = assignedTargets;
this.actions = actions;
this.targetManagement = targetManagement;
}
/**
@@ -65,32 +44,4 @@ public class DistributionSetAssignmentResult extends AssignmentResult<Target> {
return distributionSet;
}
/**
* @return the actionIds
*/
public List<Long> getActionIds() {
if (actions == null) {
return Collections.emptyList();
}
return actions.stream().map(Action::getId).collect(Collectors.toList());
}
/**
* @return the actions
*/
public List<Action> getActions() {
if (actions == null) {
return Collections.emptyList();
}
return actions;
}
@Override
public List<Target> getAssignedEntity() {
if (CollectionUtils.isEmpty(assignedTargets)) {
return Collections.emptyList();
}
return targetManagement.getByControllerID(assignedTargets);
}
}

View File

@@ -14,7 +14,7 @@ import java.util.List;
* Result object for {@link DistributionSetTag} assignments.
*
*/
public class DistributionSetTagAssignmentResult extends AssignmentResult<DistributionSet> {
public class DistributionSetTagAssignmentResult extends AbstractAssignmentResult<DistributionSet> {
private final DistributionSetTag distributionSetTag;
@@ -24,20 +24,16 @@ public class DistributionSetTagAssignmentResult extends AssignmentResult<Distrib
* @param alreadyAssigned
* number of already assigned/ignored elements
* @param assigned
* number of newly assigned elements
* newly assigned elements
* @param unassigned
* number of newly assigned elements
* @param assignedDs
* {@link List} of assigned {@link DistributionSet}s.
* @param unassignedDs
* {@link List} of unassigned {@link DistributionSet}s.
* unassigned elements
* @param distributionSetTag
* the assigned or unassigned tag
*/
public DistributionSetTagAssignmentResult(final int alreadyAssigned, final int assigned, final int unassigned,
final List<DistributionSet> assignedDs, final List<DistributionSet> unassignedDs,
public DistributionSetTagAssignmentResult(final int alreadyAssigned,
final List<DistributionSet> assigned, final List<DistributionSet> unassigned,
final DistributionSetTag distributionSetTag) {
super(assigned, alreadyAssigned, unassigned, assignedDs, unassignedDs);
super(alreadyAssigned, assigned, unassigned);
this.distributionSetTag = distributionSetTag;
}

View File

@@ -14,7 +14,7 @@ import java.util.List;
* Result object for {@link TargetTag} assignments.
*
*/
public class TargetTagAssignmentResult extends AssignmentResult<Target> {
public class TargetTagAssignmentResult extends AbstractAssignmentResult<Target> {
private final TargetTag targetTag;
@@ -22,21 +22,17 @@ public class TargetTagAssignmentResult extends AssignmentResult<Target> {
* Constructor.
*
* @param alreadyAssigned
* number of already assigned/ignored elements
* count of already assigned (ignored) elements
* @param assigned
* number of newly assigned elements
* @param unassigned
* number of newly assigned elements
* @param assignedTargets
* {@link List} of assigned {@link Target}s.
* @param unassignedTargets
* @param unassigned
* {@link List} of unassigned {@link Target}s.
* @param targetTag
* the assigned or unassigned tag
*/
public TargetTagAssignmentResult(final int alreadyAssigned, final int assigned, final int unassigned,
final List<Target> assignedTargets, final List<Target> unassignedTargets, final TargetTag targetTag) {
super(assigned, alreadyAssigned, unassigned, assignedTargets, unassignedTargets);
public TargetTagAssignmentResult(final int alreadyAssigned, final List<? extends Target> assigned,
final List<? extends Target> unassigned, final TargetTag targetTag) {
super(alreadyAssigned, assigned, unassigned);
this.targetTag = targetTag;
}