public class dev.langchain4j.store.memory.chat.cassandra.CassandraChatMemoryStore extends java.lang.Object implements dev.langchain4j.store.memory.chat.ChatMemoryStore
{
private static final org.slf4j.Logger log;
public static final java.lang.String DEFAULT_TABLE_NAME;
private final com.dtsx.astra.sdk.cassio.ClusteredCassandraTable messageTable;
public void <init>(com.datastax.oss.driver.api.core.CqlSession, java.lang.String, java.lang.String)
{
com.datastax.oss.driver.api.core.CqlSession v;
com.dtsx.astra.sdk.cassio.ClusteredCassandraTable v;
dev.langchain4j.store.memory.chat.cassandra.CassandraChatMemoryStore v;
java.lang.String v, v;
v := @this: dev.langchain4j.store.memory.chat.cassandra.CassandraChatMemoryStore;
v := @parameter: com.datastax.oss.driver.api.core.CqlSession;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new com.dtsx.astra.sdk.cassio.ClusteredCassandraTable;
specialinvoke v.<com.dtsx.astra.sdk.cassio.ClusteredCassandraTable: void <init>(com.datastax.oss.driver.api.core.CqlSession,java.lang.String,java.lang.String)>(v, v, v);
v.<dev.langchain4j.store.memory.chat.cassandra.CassandraChatMemoryStore: com.dtsx.astra.sdk.cassio.ClusteredCassandraTable messageTable> = v;
return;
}
public void <init>(com.datastax.oss.driver.api.core.CqlSession, java.lang.String)
{
com.datastax.oss.driver.api.core.CqlSession v;
com.dtsx.astra.sdk.cassio.ClusteredCassandraTable v;
dev.langchain4j.store.memory.chat.cassandra.CassandraChatMemoryStore v;
java.lang.String v;
v := @this: dev.langchain4j.store.memory.chat.cassandra.CassandraChatMemoryStore;
v := @parameter: com.datastax.oss.driver.api.core.CqlSession;
v := @parameter: java.lang.String;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new com.dtsx.astra.sdk.cassio.ClusteredCassandraTable;
specialinvoke v.<com.dtsx.astra.sdk.cassio.ClusteredCassandraTable: void <init>(com.datastax.oss.driver.api.core.CqlSession,java.lang.String,java.lang.String)>(v, v, "message_store");
v.<dev.langchain4j.store.memory.chat.cassandra.CassandraChatMemoryStore: com.dtsx.astra.sdk.cassio.ClusteredCassandraTable messageTable> = v;
return;
}
public java.util.List getMessages(java.lang.Object)
{
java.util.function.Function v;
java.lang.NullPointerException v;
java.util.List v;
java.util.stream.Stream v, v;
com.dtsx.astra.sdk.cassio.ClusteredCassandraTable v;
dev.langchain4j.store.memory.chat.cassandra.CassandraChatMemoryStore v;
java.lang.Object v, v;
java.lang.String v;
java.util.stream.Collector v;
v := @this: dev.langchain4j.store.memory.chat.cassandra.CassandraChatMemoryStore;
v := @parameter: java.lang.Object;
if v != null goto label;
v = new java.lang.NullPointerException;
specialinvoke v.<java.lang.NullPointerException: void <init>(java.lang.String)>("memoryId is marked non-null but is null");
throw v;
label:
v = v.<dev.langchain4j.store.memory.chat.cassandra.CassandraChatMemoryStore: com.dtsx.astra.sdk.cassio.ClusteredCassandraTable messageTable>;
v = specialinvoke v.<dev.langchain4j.store.memory.chat.cassandra.CassandraChatMemoryStore: java.lang.String getMemoryId(java.lang.Object)>(v);
v = virtualinvoke v.<com.dtsx.astra.sdk.cassio.ClusteredCassandraTable: java.util.List findPartition(java.lang.String)>(v);
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <dev.langchain4j.store.memory.chat.cassandra.CassandraChatMemoryStore$toChatMessage__1: java.util.function.Function bootstrap$(dev.langchain4j.store.memory.chat.cassandra.CassandraChatMemoryStore)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toList()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
staticinvoke <java.util.Collections: void reverse(java.util.List)>(v);
return v;
}
public void updateMessages(java.lang.Object, java.util.List)
{
java.util.function.Function v;
java.lang.NullPointerException v, v;
java.util.List v;
java.util.stream.Stream v, v;
com.dtsx.astra.sdk.cassio.ClusteredCassandraTable v;
dev.langchain4j.store.memory.chat.cassandra.CassandraChatMemoryStore v;
java.lang.Object v, v;
java.util.stream.Collector v;
v := @this: dev.langchain4j.store.memory.chat.cassandra.CassandraChatMemoryStore;
v := @parameter: java.lang.Object;
v := @parameter: java.util.List;
if v != null goto label;
v = new java.lang.NullPointerException;
specialinvoke v.<java.lang.NullPointerException: void <init>(java.lang.String)>("memoryId is marked non-null but is null");
throw v;
label:
if v != null goto label;
v = new java.lang.NullPointerException;
specialinvoke v.<java.lang.NullPointerException: void <init>(java.lang.String)>("messages is marked non-null but is null");
throw v;
label:
virtualinvoke v.<dev.langchain4j.store.memory.chat.cassandra.CassandraChatMemoryStore: void deleteMessages(java.lang.Object)>(v);
v = v.<dev.langchain4j.store.memory.chat.cassandra.CassandraChatMemoryStore: com.dtsx.astra.sdk.cassio.ClusteredCassandraTable messageTable>;
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <dev.langchain4j.store.memory.chat.cassandra.CassandraChatMemoryStore$lambda_updateMessages_0__2: java.util.function.Function bootstrap$(dev.langchain4j.store.memory.chat.cassandra.CassandraChatMemoryStore,java.lang.Object)>(v, v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toList()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
virtualinvoke v.<com.dtsx.astra.sdk.cassio.ClusteredCassandraTable: void upsertPartition(java.util.List)>(v);
return;
}
public void deleteMessages(java.lang.Object)
{
com.dtsx.astra.sdk.cassio.ClusteredCassandraTable v;
dev.langchain4j.store.memory.chat.cassandra.CassandraChatMemoryStore v;
java.lang.Object v;
java.lang.String v;
java.lang.NullPointerException v;
v := @this: dev.langchain4j.store.memory.chat.cassandra.CassandraChatMemoryStore;
v := @parameter: java.lang.Object;
if v != null goto label;
v = new java.lang.NullPointerException;
specialinvoke v.<java.lang.NullPointerException: void <init>(java.lang.String)>("memoryId is marked non-null but is null");
throw v;
label:
v = v.<dev.langchain4j.store.memory.chat.cassandra.CassandraChatMemoryStore: com.dtsx.astra.sdk.cassio.ClusteredCassandraTable messageTable>;
v = specialinvoke v.<dev.langchain4j.store.memory.chat.cassandra.CassandraChatMemoryStore: java.lang.String getMemoryId(java.lang.Object)>(v);
virtualinvoke v.<com.dtsx.astra.sdk.cassio.ClusteredCassandraTable: void deletePartition(java.lang.String)>(v);
return;
}
public dev.langchain4j.data.message.ChatMessage toChatMessage(com.dtsx.astra.sdk.cassio.ClusteredCassandraTable$Record)
{
org.slf4j.Logger v;
java.lang.IllegalArgumentException v;
java.lang.Exception v;
java.lang.NullPointerException v;
dev.langchain4j.data.message.ChatMessage v;
com.dtsx.astra.sdk.cassio.ClusteredCassandraTable$Record v;
dev.langchain4j.store.memory.chat.cassandra.CassandraChatMemoryStore v;
java.lang.String v;
v := @this: dev.langchain4j.store.memory.chat.cassandra.CassandraChatMemoryStore;
v := @parameter: com.dtsx.astra.sdk.cassio.ClusteredCassandraTable$Record;
if v != null goto label;
v = new java.lang.NullPointerException;
specialinvoke v.<java.lang.NullPointerException: void <init>(java.lang.String)>("record is marked non-null but is null");
throw v;
label:
v = virtualinvoke v.<com.dtsx.astra.sdk.cassio.ClusteredCassandraTable$Record: java.lang.String getBody()>();
v = staticinvoke <dev.langchain4j.data.message.ChatMessageDeserializer: dev.langchain4j.data.message.ChatMessage messageFromJson(java.lang.String)>(v);
label:
return v;
label:
v := @caughtexception;
v = <dev.langchain4j.store.memory.chat.cassandra.CassandraChatMemoryStore: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>("Unable to parse message body", v);
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("Unable to parse message body");
throw v;
catch java.lang.Exception from label to label with label;
}
private com.dtsx.astra.sdk.cassio.ClusteredCassandraTable$Record fromChatMessage(java.lang.String, dev.langchain4j.data.message.ChatMessage)
{
org.slf4j.Logger v;
java.util.UUID v;
java.lang.IllegalArgumentException v;
java.lang.Exception v;
java.lang.NullPointerException v, v;
dev.langchain4j.data.message.ChatMessage v;
com.dtsx.astra.sdk.cassio.ClusteredCassandraTable$Record v;
dev.langchain4j.store.memory.chat.cassandra.CassandraChatMemoryStore v;
java.lang.String v, v;
v := @this: dev.langchain4j.store.memory.chat.cassandra.CassandraChatMemoryStore;
v := @parameter: java.lang.String;
v := @parameter: dev.langchain4j.data.message.ChatMessage;
if v != null goto label;
v = new java.lang.NullPointerException;
specialinvoke v.<java.lang.NullPointerException: void <init>(java.lang.String)>("memoryId is marked non-null but is null");
throw v;
label:
if v != null goto label;
v = new java.lang.NullPointerException;
specialinvoke v.<java.lang.NullPointerException: void <init>(java.lang.String)>("chatMessage is marked non-null but is null");
throw v;
label:
v = new com.dtsx.astra.sdk.cassio.ClusteredCassandraTable$Record;
specialinvoke v.<com.dtsx.astra.sdk.cassio.ClusteredCassandraTable$Record: void <init>()>();
v = staticinvoke <com.datastax.oss.driver.api.core.uuid.Uuids: java.util.UUID timeBased()>();
virtualinvoke v.<com.dtsx.astra.sdk.cassio.ClusteredCassandraTable$Record: void setRowId(java.util.UUID)>(v);
virtualinvoke v.<com.dtsx.astra.sdk.cassio.ClusteredCassandraTable$Record: void setPartitionId(java.lang.String)>(v);
v = staticinvoke <dev.langchain4j.data.message.ChatMessageSerializer: java.lang.String messageToJson(dev.langchain4j.data.message.ChatMessage)>(v);
virtualinvoke v.<com.dtsx.astra.sdk.cassio.ClusteredCassandraTable$Record: void setBody(java.lang.String)>(v);
label:
return v;
label:
v := @caughtexception;
v = <dev.langchain4j.store.memory.chat.cassandra.CassandraChatMemoryStore: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>("Unable to parse message body", v);
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String,java.lang.Throwable)>("Unable to parse message body", v);
throw v;
catch java.lang.Exception from label to label with label;
}
private java.lang.String getMemoryId(java.lang.Object)
{
dev.langchain4j.store.memory.chat.cassandra.CassandraChatMemoryStore v;
java.lang.Object v;
java.lang.IllegalArgumentException v;
boolean v;
v := @this: dev.langchain4j.store.memory.chat.cassandra.CassandraChatMemoryStore;
v := @parameter: java.lang.Object;
v = v instanceof java.lang.String;
if v != 0 goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("memoryId must be a String");
throw v;
label:
return v;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Ldev/langchain4j/store/memory/chat/cassandra/CassandraChatMemoryStore;");
<dev.langchain4j.store.memory.chat.cassandra.CassandraChatMemoryStore: org.slf4j.Logger log> = v;
return;
}
}