Skip to content

Instantly share code, notes, and snippets.

@rjenkins
Created July 2, 2012 22:01
Show Gist options
  • Save rjenkins/3036001 to your computer and use it in GitHub Desktop.
Save rjenkins/3036001 to your computer and use it in GitHub Desktop.
RiakDriver.scala
class RiakDriver[T](bucket: String, riakClient: IRiakClient)
extends RiakStorageDriver[String, T] with Logging {
def getByKey(key: String, converter: Converter[T]): Option[T] = {
val data: IRiakObject = fetchBucket.fetch(key).execute()
if (data != null)
new Some(converter.toDomain(data))
else
None
}
def persist(key: String, t: T, converter: Converter[T]): T = {
fetchBucket.store(key, t).withConverter(converter).returnBody(true).execute()
}
def delete(t: T) {
fetchBucket.delete(t).execute()
}
def deleteByKey(key: String) {
fetchBucket.delete(key).execute()
}
def findFor2i(index: String, value: String, converter: Converter[T]): List[T] = {
get2iResults(getStringKeys(index, value), converter)
}
def findFor2i(index: String, value: Int, converter: Converter[T]): List[T] = {
get2iResults(getIntKeys(index, value), converter)
}
def deleteFor2i(index: String, value: String) {
delete2iResults(getStringKeys(index, value))
}
...
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment