This is an automated email from the ASF dual-hosted git repository.
sergeykamov pushed a commit to branch NLPCRAFT-434
in repository https://gitbox.apache.org/repos/asf/incubator-nlpcraft.git
The following commit(s) were added to refs/heads/NLPCRAFT-434 by this push:
new bb7faf8 WIP.
bb7faf8 is described below
commit bb7faf8c41db92cf4e2d86d29a2442fc9df14565
Author: Sergey Kamov <[email protected]>
AuthorDate: Thu Sep 9 18:30:37 2021 +0300
WIP.
---
.../probe/mgrs/deploy/NCDeployManager.scala | 47 ++++++++++------------
1 file changed, 22 insertions(+), 25 deletions(-)
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/deploy/NCDeployManager.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/deploy/NCDeployManager.scala
index df0ade9..dbe27cc 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/deploy/NCDeployManager.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/deploy/NCDeployManager.scala
@@ -195,6 +195,7 @@ object NCDeployManager extends NCService {
// One wrapped method.
override def getElements: util.Set[NCElement] = allElems
+ // Other methods delegated.
override def getId: String = mdl.getId
override def getName: String = mdl.getName
override def getVersion: String = mdl.getVersion
@@ -1614,40 +1615,36 @@ object NCDeployManager extends NCService {
/**
*
* @param mdl
- * @throws
- * @return
*/
@throws[NCE]
private def scanElementsAnnotations(mdl: NCModel): Set[NCElement] = {
val elems = mutable.HashSet.empty[NCElement]
def scan(claxx: Class[_]): Unit = {
- val anns = mutable.ArrayBuffer.empty[NCElementDefinition]
-
- def add(arr: Array[NCElementDefinition]): Unit =
- if (arr != null)
- anns ++= arr.toSeq
+ val allClassAnns = mutable.ArrayBuffer.empty[NCElementDefinition]
+ def add(anns: Array[NCElementDefinition]): Unit = if (anns !=
null) allClassAnns ++= anns.toSeq
+ // Class.
add(claxx.getAnnotationsByType(CLS_ELEM_DEF))
+ // All class's methods.
getAllMethods(claxx).foreach(m =>
add(m.getAnnotationsByType(CLS_ELEM_DEF)))
- anns.foreach(a => {
- val elemStr = a.value().strip
-
- val expectedJson = elemStr.head == '{'
+ allClassAnns.foreach(a => {
+ val body = a.value().strip
+ val expectedJson = body.head == '{'
- val elemJs =
+ val jsElem =
try
- (if (expectedJson) MAPPER_JSON else
MAPPER_YAML).readValue(elemStr, classOf[NCElementJson])
+ (if (expectedJson) MAPPER_JSON else
MAPPER_YAML).readValue(body, classOf[NCElementJson])
catch {
case e: Exception =>
// TODO:
throw new NCE(s"Error parsing element[" +
s"modelId=${mdl.getId}, " +
s"definitionClass=${claxx.getName}, " +
- s"element='$elemStr', " +
+ s"element='$body', " +
s"expectedFormat=${if (expectedJson) "JSON"
else "YAML"}" +
s"]",
e
@@ -1661,24 +1658,24 @@ object NCDeployManager extends NCService {
private def nvl[T](arr: Array[T]): Seq[T] = if (arr ==
null) Seq.empty else arr.toSeq
- override def getId: String = elemJs.getId
- override def getDescription: String =
elemJs.getDescription
- override def getParentId: String = elemJs.getParentId
+ override def getId: String = jsElem.getId
+ override def getDescription: String =
jsElem.getDescription
+ override def getParentId: String = jsElem.getParentId
- override def getGroups: util.List[String] =
nvl(elemJs.getGroups).asJava
- override def getMetadata: util.Map[String, AnyRef] =
elemJs.getMetadata
- override def getSynonyms: util.List[String] =
nvl(elemJs.getSynonyms).asJava
+ override def getGroups: util.List[String] =
nvl(jsElem.getGroups).asJava
+ override def getMetadata: util.Map[String, AnyRef] =
jsElem.getMetadata
+ override def getSynonyms: util.List[String] =
nvl(jsElem.getSynonyms).asJava
override def getValues: util.List[NCValue] =
- nvl(elemJs.getValues).map(v => new NCValue {
+ nvl(jsElem.getValues).map(v => new NCValue {
override def getName: String = v.getName
override def getSynonyms: util.List[String] =
nvl(v.getSynonyms).asJava
}).asJava
override def getValueLoader: Optional[NCValueLoader] =
- if (elemJs.getValueLoader != null) {
+ if (jsElem.getValueLoader != null) {
if (loader == null) {
- loader = U.mkObject(elemJs.getValueLoader)
+ loader = U.mkObject(jsElem.getValueLoader)
loader.onInit()
}
@@ -1689,9 +1686,9 @@ object NCDeployManager extends NCService {
Optional.empty()
override def isPermutateSynonyms:
Optional[java.lang.Boolean] =
- Optional.ofNullable(elemJs.isPermutateSynonyms)
+ Optional.ofNullable(jsElem.isPermutateSynonyms)
override def isSparse: Optional[java.lang.Boolean] =
- Optional.ofNullable(elemJs.isSparse)
+ Optional.ofNullable(jsElem.isSparse)
}
elems += elem