From 347589a78ba6db05bb4fe62ad92a0b73e4a57c3e Mon Sep 17 00:00:00 2001 From: Jesse Morgan Date: Fri, 23 May 2014 22:40:39 -0700 Subject: Adding dynamo support. --- .../grow/backend/dynamo/DynamoProviderImpl.java | 37 ++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/com/p4square/grow/backend/dynamo/DynamoProviderImpl.java (limited to 'src/com/p4square/grow/backend/dynamo/DynamoProviderImpl.java') diff --git a/src/com/p4square/grow/backend/dynamo/DynamoProviderImpl.java b/src/com/p4square/grow/backend/dynamo/DynamoProviderImpl.java new file mode 100644 index 0000000..93a535f --- /dev/null +++ b/src/com/p4square/grow/backend/dynamo/DynamoProviderImpl.java @@ -0,0 +1,37 @@ +/* + * Copyright 2013 Jesse Morgan + */ + +package com.p4square.grow.backend.dynamo; + +import java.io.IOException; + +import com.p4square.grow.provider.Provider; +import com.p4square.grow.provider.JsonEncodedProvider; + +/** + * Provider implementation backed by a DynamoDB Table. + * + * @author Jesse Morgan + */ +public class DynamoProviderImpl extends JsonEncodedProvider implements Provider { + private final DynamoDatabase mDb; + + public DynamoProviderImpl(DynamoDatabase db, Class clazz) { + super(clazz); + + mDb = db; + } + + @Override + public V get(DynamoKey key) throws IOException { + String blob = mDb.getAttribute(key); + return decode(blob); + } + + @Override + public void put(DynamoKey key, V obj) throws IOException { + String blob = encode(obj); + mDb.putAttribute(key, blob); + } +} -- cgit v1.2.3