package org.onap.cps.rest.controller;
+import static org.onap.cps.rest.utils.MultipartFileUtil.extractYangResourcesMap;
+
import java.util.Collection;
-import javax.validation.Valid;
import org.modelmapper.ModelMapper;
import org.onap.cps.api.CpsAdminService;
+import org.onap.cps.api.CpsModuleService;
import org.onap.cps.rest.api.CpsAdminApi;
import org.onap.cps.spi.model.Anchor;
+import org.onap.cps.spi.model.SchemaSet;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
@RestController
public class AdminRestController implements CpsAdminApi {
@Autowired
private CpsAdminService cpsAdminService;
+ @Autowired
+ private CpsModuleService cpsModuleService;
+
@Autowired
private ModelMapper modelMapper;
+ @Override
+ public ResponseEntity<String> createDataspace(final String dataspaceName) {
+ cpsAdminService.createDataspace(dataspaceName);
+ return new ResponseEntity<>(dataspaceName, HttpStatus.CREATED);
+ }
+
+ @Override
+ public ResponseEntity<String> createSchemaSet(final MultipartFile multipartFile,
+ final String schemaSetName, final String dataspaceName) {
+ cpsModuleService.createSchemaSet(dataspaceName, schemaSetName, extractYangResourcesMap(multipartFile));
+ return new ResponseEntity<>(schemaSetName, HttpStatus.CREATED);
+ }
+
+ @Override
+ public ResponseEntity<Object> getSchemaSet(final String dataspaceName, final String schemaSetName) {
+ final SchemaSet schemaSet = cpsModuleService.getSchemaSet(dataspaceName, schemaSetName);
+ return new ResponseEntity<>(schemaSet, HttpStatus.OK);
+ }
+
/**
* Create a new anchor.
*
- * @param anchor the anchor details object.
- * @param dataspaceName the dataspace name.
+ * @param dataspaceName dataspace name
+ * @param schemaSetName schema set name
+ * @param anchorName anchorName
* @return a ResponseEntity with the anchor name.
*/
@Override
- public ResponseEntity<String> createAnchor(final org.onap.cps.rest.model.@Valid Anchor anchor,
- final String dataspaceName) {
- final Anchor anchorDetails = modelMapper.map(anchor, Anchor.class);
- anchorDetails.setDataspaceName(dataspaceName);
- final String anchorName = cpsAdminService.createAnchor(anchorDetails);
+ public ResponseEntity<String> createAnchor(final String dataspaceName, final String schemaSetName,
+ final String anchorName) {
+ cpsAdminService.createAnchor(dataspaceName, schemaSetName, anchorName);
return new ResponseEntity<>(anchorName, HttpStatus.CREATED);
}
}
@Override
-
public ResponseEntity<Object> getAnchors(final String dataspaceName) {
final Collection<Anchor> anchorDetails = cpsAdminService.getAnchors(dataspaceName);
return new ResponseEntity<>(anchorDetails, HttpStatus.OK);