diff options
author | Ellen Spertus <ellen.spertus@gmail.com> | 2018-07-24 12:25:45 -0700 |
---|---|---|
committer | Ellen Spertus <ellen.spertus@gmail.com> | 2018-07-24 12:25:45 -0700 |
commit | dae965840db388c53b969d76849e5e8e9569ceee (patch) | |
tree | cf015ebe7d55ae6b9bc1a1272a57fd0d25e86014 /scalding/src/main/scala | |
parent | 3e33d60aac9db78d0458876fbe987627db222bbb (diff) | |
download | sandcrawler-dae965840db388c53b969d76849e5e8e9569ceee.tar.gz sandcrawler-dae965840db388c53b969d76849e5e8e9569ceee.zip |
Changed return type of grobidToSlug() to Option[String].
Diffstat (limited to 'scalding/src/main/scala')
-rw-r--r-- | scalding/src/main/scala/sandcrawler/HBaseCrossrefScoreJob.scala | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/scalding/src/main/scala/sandcrawler/HBaseCrossrefScoreJob.scala b/scalding/src/main/scala/sandcrawler/HBaseCrossrefScoreJob.scala index a22af81..d3e78fe 100644 --- a/scalding/src/main/scala/sandcrawler/HBaseCrossrefScoreJob.scala +++ b/scalding/src/main/scala/sandcrawler/HBaseCrossrefScoreJob.scala @@ -22,7 +22,7 @@ class HBaseCrossrefScoreJob(args: Args) extends JobBase(args) with HBasePipeConv sourceMode = SourceMode.SCAN_ALL) val grobidPipe = grobidSource - .read + .read .map('tei_json -> 'slug) { json : String => HBaseCrossrefScore.grobidToSlug(json)} @@ -42,17 +42,21 @@ class HBaseCrossrefScoreJob(args: Args) extends JobBase(args) with HBasePipeConv } object HBaseCrossrefScore { - def grobidToSlug(json : String) = { + def grobidToSlug(json : String) : Option[String] = { // https://stackoverflow.com/a/32717262/631051 val jsonObject = JSON.parseFull(json) - val globalMap = jsonObject.get.asInstanceOf[Map[String, Any]] - globalMap.get("title") match { - case Some(title) => titleToSlug(title.asInstanceOf[String]) - case None => "" + if (jsonObject == None) { + None + } else { + val globalMap = jsonObject.get.asInstanceOf[Map[String, Any]] + globalMap.get("title") match { + case Some(title) => Some(titleToSlug(title.asInstanceOf[String])) + case None => None + } } } - def titleToSlug(title : String) = { + def titleToSlug(title : String) : String = { title.split(":")(0) } } |