aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPamela Dragosh <pdragosh@research.att.com>2019-04-02 13:33:12 -0700
committerPamela Dragosh <pdragosh@research.att.com>2019-04-02 20:57:45 -0700
commit8ff33130a2d9e74c21001fcd55cb6236dfd5803f (patch)
tree98a559d306e2cddc088ca7caa06cd636a3cf604e
parente47ec5069a6304a028c4144e8abaa58d6462b8e2 (diff)
Add DecisionException
Need this class to capture exceptions during decision and setup the ErrorResponse object to return from REST API. Issue-ID: POLICY-1440 Change-Id: I02cd4f93e671c0d543bf527f5de3cf6831f62c40 Signed-off-by: Pamela Dragosh <pdragosh@research.att.com>
-rw-r--r--models-decisions/pom.xml5
-rw-r--r--models-decisions/src/main/java/org/onap/policy/models/decisions/concepts/DecisionException.java49
2 files changed, 54 insertions, 0 deletions
diff --git a/models-decisions/pom.xml b/models-decisions/pom.xml
index ca7458a9a..f43ed84c0 100644
--- a/models-decisions/pom.xml
+++ b/models-decisions/pom.xml
@@ -37,5 +37,10 @@
<artifactId>gson</artifactId>
<version>${policy.common.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.onap.policy.models</groupId>
+ <artifactId>policy-models-errors</artifactId>
+ <version>${project.version}</version>
+ </dependency>
</dependencies>
</project>
diff --git a/models-decisions/src/main/java/org/onap/policy/models/decisions/concepts/DecisionException.java b/models-decisions/src/main/java/org/onap/policy/models/decisions/concepts/DecisionException.java
new file mode 100644
index 000000000..b9246b501
--- /dev/null
+++ b/models-decisions/src/main/java/org/onap/policy/models/decisions/concepts/DecisionException.java
@@ -0,0 +1,49 @@
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP Policy Decision Models
+ * ================================================================================
+ * Copyright (C) 2019 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.models.decisions.concepts;
+
+import javax.ws.rs.core.Response;
+
+import lombok.Getter;
+import lombok.ToString;
+
+import org.onap.policy.models.errors.concepts.ErrorResponse;
+import org.onap.policy.models.errors.concepts.ErrorResponseInfo;
+import org.onap.policy.models.errors.concepts.ErrorResponseUtils;
+
+@Getter
+@ToString
+public class DecisionException extends RuntimeException implements ErrorResponseInfo {
+ private static final long serialVersionUID = -1255351537691201052L;
+ private final ErrorResponse errorResponse = new ErrorResponse();
+
+ /**
+ * Constructor.
+ *
+ * @param statusCode HTTP Response code object
+ * @param message exception message
+ */
+ public DecisionException(final Response.Status statusCode, final String message) {
+ super(message);
+ errorResponse.setResponseCode(statusCode);
+ ErrorResponseUtils.getExceptionMessages(errorResponse, this);
+ }
+}