You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@unomi.apache.org by sh...@apache.org on 2021/09/13 15:27:51 UTC

[unomi] branch draft-dependency-upgrades updated: - Revert to JAXB annotations - Fix problem with JAXB API dependency that was not at correct version

This is an automated email from the ASF dual-hosted git repository.

shuber pushed a commit to branch draft-dependency-upgrades
in repository https://gitbox.apache.org/repos/asf/unomi.git


The following commit(s) were added to refs/heads/draft-dependency-upgrades by this push:
     new e0db86c  - Revert to JAXB annotations - Fix problem with JAXB API dependency that was not at correct version
e0db86c is described below

commit e0db86c4bc1efe0a487e56ec67f2a85cfecc197b
Author: Serge Huber <sh...@jahia.com>
AuthorDate: Mon Sep 13 17:27:45 2021 +0200

    - Revert to JAXB annotations
    - Fix problem with JAXB API dependency that was not at correct version
---
 api/pom.xml                                                  | 12 +++---------
 api/src/main/java/org/apache/unomi/api/Consent.java          |  9 ++++-----
 api/src/main/java/org/apache/unomi/api/Event.java            | 10 +++++-----
 api/src/main/java/org/apache/unomi/api/EventType.java        |  1 +
 api/src/main/java/org/apache/unomi/api/MetadataItem.java     |  8 ++++----
 api/src/main/java/org/apache/unomi/api/PartialList.java      |  7 +++----
 .../main/java/org/apache/unomi/api/PersonaWithSessions.java  |  5 ++---
 api/src/main/java/org/apache/unomi/api/Profile.java          |  8 ++++----
 .../java/org/apache/unomi/api/PropertyMergeStrategyType.java |  4 ++--
 api/src/main/java/org/apache/unomi/api/PropertyType.java     | 10 ++++++----
 api/src/main/java/org/apache/unomi/api/ValueType.java        |  5 ++---
 api/src/main/java/org/apache/unomi/api/actions/Action.java   |  8 ++++----
 .../main/java/org/apache/unomi/api/conditions/Condition.java |  9 ++++-----
 .../java/org/apache/unomi/api/conditions/ConditionType.java  |  4 ++--
 .../org/apache/unomi/persistence/spi/CustomObjectMapper.java |  2 +-
 plugins/baseplugin/pom.xml                                   |  6 +++---
 16 files changed, 50 insertions(+), 58 deletions(-)

diff --git a/api/pom.xml b/api/pom.xml
index 8a3747f..7bc17fa 100644
--- a/api/pom.xml
+++ b/api/pom.xml
@@ -31,18 +31,12 @@
     <packaging>bundle</packaging>
 
     <dependencies>
-        <!--
         <dependency>
-            <groupId>javax.xml.bind</groupId>
-            <artifactId>jaxb-api</artifactId>
-            <version>2.2.11</version>
+            <groupId>jakarta.xml.bind</groupId>
+            <artifactId>jakarta.xml.bind-api</artifactId>
+            <version>2.3.2</version>
             <scope>provided</scope>
         </dependency>
-        -->
-        <dependency>
-            <groupId>com.fasterxml.jackson.core</groupId>
-            <artifactId>jackson-annotations</artifactId>
-        </dependency>
         <dependency>
             <groupId>org.apache.commons</groupId>
             <artifactId>commons-lang3</artifactId>
diff --git a/api/src/main/java/org/apache/unomi/api/Consent.java b/api/src/main/java/org/apache/unomi/api/Consent.java
index 100a918..2cb20ab 100644
--- a/api/src/main/java/org/apache/unomi/api/Consent.java
+++ b/api/src/main/java/org/apache/unomi/api/Consent.java
@@ -16,8 +16,7 @@
  */
 package org.apache.unomi.api;
 
-import com.fasterxml.jackson.annotation.JsonIgnore;
-
+import javax.xml.bind.annotation.XmlTransient;
 import java.io.Serializable;
 import java.text.DateFormat;
 import java.text.ParseException;
@@ -182,7 +181,7 @@ public class Consent implements Serializable {
      * @return true if the consent is granted using the current date (internally a new Date() is created and the
      * {@link Consent#isConsentGrantedAtDate} is called.
      */
-    @JsonIgnore
+    @XmlTransient
     public boolean isConsentGrantedNow() {
         return isConsentGrantedAtDate(new Date());
     }
@@ -192,7 +191,7 @@ public class Consent implements Serializable {
      * @param testDate the date against which to test the consent to be granted.
      * @return true if the consent is granted at the specified date, false otherwise.
      */
-    @JsonIgnore
+    @XmlTransient
     public boolean isConsentGrantedAtDate(Date testDate) {
         if (getStatusDate().before(testDate) && (getRevokeDate() == null || (getRevokeDate().after(testDate)))) {
             if (getStatus().equals(ConsentStatus.GRANTED)) {
@@ -212,7 +211,7 @@ public class Consent implements Serializable {
      * @return a Map that contains the following key-value pairs : typeIdentifier:String, status:String (must
      *                   be one of GRANTED, DENIED or REVOKED), statusDate:String (generated by the dateFormat), revokeDate:String (generated by the dateFormat)
      */
-    @JsonIgnore
+    @XmlTransient
     public Map<String,Object> toMap(DateFormat dateFormat) {
         Map<String,Object> map = new LinkedHashMap<>();
         map.put("scope", scope);
diff --git a/api/src/main/java/org/apache/unomi/api/Event.java b/api/src/main/java/org/apache/unomi/api/Event.java
index bd51272..ab7e1b0 100644
--- a/api/src/main/java/org/apache/unomi/api/Event.java
+++ b/api/src/main/java/org/apache/unomi/api/Event.java
@@ -17,10 +17,10 @@
 
 package org.apache.unomi.api;
 
-import com.fasterxml.jackson.annotation.JsonIgnore;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.unomi.api.actions.ActionPostExecutor;
 
+import javax.xml.bind.annotation.XmlTransient;
 import java.util.*;
 
 /**
@@ -238,7 +238,7 @@ public class Event extends Item implements TimestampedItem {
      *
      * @return the profile
      */
-    @JsonIgnore
+    @XmlTransient
     public Profile getProfile() {
         return profile;
     }
@@ -257,7 +257,7 @@ public class Event extends Item implements TimestampedItem {
      *
      * @return the session
      */
-    @JsonIgnore
+    @XmlTransient
     public Session getSession() {
         return session;
     }
@@ -295,7 +295,7 @@ public class Event extends Item implements TimestampedItem {
      *
      * @return the attributes
      */
-    @JsonIgnore
+    @XmlTransient
     public Map<String, Object> getAttributes() {
         return attributes;
     }
@@ -424,7 +424,7 @@ public class Event extends Item implements TimestampedItem {
      *
      * @return the action post executors
      */
-    @JsonIgnore
+    @XmlTransient
     public List<ActionPostExecutor> getActionPostExecutors() {
         return actionPostExecutors;
     }
diff --git a/api/src/main/java/org/apache/unomi/api/EventType.java b/api/src/main/java/org/apache/unomi/api/EventType.java
index 5ae05b8..7e49319 100644
--- a/api/src/main/java/org/apache/unomi/api/EventType.java
+++ b/api/src/main/java/org/apache/unomi/api/EventType.java
@@ -16,6 +16,7 @@
  */
 package org.apache.unomi.api;
 
+import javax.xml.bind.annotation.XmlRootElement;
 import java.util.Set;
 
 /**
diff --git a/api/src/main/java/org/apache/unomi/api/MetadataItem.java b/api/src/main/java/org/apache/unomi/api/MetadataItem.java
index 70906fc..fb8b521 100644
--- a/api/src/main/java/org/apache/unomi/api/MetadataItem.java
+++ b/api/src/main/java/org/apache/unomi/api/MetadataItem.java
@@ -17,8 +17,8 @@
 
 package org.apache.unomi.api;
 
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlTransient;
 
 /**
  * A superclass for all {@link Item}s that bear {@link Metadata}.
@@ -40,7 +40,7 @@ public abstract class MetadataItem extends Item {
      *
      * @return the associated Metadata
      */
-    @JsonProperty("metadata")
+    @XmlElement(name = "metadata")
     public Metadata getMetadata() {
         return metadata;
     }
@@ -50,7 +50,7 @@ public abstract class MetadataItem extends Item {
         this.metadata = metadata;
     }
 
-    @JsonIgnore
+    @XmlTransient
     public String getScope() {
         return metadata.getScope();
     }
diff --git a/api/src/main/java/org/apache/unomi/api/PartialList.java b/api/src/main/java/org/apache/unomi/api/PartialList.java
index 2d398dc..568cf33 100644
--- a/api/src/main/java/org/apache/unomi/api/PartialList.java
+++ b/api/src/main/java/org/apache/unomi/api/PartialList.java
@@ -17,8 +17,7 @@
 
 package org.apache.unomi.api;
 
-import com.fasterxml.jackson.annotation.JsonIgnore;
-
+import javax.xml.bind.annotation.XmlTransient;
 import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.List;
@@ -140,7 +139,7 @@ public class PartialList<T> implements Serializable {
      *
      * @return the size of this PartialList
      */
-    @JsonIgnore
+    @XmlTransient
     public int size() {
         return list.size();
     }
@@ -151,7 +150,7 @@ public class PartialList<T> implements Serializable {
      * @param index the index of the element to retrieve
      * @return the element at the specified index
      */
-    @JsonIgnore
+    @XmlTransient
     public T get(int index) {
         return list.get(index);
     }
diff --git a/api/src/main/java/org/apache/unomi/api/PersonaWithSessions.java b/api/src/main/java/org/apache/unomi/api/PersonaWithSessions.java
index 0948dc9..0a507e9 100644
--- a/api/src/main/java/org/apache/unomi/api/PersonaWithSessions.java
+++ b/api/src/main/java/org/apache/unomi/api/PersonaWithSessions.java
@@ -17,8 +17,7 @@
 
 package org.apache.unomi.api;
 
-import com.fasterxml.jackson.annotation.JsonIgnore;
-
+import javax.xml.bind.annotation.XmlTransient;
 import java.io.Serializable;
 import java.util.List;
 
@@ -54,7 +53,7 @@ public class PersonaWithSessions implements Serializable {
         this.sessions = sessions;
     }
 
-    @JsonIgnore
+    @XmlTransient
     public PersonaSession getLastSession() {
         return sessions.size()>0?sessions.get(0):null;
     }
diff --git a/api/src/main/java/org/apache/unomi/api/Profile.java b/api/src/main/java/org/apache/unomi/api/Profile.java
index 48d7707..7115bd5 100644
--- a/api/src/main/java/org/apache/unomi/api/Profile.java
+++ b/api/src/main/java/org/apache/unomi/api/Profile.java
@@ -17,11 +17,11 @@
 
 package org.apache.unomi.api;
 
-import com.fasterxml.jackson.annotation.JsonIgnore;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.unomi.api.segments.Scoring;
 import org.apache.unomi.api.segments.Segment;
 
+import javax.xml.bind.annotation.XmlTransient;
 import java.util.*;
 
 /**
@@ -175,7 +175,7 @@ public class Profile extends Item {
      *
      * Note that Profiles are always in the shared system scope ({@link Metadata#SYSTEM_SCOPE}).
      */
-    @JsonIgnore
+    @XmlTransient
     public String getScope() {
         return Metadata.SYSTEM_SCOPE;
     }
@@ -246,7 +246,7 @@ public class Profile extends Item {
      * Returns true if this profile is an anonymous profile.
      * @return true of the profile has been marked as an anonymous profile, false otherwise.
      */
-    @JsonIgnore
+    @XmlTransient
     public boolean isAnonymousProfile() {
         Boolean anonymous = (Boolean) getSystemProperties().get("isAnonymousProfile");
         return anonymous != null && anonymous;
@@ -259,7 +259,7 @@ public class Profile extends Item {
      * @return true if the operation was successful (inserted exception in the case of a revoked consent, in which case
      * it is successful if there was a consent to revoke).
      */
-    @JsonIgnore
+    @XmlTransient
     public boolean setConsent(Consent consent) {
         if (ConsentStatus.REVOKED.equals(consent.getStatus())) {
             if (consent.getScope() != null) {
diff --git a/api/src/main/java/org/apache/unomi/api/PropertyMergeStrategyType.java b/api/src/main/java/org/apache/unomi/api/PropertyMergeStrategyType.java
index 17e128e..dd47a51 100644
--- a/api/src/main/java/org/apache/unomi/api/PropertyMergeStrategyType.java
+++ b/api/src/main/java/org/apache/unomi/api/PropertyMergeStrategyType.java
@@ -17,7 +17,7 @@
 
 package org.apache.unomi.api;
 
-import com.fasterxml.jackson.annotation.JsonIgnore;
+import javax.xml.bind.annotation.XmlTransient;
 
 /**
  * A unomi plugin that defines a new property merge strategy.
@@ -57,7 +57,7 @@ public class PropertyMergeStrategyType implements PluginType {
         this.filter = filter;
     }
 
-    @JsonIgnore
+    @XmlTransient
     public long getPluginId() {
         return pluginId;
     }
diff --git a/api/src/main/java/org/apache/unomi/api/PropertyType.java b/api/src/main/java/org/apache/unomi/api/PropertyType.java
index a56c80c..54ccae4 100644
--- a/api/src/main/java/org/apache/unomi/api/PropertyType.java
+++ b/api/src/main/java/org/apache/unomi/api/PropertyType.java
@@ -17,17 +17,19 @@
 
 package org.apache.unomi.api;
 
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonProperty;
 import org.apache.unomi.api.query.DateRange;
 import org.apache.unomi.api.query.IpRange;
 import org.apache.unomi.api.query.NumericRange;
 
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlTransient;
 import java.util.*;
 
 /**
  * A user-defined profile or session property, specifying how possible values are constrained, if the value is multi-valued (a vector of values as opposed to a scalar value).
  */
+@XmlRootElement
 public class PropertyType extends MetadataItem {
     /**
      * The PropertyType ITEM_TYPE.
@@ -94,7 +96,7 @@ public class PropertyType extends MetadataItem {
      * @return the value type identifier associated with values defined by this PropertyType
      * @see ValueType
      */
-    @JsonProperty("type")
+    @XmlElement(name = "type")
     public String getValueTypeId() {
         return valueTypeId;
     }
@@ -113,7 +115,7 @@ public class PropertyType extends MetadataItem {
      *
      * @return the value type associated with values defined for properties using this PropertyType
      */
-    @JsonIgnore
+    @XmlTransient
     public ValueType getValueType() {
         return valueType;
     }
diff --git a/api/src/main/java/org/apache/unomi/api/ValueType.java b/api/src/main/java/org/apache/unomi/api/ValueType.java
index e76c01a..16e1eac 100644
--- a/api/src/main/java/org/apache/unomi/api/ValueType.java
+++ b/api/src/main/java/org/apache/unomi/api/ValueType.java
@@ -17,8 +17,7 @@
 
 package org.apache.unomi.api;
 
-import com.fasterxml.jackson.annotation.JsonIgnore;
-
+import javax.xml.bind.annotation.XmlTransient;
 import java.util.LinkedHashSet;
 import java.util.Set;
 
@@ -108,7 +107,7 @@ public class ValueType implements PluginType {
         this.descriptionKey = descriptionKey;
     }
 
-    @JsonIgnore
+    @XmlTransient
     public long getPluginId() {
         return pluginId;
     }
diff --git a/api/src/main/java/org/apache/unomi/api/actions/Action.java b/api/src/main/java/org/apache/unomi/api/actions/Action.java
index 8880434..b3505bb 100644
--- a/api/src/main/java/org/apache/unomi/api/actions/Action.java
+++ b/api/src/main/java/org/apache/unomi/api/actions/Action.java
@@ -17,10 +17,10 @@
 
 package org.apache.unomi.api.actions;
 
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonProperty;
 import org.apache.unomi.api.rules.Rule;
 
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlTransient;
 import java.io.Serializable;
 import java.util.HashMap;
 import java.util.Map;
@@ -54,7 +54,7 @@ public class Action implements Serializable {
      *
      * @return the action's type
      */
-    @JsonIgnore
+    @XmlTransient
     public ActionType getActionType() {
         return actionType;
     }
@@ -74,7 +74,7 @@ public class Action implements Serializable {
      *
      * @return the identifier of the associated action type
      */
-    @JsonProperty("type")
+    @XmlElement(name = "type")
     public String getActionTypeId() {
         return actionTypeId;
     }
diff --git a/api/src/main/java/org/apache/unomi/api/conditions/Condition.java b/api/src/main/java/org/apache/unomi/api/conditions/Condition.java
index 33b0be2..a319ddd 100644
--- a/api/src/main/java/org/apache/unomi/api/conditions/Condition.java
+++ b/api/src/main/java/org/apache/unomi/api/conditions/Condition.java
@@ -17,9 +17,8 @@
 
 package org.apache.unomi.api.conditions;
 
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonProperty;
-
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlTransient;
 import java.io.Serializable;
 import java.util.HashMap;
 import java.util.Map;
@@ -54,7 +53,7 @@ public class Condition implements Serializable {
      *
      * @return the condition type
      */
-    @JsonIgnore
+    @XmlTransient
     public ConditionType getConditionType() {
         return conditionType;
     }
@@ -74,7 +73,7 @@ public class Condition implements Serializable {
      *
      * @return the identifier of the associated condition type
      */
-    @JsonProperty("type")
+    @XmlElement(name="type")
     public String getConditionTypeId() {
         return conditionTypeId;
     }
diff --git a/api/src/main/java/org/apache/unomi/api/conditions/ConditionType.java b/api/src/main/java/org/apache/unomi/api/conditions/ConditionType.java
index 39188d2..c8a4322 100644
--- a/api/src/main/java/org/apache/unomi/api/conditions/ConditionType.java
+++ b/api/src/main/java/org/apache/unomi/api/conditions/ConditionType.java
@@ -17,11 +17,11 @@
 
 package org.apache.unomi.api.conditions;
 
-import com.fasterxml.jackson.annotation.JsonProperty;
 import org.apache.unomi.api.Metadata;
 import org.apache.unomi.api.MetadataItem;
 import org.apache.unomi.api.Parameter;
 
+import javax.xml.bind.annotation.XmlElement;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -113,7 +113,7 @@ public class ConditionType extends MetadataItem  {
      *
      * @return a List of the defined {@link Parameter}s for this ConditionType
      */
-    @JsonProperty("parameters")
+    @XmlElement(name = "parameters")
     public List<Parameter> getParameters() {
         return parameters;
     }
diff --git a/persistence-spi/src/main/java/org/apache/unomi/persistence/spi/CustomObjectMapper.java b/persistence-spi/src/main/java/org/apache/unomi/persistence/spi/CustomObjectMapper.java
index 3ec3dbd..5e5ba94 100644
--- a/persistence-spi/src/main/java/org/apache/unomi/persistence/spi/CustomObjectMapper.java
+++ b/persistence-spi/src/main/java/org/apache/unomi/persistence/spi/CustomObjectMapper.java
@@ -47,7 +47,7 @@ public class CustomObjectMapper extends ObjectMapper {
 
     public CustomObjectMapper() {
         super();
-        // super.registerModule(new JaxbAnnotationModule());
+        super.registerModule(new JaxbAnnotationModule());
         configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
         ISO8601DateFormat dateFormat = new ISO8601DateFormat();
         dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
diff --git a/plugins/baseplugin/pom.xml b/plugins/baseplugin/pom.xml
index 3b9ef91..87c3af1 100644
--- a/plugins/baseplugin/pom.xml
+++ b/plugins/baseplugin/pom.xml
@@ -37,9 +37,9 @@
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>javax.xml.bind</groupId>
-            <artifactId>jaxb-api</artifactId>
-            <version>2.2.11</version>
+            <groupId>jakarta.xml.bind</groupId>
+            <artifactId>jakarta.xml.bind-api</artifactId>
+            <version>2.3.2</version>
             <scope>provided</scope>
         </dependency>
         <dependency>