X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=cps-ri%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fcps%2Fspi%2Fimpl%2FCpsAdminPersistenceServiceImpl.java;fp=cps-ri%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fcps%2Fspi%2Fimpl%2FFragmentPersistenceServiceImpl.java;h=684750c4594b1c9d737de8a324e4e21e9a31021d;hb=0cd5910ca2c949bab95ec73591729c4b7230fdd1;hp=82554b3d0a2ff3dcb8fd87306623511f30e0f352;hpb=4e807e562c7fee9cd07f7dbd27263100c87c07ec;p=cps.git 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 old mode 100755 new mode 100644 similarity index 80% rename from cps-ri/src/main/java/org/onap/cps/spi/impl/FragmentPersistenceServiceImpl.java rename to cps-ri/src/main/java/org/onap/cps/spi/impl/CpsAdminPersistenceServiceImpl.java index 82554b3d0..684750c45 --- 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())); + } + } +}