
com.innovenso.townplanner.io.concepts.BusinessCapabilityExcelIO.scala Maven / Gradle / Ivy
package com.innovenso.townplanner.io.concepts
import com.innovenso.townplanner.io.concepts.ExcelFields._
import com.innovenso.townplanner.model.EnterpriseArchitecture
import com.innovenso.townplanner.model.concepts.BusinessCapability
import com.innovenso.townplanner.model.concepts.properties.{ArchitectureVerdict, Description}
import com.innovenso.townplanner.model.meta.{Key, SortKey}
import javax.swing.border.TitledBorder
object BusinessCapabilityExcelIO extends ConceptExcelIO[BusinessCapability] {
override def conceptClass: Class[BusinessCapability] =
classOf[BusinessCapability]
override def sheetName: String = "Business Capabilities"
override def headerLabels: List[String] =
List(
TITLE,
DESCRIPTION,
ARCHITECTURE_VERDICT,
ARCHITECTURE_VERDICT_EXPLANATION
)
override def cellValues(concept: BusinessCapability): List[String] = List(
concept.title,
concept.descriptions.map(_.value).mkString("\n\n"),
concept.architectureVerdict.name,
concept.architectureVerdict.description
)
override def concept(
props: ConceptProperties,
ea: EnterpriseArchitecture
): Unit = {
val capability = ea describes BusinessCapability(
key = props.key,
title = props.title,
sortKey = props.sortKey
) as { it =>
props.descriptions
.foreach(d => it has d)
it should props.architectureVerdict
}
println(s"imported $capability")
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy