mirror of
https://github.com/xpipe-io/xpipe.git
synced 2026-05-04 03:40:32 +00:00
Remove jackson extension
This commit is contained in:
@@ -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.
|
||||
*/
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user