All Downloads are FREE. Search and download functionalities are using the official Maven repository.

change-sysadmin-scala_3.0.1.4.source-code.task-result-html-untemplate.scala Maven / Gradle / Ivy

The newest version!
// DO NOT HAND EDIT -- Autogenerated from 'task-result.html.untemplate' at 2024-03-27T00:43:21.058187Z
package com.mchange.sysadmin.taskrunner

import java.io.{Writer,StringWriter}
import scala.collection.*

import java.time.ZonedDateTime
import java.time.format.DateTimeFormatter.RFC_1123_DATE_TIME

val Untemplate_task_result_html = new untemplate.Untemplate[AnyTaskRun,Nothing]:
  val UntemplateFunction                    : untemplate.Untemplate[AnyTaskRun,Nothing] = this
  val UntemplateName                        : String = "task_result_html"
  val UntemplatePackage                     : String = "com.mchange.sysadmin.taskrunner"
  val UntemplateInputName                   : String = "run"
  val UntemplateInputTypeDeclared           : String = "AnyTaskRun"
  val UntemplateInputTypeCanonical          : Option[String] = untemplate.Macro.nonEmptyStringOption( untemplate.Macro.recursiveCanonicalName[AnyTaskRun] )
  val UntemplateInputDefaultArgument        : Option[AnyTaskRun] = (None : Option[AnyTaskRun])
  val UntemplateOutputMetadataTypeDeclared  : String = "Nothing"
  val UntemplateOutputMetadataTypeCanonical : Option[String] = untemplate.Macro.nonEmptyStringOption( untemplate.Macro.recursiveCanonicalName[Nothing] )
  val UntemplateHeaderNote                  : String = ""

  val UntemplateAttributes : immutable.Map[String,Any] = immutable.Map.empty


  def apply(run : AnyTaskRun) : untemplate.Result[Nothing] =
    val writer             : StringWriter = new StringWriter(41780)
    val attrs              : immutable.Map[String,Any] = UntemplateAttributes
    var mbMetadata         : Option[Nothing] = None
    var outputTransformer  : Function1[untemplate.Result[Nothing],untemplate.Result[Nothing]] = identity


    val now = ZonedDateTime.now()
    val timestamp = RFC_1123_DATE_TIME.format(now)

    val title = Reporting.defaultTitle(run)



      val block0 = new Function0[String]:
        def apply() : String =
          "\n\n\n  \n    \n    " + ( title ) +
          "\n  \n  \n    

" + ( title ) + "

\n
Succeeded overall?: " + ( yn(run.success) ) + "
\n
Timestamp: " + ( timestamp.htmlSafeText ) + "
\n

Best-effort setups:

\n
\n" writer.write(block0()) if (run.bestEffortSetups.isEmpty) { writer.write("""
This task includes no best-effort-setup steps.
""") } else { run.bestEffortSetups.map(sr => StepRunMaybeIndexed(sr, None) ).foreach { srmi => val block1 = new Function0[String]: def apply() : String = " " + ( stepRun( srmi ) ) + "\n" writer.write(block1()) } // run.bestEffortSetups.foreach } // else val block2 = new Function0[String]: def apply() : String = "
\n

Sequential steps:

\n
\n" writer.write(block2()) if (run.sequential.isEmpty) { writer.write("""
This task includes no sequential steps.
""") } else { val indexedSequentials = LazyList.from(1).zip(run.sequential).map( (i,r) => StepRunMaybeIndexed(r, Some(i)) ) indexedSequentials.foreach { case srmi => val block3 = new Function0[String]: def apply() : String = " " + ( stepRun( srmi ) ) + "\n" writer.write(block3()) } // indexedSequentials.foreach } // else val block4 = new Function0[String]: def apply() : String = "
\n

Best-effort followups:

\n
\n" writer.write(block4()) if (run.bestEffortFollowups.isEmpty) { writer.write("""
This task includes no best-effort-followup steps.
""") } else { run.bestEffortFollowups.map(sr => StepRunMaybeIndexed(sr, None) ).foreach { srmi => val block5 = new Function0[String]: def apply() : String = " " + ( stepRun( srmi ) ) + "\n" writer.write(block5()) } // run.bestEffortFollowups.foreach } // else val block6 = new Function0[String]: def apply() : String = "
\n \n\n\n" writer.write(block6()) outputTransformer( untemplate.Result( mbMetadata, writer.toString ) ) end apply end Untemplate_task_result_html def task_result_html(run : AnyTaskRun) : untemplate.Result[Nothing] = Untemplate_task_result_html( run )




© 2015 - 2025 Weber Informatics LLC | Privacy Policy