package org.onap.cps.ncmp.rest.controller;
+import static org.onap.cps.ncmp.api.impl.operations.DmiRequestBody.OperationEnum.CREATE;
+import static org.onap.cps.ncmp.api.impl.operations.DmiRequestBody.OperationEnum.DELETE;
+import static org.onap.cps.ncmp.api.impl.operations.DmiRequestBody.OperationEnum.PATCH;
+import static org.onap.cps.ncmp.api.impl.operations.DmiRequestBody.OperationEnum.UPDATE;
+
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import java.util.ArrayList;
return ResponseEntity.ok(responseObject);
}
+ @Override
+ public ResponseEntity<Object> patchResourceDataRunningForCmHandle(final String resourceIdentifier,
+ final String cmHandle,
+ final Object requestBody, final String contentType) {
+ networkCmProxyDataService.writeResourceDataPassThroughRunningForCmHandle(cmHandle,
+ resourceIdentifier, PATCH, requestBody.toString(), contentType);
+ return new ResponseEntity<>(HttpStatus.OK);
+ }
+
/**
- * Create resource data in datastore pass through running
- * for given cm-handle.
+ * Create resource data in datastore pass-through running for given cm-handle.
*
* @param resourceIdentifier resource identifier
* @param cmHandle cm handle identifier
- * @param requestBody requestBody
+ * @param requestBody the request body
* @param contentType content type of body
- * @return {@code ResponseEntity} response from dmi plugi
+ * @return {@code ResponseEntity} response from dmi plugin
*/
@Override
public ResponseEntity<Void> createResourceDataRunningForCmHandle(final String resourceIdentifier,
final String cmHandle,
final String requestBody,
final String contentType) {
- networkCmProxyDataService.createResourceDataPassThroughRunningForCmHandle(cmHandle,
- resourceIdentifier, requestBody, contentType);
+ networkCmProxyDataService.writeResourceDataPassThroughRunningForCmHandle(cmHandle,
+ resourceIdentifier, CREATE, requestBody, contentType);
return new ResponseEntity<>(HttpStatus.CREATED);
}
+ /**
+ * Update resource data in datastore pass-through running for given cm-handle.
+ *
+ * @param resourceIdentifier resource identifier
+ * @param cmHandle cm handle identifier
+ * @param requestBody the request body
+ * @param contentType content type of the body
+ * @return response entity
+ */
+ @Override
+ public ResponseEntity<Object> updateResourceDataRunningForCmHandle(final String resourceIdentifier,
+ final String cmHandle,
+ final String requestBody,
+ final String contentType) {
+ networkCmProxyDataService.writeResourceDataPassThroughRunningForCmHandle(cmHandle,
+ resourceIdentifier, UPDATE, requestBody, contentType);
+ return new ResponseEntity<>(HttpStatus.OK);
+ }
+
+
+ /**
+ * Delete resource data in datastore pass-through running for a given cm-handle.
+ *
+ * @param resourceIdentifier resource identifier
+ * @param cmHandle cm handle identifier
+ * @param requestBody the request body
+ * @param contentType content type of the body
+ * @return response entity no content if request is successful
+ */
+ @Override
+ public ResponseEntity<Void> deleteResourceDataRunningForCmHandle(final String resourceIdentifier,
+ final String cmHandle,
+ final String requestBody,
+ final String contentType) {
+
+ networkCmProxyDataService.writeResourceDataPassThroughRunningForCmHandle(cmHandle,
+ resourceIdentifier, DELETE, requestBody, contentType);
+ return new ResponseEntity<>(HttpStatus.NO_CONTENT);
+ }
+
+ /**
+ * Execute cm handle search.
+ *
+ * @param conditions the conditions
+ * @return cm handles returned from search.
+ */
@Override
public ResponseEntity<CmHandles> executeCmHandleSearch(final Conditions conditions) {
final List<ConditionProperties> conditionProperties =
conditions.getConditions().stream().collect(Collectors.toList());
final CmHandles cmHandles = new CmHandles();
- final Collection<String> cmHandleIdentifiers = processConditions(conditionProperties);
- cmHandleIdentifiers.forEach(cmHandle -> cmHandles.setCmHandles(toCmHandleProperties(cmHandle)));
+ cmHandles.setCmHandles(toCmHandleProperties(processConditions(conditionProperties)));
return ResponseEntity.ok(cmHandles);
}
+ /**
+ * Return module references for a cm handle.
+ *
+ * @param cmHandle the cm handle
+ * @return module references for cm handle
+ */
@Override
public ResponseEntity<Object> getModuleReferencesByCmHandle(final String cmHandle) {
final Collection<ModuleReference>
return moduleNames;
}
- private CmHandleProperties toCmHandleProperties(final String cmHandleId) {
+ private CmHandleProperties toCmHandleProperties(final Collection<String> cmHandleIdentifiers) {
final CmHandleProperties cmHandleProperties = new CmHandleProperties();
- final CmHandleProperty cmHandleProperty = new CmHandleProperty();
- cmHandleProperty.setCmHandleId(cmHandleId);
- cmHandleProperties.add(cmHandleProperty);
+ for (final String cmHandleIdentifier : cmHandleIdentifiers) {
+ final CmHandleProperty cmHandleProperty = new CmHandleProperty();
+ cmHandleProperty.setCmHandleId(cmHandleIdentifier);
+ cmHandleProperties.add(cmHandleProperty);
+ }
return cmHandleProperties;
}
-
-
}