This is an automated email from the ASF dual-hosted git repository.
sergeykamov pushed a commit to branch NLPCRAFT-504
in repository https://gitbox.apache.org/repos/asf/incubator-nlpcraft.git
The following commit(s) were added to refs/heads/NLPCRAFT-504 by this push:
new 265aa821 Scanner annotations minor fixes.
265aa821 is described below
commit 265aa821b83e5b1ba5104ec135455a7d64262d60
Author: Sergey Kamov <[email protected]>
AuthorDate: Thu Jun 30 10:27:38 2022 +0300
Scanner annotations minor fixes.
---
.../nlpcraft/internal/impl/NCModelScanner.scala | 30 +++-------------------
1 file changed, 4 insertions(+), 26 deletions(-)
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/impl/NCModelScanner.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/impl/NCModelScanner.scala
index 1ceae1e8..1470bf63 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/impl/NCModelScanner.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/internal/impl/NCModelScanner.scala
@@ -25,13 +25,8 @@ import org.apache.nlpcraft.internal.intent.compiler.*
import org.apache.nlpcraft.internal.makro.NCMacroParser
import org.apache.nlpcraft.internal.util.NCUtils
-import java.io.*
import java.lang.annotation.Annotation
import java.lang.reflect.*
-import java.util
-import java.util.function.Function
-import java.util.stream.Collectors
-import javax.lang.model.util.Elements.Origin
import scala.collection.mutable
import scala.jdk.CollectionConverters.*
import scala.util.Using
@@ -53,12 +48,9 @@ object NCModelScanner extends LazyLogging:
private final val CLS_SAMPLE_REF = classOf[NCIntentSampleRef]
private final val CLS_INTENT_OBJ = classOf[NCIntentObject]
- // Java and scala lists.
private final val CLS_SCALA_SEQ = classOf[Seq[_]]
private final val CLS_SCALA_LST = classOf[List[_]]
private final val CLS_SCALA_OPT = classOf[Option[_]]
- private final val CLS_JAVA_LST = classOf[util.List[_]]
- private final val CLS_JAVA_OPT = classOf[util.Optional[_]]
private final val CLS_ENTITY = classOf[NCEntity]
@@ -71,9 +63,7 @@ object NCModelScanner extends LazyLogging:
private final val COMP_CLS: Set[Class[_]] = Set(
CLS_SCALA_SEQ,
CLS_SCALA_LST,
- CLS_SCALA_OPT,
- CLS_JAVA_LST,
- CLS_JAVA_OPT
+ CLS_SCALA_OPT
)
/**
@@ -160,24 +150,15 @@ object NCModelScanner extends LazyLogging:
// Array of entities.
else if paramCls.isArray then
argList.toArray
- // Scala and Java list of entities.
else if paramCls == CLS_SCALA_SEQ then
argList
else if paramCls == CLS_SCALA_LST then
argList
- else if paramCls == CLS_JAVA_LST then
- argList
- // Scala and java optional entity.
else if paramCls == CLS_SCALA_OPT then
entsCnt match
case 0 => None
case 1 => Option(argList.head)
case _ => E(s"Too many entities ($entsCnt) for
'scala.Option[_]' $IT annotated argument [$z]")
- else if paramCls == CLS_JAVA_OPT then
- entsCnt match
- case 0 => util.Optional.empty()
- case 1 => util.Optional.of(argList.head)
- case _ => E(s"Too many entities ($entsCnt) for
'java.util.Optional' $IT annotated argument [$z]")
else
// All allowed arguments types already checked.
throw new AssertionError(s"Unexpected type for callback's $IT
argument [$z]")
@@ -351,21 +332,18 @@ object NCModelScanner extends LazyLogging:
E(s"Unexpected generic types count for $IT
annotated argument [count=${compTypes.length}, $z]")
val compType = compTypes.head
compType match
- // Java, Scala, Groovy.
case _: Class[_] =>
val genClass =
compTypes.head.asInstanceOf[Class[_]]
if genClass != CLS_ENTITY then
E(s"Unexpected generic type for $IT
annotated argument [$z]")
- // Kotlin.
case _: WildcardType =>
val wildcardType =
compTypes.head.asInstanceOf[WildcardType]
val lowBounds = wildcardType.getLowerBounds
val upBounds = wildcardType.getUpperBounds
if lowBounds.nonEmpty || upBounds.size != 1 ||
upBounds(0) != CLS_ENTITY then
- E(s"Unexpected Kotlin generic type for $IT
annotated argument [$z]")
+ E(s"Unexpected generic type for $IT
annotated argument [$z]")
case _ => E(s"Unexpected generic type for $IT
annotated argument [$z]")
case _ =>
- // Scala.
if COMP_CLS.exists(_ == paramGenType) then
if !warned then
warned = true
@@ -402,10 +380,10 @@ object NCModelScanner extends LazyLogging:
else if cls != CLS_ENTITY && (min == 1 && max == 1) then
E(s"Intent term has [1,1] quantifier but $p1 is not a single
value [$p2]")
// Argument is optional but defined as not optional.
- else if (cls == CLS_SCALA_OPT || cls == CLS_JAVA_OPT) && (min != 0
|| max != 1) then
+ else if cls == CLS_SCALA_OPT && (min != 0 || max != 1) then
E(s"Intent term must have [0,1] quantifier because $p1 is
optional [$p2]")
// Argument is not optional but defined as optional.
- else if (cls != CLS_SCALA_OPT && cls != CLS_JAVA_OPT) && (min == 0
&& max == 1) then
+ else if cls != CLS_SCALA_OPT && (min == 0 && max == 1) then
E(s"Intent term has [0,1] quantifier but $p1 is not optional
[$p2]")
}