diff --git a/bom/lyo-bom/pom.xml b/bom/lyo-bom/pom.xml
index aacc2b9e3..dae3b9a06 100644
--- a/bom/lyo-bom/pom.xml
+++ b/bom/lyo-bom/pom.xml
@@ -38,11 +38,6 @@
oslc4j-json4j-provider
${v.lyo}
-
- org.eclipse.lyo.oslc4j.core
- oslc4j-core-wink
- ${v.lyo}
-
org.eclipse.lyo.oslc4j.core
oslc4j-utils
@@ -341,54 +336,7 @@
jakarta.validation-api
3.1.1
-
- com.fasterxml.jackson
- jackson-bom
- ${v.jackson}
- pom
- import
-
-
-
- com.fasterxml.jackson.core
- jackson-core
- ${v.jackson}
-
-
- com.fasterxml.jackson.core
- jackson-databind
- ${v.jackson}
-
-
- com.fasterxml.jackson.core
- jackson-annotations
- ${v.jackson}
-
-
- com.fasterxml.jackson.jakarta.rs
- jackson-jakarta-rs-json-provider
- ${v.jackson}
-
-
- com.fasterxml.jackson.jakarta.rs
- jackson-jakarta-rs-base
- ${v.jackson}
-
-
- com.fasterxml.jackson.module
- jackson-module-jakarta-xmlbind-annotations
- ${v.jackson}
-
-
- com.fasterxml.jackson.datatype
- jackson-datatype-jsr310
- ${v.jackson}
-
-
- com.fasterxml.jackson.dataformat
- jackson-dataformat-yaml
- ${v.jackson}
-
+
diff --git a/client/oslc-client/pom.xml b/client/oslc-client/pom.xml
index 7ad312285..a21d2f6e1 100644
--- a/client/oslc-client/pom.xml
+++ b/client/oslc-client/pom.xml
@@ -112,8 +112,9 @@
- com.fasterxml.jackson.core
- jackson-databind
+ org.eclipse.lyo.oslc4j.core
+ oslc4j-json4j-provider
+ ${v.lyo}
diff --git a/client/oslc-client/src/main/java/org/eclipse/lyo/client/RootServicesHelper.java b/client/oslc-client/src/main/java/org/eclipse/lyo/client/RootServicesHelper.java
index d6edafdc0..5039cf6a9 100644
--- a/client/oslc-client/src/main/java/org/eclipse/lyo/client/RootServicesHelper.java
+++ b/client/oslc-client/src/main/java/org/eclipse/lyo/client/RootServicesHelper.java
@@ -13,7 +13,8 @@
*/
package org.eclipse.lyo.client;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import org.eclipse.lyo.oslc4j.provider.json4j.internal.JSONObject;
+import jakarta.json.Json;
import jakarta.ws.rs.core.MediaType;
import jakarta.ws.rs.core.Response;
import jakarta.ws.rs.core.UriBuilder;
@@ -343,10 +344,8 @@ public String requestConsumerKey(String consumerName, String consumerSecret)
// trying to be liberal with all possible JSON content types
throw new IllegalStateException("Server returned something else than JSON in the response");
}
- ObjectMapper mapper = new ObjectMapper();
- Map jsonData = new HashMap<>();
- jsonData = mapper.readValue(content, Map.class);
- String consumerKey = (String) jsonData.get("key");
+ JSONObject jsonData = new JSONObject(Json.createReader(content).readObject());
+ String consumerKey = jsonData.getString("key");
logger.debug(
"Consumer should redirect user to this approval URL, to approve the OAuth consumer: "
+ getConsumerApprovalUrl(consumerKey));
diff --git a/core/oslc4j-core-build/pom.xml b/core/oslc4j-core-build/pom.xml
index 604f23376..a3597ecfa 100644
--- a/core/oslc4j-core-build/pom.xml
+++ b/core/oslc4j-core-build/pom.xml
@@ -22,7 +22,6 @@
../oslc-trs
../oslc4j-jena-provider
../shacl
- ../oslc4j-core-wink
../oslc4j-json4j-provider
../oslc4j-utils
../lyo-core-settings
diff --git a/core/oslc4j-core-wink/pom.xml b/core/oslc4j-core-wink/pom.xml
deleted file mode 100644
index e9ca31a69..000000000
--- a/core/oslc4j-core-wink/pom.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-
-
- 4.0.0
-
- org.eclipse.lyo.oslc4j.core
- oslc4j-core-build
- 7.0.0-SNAPSHOT
- ../oslc4j-core-build/pom.xml
-
- oslc4j-core-wink
- Lyo :: Core :: OSLC Wink ext
- Core components of the Eclipse Lyo OSLC4J SDK that rely on Wink.
-
-
-
-
-
-
-
- org.eclipse.lyo.oslc4j.core
- oslc4j-core
-
-
- org.apache.wink
- wink-json4j
- 1.4
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-source-plugin
-
-
- org.apache.maven.plugins
- maven-javadoc-plugin
-
-
- org.apache.maven.plugins
- maven-resources-plugin
-
-
-
-
diff --git a/core/oslc4j-core-wink/src/main/java/org/eclipse/lyo/oslc4j/provider/json4j/JsonHelper.java b/core/oslc4j-core-wink/src/main/java/org/eclipse/lyo/oslc4j/provider/json4j/JsonHelper.java
deleted file mode 100644
index cdee7a04b..000000000
--- a/core/oslc4j-core-wink/src/main/java/org/eclipse/lyo/oslc4j/provider/json4j/JsonHelper.java
+++ /dev/null
@@ -1,2348 +0,0 @@
-/*
- * Copyright (c) 2020 Contributors to the Eclipse Foundation
- *
- * See the NOTICE file(s) distributed with this work for additional
- * information regarding copyright ownership.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License 2.0 which is available at
- * http://www.eclipse.org/legal/epl-2.0, or the Eclipse Distribution License 1.0
- * which is available at http://www.eclipse.org/org/documents/edl-v10.php.
- *
- * SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
- */
-package org.eclipse.lyo.oslc4j.provider.json4j;
-
-import java.lang.reflect.Array;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.lang.reflect.ParameterizedType;
-import java.lang.reflect.Type;
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.AbstractCollection;
-import java.util.AbstractList;
-import java.util.AbstractSequentialList;
-import java.util.AbstractSet;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Date;
-import java.util.Deque;
-import java.util.GregorianCalendar;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-import java.util.NavigableSet;
-import java.util.Queue;
-import java.util.Set;
-import java.util.SortedSet;
-import java.util.TreeMap;
-import java.util.TreeSet;
-
-import javax.xml.datatype.DatatypeConfigurationException;
-import javax.xml.datatype.DatatypeFactory;
-import javax.xml.namespace.QName;
-
-import org.apache.wink.json4j.JSONArray;
-import org.apache.wink.json4j.JSONException;
-import org.apache.wink.json4j.JSONObject;
-import org.eclipse.lyo.oslc4j.core.NestedWildcardProperties;
-import org.eclipse.lyo.oslc4j.core.OSLC4JConstants;
-import org.eclipse.lyo.oslc4j.core.OSLC4JUtils;
-import org.eclipse.lyo.oslc4j.core.OslcGlobalNamespaceProvider;
-import org.eclipse.lyo.oslc4j.core.SingletonWildcardProperties;
-import org.eclipse.lyo.oslc4j.core.annotation.OslcName;
-import org.eclipse.lyo.oslc4j.core.annotation.OslcNamespaceDefinition;
-import org.eclipse.lyo.oslc4j.core.annotation.OslcPropertyDefinition;
-import org.eclipse.lyo.oslc4j.core.annotation.OslcRdfCollectionType;
-import org.eclipse.lyo.oslc4j.core.annotation.OslcResourceShape;
-import org.eclipse.lyo.oslc4j.core.annotation.OslcSchema;
-import org.eclipse.lyo.oslc4j.core.exception.OslcCoreApplicationException;
-import org.eclipse.lyo.oslc4j.core.exception.OslcCoreInvalidPropertyDefinitionException;
-import org.eclipse.lyo.oslc4j.core.exception.OslcCoreInvalidPropertyTypeException;
-import org.eclipse.lyo.oslc4j.core.exception.OslcCoreMissingNamespaceDeclarationException;
-import org.eclipse.lyo.oslc4j.core.exception.OslcCoreMissingNamespacePrefixException;
-import org.eclipse.lyo.oslc4j.core.exception.OslcCoreMissingSetMethodException;
-import org.eclipse.lyo.oslc4j.core.exception.OslcCoreRelativeURIException;
-import org.eclipse.lyo.oslc4j.core.model.AbstractResource;
-import org.eclipse.lyo.oslc4j.core.model.AnyResource;
-import org.eclipse.lyo.oslc4j.core.model.IExtendedResource;
-import org.eclipse.lyo.oslc4j.core.model.IOslcCustomNamespaceProvider;
-import org.eclipse.lyo.oslc4j.core.model.IReifiedResource;
-import org.eclipse.lyo.oslc4j.core.model.IResource;
-import org.eclipse.lyo.oslc4j.core.model.InheritedMethodAnnotationHelper;
-import org.eclipse.lyo.oslc4j.core.model.OslcConstants;
-import org.eclipse.lyo.oslc4j.core.model.ResponseInfo;
-import org.eclipse.lyo.oslc4j.core.model.TypeFactory;
-import org.eclipse.lyo.oslc4j.core.model.XMLLiteral;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Use JSON-LD support in Jena provider.
- */
-@Deprecated
-public final class JsonHelper
-{
- private static final String JSON_PROPERTY_DELIMITER = ":";
- private static final String JSON_PROPERTY_PREFIXES = "prefixes";
- private static final String JSON_PROPERTY_SUFFIX_ABOUT = "about";
- private static final String JSON_PROPERTY_SUFFIX_MEMBER = "member";
- private static final String JSON_PROPERTY_SUFFIX_RESOURCE = "resource";
- private static final String JSON_PROPERTY_SUFFIX_RESPONSE_INFO = "responseInfo";
- private static final String JSON_PROPERTY_SUFFIX_RESULTS = "results";
- private static final String JSON_PROPERTY_SUFFIX_TOTAL_COUNT = "totalCount";
- private static final String JSON_PROPERTY_SUFFIX_NEXT_PAGE = "nextPage";
- private static final String JSON_PROPERTY_SUFFIX_TYPE = "type";
- private static final String JSON_PROPERTY_SUFFIX_FIRST = "first";
- private static final String JSON_PROPERTY_SUFFIX_REST = "rest";
- private static final String JSON_PROPERTY_SUFFIX_NIL = "nil";
- private static final String JSON_PROPERTY_SUFFIX_LIST = "List";
- private static final String JSON_PROPERTY_SUFFIX_ALT = "Alt";
- private static final String JSON_PROPERTY_SUFFIX_BAG = "Bag";
- private static final String JSON_PROPERTY_SUFFIX_SEQ = "Seq";
-
- private static final String RDF_ABOUT_URI = OslcConstants.RDF_NAMESPACE + JSON_PROPERTY_SUFFIX_ABOUT;
- private static final String RDF_TYPE_URI = OslcConstants.RDF_NAMESPACE + JSON_PROPERTY_SUFFIX_TYPE;
- private static final String RDF_NIL_URI = OslcConstants.RDF_NAMESPACE + JSON_PROPERTY_SUFFIX_NIL;
- private static final String RDF_RESOURCE_URI = OslcConstants.RDF_NAMESPACE + JSON_PROPERTY_SUFFIX_RESOURCE;
-
- private static final String METHOD_NAME_START_GET = "get";
- private static final String METHOD_NAME_START_IS = "is";
- private static final String METHOD_NAME_START_SET = "set";
-
- private static final int METHOD_NAME_START_GET_LENGTH = METHOD_NAME_START_GET.length();
- private static final int METHOD_NAME_START_IS_LENGTH = METHOD_NAME_START_IS.length();
-
- private static final String POSITIVE_INF = "INF";
- private static final String NEGATIVE_INF = "-INF";
- private static final String NOT_A_NUMBER = "NaN";
-
- /**
- * System property {@value} : When "true", write "INF", "-INF", and "NaN"
- * strings for Infinity, -Infinity, and NaN float and double values,
- * respectively. Enabled by default.
- *
- * @see #OSLC4J_READ_SPECIAL_NUMS
- */
- public static final String OSLC4J_WRITE_SPECIAL_NUMS = "org.eclipse.lyo.oslc4j.writeSpecialNumberValues";
-
- /**
- * System property {@value} : When "true", read "INF", "-INF", and "NaN"
- * strings for Infinity, -Infinity, and NaN float and double values,
- * respectively. Enabled by default.
- *
- * @see #OSLC4J_WRITE_SPECIAL_NUMS
- */
- public static final String OSLC4J_READ_SPECIAL_NUMS = "org.eclipse.lyo.oslc4j.readSpecialNumberValues";
-
- private static final Logger logger = LoggerFactory.getLogger(JsonHelper.class.getName());
-
- private JsonHelper()
- {
- super();
- }
-
- public static JSONObject createJSON(final String descriptionAbout,
- final String responseInfoAbout,
- final ResponseInfo> responseInfo,
- final Object[] objects,
- final Map properties)
- throws DatatypeConfigurationException,
- IllegalAccessException,
- IllegalArgumentException,
- InvocationTargetException,
- JSONException,
- OslcCoreApplicationException
- {
- final JSONObject resultJSONObject = new JSONObject();
-
- final Map namespaceMappings = new TreeMap<>();
- final Map reverseNamespaceMappings = new HashMap<>();
-
- // Add all global namespace mappings, since they have lower precedence
- Map globalPrefixDefinitionMap = OslcGlobalNamespaceProvider.getInstance().getPrefixDefinitionMap();
- for(Map.Entry prefixDefinitionEntry : globalPrefixDefinitionMap.entrySet()) {
- namespaceMappings.put(prefixDefinitionEntry.getKey(), prefixDefinitionEntry.getValue());
- reverseNamespaceMappings.put(prefixDefinitionEntry.getValue(), prefixDefinitionEntry.getKey());
- }
-
- if (descriptionAbout != null)
- {
- final JSONArray jsonArray = new JSONArray();
-
- for (final Object object : objects)
- {
- HashMap