diff --git a/core-jdk8/src/main/java/org/bsc/langgraph4j/serializer/std/ObjectInputWithMapper.java b/core-jdk8/src/main/java/org/bsc/langgraph4j/serializer/std/ObjectInputWithMapper.java index 987f136..61ca33a 100644 --- a/core-jdk8/src/main/java/org/bsc/langgraph4j/serializer/std/ObjectInputWithMapper.java +++ b/core-jdk8/src/main/java/org/bsc/langgraph4j/serializer/std/ObjectInputWithMapper.java @@ -26,7 +26,7 @@ public Object readObject() throws ClassNotFoundException, IOException { Serializer serializer = mapper.getSerializer( serializerClass ) .orElseThrow( () -> new IllegalArgumentException( "No serializer found for class " + serializerClass ) ); - value = serializer.read(in); + value = serializer.read(this); } return value; } diff --git a/core-jdk8/src/main/java/org/bsc/langgraph4j/serializer/std/ObjectOutputWithMapper.java b/core-jdk8/src/main/java/org/bsc/langgraph4j/serializer/std/ObjectOutputWithMapper.java index 95ca12d..5ea7575 100644 --- a/core-jdk8/src/main/java/org/bsc/langgraph4j/serializer/std/ObjectOutputWithMapper.java +++ b/core-jdk8/src/main/java/org/bsc/langgraph4j/serializer/std/ObjectOutputWithMapper.java @@ -1,12 +1,14 @@ package org.bsc.langgraph4j.serializer.std; import lombok.NonNull; +import lombok.extern.slf4j.Slf4j; import org.bsc.langgraph4j.serializer.Serializer; import java.io.IOException; import java.io.ObjectOutput; import java.util.Optional; +@Slf4j class ObjectOutputWithMapper implements ObjectOutput { private final ObjectOutput out; @@ -19,15 +21,19 @@ public ObjectOutputWithMapper(@NonNull ObjectOutput out, @NonNull SerializerMapp @Override public void writeObject(Object obj) throws IOException { + log.trace( "{}", (obj != null) ? obj.getClass() : "NULL" ); + Optional> serializer = (obj != null) ? mapper.getSerializer(obj.getClass()) : Optional.empty(); // check if written by serializer if (serializer.isPresent()) { + log.trace( "use serializer {}", serializer.get().getClass().getSimpleName() ); out.writeObject(obj.getClass()); - serializer.get().write(obj, out); + serializer.get().write(obj, this); } else { + log.trace( "no serializer found!" ); out.writeObject(obj); } out.flush(); diff --git a/core-jdk8/src/main/java/org/bsc/langgraph4j/serializer/std/ObjectStreamStateSerializer.java b/core-jdk8/src/main/java/org/bsc/langgraph4j/serializer/std/ObjectStreamStateSerializer.java index 7f62d1e..9bb9bcb 100644 --- a/core-jdk8/src/main/java/org/bsc/langgraph4j/serializer/std/ObjectStreamStateSerializer.java +++ b/core-jdk8/src/main/java/org/bsc/langgraph4j/serializer/std/ObjectStreamStateSerializer.java @@ -11,7 +11,7 @@ @Slf4j public class ObjectStreamStateSerializer implements Serializer> { - static class ListSerializer extends BaseSerializer> { + static class ListSerializer implements Serializer> { @Override public void write(List object, ObjectOutput out) throws IOException {