This is an automated email from the ASF dual-hosted git repository.
sergeykamov pushed a commit to branch NLPCRAFT-491
in repository https://gitbox.apache.org/repos/asf/incubator-nlpcraft.git
The following commit(s) were added to refs/heads/NLPCRAFT-491 by this push:
new d95a2d1e WIP.
d95a2d1e is described below
commit d95a2d1e6f3265b0eaffaeaeb0f618a336d16414
Author: Sergey Kamov <[email protected]>
AuthorDate: Mon Apr 4 21:52:49 2022 +0300
WIP.
---
.../nlpcraft/examples/order/components/SimpleCombiner.scala | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git
a/nlpcraft-examples/order/src/main/java/org/apache/nlpcraft/examples/order/components/SimpleCombiner.scala
b/nlpcraft-examples/order/src/main/java/org/apache/nlpcraft/examples/order/components/SimpleCombiner.scala
index 025da0c1..28f49626 100644
---
a/nlpcraft-examples/order/src/main/java/org/apache/nlpcraft/examples/order/components/SimpleCombiner.scala
+++
b/nlpcraft-examples/order/src/main/java/org/apache/nlpcraft/examples/order/components/SimpleCombiner.scala
@@ -21,6 +21,7 @@ import org.apache.nlpcraft.*
import java.util
import java.util.List as JList
+import scala.collection.mutable
import scala.jdk.CollectionConverters.*
/**
@@ -30,6 +31,7 @@ import scala.jdk.CollectionConverters.*
* @param newId
*/
case class SimpleCombiner(id1: String, id2: String, newId: String) extends
NCEntityMapper:
+ private def extract(e: NCEntity): mutable.Seq[NCToken] =
e.getTokens.asScala
override def map(req: NCRequest, cfg: NCModelConfig, entities:
util.List[NCEntity]): util.List[NCEntity] =
var es = entities.asScala
val es1 = es.filter(_.getId == id1)
@@ -38,21 +40,21 @@ case class SimpleCombiner(id1: String, id2: String, newId:
String) extends NCEnt
if es1.nonEmpty && es2.size == es1.size then
var ok = true
- val newEs =
+ val mapped =
for ((e1, e2) <- es1.zip(es2) if ok) yield
if e1.getId == e2.getId then
ok = false
null
else
new NCPropertyMapAdapter with NCEntity:
- override val getTokens: JList[NCToken] =
(e1.getTokens.asScala ++ e2.getTokens.asScala).sortBy(_.getIndex).asJava
+ override val getTokens: JList[NCToken] =
(extract(e1) ++ extract(e2)).sortBy(_.getIndex).asJava
override val getRequestId: String =
req.getRequestId
override val getId: String = newId
if ok then
es = es --= es1
es = es --= es2
- (es ++ newEs).sortBy(_.getTokens.asScala.head.getIndex).asJava
+ (es ++ mapped).sortBy(extract(_).head.getIndex).asJava
else
entities
else