From 0d40840d1744120b6bd4a72665e19748d8b6bd85 Mon Sep 17 00:00:00 2001
From: Emmanuel Bruno <emmanuel.bruno@univ-tln.fr>
Date: Fri, 10 Dec 2021 10:20:17 +0100
Subject: [PATCH] moves to jackson.

---
 entites/pom.xml                                        |  5 +++++
 .../fr/univtln/bruno/samples/jee91/dao/Person.java     |  9 +++++++--
 jee/ear/pom.xml                                        |  1 -
 .../bruno/samples/jee91/rs/JAXRSConfiguration.java     | 10 +++++++++-
 jee/restApp/src/main/webapp/WEB-INF/web.xml            |  5 +++++
 .../src/main/resources/{META-INF => }/log4j.properties |  0
 pom.xml                                                |  7 +++++++
 7 files changed, 33 insertions(+), 4 deletions(-)
 create mode 100644 jee/restApp/src/main/webapp/WEB-INF/web.xml
 rename jee/wsApp/src/main/resources/{META-INF => }/log4j.properties (100%)

diff --git a/entites/pom.xml b/entites/pom.xml
index 6ad01bf..3f77f5d 100644
--- a/entites/pom.xml
+++ b/entites/pom.xml
@@ -20,6 +20,11 @@
             <artifactId>jakarta.jakartaee-api</artifactId>
             <scope>provided</scope>
         </dependency>
+
+        <dependency>
+            <groupId>com.fasterxml.jackson.jakarta.rs</groupId>
+            <artifactId>jackson-jakarta-rs-json-provider</artifactId>
+        </dependency>
     </dependencies>
 
 </project>
\ No newline at end of file
diff --git a/entites/src/main/java/fr/univtln/bruno/samples/jee91/dao/Person.java b/entites/src/main/java/fr/univtln/bruno/samples/jee91/dao/Person.java
index b3bdcf8..a57a6c3 100644
--- a/entites/src/main/java/fr/univtln/bruno/samples/jee91/dao/Person.java
+++ b/entites/src/main/java/fr/univtln/bruno/samples/jee91/dao/Person.java
@@ -1,6 +1,9 @@
 package fr.univtln.bruno.samples.jee91.dao;
 
-import jakarta.json.bind.annotation.JsonbTransient;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
 import jakarta.persistence.*;
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.Pattern;
@@ -28,11 +31,13 @@ import java.util.UUID;
         query = "SELECT p FROM Person p WHERE p.uuid=:uuid")
 @XmlRootElement
 @FieldDefaults(level = AccessLevel.PRIVATE)
+@JsonTypeInfo(include= JsonTypeInfo.As.WRAPPER_OBJECT, use=JsonTypeInfo.Id.NAME)
 public class Person implements Serializable {
     @Id
     @GeneratedValue(strategy = GenerationType.IDENTITY)
     @Column(name = "ID")
-    @JsonbTransient
+
+    @JsonIgnore
     long id;
 
     @ToString.Include
diff --git a/jee/ear/pom.xml b/jee/ear/pom.xml
index be6d226..942e568 100644
--- a/jee/ear/pom.xml
+++ b/jee/ear/pom.xml
@@ -53,7 +53,6 @@
             <version>1.0-SNAPSHOT</version>
         </dependency>
 
-
     </dependencies>
 
     <build>
diff --git a/jee/restApp/src/main/java/fr/univtln/bruno/samples/jee91/rs/JAXRSConfiguration.java b/jee/restApp/src/main/java/fr/univtln/bruno/samples/jee91/rs/JAXRSConfiguration.java
index 5e8e933..9854eed 100644
--- a/jee/restApp/src/main/java/fr/univtln/bruno/samples/jee91/rs/JAXRSConfiguration.java
+++ b/jee/restApp/src/main/java/fr/univtln/bruno/samples/jee91/rs/JAXRSConfiguration.java
@@ -4,7 +4,15 @@ package fr.univtln.bruno.samples.jee91.rs;
 import jakarta.ws.rs.ApplicationPath;
 import jakarta.ws.rs.core.Application;
 
+import java.util.HashMap;
+import java.util.Map;
+
 @ApplicationPath("/")
 public class JAXRSConfiguration extends Application {
-
+    @Override
+    public Map<String, Object> getProperties() {
+        var properties = new HashMap<String, Object>();
+        properties.put("jersey.config.jsonFeature", "JacksonFeature");
+        return properties;
+    }
 }
\ No newline at end of file
diff --git a/jee/restApp/src/main/webapp/WEB-INF/web.xml b/jee/restApp/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000..4c8ad73
--- /dev/null
+++ b/jee/restApp/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd"
+    version="5.0">
+</web-app>
\ No newline at end of file
diff --git a/jee/wsApp/src/main/resources/META-INF/log4j.properties b/jee/wsApp/src/main/resources/log4j.properties
similarity index 100%
rename from jee/wsApp/src/main/resources/META-INF/log4j.properties
rename to jee/wsApp/src/main/resources/log4j.properties
diff --git a/pom.xml b/pom.xml
index 2890842..3f70509 100644
--- a/pom.xml
+++ b/pom.xml
@@ -49,6 +49,13 @@
                 <artifactId>slf4j-log4j12</artifactId>
                 <version>1.7.32</version>
             </dependency>
+
+            <dependency>
+                <groupId>com.fasterxml.jackson.jakarta.rs</groupId>
+                <artifactId>jackson-jakarta-rs-json-provider</artifactId>
+                <version>2.13.0</version>
+            </dependency>
+
         </dependencies>
     </dependencyManagement>
 
-- 
GitLab