From: niamhcore Date: Wed, 18 Nov 2020 16:29:15 +0000 (+0000) Subject: Fix HTTP response for duplicate module X-Git-Tag: 0.0.1~104 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=181aa2b8d9dd612805cdb5fed749566b171b5a35;p=cps.git Fix HTTP response for duplicate module Issue-ID: CPS-80 Signed-off-by: niamhcore Change-Id: I27b83d671a9f235a4e926ebe9897add36080fd6f --- 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/ModelPersistenceServiceImpl.java index a54e50646..03679b316 100755 --- a/cps-ri/src/main/java/org/onap/cps/spi/impl/ModelPersistenceServiceImpl.java +++ b/cps-ri/src/main/java/org/onap/cps/spi/impl/ModelPersistenceServiceImpl.java @@ -20,12 +20,14 @@ package org.onap.cps.spi.impl; +import org.onap.cps.exceptions.CpsValidationException; import org.onap.cps.spi.ModelPersistenceService; import org.onap.cps.spi.entities.Dataspace; import org.onap.cps.spi.entities.Module; import org.onap.cps.spi.repository.DataspaceRepository; 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 @@ -46,6 +48,11 @@ public class ModelPersistenceServiceImpl implements ModelPersistenceService { } dataspace.setId(dataspaceRepository.getByName(dataspaceName).getId()); final Module module = new Module(namespace, moduleContent, revision, dataspace); - moduleRepository.save(module); + try { + moduleRepository.save(module); + } catch (final DataIntegrityViolationException ex) { + throw new CpsValidationException("Duplicate Entry", + String.format("Module already exist in dataspace %s.", dataspaceName)); + } } -} \ No newline at end of file +} 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 index 6b59949ca..726ca0f28 100755 --- a/cps-service/src/main/java/org/onap/cps/api/CpService.java +++ b/cps-service/src/main/java/org/onap/cps/api/CpService.java @@ -51,6 +51,7 @@ public interface CpService { * * @param schemaContext the schema context * @param dataspaceName the dataspace name + * @throws CpsValidationException if input data already exists. */ void storeSchemaContext(SchemaContext schemaContext, String dataspaceName);