def copyToAMEngineNodeVo()

in linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/scala/org/apache/linkis/manager/am/utils/AMUtils.scala [160:285]


  def copyToAMEngineNodeVo(
      AMEngineNode: java.util.List[EngineNode]
  ): java.util.ArrayList[AMEngineNodeVo] = {
    val AMEngineNodeVos = new util.ArrayList[AMEngineNodeVo]()
    if (!AMEngineNode.isEmpty) {
      AMEngineNode.asScala.foreach(node => {
        val AMEngineNodeVo = new AMEngineNodeVo
        AMEngineNodeVo.setLabels(node.getLabels)
        AMEngineNodeVo.setApplicationName(node.getServiceInstance.getApplicationName)
        AMEngineNodeVo.setInstance(node.getServiceInstance.getInstance)
        AMEngineNodeVo.setMappingHost(node.getServiceInstance.getMappingHost)
        AMEngineNodeVo.setMappingPorts(node.getServiceInstance.getMappingPorts)
        if (null != node.getEMNode) {
          AMEngineNodeVo.setEmInstance(node.getEMNode.getServiceInstance.getInstance)
        }

        if (!node.getLabels.isEmpty) {
          val engineTypeLabel =
            node.getLabels.asScala.find(_.isInstanceOf[EngineTypeLabel]).orNull
          if (engineTypeLabel != null) {
            AMEngineNodeVo.setEngineType(
              engineTypeLabel.asInstanceOf[EngineTypeLabel] getEngineType
            )
          }
        }
        if (node.getStartTime != null) AMEngineNodeVo.setStartTime(node.getStartTime)
        if (node.getNodeStatus != null) {
          AMEngineNodeVo.setNodeStatus(node.getNodeStatus)
        } else {
          AMEngineNodeVo.setNodeStatus(NodeStatus.Starting)
        }
        if (node.getLock != null) AMEngineNodeVo.setLock(node.getLock)
        if (node.getNodeResource != null) {
          if (node.getNodeResource.getResourceType != null) {
            AMEngineNodeVo.setResourceType(node.getNodeResource.getResourceType)
          }
          if (node.getNodeResource.getMaxResource != null) {
            AMEngineNodeVo.setMaxResource(createUnlimitedResource)
          }
          if (node.getNodeResource.getMinResource != null) {
            AMEngineNodeVo.setMinResource(createZeroResource)
          }
          if (node.getNodeResource.getUsedResource != null) {
            val realResource = node.getNodeResource.getUsedResource match {
              case dy: DriverAndYarnResource => dy.getLoadInstanceResource
              case _ => node.getNodeResource.getUsedResource
            }
            AMEngineNodeVo.setUsedResource(
              mapper
                .readValue(mapper.writeValueAsString(realResource), classOf[util.Map[String, Any]])
            )
          } else {
            AMEngineNodeVo.setUsedResource(
              mapper.readValue(
                mapper.writeValueAsString(Resource.initResource(ResourceType.Default)),
                classOf[util.Map[String, Any]]
              )
            )
          }
          if (node.getNodeResource.getLockedResource != null) {
            AMEngineNodeVo.setLockedResource(
              mapper.readValue(
                mapper.writeValueAsString(node.getNodeResource.getLockedResource),
                classOf[util.Map[String, Any]]
              )
            )
          }
          if (node.getNodeResource.getExpectedResource != null) {
            AMEngineNodeVo.setExpectedResource(
              mapper.readValue(
                mapper.writeValueAsString(node.getNodeResource.getExpectedResource),
                classOf[util.Map[String, Any]]
              )
            )
          }
          if (node.getNodeResource.getLeftResource != null) {
            AMEngineNodeVo.setLeftResource(
              mapper.readValue(
                mapper.writeValueAsString(node.getNodeResource.getLeftResource),
                classOf[util.Map[String, Any]]
              )
            )
          }
        }
        AMEngineNodeVo.setOwner(node.getOwner)
        if (node.getNodeTaskInfo != null) {
          if (node.getNodeTaskInfo.getRunningTasks >= 0) {
            AMEngineNodeVo.setRunningTasks(node.getNodeTaskInfo.getRunningTasks)
          }
          if (node.getNodeTaskInfo.getPendingTasks >= 0) {
            AMEngineNodeVo.setPendingTasks(node.getNodeTaskInfo.getPendingTasks)
          }
          if (node.getNodeTaskInfo.getSucceedTasks >= 0) {
            AMEngineNodeVo.setSucceedTasks(node.getNodeTaskInfo.getSucceedTasks)
          }
          if (node.getNodeTaskInfo.getFailedTasks >= 0) {
            AMEngineNodeVo.setFailedTasks(node.getNodeTaskInfo.getFailedTasks)
          }
        }
        if (node.getNodeOverLoadInfo != null) {
          if (node.getNodeOverLoadInfo.getMaxMemory != null) {
            AMEngineNodeVo.setMaxMemory(node.getNodeOverLoadInfo.getMaxMemory)
          }
          if (node.getNodeOverLoadInfo.getUsedMemory != null) {
            AMEngineNodeVo.setUsedMemory(node.getNodeOverLoadInfo.getUsedMemory)
          }
          if (node.getNodeOverLoadInfo.getSystemCPUUsed != null) {
            AMEngineNodeVo.setSystemCPUUsed(node.getNodeOverLoadInfo.getSystemCPUUsed)
          }
          if (node.getNodeOverLoadInfo.getSystemLeftMemory != null) {
            AMEngineNodeVo.setSystemCPUUsed(node.getNodeOverLoadInfo.getSystemCPUUsed)
          }
        }
        if (node.getNodeHealthyInfo != null) {
          if (node.getNodeHealthyInfo.getNodeHealthy != null) {
            AMEngineNodeVo.setNodeHealthy(node.getNodeHealthyInfo.getNodeHealthy)
          }
          if (node.getNodeHealthyInfo.getMsg != null) {
            AMEngineNodeVo.setMsg(node.getNodeHealthyInfo.getMsg)
          }
        }
        AMEngineNodeVos.add(AMEngineNodeVo)
      })
    }
    AMEngineNodeVos
  }