diff options
author | niamhcore <niamh.core@est.tech> | 2020-11-30 14:39:28 +0000 |
---|---|---|
committer | Niamh Core <niamh.core@est.tech> | 2020-12-07 14:15:55 +0000 |
commit | 0cd5910ca2c949bab95ec73591729c4b7230fdd1 (patch) | |
tree | 6880654548e97e0e1632d38cd65a008af99142f9 /cps-ri | |
parent | 4e807e562c7fee9cd07f7dbd27263100c87c07ec (diff) |
Create Common Model objects in SPI
Issue-ID: CPS-100
Signed-off-by: niamhcore <niamh.core@est.tech>
Change-Id: I8ba54cc5d881d9d5f18b77a54ae28d3dda8412c1
Diffstat (limited to 'cps-ri')
-rw-r--r--[-rwxr-xr-x] | cps-ri/src/main/java/org/onap/cps/spi/impl/CpsAdminPersistenceServiceImpl.java (renamed from cps-ri/src/main/java/org/onap/cps/spi/impl/FragmentPersistenceServiceImpl.java) | 145 | ||||
-rw-r--r--[-rwxr-xr-x] | cps-ri/src/main/java/org/onap/cps/spi/impl/CpsModulePersistenceServiceImpl.java (renamed from cps-ri/src/main/java/org/onap/cps/spi/impl/ModelPersistenceServiceImpl.java) | 4 |
2 files changed, 75 insertions, 74 deletions
diff --git a/cps-ri/src/main/java/org/onap/cps/spi/impl/FragmentPersistenceServiceImpl.java b/cps-ri/src/main/java/org/onap/cps/spi/impl/CpsAdminPersistenceServiceImpl.java index 82554b3d0a..684750c459 100755..100644 --- a/cps-ri/src/main/java/org/onap/cps/spi/impl/FragmentPersistenceServiceImpl.java +++ b/cps-ri/src/main/java/org/onap/cps/spi/impl/CpsAdminPersistenceServiceImpl.java @@ -1,72 +1,73 @@ -/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix Foundation. 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.spi.impl;
-
-import org.onap.cps.api.model.AnchorDetails;
-import org.onap.cps.exceptions.CpsNotFoundException;
-import org.onap.cps.exceptions.CpsValidationException;
-import org.onap.cps.spi.FragmentPersistenceService;
-import org.onap.cps.spi.entities.Dataspace;
-import org.onap.cps.spi.entities.Fragment;
-import org.onap.cps.spi.entities.Module;
-import org.onap.cps.spi.repository.DataspaceRepository;
-import org.onap.cps.spi.repository.FragmentRepository;
-import org.onap.cps.spi.repository.ModuleRepository;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.dao.DataIntegrityViolationException;
-import org.springframework.stereotype.Component;
-
-@Component
-public class FragmentPersistenceServiceImpl implements FragmentPersistenceService {
-
- @Autowired
- private DataspaceRepository dataspaceRepository;
-
- @Autowired
- private FragmentRepository fragmentRepository;
-
- @Autowired
- private ModuleRepository moduleRepository;
-
- @Override
- public String createAnchor(final AnchorDetails anchorDetails) {
- try {
- final Dataspace dataspace = dataspaceRepository.getByName(anchorDetails.getDataspace());
- final Module module =
- moduleRepository.getByDataspaceAndNamespaceAndRevision(dataspace,
- anchorDetails.getNamespace(), anchorDetails.getRevision());
-
- final Fragment fragment = Fragment.builder().xpath(anchorDetails.getAnchorName())
- .anchorName(anchorDetails.getAnchorName())
- .dataspace(dataspace).module(module).build();
-
- fragmentRepository.save(fragment);
- return anchorDetails.getAnchorName();
- } catch (final CpsNotFoundException ex) {
- throw new CpsValidationException("Validation Error",
- "Dataspace and/or Module do not exist.");
- } catch (final DataIntegrityViolationException ex) {
- throw new CpsValidationException("Duplication Error",
- String.format("Anchor with name %s already exist in dataspace %s.",
- anchorDetails.getAnchorName(), anchorDetails.getDataspace()));
- }
- }
-}
+/*- + * ============LICENSE_START======================================================= + * Copyright (C) 2020 Nordix Foundation. 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.spi.impl; + +import org.onap.cps.exceptions.CpsNotFoundException; +import org.onap.cps.exceptions.CpsValidationException; +import org.onap.cps.spi.CpsAdminPersistenceService; +import org.onap.cps.spi.entities.Dataspace; +import org.onap.cps.spi.entities.Fragment; +import org.onap.cps.spi.entities.Module; +import org.onap.cps.spi.model.Anchor; +import org.onap.cps.spi.repository.DataspaceRepository; +import org.onap.cps.spi.repository.FragmentRepository; +import org.onap.cps.spi.repository.ModuleRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataIntegrityViolationException; +import org.springframework.stereotype.Component; + +@Component +public class CpsAdminPersistenceServiceImpl implements CpsAdminPersistenceService { + + @Autowired + private DataspaceRepository dataspaceRepository; + + @Autowired + private FragmentRepository fragmentRepository; + + @Autowired + private ModuleRepository moduleRepository; + + @Override + public String createAnchor(final Anchor anchor) { + final String anchorName = anchor.getAnchorName(); + try { + final Dataspace dataspace = dataspaceRepository.getByName(anchor.getDataspaceName()); + final Module module = + moduleRepository.getByDataspaceAndNamespaceAndRevision(dataspace, + anchor.getNamespace(), anchor.getRevision()); + + final Fragment fragment = Fragment.builder().xpath(anchorName) + .anchorName(anchorName) + .dataspace(dataspace).module(module).build(); + + fragmentRepository.save(fragment); + return anchorName; + } catch (final CpsNotFoundException ex) { + throw new CpsValidationException("Validation Error", + "Dataspace and/or Module do not exist."); + } catch (final DataIntegrityViolationException ex) { + throw new CpsValidationException("Duplication Error", + String.format("Anchor with name %s already exist in dataspace %s.", + anchorName, anchor.getDataspaceName())); + } + } +} diff --git a/cps-ri/src/main/java/org/onap/cps/spi/impl/ModelPersistenceServiceImpl.java b/cps-ri/src/main/java/org/onap/cps/spi/impl/CpsModulePersistenceServiceImpl.java index 2207f7940f..52f8034575 100755..100644 --- a/cps-ri/src/main/java/org/onap/cps/spi/impl/ModelPersistenceServiceImpl.java +++ b/cps-ri/src/main/java/org/onap/cps/spi/impl/CpsModulePersistenceServiceImpl.java @@ -29,7 +29,7 @@ import java.util.Map; import java.util.Set; import java.util.stream.Collectors; import javax.transaction.Transactional; -import org.onap.cps.spi.ModelPersistenceService; +import org.onap.cps.spi.CpsModulePersistenceService; import org.onap.cps.spi.entities.Dataspace; import org.onap.cps.spi.entities.SchemaSet; import org.onap.cps.spi.entities.YangResource; @@ -42,7 +42,7 @@ import org.springframework.stereotype.Component; import org.springframework.util.DigestUtils; @Component -public class ModelPersistenceServiceImpl implements ModelPersistenceService { +public class CpsModulePersistenceServiceImpl implements CpsModulePersistenceService { @Autowired private YangResourceRepository yangResourceRepository; |