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
}