dnet-hadoop/dhp-workflows/dhp-graph-mapper/src/main/java/eu/dnetlib/dhp/sx/bio/PDBToOAF.scala

37 lines
934 B
Scala
Raw Normal View History

2021-06-18 16:41:24 +02:00
package eu.dnetlib.dhp.sx.bio
2021-06-21 09:36:40 +02:00
import eu.dnetlib.dhp.schema.common.ModelConstants
2021-06-18 16:41:24 +02:00
import eu.dnetlib.dhp.schema.oaf.utils.OafMapperUtils
2021-06-21 09:36:40 +02:00
import eu.dnetlib.dhp.schema.oaf.{DataInfo, Dataset, Oaf}
2021-06-18 16:41:24 +02:00
import org.json4s.DefaultFormats
import org.json4s.jackson.JsonMethods.parse
2021-06-21 09:36:40 +02:00
import scala.collection.JavaConverters._
2021-06-18 16:41:24 +02:00
object PDBToOAF {
2021-06-21 09:36:40 +02:00
val dataInfo: DataInfo = OafMapperUtils.dataInfo(false, null, false, false, ModelConstants.PROVENANCE_ACTION_SET_QUALIFIER, "0.9")
2021-06-18 16:41:24 +02:00
def convert(input:String):List[Oaf]= {
implicit lazy val formats: DefaultFormats.type = org.json4s.DefaultFormats
lazy val json = parse(input)
val pdb = (json \ "pdb").extract[String]
if (pdb.isEmpty)
return List()
val d = new Dataset
2021-06-21 09:36:40 +02:00
d.setPid(
List(
OafMapperUtils.structuredProperty(pdb, "pdb", "pdb", ModelConstants.DNET_PID_TYPES, ModelConstants.DNET_PID_TYPES,dataInfo)
).asJava
)
2021-06-18 16:41:24 +02:00
2021-06-21 09:36:40 +02:00
List(d)
2021-06-18 16:41:24 +02:00
}
}