diff options
author | vlad <vlad@driver.xyz> | 2017-06-13 16:12:20 -0700 |
---|---|---|
committer | vlad <vlad@driver.xyz> | 2017-06-13 16:12:20 -0700 |
commit | cd1b635b2ae90d9ac2d8b1779183a1fbd8c5fd5c (patch) | |
tree | 062e8dad1a1513e26b0fd08b1742d6ff2ee874f7 /src/main/scala/xyz/driver/pdsuidomain/entities/ExtractedData.scala | |
parent | 0000a65ab4479a2a40e2d6468036438e9705b4aa (diff) | |
download | rest-query-cd1b635b2ae90d9ac2d8b1779183a1fbd8c5fd5c.tar.gz rest-query-cd1b635b2ae90d9ac2d8b1779183a1fbd8c5fd5c.tar.bz2 rest-query-cd1b635b2ae90d9ac2d8b1779183a1fbd8c5fd5c.zip |
Adding domain entitiesv0.1.0
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuidomain/entities/ExtractedData.scala')
-rw-r--r-- | src/main/scala/xyz/driver/pdsuidomain/entities/ExtractedData.scala | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/ExtractedData.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/ExtractedData.scala new file mode 100644 index 0000000..9972142 --- /dev/null +++ b/src/main/scala/xyz/driver/pdsuidomain/entities/ExtractedData.scala @@ -0,0 +1,48 @@ +package xyz.driver.pdsuidomain.entities + +import xyz.driver.pdsuicommon.domain.{FuzzyValue, LongId, TextJson} +import xyz.driver.pdsuicommon.logging._ +import xyz.driver.pdsuidomain.entities.ExtractedData.Meta + +final case class ExtractedData(id: LongId[ExtractedData] = LongId(0L), + documentId: LongId[Document], + keywordId: Option[LongId[Keyword]], + evidenceText: Option[String], + meta: Option[TextJson[Meta]]) { + + def isValid: Boolean = evidenceText.getOrElse("") != "" && meta.nonEmpty + +} + +object ExtractedData { + + final case class Meta(keyword: Meta.Keyword, evidence: Meta.Evidence) + + object Meta { + + final case class Evidence(pageRatio: Double, start: TextLayerPosition, end: TextLayerPosition) + + final case class TextLayerPosition(page: Integer, index: Integer, offset: Integer) + + final case class Keyword(page: Integer, pageRatio: Option[Double], index: Integer, sortIndex: String) + } + + implicit def toPhiString(x: ExtractedData): PhiString = { + import x._ + phi"ExtractedData(id=$id, documentId=$documentId, keywordId=$keywordId)" + } +} + +object ExtractedDataLabel { + + implicit def toPhiString(x: ExtractedDataLabel): PhiString = { + import x._ + phi"ExtractedDataLabel(id=$id, dataId=$dataId, labelId=$labelId, categoryId=$categoryId, value=$value)" + } +} + +final case class ExtractedDataLabel(id: LongId[ExtractedDataLabel], + dataId: LongId[ExtractedData], + labelId: Option[LongId[Label]], + categoryId: Option[LongId[Category]], + value: Option[FuzzyValue]) |