X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=models-base%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fpolicy%2Fmodels%2Fbase%2FPfModelRuntimeException.java;h=44e9db950ed2135fb15546281b18310f1a96b528;hb=938005505883cf7a636a8840e20e3dc8a0ad9176;hp=5c317d1d81aa4eb9d29db8fbe9980ada724d70ee;hpb=9c5d23395918a739b591667edd77e3ced9cd4bfb;p=policy%2Fmodels.git diff --git a/models-base/src/main/java/org/onap/policy/models/base/PfModelRuntimeException.java b/models-base/src/main/java/org/onap/policy/models/base/PfModelRuntimeException.java index 5c317d1d8..44e9db950 100644 --- a/models-base/src/main/java/org/onap/policy/models/base/PfModelRuntimeException.java +++ b/models-base/src/main/java/org/onap/policy/models/base/PfModelRuntimeException.java @@ -1,6 +1,6 @@ /*- * ============LICENSE_START======================================================= - * Copyright (C) 2019 Nordix Foundation. + * Copyright (C) 2019, 2021, 2023 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,7 +20,8 @@ package org.onap.policy.models.base; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.core.Response; +import java.io.Serial; import lombok.Getter; import lombok.ToString; import org.onap.policy.models.errors.concepts.ErrorResponse; @@ -28,11 +29,12 @@ import org.onap.policy.models.errors.concepts.ErrorResponseInfo; import org.onap.policy.models.errors.concepts.ErrorResponseUtils; /** - * This class is a base model run time exception from which all model run time exceptions are sub classes. + * This class is a base model run time exception from which all model run time exceptions are subclasses. */ @Getter @ToString public class PfModelRuntimeException extends RuntimeException implements ErrorResponseInfo { + @Serial private static final long serialVersionUID = -8507246953751956974L; // The error response of the exception @@ -45,7 +47,7 @@ public class PfModelRuntimeException extends RuntimeException implements ErrorRe * Instantiates a new model runtime exception. * * @param statusCode the return code for the exception - * @param message the message on the exception + * @param message the message on the exception */ public PfModelRuntimeException(final Response.Status statusCode, final String message) { this(statusCode, message, null); @@ -55,8 +57,8 @@ public class PfModelRuntimeException extends RuntimeException implements ErrorRe * Instantiates a new model runtime exception. * * @param statusCode the return code for the exception - * @param message the message on the exception - * @param object the object that the exception was thrown on + * @param message the message on the exception + * @param object the object that the exception was thrown on */ public PfModelRuntimeException(final Response.Status statusCode, final String message, final Object object) { super(message); @@ -69,23 +71,35 @@ public class PfModelRuntimeException extends RuntimeException implements ErrorRe * Instantiates a new model runtime exception. * * @param statusCode the return code for the exception - * @param message the message on the exception - * @param exception the exception that caused this model exception + * @param message the message on the exception + * @param exception the exception that caused this model exception */ public PfModelRuntimeException(final Response.Status statusCode, final String message, final Exception exception) { this(statusCode, message, exception, null); } + /** + * Instantiates a new model runtime exception from a PfModelException instance. + * + * @param exception the exception that caused this model exception + */ + public PfModelRuntimeException(final PfModelException exception) { + super(exception.getMessage(), exception); + this.object = exception.getObject(); + errorResponse.setResponseCode(exception.getErrorResponse().getResponseCode()); + ErrorResponseUtils.getExceptionMessages(errorResponse, this); + } + /** * Instantiates a new model runtime exception. * * @param statusCode the return code for the exception - * @param message the message on the exception - * @param exception the exception that caused this model exception - * @param object the object that the exception was thrown on + * @param message the message on the exception + * @param exception the exception that caused this model exception + * @param object the object that the exception was thrown on */ public PfModelRuntimeException(final Response.Status statusCode, final String message, final Exception exception, - final Object object) { + final Object object) { super(message, exception); this.object = object; errorResponse.setResponseCode(statusCode);