summaryrefslogtreecommitdiffstats
path: root/cps-service/src
diff options
context:
space:
mode:
Diffstat (limited to 'cps-service/src')
-rwxr-xr-xcps-service/src/main/java/org/onap/cps/api/CpService.java51
-rw-r--r--cps-service/src/main/java/org/onap/cps/api/CpsModuleService.java17
-rwxr-xr-xcps-service/src/main/java/org/onap/cps/api/impl/CpServiceImpl.java49
-rw-r--r--cps-service/src/main/java/org/onap/cps/api/impl/CpsModuleServiceImpl.java32
-rwxr-xr-xcps-service/src/test/groovy/org/onap/cps/api/impl/CpServiceImplSpec.groovy75
-rw-r--r--cps-service/src/test/groovy/org/onap/cps/api/impl/CpsModulePersistenceServiceImplSpec.groovy28
6 files changed, 0 insertions, 252 deletions
diff --git a/cps-service/src/main/java/org/onap/cps/api/CpService.java b/cps-service/src/main/java/org/onap/cps/api/CpService.java
deleted file mode 100755
index 29e164d621..0000000000
--- a/cps-service/src/main/java/org/onap/cps/api/CpService.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix Foundation
- * Modifications Copyright (C) 2020 Bell Canada. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.cps.api;
-
-/**
- * Configuration and persistency service interface which holds methods for parsing and storing yang models and data.
- */
-public interface CpService {
-
- /**
- * Store the JSON structure in the database.
- *
- * @param jsonStructure the JSON structure.
- * @return entity ID.
- */
- Integer storeJsonStructure(String jsonStructure);
-
- /**
- * Read a JSON Object using the object identifier.
- *
- * @param jsonObjectId the JSON object identifier.
- * @return the JSON structure.
- */
- String getJsonById(int jsonObjectId);
-
- /**
- * Delete a JSON Object using the object identifier.
- *
- * @param jsonObjectId the JSON object identifier.
- */
- void deleteJsonById(int jsonObjectId);
-
-}
diff --git a/cps-service/src/main/java/org/onap/cps/api/CpsModuleService.java b/cps-service/src/main/java/org/onap/cps/api/CpsModuleService.java
index 94ebea2fc2..325893d6fd 100644
--- a/cps-service/src/main/java/org/onap/cps/api/CpsModuleService.java
+++ b/cps-service/src/main/java/org/onap/cps/api/CpsModuleService.java
@@ -19,7 +19,6 @@
package org.onap.cps.api;
-import java.io.File;
import org.onap.cps.spi.exceptions.CpsException;
import org.opendaylight.yangtools.yang.model.api.SchemaContext;
@@ -29,22 +28,6 @@ import org.opendaylight.yangtools.yang.model.api.SchemaContext;
public interface CpsModuleService {
/**
- * Parse and validate a string representing a yang model to generate a schema context.
- *
- * @param yangModelContent the input stream
- * @return the schema context
- */
- SchemaContext parseAndValidateModel(String yangModelContent);
-
- /**
- * Parse and validate a file representing a yang model to generate a schema context.
- *
- * @param yangModelFile the yang file
- * @return the schema context
- */
- SchemaContext parseAndValidateModel(File yangModelFile);
-
- /**
* Store schema context for a yang model.
*
* @param schemaContext the schema context
diff --git a/cps-service/src/main/java/org/onap/cps/api/impl/CpServiceImpl.java b/cps-service/src/main/java/org/onap/cps/api/impl/CpServiceImpl.java
deleted file mode 100755
index 3ec08cd733..0000000000
--- a/cps-service/src/main/java/org/onap/cps/api/impl/CpServiceImpl.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix Foundation
- * Modifications Copyright (C) 2020 Bell Canada. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.cps.api.impl;
-
-import org.onap.cps.api.CpService;
-import org.onap.cps.spi.DataPersistenceService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-@Component
-public class CpServiceImpl implements CpService {
-
- @Autowired
- private DataPersistenceService dataPersistenceService;
-
-
- @Override
- public final Integer storeJsonStructure(final String jsonStructure) {
- return dataPersistenceService.storeJsonStructure(jsonStructure);
- }
-
- @Override
- public final String getJsonById(final int jsonObjectId) {
- return dataPersistenceService.getJsonById(jsonObjectId);
- }
-
- @Override
- public void deleteJsonById(final int jsonObjectId) {
- dataPersistenceService.deleteJsonById(jsonObjectId);
- }
-} \ No newline at end of file
diff --git a/cps-service/src/main/java/org/onap/cps/api/impl/CpsModuleServiceImpl.java b/cps-service/src/main/java/org/onap/cps/api/impl/CpsModuleServiceImpl.java
index c7fa04759a..2c600b5571 100644
--- a/cps-service/src/main/java/org/onap/cps/api/impl/CpsModuleServiceImpl.java
+++ b/cps-service/src/main/java/org/onap/cps/api/impl/CpsModuleServiceImpl.java
@@ -20,20 +20,12 @@
package org.onap.cps.api.impl;
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
import java.util.Optional;
import org.onap.cps.api.CpsModuleService;
import org.onap.cps.spi.CpsModulePersistenceService;
-import org.onap.cps.spi.exceptions.CpsException;
-import org.onap.cps.spi.exceptions.ModelValidationException;
-import org.onap.cps.utils.YangUtils;
import org.opendaylight.yangtools.yang.common.Revision;
import org.opendaylight.yangtools.yang.model.api.Module;
import org.opendaylight.yangtools.yang.model.api.SchemaContext;
-import org.opendaylight.yangtools.yang.model.parser.api.YangParserException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -44,30 +36,6 @@ public class CpsModuleServiceImpl implements CpsModuleService {
private CpsModulePersistenceService cpsModulePersistenceService;
@Override
- public SchemaContext parseAndValidateModel(final String yangModelContent) {
- try {
- final File tempFile = File.createTempFile("yang", ".yang");
- try (final BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile))) {
- writer.write(yangModelContent);
- }
- return parseAndValidateModel(tempFile);
- } catch (final IOException e) {
- throw new CpsException(e);
- }
- }
-
- @Override
- public SchemaContext parseAndValidateModel(final File yangModelFile) {
- try {
- return YangUtils.parseYangModelFile(yangModelFile);
- } catch (final YangParserException e) {
- throw new ModelValidationException("Yang file validation failed", e.getMessage(), e);
- } catch (final IOException e) {
- throw new CpsException(e);
- }
- }
-
- @Override
public void storeSchemaContext(final SchemaContext schemaContext, final String dataspaceName) {
for (final Module module : schemaContext.getModules()) {
final Optional<Revision> optionalRevision = module.getRevision();
diff --git a/cps-service/src/test/groovy/org/onap/cps/api/impl/CpServiceImplSpec.groovy b/cps-service/src/test/groovy/org/onap/cps/api/impl/CpServiceImplSpec.groovy
deleted file mode 100755
index 873aba78ab..0000000000
--- a/cps-service/src/test/groovy/org/onap/cps/api/impl/CpServiceImplSpec.groovy
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix Foundation
- * Modifications Copyright (C) 2020 Bell Canada. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.cps.api.impl
-
-
-import org.onap.cps.spi.DataPersistenceService
-import spock.lang.Specification
-
-class CpServiceImplSpec extends Specification {
-
- def mockDataPersistenceService = Mock(DataPersistenceService)
- def objectUnderTest = new CpServiceImpl()
-
- def setup() {
- objectUnderTest.dataPersistenceService = mockDataPersistenceService
- }
-
- def 'Cps Service provides to its client the id assigned by the system when storing a data structure'() {
- given: 'that data persistence service is giving id 123 to a data structure it is asked to store'
- mockDataPersistenceService.storeJsonStructure(_) >> 123
- expect: 'Cps service returns the same id when storing data structure'
- objectUnderTest.storeJsonStructure('') == 123
- }
-
- def 'Read a JSON object with a valid identifier'(){
- given: 'that the data persistence service returns a JSON structure for identifier 1'
- mockDataPersistenceService.getJsonById(1) >> '{name : hello}'
- expect: 'that the same JSON structure is returned by CPS'
- objectUnderTest.getJsonById(1) == '{name : hello}'
- }
-
- def 'Read a JSON object with an identifier that does not exist'(){
- given: 'that the data persistence service throws an exception'
- def exceptionThrownByPersistenceService = new IllegalStateException()
- mockDataPersistenceService.getJsonById(_) >> {throw exceptionThrownByPersistenceService}
- when: 'we try to get the JSON structure'
- objectUnderTest.getJsonById(1);
- then: 'the same exception is thrown by CPS'
- thrown(IllegalStateException)
- }
-
- def 'Delete a JSON object with a valid identifier'(){
- given: 'that the data persistence service can delete a JSON structure for identifier 1'
- mockDataPersistenceService.deleteJsonById(1)
- expect: 'No exception is thrown when we delete a JSON structure with identifier 1'
- objectUnderTest.deleteJsonById(1)
- }
-
- def 'Delete a JSON object with an identifier that does not exist'(){
- given: 'that the data persistence service throws an exception'
- mockDataPersistenceService.deleteJsonById(_) >> {throw new IllegalStateException()}
- when: 'we try to delete a JSON structure'
- objectUnderTest.deleteJsonById(100);
- then: 'the same exception is thrown by CPS'
- thrown(IllegalStateException)
- }
-}
diff --git a/cps-service/src/test/groovy/org/onap/cps/api/impl/CpsModulePersistenceServiceImplSpec.groovy b/cps-service/src/test/groovy/org/onap/cps/api/impl/CpsModulePersistenceServiceImplSpec.groovy
index da2df404eb..d2a69d6552 100644
--- a/cps-service/src/test/groovy/org/onap/cps/api/impl/CpsModulePersistenceServiceImplSpec.groovy
+++ b/cps-service/src/test/groovy/org/onap/cps/api/impl/CpsModulePersistenceServiceImplSpec.groovy
@@ -35,39 +35,11 @@ class CpsModulePersistenceServiceImplSpec extends Specification {
objectUnderTest.cpsModulePersistenceService = mockModuleStoreService
}
- def 'Parse and Validate a Yang Model with a Valid Yang Model'() {
- given: 'a yang model (file)'
- def yangModel = TestUtils.getResourceFileContent('bookstore.yang')
- when: 'a valid model is parsed and validated'
- def result = objectUnderTest.parseAndValidateModel(yangModel)
- then: 'Verify a schema context for that model is created with the correct identity'
- assertModule(result)
- }
-
- def 'Parse and Validate a Yang Model Using a File'() {
- given: 'a yang file that contains a yang model'
- File file = new File(ClassLoader.getSystemClassLoader().getResource('bookstore.yang').getFile())
- when: 'a model is parsed and validated'
- def result = objectUnderTest.parseAndValidateModel(file)
- then: 'Verify a schema context for that model is created with the correct identity'
- assertModule(result)
-
- }
-
def assertModule(SchemaContext schemaContext) {
def optionalModule = schemaContext.findModule('stores', Revision.of('2020-09-15'))
return schemaContext.modules.size() == 1 && optionalModule.isPresent()
}
- def 'Parse and Validate an Invalid Model'() {
- given: 'a yang file that contains a invalid yang model'
- File file = new File(ClassLoader.getSystemClassLoader().getResource('invalid.yang').getFile())
- when: 'the model is parsed and validated'
- objectUnderTest.parseAndValidateModel(file)
- then: 'a CpsValidationException is thrown'
- thrown(CpsException)
- }
-
def 'Store a SchemaContext'() {
expect: 'No exception to be thrown when a valid model (schema) is stored'
objectUnderTest.storeSchemaContext(Stub(SchemaContext.class), "sampleDataspace")