From 3057854ce8807de7515c9b85a9a9f9d9742f78e5 Mon Sep 17 00:00:00 2001 From: "puthuparambil.aditya" Date: Sun, 6 Dec 2020 22:18:16 +0000 Subject: CPS Exception handling - extending the CPSValidationException Issue-ID: CPS-8 Signed-off-by: puthuparambil.aditya Change-Id: Id0728dad26edd79e3853c0d32c8e27dc7bedd369 --- .../cps/spi/repository/DataspaceRepository.java | 4 +- .../org/onap/cps/exceptions/CpsAdminException.java | 60 ++++++++++++++++++++++ .../cps/exceptions/DataspaceNotFoundException.java | 57 ++++++++++++++++++++ 3 files changed, 119 insertions(+), 2 deletions(-) create mode 100644 cps-service/src/main/java/org/onap/cps/exceptions/CpsAdminException.java create mode 100644 cps-service/src/main/java/org/onap/cps/exceptions/DataspaceNotFoundException.java diff --git a/cps-ri/src/main/java/org/onap/cps/spi/repository/DataspaceRepository.java b/cps-ri/src/main/java/org/onap/cps/spi/repository/DataspaceRepository.java index daf0b716b..4b649167f 100755 --- a/cps-ri/src/main/java/org/onap/cps/spi/repository/DataspaceRepository.java +++ b/cps-ri/src/main/java/org/onap/cps/spi/repository/DataspaceRepository.java @@ -21,7 +21,7 @@ package org.onap.cps.spi.repository; import java.util.Optional; import javax.validation.constraints.NotNull; -import org.onap.cps.exceptions.CpsNotFoundException; +import org.onap.cps.exceptions.DataspaceNotFoundException; import org.onap.cps.spi.entities.Dataspace; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; @@ -34,6 +34,6 @@ public interface DataspaceRepository extends JpaRepository { default Dataspace getByName(@NotNull String name) { return findByName(name).orElseThrow( - () -> new CpsNotFoundException("Not Found", "Dataspace " + name + " does not exist.")); + () -> new DataspaceNotFoundException("Dataspace " + name + " does not exist.")); } } \ No newline at end of file diff --git a/cps-service/src/main/java/org/onap/cps/exceptions/CpsAdminException.java b/cps-service/src/main/java/org/onap/cps/exceptions/CpsAdminException.java new file mode 100644 index 000000000..a08891337 --- /dev/null +++ b/cps-service/src/main/java/org/onap/cps/exceptions/CpsAdminException.java @@ -0,0 +1,60 @@ +/* + * ============LICENSE_START======================================================= + * 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.exceptions; + +import lombok.Getter; + +/** + * CPS Admin exception. + */ +public class CpsAdminException extends CpsValidationException { + + private static final long serialVersionUID = 5573438585188332404L; + + /** + * Constructor. + * + * @param cause the cause of the exception + */ + public CpsAdminException(final Throwable cause) { + super(cause.getMessage(), cause); + } + + /** + * Constructor. + * + * @param message the error message + * @param cause the cause of the exception + */ + public CpsAdminException(final String message, final Throwable cause) { + super(message, cause); + } + + /** + * Constructor. + * + * @param message the error message + * @param details the error details + */ + public CpsAdminException(final String message, final String details) { + super(message, details); + this.details = details; + } +} diff --git a/cps-service/src/main/java/org/onap/cps/exceptions/DataspaceNotFoundException.java b/cps-service/src/main/java/org/onap/cps/exceptions/DataspaceNotFoundException.java new file mode 100644 index 000000000..1b09cdd1e --- /dev/null +++ b/cps-service/src/main/java/org/onap/cps/exceptions/DataspaceNotFoundException.java @@ -0,0 +1,57 @@ +/* + * ============LICENSE_START======================================================= + * 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.exceptions; + + +/** + * Dataspace Not Found Exception. Indicates the requested data being absent. + */ +public class DataspaceNotFoundException extends CpsAdminException { + + private static final long serialVersionUID = -1852996415384288431L; + + /** + * Constructor. + * + * @param cause the cause of the exception + */ + public DataspaceNotFoundException(final Throwable cause) { + super(cause.getMessage(), cause); + } + + /** + * Constructor. + * + * @param message the error message + * @param cause the cause of the exception + */ + public DataspaceNotFoundException(final String message, final Throwable cause) { + super(message, cause); + } + + /** + * Constructor. + * + * @param details the error details + */ + public DataspaceNotFoundException(final String details) { + super("Dataspace Not Found", details); + } +} -- cgit 1.2.3-korg