in auditlog/src/main/scala/com/gerritforge/analytics/auditlog/model/AuditEvent.scala [151:163]
def parseRaw(json: String): Try[AuditEvent] = {
Try(parse(json)).flatMap { jsValueEvent =>
jsValueEvent \ "type" match {
case JString(eventType) if eventType == "HttpAuditEvent" =>
HttpAuditEvent(jsValueEvent \ "event")
case JString(eventType) if eventType == "ExtendedHttpAuditEvent" =>
ExtendedHttpAuditEvent(jsValueEvent \ "event")
case JString(eventType) if eventType == "SshAuditEvent" =>
SshAuditEvent(jsValueEvent \ "event")
case _ => Failure(new MappingException(s"Could not parse json into an audit event: $json"))
}
}
}