summaryrefslogtreecommitdiff
path: root/eaaf_core_api
diff options
context:
space:
mode:
authorThomas <>2023-05-15 08:36:30 +0200
committerThomas <>2023-05-15 08:36:30 +0200
commit5865c9e49fb399c7690ed87925ba7b8ad5d98f13 (patch)
treea37acda465cab14f290f27127045cb1518e1b0ce /eaaf_core_api
parentbfeebfeb693f1f2ef0d2f6abb34bdf0aeffa3af4 (diff)
downloadEAAF-Components-5865c9e49fb399c7690ed87925ba7b8ad5d98f13.tar.gz
EAAF-Components-5865c9e49fb399c7690ed87925ba7b8ad5d98f13.tar.bz2
EAAF-Components-5865c9e49fb399c7690ed87925ba7b8ad5d98f13.zip
refact(core): change process-data holder-implementation to use Jackson serialization for storage
Diffstat (limited to 'eaaf_core_api')
-rw-r--r--eaaf_core_api/checks/spotbugs-exclude.xml12
-rw-r--r--eaaf_core_api/pom.xml17
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/ExceptionContainer.java103
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafAuthenticationException.java9
-rw-r--r--eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafException.java9
5 files changed, 46 insertions, 104 deletions
diff --git a/eaaf_core_api/checks/spotbugs-exclude.xml b/eaaf_core_api/checks/spotbugs-exclude.xml
new file mode 100644
index 00000000..1c4cf203
--- /dev/null
+++ b/eaaf_core_api/checks/spotbugs-exclude.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<FindBugsFilter>
+ <!-- Required polymoric serialization, because we has no class implementation on compile time. -->
+ <Match>
+ <OR>
+ <Class name="at.gv.egiz.eaaf.core.api.data.ExceptionContainer" />
+ </OR>
+ <OR>
+ <Bug pattern="JACKSON_UNSAFE_DESERIALIZATION" />
+ </OR>
+ </Match>
+</FindBugsFilter> \ No newline at end of file
diff --git a/eaaf_core_api/pom.xml b/eaaf_core_api/pom.xml
index ce140dea..8cf64e77 100644
--- a/eaaf_core_api/pom.xml
+++ b/eaaf_core_api/pom.xml
@@ -48,6 +48,10 @@
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-annotations</artifactId>
+ </dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
@@ -63,6 +67,19 @@
<directory>src/main/resources</directory>
</resource>
</resources>
+
+ <plugins>
+ <plugin>
+ <groupId>com.github.spotbugs</groupId>
+ <artifactId>spotbugs-maven-plugin</artifactId>
+ <version>${spotbugs-maven-plugin.version}</version>
+ <configuration>
+ <failOnError>true</failOnError>
+ <excludeFilterFile>checks/spotbugs-exclude.xml</excludeFilterFile>
+ </configuration>
+ </plugin>
+ </plugins>
+
</build>
</project>
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/ExceptionContainer.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/ExceptionContainer.java
deleted file mode 100644
index 80c7094c..00000000
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/ExceptionContainer.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Copyright 2017 Graz University of Technology EAAF-Core Components has been developed in a
- * cooperation between EGIZ, A-SIT Plus, A-SIT, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European
- * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in
- * compliance with the Licence. You may obtain a copy of the Licence at:
- * https://joinup.ec.europa.eu/news/understanding-eupl-v12
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the Licence
- * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the Licence for the specific language governing permissions and limitations under
- * the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text file for details on the
- * various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative
- * works that you distribute must include a readable copy of the "NOTICE" text file.
-*/
-
-package at.gv.egiz.eaaf.core.api.data;
-
-import java.io.Serializable;
-
-import at.gv.egiz.eaaf.core.api.IRequest;
-
-/**
- * AuthProcess exception containter for Front-Channel exception handling.
- *
- * @author tlenz
- *
- */
-public class ExceptionContainer implements Serializable {
-
- private static final long serialVersionUID = 5355860753609684995L;
- private Throwable exceptionThrown = null;
- private IRequest pendingReq = null;
-
- /**
- * Create an exception container.
- *
- * @param pendingReq Pending request that has an exception
- * @param exception error
- */
- public ExceptionContainer(final IRequest pendingReq, final Throwable exception) {
- this.pendingReq = pendingReq;
- this.exceptionThrown = exception;
-
- }
-
- /**
- * Get the error.
- *
- * @return the exceptionThrown
- */
- public Throwable getExceptionThrown() {
- return this.exceptionThrown;
- }
-
- public IRequest getPendingRequest() {
- return this.pendingReq;
-
- }
-
- /**
- * Get the unique sessionId for this error.
- *
- * @return the uniqueSessionID
- */
- public String getUniqueSessionID() {
- if (this.pendingReq != null) {
- return this.pendingReq.getUniqueSessionIdentifier();
- } else {
- return null;
- }
- }
-
- /**
- * Get the unique transactionId for this error.
- *
- * @return the uniqueTransactionID
- */
- public String getUniqueTransactionID() {
- if (this.pendingReq != null) {
- return this.pendingReq.getUniqueTransactionIdentifier();
- } else {
- return null;
- }
- }
-
- /**
- * Get the service-provider identifier.
- *
- * @return the uniqueServiceProviderId
- */
- public String getUniqueServiceProviderId() {
- if (this.pendingReq != null && this.pendingReq.getServiceProviderConfiguration() != null) {
- return this.pendingReq.getServiceProviderConfiguration().getUniqueIdentifier();
- } else {
- return null;
- }
- }
-
-}
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafAuthenticationException.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafAuthenticationException.java
index 22c8a8ca..732834e1 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafAuthenticationException.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafAuthenticationException.java
@@ -19,10 +19,19 @@
package at.gv.egiz.eaaf.core.exceptions;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
public class EaafAuthenticationException extends EaafException {
private static final long serialVersionUID = -4793625336456467005L;
+ @JsonCreator
+ public EaafAuthenticationException(
+ @JsonProperty("errorId") final String internalMsgId) {
+ super(internalMsgId);
+ }
+
public EaafAuthenticationException(final String internalMsgId, final Object[] params) {
super(internalMsgId, params);
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafException.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafException.java
index e1719abc..d2d42b31 100644
--- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafException.java
+++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/exceptions/EaafException.java
@@ -23,15 +23,22 @@ import java.util.Arrays;
import javax.annotation.Nullable;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
import at.gv.egiz.eaaf.core.impl.logging.LogMessageProviderFactory;
+import lombok.Setter;
public class EaafException extends Exception {
private static final long serialVersionUID = -4527097018108560426L;
private String errorId = null;
+
+ @Setter
private Object[] params = null;
- public EaafException(final String errorId) {
+ @JsonCreator
+ public EaafException(@JsonProperty("errorId") final String errorId) {
super(LogMessageProviderFactory.getMessager().getMessage(errorId, null));
this.errorId = errorId;
}