
com.innovenso.townplanner.io.latex.picture.PicturePdfWriter.scala Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of innovenso-townplanner-io-latex-pictures_2.13 Show documentation
Show all versions of innovenso-townplanner-io-latex-pictures_2.13 Show documentation
The Innovenso Townplanner is a set of libraries used to document a company's enterprise architecture.
The newest version!
package com.innovenso.townplanner.io.latex.picture
import com.innovenso.townplan.io.context.{Output, OutputContext, Pdf, Success}
import com.innovenso.townplan.io.state.StateRepository
import com.innovenso.townplan.repository.AssetRepository
import com.innovenso.townplanner.io.latex.LatexPdfWriter
import com.innovenso.townplanner.io.latex.model.LatexSpecification
import java.io.File
object PicturePdfWriter {
def pictures(
specification: LatexSpecification,
assetRepository: AssetRepository,
outputContext: OutputContext,
stateRepository: StateRepository
): List[Output] = {
val assetName = specification.assetName
val existingFile: Option[File] = assetRepository.read(assetName)
println(
s"checking for existing, unchanged document ${assetName}: ${existingFile.map(_.getAbsolutePath).getOrElse("none")}"
)
if (
existingFile.isDefined && existingFile.get.exists() && !stateRepository
.hasChanged(specification.view, "LaTeX Pictures")
)
List(
Output(
view = specification.view.view,
relatedModelComponents = specification.relatedModelComponents,
result = Success,
assetName = Some(specification.assetName),
fileType = Pdf,
outputType = specification.outputType,
day = specification.view.pointInTime
)
)
else {
val outputs =
LatexPdfWriter(specification, assetRepository, outputContext).document
stateRepository.touch(specification.view, "LaTeX Pictures")
outputs
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy