@(dataset: models.Dataset, metadata: Map[String,Any], userMetadata: scala.collection.mutable.Map[String,Any], xmlMetadata: List[models.DatasetXMLMetadata], rdfExported: Boolean, curationId: Option[UUID])(implicit user: Option[models.User])
@import com.mongodb.casbah.Imports.DBObject
@import collection.JavaConverters._
@printLevel(metadata: scala.collection.immutable.Map[String,Any]) = {
@for((key,value) <- metadata) {
@(key):
@if(value.isInstanceOf[String]) {
@if(value.asInstanceOf[String].startsWith("http://") || value.asInstanceOf[String].startsWith("https://")) {
@value
} else {
@value
}
} else {
@if(value.isInstanceOf[java.lang.Integer] || value.isInstanceOf[java.lang.Double] || value.isInstanceOf[java.lang.Float] ) {
@value.toString
} else {
@if(value.isInstanceOf[com.mongodb.BasicDBList]) {
@printList(value.asInstanceOf[com.mongodb.BasicDBList].toList)
} else {
@if(value.isInstanceOf[com.mongodb.BasicDBObject]) {
@printLevel(value.asInstanceOf[com.mongodb.BasicDBObject].toMap().asScala.asInstanceOf[scala.collection.mutable.Map[String, Any]].toMap)
} else {
@value.toString
}
}
}
}
}
}
@printList(metadata: List[AnyRef]) = {
@metadata.indices.map { i =>
@i:
@if(metadata(i).isInstanceOf[String]) {
@if(metadata(i).asInstanceOf[String].startsWith("http://") || metadata(i).asInstanceOf[String].startsWith("https://")) {
@metadata(i)
} else {
@metadata(i)
}
} else {
@if(metadata(i).isInstanceOf[java.lang.Integer] || metadata(i).isInstanceOf[java.lang.Double] || metadata(i).isInstanceOf[java.lang.Float] ) {
@metadata(i).toString
} else {
@if(metadata(i).isInstanceOf[com.mongodb.BasicDBList]) {
@printList(metadata(i).asInstanceOf[com.mongodb.BasicDBList].toList)
} else {
@if(metadata(i).isInstanceOf[com.mongodb.BasicDBObject]) {
@printLevel(metadata(i).asInstanceOf[com.mongodb.BasicDBObject].toMap().asScala.asInstanceOf[scala.collection.mutable.Map[String, Any]].toMap)
} else {
@metadata(i)
}
}
}
}
}
}
@printLevelUserMetadata(metadata: scala.collection.mutable.Map[String,Any]) = {
@for((key,value) <- metadata) {
@if(value.isInstanceOf[com.mongodb.BasicDBList]){
@for(listValue <- value.asInstanceOf[com.mongodb.BasicDBList]) {
@if(!(key == "@context")){
- @(key):
@if(listValue.isInstanceOf[String]) {
@listValue
} else {
@printLevelUserMetadata(listValue.asInstanceOf[DBObject].toMap.asScala.asInstanceOf[scala.collection.mutable.Map[String, Any]])
}
}
}
}else{
@if(!(key == "@context")){
- @(key):
@if(value.isInstanceOf[String]) {
@value
} else {
@printLevelUserMetadata(value.asInstanceOf[DBObject].toMap.asScala.asInstanceOf[scala.collection.mutable.Map[String, Any]])
}
}
}
}
}
Community generated metadata
@printLevelUserMetadata(userMetadata)
@if(rdfExported){
}
System generated metadata
@if(metadata.isEmpty) {
No system generated metadata available yet
} else {
@printLevel(metadata)
}
@if(!user.isDefined) {
}