Merge branch 'master' of https://github.com/apache/incubator-nlpcraft
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/NCConversation.java b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/NCConversation.java
index 94b7013..b990851 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/NCConversation.java
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/NCConversation.java
@@ -86,9 +86,14 @@
void clearDialog(Predicate<String/* Intent ID. */> filter);
/**
- * // TODO:
- * Gets synchronized user data map, which will be automatically cleared after model timeout.
- * @return Data.
+ * Gets modifiable user data container that can be to store user data in the conversation.
+ * Note that this data will expire the same as other elements in the conversation (i.e. tokens and
+ * previously matched intents).
+ * <p>
+ * Note that you should obtain the user data container on every intent callback invocation to make
+ * sure that expiration policy takes an effect. Do not cache the returned object elsewhere.
+ *
+ * @return Mutable user data container. The returned map is safe for concurrent modifications.
*/
- Map<String, Object> getData();
+ Map<String, Object> getUserData();
}
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/conversation/NCConversation.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/conversation/NCConversation.scala
index 4823648..365f4b4 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/conversation/NCConversation.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/conversation/NCConversation.scala
@@ -285,5 +285,5 @@
/**
*
*/
- def getData: util.Map[String, Object] = data
+ def getUserData: util.Map[String, Object] = data
}
\ No newline at end of file
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/NCProbeEnrichmentManager.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/NCProbeEnrichmentManager.scala
index 4a3581c..3e6ff92 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/NCProbeEnrichmentManager.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/NCProbeEnrichmentManager.scala
@@ -563,7 +563,7 @@
override def getDialogFlow: util.List[String] = NCDialogFlowManager.getDialogFlow(usrId, mdlId, span).asJava
override def clearStm(filter: Predicate[NCToken]): Unit = conv.clearTokens(filter)
override def clearDialog(filter: Predicate[String]): Unit = NCDialogFlowManager.clear(usrId, mdlId, span)
- override def getData: util.Map[String, Object] = conv.getData
+ override def getUserData: util.Map[String, Object] = conv.getUserData
}
override def isOwnerOf(tok: NCToken): Boolean = allVars.contains(tok)