Created
September 25, 2014 01:16
-
-
Save lab3/893f5bea365ff36c67aa to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import scala.concurrent.Future | |
import org.apache.log4j.{LogManager, Logger} | |
import com.datastax.driver.core.Row | |
import com.websudos.phantom.Implicits._ | |
import org.joda.time._ | |
case class AnswerClusteredKeyRow( | |
decoder_key: String, | |
param_id: BigInt, | |
answers: Set[Int], | |
expires: DateTime, | |
first_answered: DateTime, | |
last_answered: DateTime | |
) | |
class AnswerClusteredKeyTable extends CassandraTable[AnswerClusteredKeyTable, AnswerClusteredKeyRow] with CassandraConnector { | |
object decoder_key extends StringColumn(this) with PartitionKey[String] | |
object param_id extends BigIntColumn(this) with PrimaryKey[BigInt] | |
object answers extends SetColumn[AnswerClusteredKeyTable, AnswerClusteredKeyRow, Int](this) | |
object expires extends DateTimeColumn(this) | |
object first_answered extends DateTimeColumn(this) | |
object last_answered extends DateTimeColumn(this) | |
override def fromRow(r: Row): AnswerClusteredKeyRow = { | |
println(r.toString()) | |
println(param_id(r)) | |
println(decoder_key(r)) | |
AnswerClusteredKeyRow( | |
decoder_key(r), | |
param_id(r), | |
answers(r).toSet, | |
expires(r), | |
first_answered(r), | |
last_answered(r) | |
) | |
} | |
} | |
object AnswerClusteredKeyService extends AnswerClusteredKeyTable { | |
val LOG: Logger = LogManager.getLogger(AnswerClusteredKeyService.getClass) | |
def getByKeyAndParam(key: String, param_id: Int): Future[Option[AnswerClusteredKeyRow]] = { | |
AnswerClusteredKeyService.select.where(_.decoder_key eqs key).and(_.param_id eqs 1).one() | |
} | |
override def tableName = "answers_clustered" | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment