diff options
author | Thomas <> | 2023-05-15 08:36:30 +0200 |
---|---|---|
committer | Thomas <> | 2023-05-15 08:36:30 +0200 |
commit | 5865c9e49fb399c7690ed87925ba7b8ad5d98f13 (patch) | |
tree | a37acda465cab14f290f27127045cb1518e1b0ce /eaaf_core_api | |
parent | bfeebfeb693f1f2ef0d2f6abb34bdf0aeffa3af4 (diff) | |
download | EAAF-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')
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; } |