diff options
author | Jesse Morgan <jesse@jesterpm.net> | 2014-05-23 22:40:39 -0700 |
---|---|---|
committer | Jesse Morgan <jesse@jesterpm.net> | 2014-05-23 22:40:39 -0700 |
commit | d90c6f8ef2c9b630a39f7e6cbf65897dc2f62011 (patch) | |
tree | 422e40c724c56088af0bca376baa7a56634f9251 /src/com/p4square/grow/provider | |
parent | ef862e30975db691339fd143d2c4d60eb5132a3e (diff) |
Adding dynamo support.
Diffstat (limited to 'src/com/p4square/grow/provider')
-rw-r--r-- | src/com/p4square/grow/provider/DelegateCollectionProvider.java | 4 | ||||
-rw-r--r-- | src/com/p4square/grow/provider/JsonEncodedProvider.java | 8 |
2 files changed, 10 insertions, 2 deletions
diff --git a/src/com/p4square/grow/provider/DelegateCollectionProvider.java b/src/com/p4square/grow/provider/DelegateCollectionProvider.java index e17af87..cf697ba 100644 --- a/src/com/p4square/grow/provider/DelegateCollectionProvider.java +++ b/src/com/p4square/grow/provider/DelegateCollectionProvider.java @@ -5,7 +5,7 @@ package com.p4square.grow.provider; import java.io.IOException; -import java.util.HashMap; +import java.util.LinkedHashMap; import java.util.Map; /** @@ -31,7 +31,7 @@ public abstract class DelegateCollectionProvider<C, DC, K, DK, V> public Map<K, V> query(C collection, int limit) throws IOException { Map<DK, V> delegateResult = mProvider.query(makeCollectionKey(collection), limit); - Map<K, V> result = new HashMap<>(); + Map<K, V> result = new LinkedHashMap<>(); for (Map.Entry<DK, V> entry : delegateResult.entrySet()) { result.put(unmakeKey(entry.getKey()), entry.getValue()); } diff --git a/src/com/p4square/grow/provider/JsonEncodedProvider.java b/src/com/p4square/grow/provider/JsonEncodedProvider.java index 7651443..500f761 100644 --- a/src/com/p4square/grow/provider/JsonEncodedProvider.java +++ b/src/com/p4square/grow/provider/JsonEncodedProvider.java @@ -46,6 +46,10 @@ public abstract class JsonEncodedProvider<V> { * @throws IOException if the object cannot be encoded. */ protected String encode(V obj) throws IOException { + if (mClazz == String.class) { + return (String) obj; + } + return MAPPER.writeValueAsString(obj); } @@ -61,6 +65,10 @@ public abstract class JsonEncodedProvider<V> { return null; } + if (mClazz == String.class) { + return (V) blob; + } + V obj; if (mClazz != null) { obj = MAPPER.readValue(blob, mClazz); |