summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/onap/cps/ncmp/dmi/service/operation/SdncOperations.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/onap/cps/ncmp/dmi/service/operation/SdncOperations.java')
-rw-r--r--src/main/java/org/onap/cps/ncmp/dmi/service/operation/SdncOperations.java45
1 files changed, 36 insertions, 9 deletions
diff --git a/src/main/java/org/onap/cps/ncmp/dmi/service/operation/SdncOperations.java b/src/main/java/org/onap/cps/ncmp/dmi/service/operation/SdncOperations.java
index 43e2a5e6..ced9b061 100644
--- a/src/main/java/org/onap/cps/ncmp/dmi/service/operation/SdncOperations.java
+++ b/src/main/java/org/onap/cps/ncmp/dmi/service/operation/SdncOperations.java
@@ -35,9 +35,11 @@ import java.util.List;
import org.apache.groovy.parser.antlr4.util.StringUtils;
import org.onap.cps.ncmp.dmi.config.DmiConfiguration.SdncProperties;
import org.onap.cps.ncmp.dmi.exception.SdncException;
+import org.onap.cps.ncmp.dmi.model.DataAccessRequest;
import org.onap.cps.ncmp.dmi.service.client.SdncRestconfClient;
import org.onap.cps.ncmp.dmi.service.model.ModuleSchema;
import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpMethod;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
@@ -110,8 +112,8 @@ public class SdncOperations {
final var getYangResourceUrl = prepareGetOperationSchemaUrl(nodeId);
final var httpHeaders = new HttpHeaders();
httpHeaders.setContentType(MediaType.APPLICATION_JSON);
- return sdncRestconfClient
- .postOperationWithJsonData(getYangResourceUrl, moduleProperties, httpHeaders);
+ return sdncRestconfClient.httpOperationWithJsonData(
+ HttpMethod.POST, getYangResourceUrl, moduleProperties, httpHeaders);
}
/**
@@ -140,7 +142,7 @@ public class SdncOperations {
}
/**
- * Write resource data using passthrough running.
+ * Write resource data.
*
* @param nodeId network resource identifier
* @param resourceId resource identifier
@@ -148,12 +150,16 @@ public class SdncOperations {
* @param requestData request data
* @return {@code ResponseEntity} response entity
*/
- public ResponseEntity<String> writeResourceDataPassthroughRunning(final String nodeId,
- final String resourceId, final String contentType, final String requestData) {
- final var getResourceDataUrl = preparePassthroughRunningUrl(nodeId, resourceId);
+ public ResponseEntity<String> writeData(final DataAccessRequest.OperationEnum operation,
+ final String nodeId,
+ final String resourceId,
+ final String contentType,
+ final String requestData) {
+ final var getResourceDataUrl = prepareWriteUrl(nodeId, resourceId);
final var httpHeaders = new HttpHeaders();
httpHeaders.setContentType(MediaType.parseMediaType(contentType));
- return sdncRestconfClient.postOperationWithJsonData(getResourceDataUrl, requestData, httpHeaders);
+ final HttpMethod httpMethod = getHttpMethod(operation);
+ return sdncRestconfClient.httpOperationWithJsonData(httpMethod, getResourceDataUrl, requestData, httpHeaders);
}
private List<String> buildQueryParamList(final String optionsParamInQuery, final String restconfContentQueryParam) {
@@ -179,7 +185,7 @@ public class SdncOperations {
return addResource(addTopologyDataUrlwithNode(nodeId), GET_SCHEMA_URL);
}
- private String preparePassthroughRunningUrl(final String nodeId, final String resourceId) {
+ private String prepareWriteUrl(final String nodeId, final String resourceId) {
return addResource(addTopologyDataUrlwithNode(nodeId), "/" + resourceId);
}
@@ -233,4 +239,25 @@ public class SdncOperations {
}
}
-} \ No newline at end of file
+ private HttpMethod getHttpMethod(final DataAccessRequest.OperationEnum operation) {
+ HttpMethod httpMethod = null;
+ switch (operation) {
+ case READ:
+ httpMethod = HttpMethod.GET;
+ break;
+ case CREATE:
+ httpMethod = HttpMethod.POST;
+ break;
+ case UPDATE:
+ httpMethod = HttpMethod.PUT;
+ break;
+ case DELETE:
+ httpMethod = HttpMethod.DELETE;
+ break;
+ default:
+ //unreachable code but checkstyle made me do this!
+ }
+ return httpMethod;
+ }
+
+}