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 dfa4c35  WIP.
dfa4c35 is described below

commit dfa4c352c5e5fc267fd38bbc7f0745565662d277
Author: Sergey Kamov <skhdlem...@gmail.com>
AuthorDate: Fri Apr 1 21:35:13 2022 +0300

    WIP.
---
 .../src/main/java/org/apache/nlpcraft/examples/order/Order.scala | 9 ++-------
 .../java/org/apache/nlpcraft/examples/order/OrderModel.scala     | 6 +++---
 2 files changed, 5 insertions(+), 10 deletions(-)

diff --git 
a/nlpcraft-examples/order/src/main/java/org/apache/nlpcraft/examples/order/Order.scala
 
b/nlpcraft-examples/order/src/main/java/org/apache/nlpcraft/examples/order/Order.scala
index 769e8ab..e9d4aa9 100644
--- 
a/nlpcraft-examples/order/src/main/java/org/apache/nlpcraft/examples/order/Order.scala
+++ 
b/nlpcraft-examples/order/src/main/java/org/apache/nlpcraft/examples/order/Order.scala
@@ -22,11 +22,6 @@ import scala.collection.mutable
 private enum PizzaSize:
     case SMALL, MEDIUM, LARGE
 
-private class Pizza(name: String, var sizeOpt: Option[PizzaSize]):
-    override def toString: String =
-        val sz = 
Option.when(sizeOpt.nonEmpty)(sizeOpt.toString.toLowerCase).getOrElse("unknown")
-        s"$name $sz size"
-
 object Order:
     def getPizzaSizeKinds: String = 
PizzaSize.values.map(_.toString.toLowerCase).mkString(", ")
     def pizza2Str(name: String, size: PizzaSize): String = s"$name 
${size.toString.toLowerCase} size"
@@ -43,9 +38,9 @@ class Order:
     private val pizza = mutable.LinkedHashMap.empty[String, PizzaSize]
     private val drinks = mutable.LinkedHashSet.empty[String]
 
-    def addDrink(drink: String): Unit = drinks += drink
-    def addPizza(name: String, size: PizzaSize): Unit = pizza += name -> size
+    def addDrink(name: String): Unit = drinks += name
     def addPizza(name: String): Unit = pizza += name -> null
+    def addPizza(name: String, size: PizzaSize): Unit = pizza += name -> size
 
     def inProgress(): Boolean = pizza.nonEmpty || drinks.nonEmpty
 
diff --git 
a/nlpcraft-examples/order/src/main/java/org/apache/nlpcraft/examples/order/OrderModel.scala
 
b/nlpcraft-examples/order/src/main/java/org/apache/nlpcraft/examples/order/OrderModel.scala
index a8d58bb..1d3e257 100644
--- 
a/nlpcraft-examples/order/src/main/java/org/apache/nlpcraft/examples/order/OrderModel.scala
+++ 
b/nlpcraft-examples/order/src/main/java/org/apache/nlpcraft/examples/order/OrderModel.scala
@@ -40,7 +40,7 @@ class OrderModel extends NCModelAdapter(
     private def getOrder(im: NCIntentMatch): Order = 
ords.getOrElseUpdate(im.getContext.getRequest.getUserId, new Order)
 
     private def extractPizzaKind(e: NCEntity): String = 
e.get[String]("ord:pizza:kind:value")
-    private def extractPizzaSize(e: NCEntity): String = 
e.get[String]("ord:pizza:size:value")
+    private def extractPizzaSize(e: NCEntity): PizzaSize = 
PizzaSize.valueOf(e.get[String]("ord:pizza:size:value").toUpperCase)
     private def extractDrink(e: NCEntity): String = 
e.get[String]("ord:drink:value")
 
     private def confirmOrSpecify(ord: Order): NCResult =
@@ -114,7 +114,7 @@ class OrderModel extends NCModelAdapter(
                 case _ =>
                     val avgPos = getAvgPosition(p)
                     val nextNeighbour = hsSizes.minBy(p => Math.abs(avgPos - 
p.position))
-                    ord.addPizza(extractPizzaKind(p), 
PizzaSize.valueOf(extractPizzaSize(nextNeighbour.entity).toUpperCase))
+                    ord.addPizza(extractPizzaKind(p), 
extractPizzaSize(nextNeighbour.entity))
                     hsSizes -= nextNeighbour
         })
 
@@ -137,7 +137,7 @@ class OrderModel extends NCModelAdapter(
         val ord = getOrder(im)
         require(!ord.isValid())
 
-        val sz = PizzaSize.valueOf(extractPizzaSize(size).toUpperCase)
+        val sz = extractPizzaSize(size)
 
         pizzaOpt match
             case Some(pizza) => ord.addPizza(extractPizzaKind(pizza), sz)

Reply via email to