aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksandr <ognelisar@gmail.com>2017-10-26 17:44:42 +0700
committerAleksandr <ognelisar@gmail.com>2017-10-26 17:44:42 +0700
commitb6943690e5e572f6edc9fe985d33a6349a4a6812 (patch)
tree6406d9b37f8b4ad8d93741c9cd57dc262620a0d4
parenta453d027f4a7a9a4f14ef272724c24fd19eb82a2 (diff)
downloadrest-query-b6943690e5e572f6edc9fe985d33a6349a4a6812.tar.gz
rest-query-b6943690e5e572f6edc9fe985d33a6349a4a6812.tar.bz2
rest-query-b6943690e5e572f6edc9fe985d33a6349a4a6812.zip
Reimplemented entity ExtractedData.Meta
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/entities/ExtractedData.scala2
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/fakes/entities/recordprocessing.scala6
-rw-r--r--src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/ExtractedDataFormatSuite.scala27
3 files changed, 24 insertions, 11 deletions
diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/ExtractedData.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/ExtractedData.scala
index 352cf55..569375a 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/entities/ExtractedData.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/entities/ExtractedData.scala
@@ -17,7 +17,7 @@ final case class ExtractedData(id: LongId[ExtractedData] = LongId(0L),
object ExtractedData {
- final case class Meta(keyword: Meta.Keyword, evidence: Meta.Evidence)
+ final case class Meta(keyword: Option[Meta.Keyword], evidence: Option[Meta.Evidence])
object Meta {
final case class Evidence(pageRatio: Double, start: TextLayerPosition, end: TextLayerPosition)
diff --git a/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/recordprocessing.scala b/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/recordprocessing.scala
index 86583c1..3a018fa 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/recordprocessing.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/recordprocessing.scala
@@ -245,13 +245,13 @@ object recordprocessing {
def nextExtractedDataMeta(): Meta = {
ExtractedData.Meta(
- nextExtractedDataMetaKeyword(),
- nextExtractedDataMetaEvidence()
+ nextOption(nextExtractedDataMetaKeyword()),
+ nextOption(nextExtractedDataMetaEvidence())
)
}
def nextExtractedDataMetaJson(): TextJson[Meta] =
- nextTextJson(ExtractedData.Meta(nextExtractedDataMetaKeyword(), nextExtractedDataMetaEvidence()))
+ nextTextJson(nextExtractedDataMeta())
def nextExtractedData(): ExtractedData = {
ExtractedData(
diff --git a/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/ExtractedDataFormatSuite.scala b/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/ExtractedDataFormatSuite.scala
index 1feca6a..d87b6c7 100644
--- a/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/ExtractedDataFormatSuite.scala
+++ b/src/test/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/ExtractedDataFormatSuite.scala
@@ -9,6 +9,7 @@ import xyz.driver.pdsuidomain.entities.{ExtractedData, ExtractedDataLabel}
import xyz.driver.pdsuidomain.services.ExtractedDataService.RichExtractedData
class ExtractedDataFormatSuite extends FlatSpec with Matchers {
+
import extracteddata._
"Json format for ExtractedData" should "read and write correct JSON" in {
@@ -17,8 +18,18 @@ class ExtractedDataFormatSuite extends FlatSpec with Matchers {
documentId = LongId(101),
keywordId = Some(LongId(201)),
evidenceText = Some("evidence text"),
- meta = None
- )
+ meta = Option(TextJson(Meta(
+ evidence = None,
+ keyword =
+ Some(Meta.Keyword(
+ page = 1,
+ pageRatio = Some(1.6161616161616161d),
+ index = 0,
+ sortIndex = "1080000"
+ ))
+ )
+ )))
+
val extractedDataLabels = List(
ExtractedDataLabel(
id = LongId(1),
@@ -43,11 +54,13 @@ class ExtractedDataFormatSuite extends FlatSpec with Matchers {
writtenJson should be(
"""{"id":1,"documentId":101,"keywordId":201,"evidence":"evidence text","meta":null,
- "labels":[{"id":null,"categoryId":null,"value":"Yes"},{"id":12,"categoryId":1,"value":"No"}]}""".parseJson)
+ "labels":[{"id":null,"categoryId":null,"value":"Yes"},{"id":12,"categoryId":1,"value":"No"}],
+ "meta":{"keyword":{"index":0,"page":1,"pageRatio":1.6161616161616161,"sortIndex":"1080000"}}}""".parseJson)
val createExtractedDataJson =
"""{"documentId":101,"keywordId":201,"evidence":"evidence text",
- "labels":[{"value":"Yes"},{"id":12,"categoryId":1,"value":"No"}]}""".parseJson
+ "labels":[{"value":"Yes"},{"id":12,"categoryId":1,"value":"No"}],
+ "meta":{"keyword":{"index":0,"page":1,"pageRatio":1.6161616161616161,"sortIndex":"1080000"}}}""".parseJson
val expectedCreatedExtractedData = origRichExtractedData.copy(
extractedData = extractedData.copy(id = LongId(0)),
labels = extractedDataLabels.map(_.copy(id = LongId(0), dataId = LongId(0)))
@@ -80,12 +93,12 @@ class ExtractedDataFormatSuite extends FlatSpec with Matchers {
evidenceText = Some("new evidence text"),
meta = Some(
TextJson(Meta(
- keyword = Meta.Keyword(page = 1, pageRatio = None, index = 2, sortIndex = "ASC"),
- evidence = Meta.Evidence(
+ keyword = Some(Meta.Keyword(page = 1, pageRatio = None, index = 2, sortIndex = "ASC")),
+ evidence = Some(Meta.Evidence(
pageRatio = 1.0,
start = Meta.TextLayerPosition(page = 1, index = 3, offset = 2),
end = Meta.TextLayerPosition(page = 2, index = 3, offset = 10)
- )
+ ))
)))
),
labels = updatedExtractedDataLabels