@import org.silkframework.config.Prefixes
@import org.silkframework.rule.evaluation.{DetailedEntity, Value, TransformedValue, InputValue}
@import controllers.core.routes.{Assets => CoreAssets}
@import controllers.rules.routes.Assets
@import java.util.UUID
@import org.silkframework.entity.ValueType
@import org.silkframework.rule.MappingTarget
@import config.WorkbenchConfig.WorkspaceReact
@(entities: Seq[org.silkframework.rule.evaluation.DetailedEntity], prefixes: Prefixes)(implicit workspaceReact: WorkspaceReact)
@frame {
} {
@renderHeader
@for((entity, index) <- entities.zipWithIndex) {
@renderEntity(entity, index)
}
}
@renderHeader = {
}
@renderEntity(entity: DetailedEntity, counter: Int) = {
@for((value, rule) <- entity.values zip entity.rules) {
-
@renderTarget(rule.target)
}
}
@renderUris(uris: Seq[String]) = {
@if(uris.isEmpty) {
@renderError("The URI pattern did not generate any URI for this entity.")
} else {
@uris.map(uri => prefixes.shorten(uri)).mkString(", ")
}
}
@renderTarget(mappingTarget: Option[MappingTarget]) = {
@mappingTarget match {
case None => {
URI
}
case Some(target) => {
@target.propertyUri.serialize(prefixes)
@if(target.valueType != ValueType.UNTYPED) {
(@target.valueType.label)
}
}
}
}
@renderValue(value: Value) = { @value match {
case TransformedValue(transform, values, children, error) => {
Transform: @transform.transformer.pluginSpec.id (@transform.id)
@values.map(v => {v})
@renderErrorOpt(value.formattedErrorMessage)
@if(children.nonEmpty) {
@children.map(v => renderValue(v))
}
}
case InputValue(input, values, error) => {
Input: @input.path.serialize()(prefixes) (@input.id)
@values.map(v => {v})
@renderErrorOpt(value.formattedErrorMessage)
}
}}
@renderErrorOpt(error: Option[String]) = {
@for(ex <- error) {
@renderError(ex)
}
}
@renderError(error: String, id: String = UUID.randomUUID.toString) = {
}