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/03 10:16:59 UTC
[unomi] branch draft-dependency-upgrades updated: Upgrading
libraries: - Karaf -> 4.2.11 - CXF -> 3.4.4 - GraphQL -> 17 - GraphQL
annotations -> 9.0 - Jackson -> 2.11.1
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 f1dff6f Upgrading libraries: - Karaf -> 4.2.11 - CXF -> 3.4.4 - GraphQL -> 17 - GraphQL annotations -> 9.0 - Jackson -> 2.11.1
f1dff6f is described below
commit f1dff6f5adca2f468c2e1415a7ea73fe3fcf7c72
Author: Serge Huber <sh...@jahia.com>
AuthorDate: Fri Sep 3 12:16:51 2021 +0200
Upgrading libraries:
- Karaf -> 4.2.11
- CXF -> 3.4.4
- GraphQL -> 17
- GraphQL annotations -> 9.0
- Jackson -> 2.11.1
---
api/pom.xml | 7 +-
.../main/java/org/apache/unomi/api/Consent.java | 9 ++-
api/src/main/java/org/apache/unomi/api/Event.java | 10 +--
.../java/org/apache/unomi/api/MetadataItem.java | 8 +-
.../java/org/apache/unomi/api/PartialList.java | 7 +-
.../org/apache/unomi/api/PersonaWithSessions.java | 5 +-
.../main/java/org/apache/unomi/api/Profile.java | 8 +-
.../unomi/api/PropertyMergeStrategyType.java | 4 +-
.../java/org/apache/unomi/api/PropertyType.java | 8 +-
.../main/java/org/apache/unomi/api/ValueType.java | 5 +-
.../java/org/apache/unomi/api/actions/Action.java | 8 +-
.../org/apache/unomi/api/conditions/Condition.java | 9 ++-
.../apache/unomi/api/conditions/ConditionType.java | 4 +-
.../converters/UnomiToGraphQLConverter.java | 3 +-
.../apache/unomi/graphql/scalars/DateFunction.java | 8 +-
.../unomi/graphql/scalars/DateTimeFunction.java | 8 +-
.../apache/unomi/graphql/scalars/JSONFunction.java | 4 +-
.../unomi/graphql/schema/PropertyFilterUtils.java | 13 ++--
.../graphql/schema/PropertyValueTypeHelper.java | 7 +-
graphql/karaf-feature/pom.xml | 4 +-
graphql/karaf-feature/src/main/feature/feature.xml | 16 ++--
graphql/pom.xml | 9 ++-
kar/src/main/feature/feature.xml | 2 +-
.../unomi/persistence/spi/CustomObjectMapper.java | 4 +-
.../spi/PropertyTypedObjectDeserializer.java | 9 ++-
plugins/kafka-injector/pom.xml | 4 +-
pom.xml | 8 +-
rest/pom.xml | 88 +++++++++++++++++++++-
28 files changed, 195 insertions(+), 84 deletions(-)
diff --git a/api/pom.xml b/api/pom.xml
index 287c0dc..272d1d9 100644
--- a/api/pom.xml
+++ b/api/pom.xml
@@ -31,12 +31,18 @@
<packaging>bundle</packaging>
<dependencies>
+ <!--
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.2.11</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>
@@ -65,7 +71,6 @@
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
- <version>4.2.1</version>
<extensions>true</extensions>
<configuration>
<instructions>
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 2cb20ab..100a918 100644
--- a/api/src/main/java/org/apache/unomi/api/Consent.java
+++ b/api/src/main/java/org/apache/unomi/api/Consent.java
@@ -16,7 +16,8 @@
*/
package org.apache.unomi.api;
-import javax.xml.bind.annotation.XmlTransient;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
import java.io.Serializable;
import java.text.DateFormat;
import java.text.ParseException;
@@ -181,7 +182,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.
*/
- @XmlTransient
+ @JsonIgnore
public boolean isConsentGrantedNow() {
return isConsentGrantedAtDate(new Date());
}
@@ -191,7 +192,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.
*/
- @XmlTransient
+ @JsonIgnore
public boolean isConsentGrantedAtDate(Date testDate) {
if (getStatusDate().before(testDate) && (getRevokeDate() == null || (getRevokeDate().after(testDate)))) {
if (getStatus().equals(ConsentStatus.GRANTED)) {
@@ -211,7 +212,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)
*/
- @XmlTransient
+ @JsonIgnore
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 ab7e1b0..bd51272 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
*/
- @XmlTransient
+ @JsonIgnore
public Profile getProfile() {
return profile;
}
@@ -257,7 +257,7 @@ public class Event extends Item implements TimestampedItem {
*
* @return the session
*/
- @XmlTransient
+ @JsonIgnore
public Session getSession() {
return session;
}
@@ -295,7 +295,7 @@ public class Event extends Item implements TimestampedItem {
*
* @return the attributes
*/
- @XmlTransient
+ @JsonIgnore
public Map<String, Object> getAttributes() {
return attributes;
}
@@ -424,7 +424,7 @@ public class Event extends Item implements TimestampedItem {
*
* @return the action post executors
*/
- @XmlTransient
+ @JsonIgnore
public List<ActionPostExecutor> getActionPostExecutors() {
return actionPostExecutors;
}
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 fb8b521..70906fc 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 javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlTransient;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
/**
* 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
*/
- @XmlElement(name = "metadata")
+ @JsonProperty("metadata")
public Metadata getMetadata() {
return metadata;
}
@@ -50,7 +50,7 @@ public abstract class MetadataItem extends Item {
this.metadata = metadata;
}
- @XmlTransient
+ @JsonIgnore
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 568cf33..2d398dc 100644
--- a/api/src/main/java/org/apache/unomi/api/PartialList.java
+++ b/api/src/main/java/org/apache/unomi/api/PartialList.java
@@ -17,7 +17,8 @@
package org.apache.unomi.api;
-import javax.xml.bind.annotation.XmlTransient;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
@@ -139,7 +140,7 @@ public class PartialList<T> implements Serializable {
*
* @return the size of this PartialList
*/
- @XmlTransient
+ @JsonIgnore
public int size() {
return list.size();
}
@@ -150,7 +151,7 @@ public class PartialList<T> implements Serializable {
* @param index the index of the element to retrieve
* @return the element at the specified index
*/
- @XmlTransient
+ @JsonIgnore
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 0a507e9..0948dc9 100644
--- a/api/src/main/java/org/apache/unomi/api/PersonaWithSessions.java
+++ b/api/src/main/java/org/apache/unomi/api/PersonaWithSessions.java
@@ -17,7 +17,8 @@
package org.apache.unomi.api;
-import javax.xml.bind.annotation.XmlTransient;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
import java.io.Serializable;
import java.util.List;
@@ -53,7 +54,7 @@ public class PersonaWithSessions implements Serializable {
this.sessions = sessions;
}
- @XmlTransient
+ @JsonIgnore
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 7115bd5..48d7707 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}).
*/
- @XmlTransient
+ @JsonIgnore
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.
*/
- @XmlTransient
+ @JsonIgnore
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).
*/
- @XmlTransient
+ @JsonIgnore
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 dd47a51..17e128e 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 javax.xml.bind.annotation.XmlTransient;
+import com.fasterxml.jackson.annotation.JsonIgnore;
/**
* A unomi plugin that defines a new property merge strategy.
@@ -57,7 +57,7 @@ public class PropertyMergeStrategyType implements PluginType {
this.filter = filter;
}
- @XmlTransient
+ @JsonIgnore
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 090d7ee..a56c80c 100644
--- a/api/src/main/java/org/apache/unomi/api/PropertyType.java
+++ b/api/src/main/java/org/apache/unomi/api/PropertyType.java
@@ -17,12 +17,12 @@
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.XmlTransient;
import java.util.*;
/**
@@ -94,7 +94,7 @@ public class PropertyType extends MetadataItem {
* @return the value type identifier associated with values defined by this PropertyType
* @see ValueType
*/
- @XmlElement(name = "type")
+ @JsonProperty("type")
public String getValueTypeId() {
return valueTypeId;
}
@@ -113,7 +113,7 @@ public class PropertyType extends MetadataItem {
*
* @return the value type associated with values defined for properties using this PropertyType
*/
- @XmlTransient
+ @JsonIgnore
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 16e1eac..e76c01a 100644
--- a/api/src/main/java/org/apache/unomi/api/ValueType.java
+++ b/api/src/main/java/org/apache/unomi/api/ValueType.java
@@ -17,7 +17,8 @@
package org.apache.unomi.api;
-import javax.xml.bind.annotation.XmlTransient;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
import java.util.LinkedHashSet;
import java.util.Set;
@@ -107,7 +108,7 @@ public class ValueType implements PluginType {
this.descriptionKey = descriptionKey;
}
- @XmlTransient
+ @JsonIgnore
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 b3505bb..8880434 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
*/
- @XmlTransient
+ @JsonIgnore
public ActionType getActionType() {
return actionType;
}
@@ -74,7 +74,7 @@ public class Action implements Serializable {
*
* @return the identifier of the associated action type
*/
- @XmlElement(name = "type")
+ @JsonProperty("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 a319ddd..33b0be2 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,8 +17,9 @@
package org.apache.unomi.api.conditions;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlTransient;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
@@ -53,7 +54,7 @@ public class Condition implements Serializable {
*
* @return the condition type
*/
- @XmlTransient
+ @JsonIgnore
public ConditionType getConditionType() {
return conditionType;
}
@@ -73,7 +74,7 @@ public class Condition implements Serializable {
*
* @return the identifier of the associated condition type
*/
- @XmlElement(name="type")
+ @JsonProperty("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 c8a4322..39188d2 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
*/
- @XmlElement(name = "parameters")
+ @JsonProperty("parameters")
public List<Parameter> getParameters() {
return parameters;
}
diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/converters/UnomiToGraphQLConverter.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/converters/UnomiToGraphQLConverter.java
index 450b30d..1778d11 100644
--- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/converters/UnomiToGraphQLConverter.java
+++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/converters/UnomiToGraphQLConverter.java
@@ -18,6 +18,7 @@
package org.apache.unomi.graphql.converters;
import graphql.Scalars;
+import graphql.scalars.ExtendedScalars;
import graphql.schema.GraphQLList;
import graphql.schema.GraphQLNonNull;
import graphql.schema.GraphQLType;
@@ -56,7 +57,7 @@ public interface UnomiToGraphQLConverter {
graphQLType = Scalars.GraphQLInt;
break;
case "long":
- graphQLType = Scalars.GraphQLLong;
+ graphQLType = ExtendedScalars.GraphQLLong;
break;
case "float":
graphQLType = Scalars.GraphQLFloat;
diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/scalars/DateFunction.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/scalars/DateFunction.java
index 6b24212..5c16ea2 100644
--- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/scalars/DateFunction.java
+++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/scalars/DateFunction.java
@@ -18,7 +18,9 @@ package org.apache.unomi.graphql.scalars;
import graphql.annotations.processor.ProcessingElementsContainer;
import graphql.annotations.processor.typeFunctions.TypeFunction;
+import graphql.scalars.ExtendedScalars;
import graphql.scalars.datetime.DateScalar;
+import graphql.schema.GraphQLScalarType;
import graphql.schema.GraphQLType;
import java.lang.reflect.AnnotatedType;
@@ -26,14 +28,14 @@ import java.time.LocalDate;
public class DateFunction implements TypeFunction {
- public static final DateScalar DATE_SCALAR = new DateScalar();
+ public static final GraphQLScalarType DATE_SCALAR = ExtendedScalars.Date;
public DateFunction() {
}
@Override
public String getTypeName(Class<?> aClass, AnnotatedType annotatedType) {
- return DATE_SCALAR.getName();
+ return ExtendedScalars.Date.getName();
}
@Override
@@ -43,7 +45,7 @@ public class DateFunction implements TypeFunction {
@Override
public GraphQLType buildType(boolean input, Class<?> aClass, AnnotatedType annotatedType, ProcessingElementsContainer container) {
- return DATE_SCALAR;
+ return ExtendedScalars.Date;
}
}
diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/scalars/DateTimeFunction.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/scalars/DateTimeFunction.java
index 2bda277..cebd932 100644
--- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/scalars/DateTimeFunction.java
+++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/scalars/DateTimeFunction.java
@@ -18,7 +18,9 @@ package org.apache.unomi.graphql.scalars;
import graphql.annotations.processor.ProcessingElementsContainer;
import graphql.annotations.processor.typeFunctions.TypeFunction;
+import graphql.scalars.ExtendedScalars;
import graphql.scalars.datetime.DateTimeScalar;
+import graphql.schema.GraphQLScalarType;
import graphql.schema.GraphQLType;
import java.lang.reflect.AnnotatedType;
@@ -26,11 +28,11 @@ import java.time.OffsetDateTime;
public class DateTimeFunction implements TypeFunction {
- public static final DateTimeScalar DATE_TIME_SCALAR = new DateTimeScalar();
+ public static final GraphQLScalarType DATE_TIME_SCALAR = ExtendedScalars.DateTime;
@Override
public String getTypeName(Class<?> aClass, AnnotatedType annotatedType) {
- return DATE_TIME_SCALAR.getName();
+ return ExtendedScalars.DateTime.getName();
}
@Override
@@ -40,7 +42,7 @@ public class DateTimeFunction implements TypeFunction {
@Override
public GraphQLType buildType(boolean input, Class<?> aClass, AnnotatedType annotatedType, ProcessingElementsContainer container) {
- return DATE_TIME_SCALAR;
+ return ExtendedScalars.DateTime;
}
}
diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/scalars/JSONFunction.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/scalars/JSONFunction.java
index b3590b8..a676e3e 100644
--- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/scalars/JSONFunction.java
+++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/scalars/JSONFunction.java
@@ -18,14 +18,16 @@ package org.apache.unomi.graphql.scalars;
import graphql.annotations.processor.ProcessingElementsContainer;
import graphql.annotations.processor.typeFunctions.TypeFunction;
+import graphql.scalars.ExtendedScalars;
import graphql.scalars.object.JsonScalar;
+import graphql.schema.GraphQLScalarType;
import graphql.schema.GraphQLType;
import java.lang.reflect.AnnotatedType;
public class JSONFunction implements TypeFunction {
- public static final JsonScalar JSON_SCALAR = new JsonScalar();
+ public static final GraphQLScalarType JSON_SCALAR = ExtendedScalars.Json;
@Override
public String getTypeName(Class<?> aClass, AnnotatedType annotatedType) {
diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/schema/PropertyFilterUtils.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/schema/PropertyFilterUtils.java
index 436193a..3e02449 100644
--- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/schema/PropertyFilterUtils.java
+++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/schema/PropertyFilterUtils.java
@@ -18,6 +18,7 @@ package org.apache.unomi.graphql.schema;
import graphql.Scalars;
import graphql.annotations.processor.GraphQLAnnotations;
+import graphql.scalars.ExtendedScalars;
import graphql.schema.GraphQLInputObjectField;
import graphql.schema.GraphQLInputObjectType;
import graphql.schema.GraphQLInputType;
@@ -74,23 +75,23 @@ public class PropertyFilterUtils {
} else if ("long".equals(propertyType.getValueTypeId())) {
fieldDefinitions.add(GraphQLInputObjectField.newInputObjectField()
.name(propertyName + "_equals")
- .type(Scalars.GraphQLLong)
+ .type(ExtendedScalars.GraphQLLong)
.build());
fieldDefinitions.add(GraphQLInputObjectField.newInputObjectField()
.name(propertyName + "_lt")
- .type(Scalars.GraphQLLong)
+ .type(ExtendedScalars.GraphQLLong)
.build());
fieldDefinitions.add(GraphQLInputObjectField.newInputObjectField()
.name(propertyName + "_lte")
- .type(Scalars.GraphQLLong)
+ .type(ExtendedScalars.GraphQLLong)
.build());
fieldDefinitions.add(GraphQLInputObjectField.newInputObjectField()
.name(propertyName + "_gt")
- .type(Scalars.GraphQLLong)
+ .type(ExtendedScalars.GraphQLLong)
.build());
fieldDefinitions.add(GraphQLInputObjectField.newInputObjectField()
.name(propertyName + "_gte")
- .type(Scalars.GraphQLLong)
+ .type(ExtendedScalars.GraphQLLong)
.build());
} else if ("float".equals(propertyType.getValueTypeId())) {
@@ -117,7 +118,7 @@ public class PropertyFilterUtils {
} else if ("date".equals(propertyType.getValueTypeId())) {
fieldDefinitions.add(GraphQLInputObjectField.newInputObjectField()
.name(propertyName + "_equals")
- .type(DateTimeFunction.DATE_TIME_SCALAR)
+ .type(ExtendedScalars.DateTime)
.build());
fieldDefinitions.add(GraphQLInputObjectField.newInputObjectField()
.name(propertyName + "_lt")
diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/schema/PropertyValueTypeHelper.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/schema/PropertyValueTypeHelper.java
index 797b70d..85ce8b0 100644
--- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/schema/PropertyValueTypeHelper.java
+++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/schema/PropertyValueTypeHelper.java
@@ -17,6 +17,7 @@
package org.apache.unomi.graphql.schema;
import graphql.Scalars;
+import graphql.scalars.ExtendedScalars;
import graphql.schema.DataFetchingEnvironment;
import graphql.schema.GraphQLInputObjectType;
import graphql.schema.GraphQLInputType;
@@ -56,10 +57,10 @@ public class PropertyValueTypeHelper {
if (Scalars.GraphQLFloat.getName().equals(scalarType.getName())
|| Scalars.GraphQLInt.getName().equals(scalarType.getName())
- || Scalars.GraphQLLong.getName().equals(scalarType.getName())
+ || ExtendedScalars.GraphQLLong.getName().equals(scalarType.getName())
|| Scalars.GraphQLFloat.getName().equals(scalarType.getName())
- || Scalars.GraphQLBigDecimal.getName().equals(scalarType.getName())
- || Scalars.GraphQLBigInteger.getName().equals(scalarType.getName())) {
+ || ExtendedScalars.GraphQLBigDecimal.getName().equals(scalarType.getName())
+ || ExtendedScalars.GraphQLBigInteger.getName().equals(scalarType.getName())) {
return "propertyValueInteger";
} else if (DateTimeFunction.DATE_TIME_SCALAR.getName().equals(scalarType.getName())
|| DateFunction.DATE_SCALAR.getName().equals(scalarType.getName())) {
diff --git a/graphql/karaf-feature/pom.xml b/graphql/karaf-feature/pom.xml
index 07f4478..2a323f9 100644
--- a/graphql/karaf-feature/pom.xml
+++ b/graphql/karaf-feature/pom.xml
@@ -52,12 +52,12 @@
<dependency>
<groupId>org.antlr</groupId>
<artifactId>antlr4-runtime</artifactId>
- <version>4.7.1</version>
+ <version>4.9.2</version>
</dependency>
<dependency>
<groupId>com.graphql-java</groupId>
<artifactId>java-dataloader</artifactId>
- <version>2.2.0</version>
+ <version>3.1.0</version>
</dependency>
<dependency>
<groupId>org.reactivestreams</groupId>
diff --git a/graphql/karaf-feature/src/main/feature/feature.xml b/graphql/karaf-feature/src/main/feature/feature.xml
index 3da9ba9..6fbe9bb 100644
--- a/graphql/karaf-feature/src/main/feature/feature.xml
+++ b/graphql/karaf-feature/src/main/feature/feature.xml
@@ -16,7 +16,7 @@
~ limitations under the License.
-->
<features xmlns="http://karaf.apache.org/xmlns/features/v1.6.0" name="cdp-graphql-feature">
- <feature name="cdp-graphql-feature" description="Apache Unomi :: GraphQL API :: Karaf Feature" version="2.0.0.SNAPSHOT">
+ <feature name="cdp-graphql-feature" description="Apache Unomi :: GraphQL API :: Karaf Feature" version="${project.version}">
<details>Apache Unomi Context GraphQL API Karaf Feature</details>
<feature>unomi-kar</feature>
<feature prerequisite="true" dependency="false">wrap</feature>
@@ -28,13 +28,13 @@
<bundle start-level="80">wrap:mvn:org.codehaus.mojo/animal-sniffer-annotations/1.14</bundle>
<bundle start-level="80">mvn:commons-fileupload/commons-fileupload/1.3.1</bundle>
<bundle start-level="80">mvn:commons-io/commons-io/2.4</bundle>
- <bundle start-level="80">mvn:org.antlr/antlr4-runtime/4.7.1</bundle>
- <bundle start-level="80">mvn:com.graphql-java/java-dataloader/2.2.0</bundle>
+ <bundle start-level="80">mvn:org.antlr/antlr4-runtime/4.9.2</bundle>
+ <bundle start-level="80">mvn:com.graphql-java/java-dataloader/3.1.0</bundle>
<bundle start-level="80">mvn:org.reactivestreams/reactive-streams/1.0.2</bundle>
- <bundle start-level="80">mvn:com.graphql-java/graphql-java/14.0</bundle>
- <bundle start-level="80">mvn:io.github.graphql-java/graphql-java-annotations/8.0</bundle>
- <bundle start-level="80">mvn:javax.validation/validation-api/1.1.0.Final</bundle>
- <bundle start-level="80">wrap:mvn:com.graphql-java/graphql-java-extended-scalars/1.0</bundle>
+ <bundle start-level="80">mvn:com.graphql-java/graphql-java/${graphql.java.version}</bundle>
+ <bundle start-level="80">mvn:io.github.graphql-java/graphql-java-annotations/${graphql.java.annotations.version}</bundle>
+ <bundle start-level="80">mvn:jakarta.validation/jakarta.validation-api/${bean.validation.version}</bundle>
+ <bundle start-level="80">wrap:mvn:com.graphql-java/graphql-java-extended-scalars/${graphql.java.extended.scalars.version}</bundle>
<bundle start-level="80">wrap:mvn:com.squareup.okhttp3/okhttp/3.2.0</bundle>
<bundle start-level="80">wrap:mvn:com.squareup.okio/okio/1.6.0</bundle>
<bundle start-level="80">mvn:io.reactivex.rxjava2/rxjava/2.2.19</bundle>
@@ -52,6 +52,6 @@
<bundle start-level="80">mvn:org.eclipse.jetty/jetty-security/${jetty.websocket.version}</bundle>
<bundle start-level="80">mvn:org.eclipse.jetty/jetty-server/${jetty.websocket.version}</bundle>
<bundle start-level="80">mvn:org.eclipse.jetty/jetty-http/${jetty.websocket.version}</bundle>
- <bundle start-level="80" start="false">mvn:org.apache.unomi/cdp-graphql-api-impl/2.0.0-SNAPSHOT</bundle>
+ <bundle start-level="80" start="false">mvn:org.apache.unomi/cdp-graphql-api-impl/${project.version}</bundle>
</feature>
</features>
diff --git a/graphql/pom.xml b/graphql/pom.xml
index e0d1906..aec3216 100644
--- a/graphql/pom.xml
+++ b/graphql/pom.xml
@@ -32,12 +32,13 @@
<packaging>pom</packaging>
<properties>
- <graphql.java.version>14.0</graphql.java.version>
- <graphql.java.annotations.version>8.0</graphql.java.annotations.version>
- <graphql.java.extended.scalars.version>1.0</graphql.java.extended.scalars.version>
+ <graphql.java.version>17.1</graphql.java.version>
+ <graphql.java.annotations.version>9.0</graphql.java.annotations.version>
+ <graphql.java.extended.scalars.version>17.0</graphql.java.extended.scalars.version>
<reactivex.version>2.2.19</reactivex.version>
<!--jetty.websocket.version>9.4.28.v20200408</jetty.websocket.version-->
- <jetty.websocket.version>9.4.22.v20191022</jetty.websocket.version>
+ <!--jetty.websocket.version>9.4.22.v20191022</jetty.websocket.version-->
+ <jetty.websocket.version>9.4.38.v20210224</jetty.websocket.version>
</properties>
<modules>
diff --git a/kar/src/main/feature/feature.xml b/kar/src/main/feature/feature.xml
index 774485c..cd50edb 100644
--- a/kar/src/main/feature/feature.xml
+++ b/kar/src/main/feature/feature.xml
@@ -27,7 +27,7 @@
<feature>war</feature>
<feature>cxf-jaxrs</feature>
<feature>cxf-features-metrics</feature>
- <feature>cxf-rs-description-openapi-v3</feature>
+ <!--feature>cxf-rs-description-openapi-v3</feature-->
<feature>cellar</feature>
<feature>eventadmin</feature>
<feature>shell-compat</feature>
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 786bbdc..3ec3dbd 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"));
@@ -56,7 +56,7 @@ public class CustomObjectMapper extends ObjectMapper {
new SimpleModule("PropertyTypedObjectDeserializerModule",
new Version(1, 0, 0, null, "org.apache.unomi.rest", "deserializer"));
- PropertyTypedObjectDeserializer propertyTypedObjectDeserializer = new PropertyTypedObjectDeserializer();
+ PropertyTypedObjectDeserializer propertyTypedObjectDeserializer = new PropertyTypedObjectDeserializer(null, null);
propertyTypedObjectDeserializer.registerMapping("type=.*Condition", Condition.class);
deserializerModule.addDeserializer(Object.class, propertyTypedObjectDeserializer);
diff --git a/persistence-spi/src/main/java/org/apache/unomi/persistence/spi/PropertyTypedObjectDeserializer.java b/persistence-spi/src/main/java/org/apache/unomi/persistence/spi/PropertyTypedObjectDeserializer.java
index 1057654..23a556e 100644
--- a/persistence-spi/src/main/java/org/apache/unomi/persistence/spi/PropertyTypedObjectDeserializer.java
+++ b/persistence-spi/src/main/java/org/apache/unomi/persistence/spi/PropertyTypedObjectDeserializer.java
@@ -22,6 +22,7 @@ import com.fasterxml.jackson.core.JsonTokenId;
import com.fasterxml.jackson.core.ObjectCodec;
import com.fasterxml.jackson.core.TreeNode;
import com.fasterxml.jackson.databind.DeserializationContext;
+import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.deser.std.UntypedObjectDeserializer;
import com.fasterxml.jackson.databind.node.ObjectNode;
@@ -37,7 +38,7 @@ import java.util.*;
* SimpleModule deserializerModule =
* new SimpleModule("PropertyTypedObjectDeserializerModule",
* new Version(1, 0, 0, null, "org.apache.unomi.rest", "deserializer"));
- * PropertyTypedObjectDeserializer propertyTypedObjectDeserializer = new PropertyTypedObjectDeserializer();
+ * PropertyTypedObjectDeserializer propertyTypedObjectDeserializer = new PropertyTypedObjectDeserializer(null, null);
* propertyTypedObjectDeserializer.registerMapping("type=.*Condition", Condition.class);
* deserializerModule.addDeserializer(Object.class, propertyTypedObjectDeserializer);
* objectMapper.registerModule(deserializerModule);
@@ -58,6 +59,10 @@ public class PropertyTypedObjectDeserializer extends UntypedObjectDeserializer {
private Map<String,Set<String>> fieldValuesToMatch = new LinkedHashMap<String,Set<String>>();
+ public PropertyTypedObjectDeserializer(JavaType listType, JavaType mapType) {
+ super(listType, mapType);
+ }
+
public void registerMapping(String matchExpression,
Class<? extends Object> mappedClass) {
registry.put(matchExpression, mappedClass);
@@ -74,7 +79,7 @@ public class PropertyTypedObjectDeserializer extends UntypedObjectDeserializer {
public Object deserialize(
JsonParser jp, DeserializationContext ctxt)
throws IOException {
- if (jp.getCurrentTokenId() != JsonTokenId.ID_START_OBJECT) {
+ if (jp.currentTokenId() != JsonTokenId.ID_START_OBJECT) {
return super.deserialize(jp, ctxt);
}
ObjectCodec codec = jp.getCodec();
diff --git a/plugins/kafka-injector/pom.xml b/plugins/kafka-injector/pom.xml
index 772ad0e..a3f6953 100644
--- a/plugins/kafka-injector/pom.xml
+++ b/plugins/kafka-injector/pom.xml
@@ -47,12 +47,12 @@
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
- <version>2.9.8</version>
+ <version>${version.jackson.core}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
- <version>2.9.8</version>
+ <version>${version.jackson.databind}</version>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
diff --git a/pom.xml b/pom.xml
index 98c14fa..312f163 100644
--- a/pom.xml
+++ b/pom.xml
@@ -65,10 +65,10 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<cxf.version>3.4.4</cxf.version>
- <version.jackson.core>2.12.4</version.jackson.core>
- <version.jackson.databind>2.12.4</version.jackson.databind>
- <version.jackson.jaxb>2.12.4</version.jackson.jaxb>
- <version.karaf>4.2.8</version.karaf>
+ <version.jackson.core>2.11.1</version.jackson.core>
+ <version.jackson.databind>2.11.1</version.jackson.databind>
+ <version.jackson.jaxb>2.11.1</version.jackson.jaxb>
+ <version.karaf>4.2.11</version.karaf>
<version.karaf.cellar>4.2.1</version.karaf.cellar>
<version.pax.exam>4.13.1</version.pax.exam>
<elasticsearch.version>7.4.2</elasticsearch.version>
diff --git a/rest/pom.xml b/rest/pom.xml
index ad3e9d1..c8804f3 100644
--- a/rest/pom.xml
+++ b/rest/pom.xml
@@ -105,14 +105,78 @@
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
+ <!-- CXF OpenAPI dependencies -->
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-rs-service-description-openapi-v3</artifactId>
<version>${cxf.version}</version>
- <scope>provided</scope>
+ <!--scope>provided</scope-->
+ <exclusions>
+ <exclusion>
+ <groupId>javax.validation</groupId>
+ <artifactId>validation-api</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-rs-service-description-common-openapi</artifactId>
+ <version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-rs-service-description-swagger-ui</artifactId>
+ <version>${cxf.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>io.swagger.core.v3</groupId>
+ <artifactId>swagger-jaxrs2</artifactId>
+ <version>2.1.6</version>
+ <exclusions>
+ <exclusion>
+ <groupId>javax.xml.bind</groupId>
+ <artifactId>jaxb-api</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>io.swagger.core.v3</groupId>
+ <artifactId>swagger-core</artifactId>
+ <version>2.1.6</version>
+ </dependency>
+ <dependency>
+ <groupId>io.swagger.core.v3</groupId>
+ <artifactId>swagger-models</artifactId>
+ <version>2.1.6</version>
+ </dependency>
+ <dependency>
+ <groupId>io.swagger.core.v3</groupId>
+ <artifactId>swagger-annotations</artifactId>
+ <version>2.1.6</version>
+ </dependency>
+ <dependency>
+ <groupId>io.swagger.core.v3</groupId>
+ <artifactId>swagger-integration</artifactId>
+ <version>2.1.6</version>
+ </dependency>
+ <dependency>
+ <groupId>io.github.classgraph</groupId>
+ <artifactId>classgraph</artifactId>
+ <version>4.8.65</version>
+ </dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.datatype</groupId>
+ <artifactId>jackson-datatype-jsr310</artifactId>
+ <version>${version.jackson.core}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-lang3</artifactId>
+ <version>3.11</version>
+ </dependency>
+ <!-- End of CXF OpenAPI dependencies -->
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-features-metrics</artifactId>
<version>${cxf.version}</version>
<scope>provided</scope>
@@ -157,10 +221,32 @@
<dependency>
<groupId>jakarta.validation</groupId>
<artifactId>jakarta.validation-api</artifactId>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
+ <scope>provided</scope>
</dependency>
</dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <extensions>true</extensions>
+ <configuration>
+ <instructions>
+ <Embed-Dependency>*;scope=compile|runtime</Embed-Dependency>
+ <Import-Package>
+ jdk.internal.misc;resolution:=optional,
+ *
+ </Import-Package>
+ </instructions>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
</project>