- private static void handleResponseForPost(final @NotNull ResponseEntity<String> responseEntity) {
- if (responseEntity.getStatusCode() != HttpStatus.OK) {
- throw new NcmpException("Not able to create resource data.",
- "DMI status code: " + responseEntity.getStatusCodeValue()
- + ", DMI response body: " + responseEntity.getBody());
- }
- }
-
- private String getGenericRequestBody(final DataNode cmHandleDataNode) {
- final Collection<DataNode> cmHandlePropertiesList = cmHandleDataNode.getChildDataNodes();
- final Map<String, String> cmHandlePropertiesMap = getCmHandlePropertiesAsMap(cmHandlePropertiesList);
- final var requestBodyObject = GenericRequestBody.builder()
- .operation(GenericRequestBody.OperationEnum.READ)
- .cmHandleProperties(cmHandlePropertiesMap)
- .build();
- return prepareOperationBody(requestBodyObject);
- }
-
- private void parseAndUpdateCmHandlesInDmiRegistration(final DmiPluginRegistration dmiPluginRegistration) {
- try {
- final PersistenceCmHandlesList persistenceCmHandlesList = new PersistenceCmHandlesList();
-
- for (final CmHandle cmHandle : dmiPluginRegistration.getUpdatedCmHandles()) {
- final PersistenceCmHandle persistenceCmHandle =
- toPersistenceCmHandle(dmiPluginRegistration.getDmiPlugin(), cmHandle);
- persistenceCmHandlesList.add(persistenceCmHandle);
+ protected List<CmHandleRegistrationResponse> parseAndRemoveCmHandlesInDmiRegistration(
+ final List<String> tobeRemovedCmHandles) {
+ final List<CmHandleRegistrationResponse> cmHandleRegistrationResponses =
+ new ArrayList<>(tobeRemovedCmHandles.size());
+ for (final String cmHandle : tobeRemovedCmHandles) {
+ try {
+ CpsValidator.validateNameCharacters(cmHandle);
+ deleteSchemaSetWithCascade(cmHandle);
+ cpsDataService.deleteListOrListElement(NCMP_DATASPACE_NAME, NCMP_DMI_REGISTRY_ANCHOR,
+ "/dmi-registry/cm-handles[@id='" + cmHandle + "']", NO_TIMESTAMP);
+ cmHandleRegistrationResponses.add(CmHandleRegistrationResponse.createSuccessResponse(cmHandle));
+ } catch (final DataNodeNotFoundException dataNodeNotFoundException) {
+ log.error("Unable to find dataNode for cmHandleId : {} , caused by : {}",
+ cmHandle, dataNodeNotFoundException.getMessage());
+ cmHandleRegistrationResponses.add(CmHandleRegistrationResponse
+ .createFailureResponse(cmHandle, RegistrationError.CM_HANDLE_DOES_NOT_EXIST));
+ } catch (final DataValidationException dataValidationException) {
+ log.error("Unable to de-register cm-handle id: {}, caused by: {}",
+ cmHandle, dataValidationException.getMessage());
+ cmHandleRegistrationResponses.add(CmHandleRegistrationResponse
+ .createFailureResponse(cmHandle, RegistrationError.CM_HANDLE_INVALID_ID));
+ } catch (final Exception exception) {
+ log.error("Unable to de-register cm-handle id : {} , caused by : {}",
+ cmHandle, exception.getMessage());
+ cmHandleRegistrationResponses.add(
+ CmHandleRegistrationResponse.createFailureResponse(cmHandle, exception));