Remove jackson extension

This commit is contained in:
crschnick
2025-06-11 01:07:33 +00:00
parent 39872b2411
commit ad155e50f8
3 changed files with 0 additions and 40 deletions
@@ -1,6 +0,0 @@
package io.xpipe.core.util;
public interface JacksonExtension {
Class<?> getType();
}
@@ -64,29 +64,8 @@ public class JacksonMapper {
public void init(ModuleLayer layer) {
List<Module> modules = findModules(layer);
INSTANCE.registerModules(modules);
var extensions = findExtensions(layer);
for (var extension : extensions) {
var mod = new SimpleModule();
if (extension instanceof JsonSerializer<?> s) {
add(mod, extension.getType(), s);
}
if (extension instanceof JsonDeserializer<?> d) {
add(mod, extension.getType(), d);
}
INSTANCE.registerModule(mod);
}
init = true;
}
@SuppressWarnings("unchecked")
private <T> void add(SimpleModule mod, Class<?> c, JsonSerializer<?> s) {
mod.addSerializer((Class<T>) c, (JsonSerializer<T>) s);
}
@SuppressWarnings("unchecked")
private <T> void add(SimpleModule mod, Class<?> c, JsonDeserializer<?> s) {
mod.addDeserializer((Class<T>) c, (JsonDeserializer<T>) s);
}
}
private static List<Module> findModules(ModuleLayer layer) {
@@ -99,17 +78,6 @@ public class JacksonMapper {
return modules;
}
private static List<JacksonExtension> findExtensions(ModuleLayer layer) {
ArrayList<JacksonExtension> exts = new ArrayList<>();
ServiceLoader<JacksonExtension> loader = layer != null
? ServiceLoader.load(layer, JacksonExtension.class)
: ServiceLoader.load(JacksonExtension.class);
for (JacksonExtension module : loader) {
exts.add(module);
}
return exts;
}
/**
* Constructs a new ObjectMapper that is able to map all required XPipe classes and also possible extensions.
*/
-2
View File
@@ -1,7 +1,6 @@
import io.xpipe.core.process.ShellDialect;
import io.xpipe.core.process.ShellDialects;
import io.xpipe.core.util.CoreJacksonModule;
import io.xpipe.core.util.JacksonExtension;
import io.xpipe.core.util.JacksonMapper;
import io.xpipe.core.util.ModuleLayerLoader;
@@ -22,7 +21,6 @@ open module io.xpipe.core {
uses io.xpipe.core.util.DataStateProvider;
uses ModuleLayerLoader;
uses ShellDialect;
uses JacksonExtension;
provides ModuleLayerLoader with
JacksonMapper.Loader,