Target type unnasign when updating target (#1385)

* Add main logic

Signed-off-by: Stanislav Trailov <Stanislav.Trailov@bosch.io>

* Add unit test and fix docu tests

Signed-off-by: Stanislav Trailov <Stanislav.Trailov@bosch.io>

* Remove unused imports

Signed-off-by: Stanislav Trailov <Stanislav.Trailov@bosch.io>

---------

Signed-off-by: Stanislav Trailov <Stanislav.Trailov@bosch.io>
This commit is contained in:
Stanislav Trailov
2023-07-10 15:10:19 +03:00
committed by GitHub
parent a8d5a15a1c
commit 5edd9fdf76
3 changed files with 93 additions and 6 deletions

View File

@@ -154,10 +154,23 @@ public class MgmtTargetResource implements MgmtTargetRestApi {
}
}
final Target updateTarget = this.targetManagement.update(entityFactory.target().update(targetId)
Target updateTarget;
if (targetRest.getTargetType() != null && targetRest.getTargetType() == -1L) {
// if targetType in request is -1 - unassign targetType from target
this.targetManagement.unAssignType(targetId);
// update target without targetType here ...
updateTarget = this.targetManagement.update(entityFactory.target().update(targetId)
.name(targetRest.getName()).description(targetRest.getDescription()).address(targetRest.getAddress())
.targetType(targetRest.getTargetType()).securityToken(targetRest.getSecurityToken())
.requestAttributes(targetRest.isRequestAttributes()));
.securityToken(targetRest.getSecurityToken()).requestAttributes(targetRest.isRequestAttributes()));
} else {
updateTarget = this.targetManagement.update(
entityFactory.target().update(targetId).name(targetRest.getName()).description(targetRest.getDescription())
.address(targetRest.getAddress()).targetType(targetRest.getTargetType()).securityToken(targetRest.getSecurityToken())
.requestAttributes(targetRest.isRequestAttributes()));
}
final MgmtTarget response = MgmtTargetMapper.toResponse(updateTarget, tenantConfigHelper);
MgmtTargetMapper.addPollStatus(updateTarget, response);