diff options
| author | Jesse Morgan <jesse@jesterpm.net> | 2016-04-09 14:22:20 -0700 | 
|---|---|---|
| committer | Jesse Morgan <jesse@jesterpm.net> | 2016-04-09 15:48:01 -0700 | 
| commit | 3102d8bce3426d9cf41aeaf201c360d342677770 (patch) | |
| tree | 38c4f1e8828f9af9c4b77a173bee0d312b321698 /src/com/p4square/grow/provider | |
| parent | bbf907e51dfcf157bdee24dead1d531122aa25db (diff) | |
Switching from Ivy+Ant to Maven.
Diffstat (limited to 'src/com/p4square/grow/provider')
14 files changed, 0 insertions, 545 deletions
| diff --git a/src/com/p4square/grow/provider/CollectionProvider.java b/src/com/p4square/grow/provider/CollectionProvider.java deleted file mode 100644 index e4e9040..0000000 --- a/src/com/p4square/grow/provider/CollectionProvider.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright 2013 Jesse Morgan - */ - -package com.p4square.grow.provider; - -import java.io.IOException; -import java.util.Map; - -/** - * ListProvider is the logical extension of Provider for dealing with lists of - * items. - * - * @param C The type of the collection key. - * @param K The type of the item key. - * @param V The type of the value. - * - * @author Jesse Morgan <jesse@jesterpm.net> - */ -public interface CollectionProvider<C, K, V> { -    /** -     * Retrieve a specific object from the collection. -     * -     * @param collection The collection key. -     * @param key The key for the object in the collection. -     * @return The object or null if not found. -     */ -    V get(C collection, K key) throws IOException; - -    /** -     * Retrieve a collection. -     * -     * The returned map will never be null. -     * -     * @param collection The collection key. -     * @return A Map of keys to values. -     */ -    Map<K, V> query(C collection) throws IOException; - -    /** -     * Retrieve a portion of a collection. -     * -     * The returned map will never be null. -     * -     * @param collection The collection key. -     * @param limit Max number of items to return. -     * @return A Map of keys to values. -     */ -    Map<K, V> query(C collection, int limit) throws IOException; - -    /** -     * Persist the object with the given key. -     * -     * @param collection The collection key. -     * @param key The key for the object in the collection. -     * @param obj The object to persist. -     */ -    void put(C collection, K key, V obj) throws IOException; -} diff --git a/src/com/p4square/grow/provider/DelegateCollectionProvider.java b/src/com/p4square/grow/provider/DelegateCollectionProvider.java deleted file mode 100644 index cf697ba..0000000 --- a/src/com/p4square/grow/provider/DelegateCollectionProvider.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright 2014 Jesse Morgan - */ - -package com.p4square.grow.provider; - -import java.io.IOException; -import java.util.LinkedHashMap; -import java.util.Map; - -/** - * - * @author Jesse Morgan <jesse@jesterpm.net> - */ -public abstract class DelegateCollectionProvider<C, DC, K, DK, V> -    implements CollectionProvider<C, K, V> { - -    private CollectionProvider<DC, DK, V> mProvider; - -    public DelegateCollectionProvider(final CollectionProvider<DC, DK, V> provider) { -        mProvider = provider; -    } - -    public V get(C collection, K key) throws IOException { -        return mProvider.get(makeCollectionKey(collection), makeKey(key)); -    } - -    public Map<K, V> query(C collection) throws IOException { -        return query(collection, -1); -    } - -    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 LinkedHashMap<>(); -        for (Map.Entry<DK, V> entry : delegateResult.entrySet()) { -            result.put(unmakeKey(entry.getKey()), entry.getValue()); -        } - -        return result; -    } - -    public void put(C collection, K key, V obj) throws IOException { -        mProvider.put(makeCollectionKey(collection), makeKey(key), obj); -    } - -    /** -     * Make a collection key for the delegated provider. -     * -     * @param input The pre-transform key. -     * @return the post-transform key. -     */ -    protected abstract DC makeCollectionKey(final C input); - -    /** -     * Make a key for the delegated provider. -     * -     * @param input The pre-transform key. -     * @return the post-transform key. -     */ -    protected abstract DK makeKey(final K input); - -    /** -     * Transform a key for the delegated provider to an input key. -     * -     * @param input The post-transform key. -     * @return the pre-transform key. -     */ -    protected abstract K unmakeKey(final DK input); -} diff --git a/src/com/p4square/grow/provider/DelegateProvider.java b/src/com/p4square/grow/provider/DelegateProvider.java deleted file mode 100644 index 42dcc63..0000000 --- a/src/com/p4square/grow/provider/DelegateProvider.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright 2014 Jesse Morgan - */ - -package com.p4square.grow.provider; - -import java.io.IOException; - -/** - * DelegateProvider wraps an existing Provider an transforms the key from - * type K to type D. - * - * @author Jesse Morgan <jesse@jesterpm.net> - */ -public abstract class DelegateProvider<K, D, V> implements Provider<K, V> { - -    private Provider<D, V> mProvider; - -    public DelegateProvider(final Provider<D, V> provider) { -        mProvider = provider; -    } - -    @Override -    public V get(final K key) throws IOException { -        return mProvider.get(makeKey(key)); -    } - -    @Override -    public void put(final K key, final V obj) throws IOException { -        mProvider.put(makeKey(key), obj); -    } - -    /** -     * Make a Key for the delegated provider. -     * -     * @param input The pre-transform key. -     * @return the post-transform key. -     */ -    protected abstract D makeKey(final K input); -} diff --git a/src/com/p4square/grow/provider/JsonEncodedProvider.java b/src/com/p4square/grow/provider/JsonEncodedProvider.java deleted file mode 100644 index 500f761..0000000 --- a/src/com/p4square/grow/provider/JsonEncodedProvider.java +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Copyright 2013 Jesse Morgan - */ - -package com.p4square.grow.provider; - -import java.io.IOException; - -import com.fasterxml.jackson.databind.DeserializationFeature; -import com.fasterxml.jackson.databind.JavaType; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.SerializationFeature; - -/** - * Provider provides a simple interface for loading and persisting - * objects. - * - * @author Jesse Morgan <jesse@jesterpm.net> - */ -public abstract class JsonEncodedProvider<V> { -    public static final ObjectMapper MAPPER = new ObjectMapper(); -    static { -        MAPPER.configure(SerializationFeature.WRITE_ENUMS_USING_TO_STRING, true); -        MAPPER.configure(DeserializationFeature.READ_ENUMS_USING_TO_STRING, true); -        MAPPER.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); -    } - -    protected final Class<V> mClazz; -    protected final JavaType mType; - -    public JsonEncodedProvider(Class<V> clazz) { -        mClazz = clazz; -        mType = null; -    } - -    public JsonEncodedProvider(JavaType type) { -        mType = type; -        mClazz = null; -    } - -    /** -     * Encode the object as JSON. -     * -     * @param obj The object to encode. -     * @return The JSON encoding of obj. -     * @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); -    } - -    /** -     * Decode the JSON string as an object. -     * -     * @param blob The JSON data to decode. -     * @return The decoded object or null if blob is null. -     * @throws IOException If an object cannot be decoded. -     */ -    protected V decode(String blob) throws IOException { -        if (blob == null) { -            return null; -        } - -        if (mClazz == String.class) { -            return (V) blob; -        } - -        V obj; -        if (mClazz != null) { -            obj = MAPPER.readValue(blob, mClazz); - -        } else { -            obj = MAPPER.readValue(blob, mType); -        } - -        return obj; -    } -} - diff --git a/src/com/p4square/grow/provider/MapCollectionProvider.java b/src/com/p4square/grow/provider/MapCollectionProvider.java deleted file mode 100644 index 4c5cef6..0000000 --- a/src/com/p4square/grow/provider/MapCollectionProvider.java +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright 2015 Jesse Morgan - */ - -package com.p4square.grow.provider; - -import java.io.IOException; -import java.util.Iterator; -import java.util.Map; -import java.util.HashMap; - -/** - * In-memory CollectionProvider implementation, useful for tests. - * - * @author Jesse Morgan <jesse@jesterpm.net> - */ -public class MapCollectionProvider<C, K, V> implements CollectionProvider<C, K, V> { -    private final Map<C, Map<K, V>> mMap; - -    public MapCollectionProvider() { -        mMap = new HashMap<>(); -    } - -    @Override -    public synchronized V get(C collection, K key) throws IOException { -        Map<K, V> map = mMap.get(collection); -        if (map != null) { -            return map.get(key); -        } - -        return null; -    } - -    @Override -    public synchronized Map<K, V> query(C collection) throws IOException { -        Map<K, V> map = mMap.get(collection); -        if (map == null) { -            map = new HashMap<K, V>(); -        } - -        return map; -    } - -    @Override -    public synchronized Map<K, V> query(C collection, int limit) throws IOException { -        Map<K, V> map = query(collection); - -        if (map.size() > limit) { -            Map<K, V> smallMap = new HashMap<>(); - -            Iterator<Map.Entry<K, V>> iterator = map.entrySet().iterator(); -            for (int i = 0; i < limit; i++) { -                Map.Entry<K, V> entry = iterator.next(); -                smallMap.put(entry.getKey(), entry.getValue()); -            } - -            return smallMap; - -        } else { -            return map; -        } -    } - -    @Override -    public synchronized void put(C collection, K key, V obj) throws IOException { -        Map<K, V> map = mMap.get(collection); -        if (map == null) { -            map = new HashMap<K, V>(); -            mMap.put(collection, map); -        } - -        map.put(key, obj); -    } -} diff --git a/src/com/p4square/grow/provider/MapProvider.java b/src/com/p4square/grow/provider/MapProvider.java deleted file mode 100644 index 40f8107..0000000 --- a/src/com/p4square/grow/provider/MapProvider.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright 2015 Jesse Morgan - */ - -package com.p4square.grow.provider; - -import java.io.IOException; -import java.util.Map; -import java.util.HashMap; - -/** - * In-memory Provider implementation, useful for tests. - * - * @author Jesse Morgan <jesse@jesterpm.net> - */ -public class MapProvider<K, V> implements Provider<K, V> { -    private final Map<K, V> mMap = new HashMap<K, V>(); - -    @Override -    public V get(K key) throws IOException { -        return mMap.get(key); -    } - -    @Override -    public void put(K key, V obj) throws IOException { -        mMap.put(key, obj); -    } -} diff --git a/src/com/p4square/grow/provider/Provider.java b/src/com/p4square/grow/provider/Provider.java deleted file mode 100644 index ca6af25..0000000 --- a/src/com/p4square/grow/provider/Provider.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright 2013 Jesse Morgan - */ - -package com.p4square.grow.provider; - -import java.io.IOException; - -/** - * Provider provides a simple interface for loading and persisting - * objects. - * - * @author Jesse Morgan <jesse@jesterpm.net> - */ -public interface Provider<K, V> { -    /** -     * Retrieve the object with the given key. -     * -     * @param key The key for the object. -     * @return The object or null if not found. -     */ -    V get(K key) throws IOException; - -    /** -     * Persist the object with the given key. -     * -     * @param key The key for the object. -     * @param obj The object to persist. -     */ -    void put(K key, V obj) throws IOException; -} diff --git a/src/com/p4square/grow/provider/ProvidesAssessments.java b/src/com/p4square/grow/provider/ProvidesAssessments.java deleted file mode 100644 index 62ba8f6..0000000 --- a/src/com/p4square/grow/provider/ProvidesAssessments.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2014 Jesse Morgan - */ - -package com.p4square.grow.provider; - -import com.p4square.grow.model.RecordedAnswer; - -/** - *  - * @author Jesse Morgan <jesse@jesterpm.net> - */ -public interface ProvidesAssessments { -    /** -     * Provides a collection of user assessments. -     * The collection key is the user id. -     * The key is the question id. -     */ -    CollectionProvider<String, String, String> getAnswerProvider(); -} diff --git a/src/com/p4square/grow/provider/ProvidesQuestions.java b/src/com/p4square/grow/provider/ProvidesQuestions.java deleted file mode 100644 index b43f649..0000000 --- a/src/com/p4square/grow/provider/ProvidesQuestions.java +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright 2013 Jesse Morgan - */ - -package com.p4square.grow.provider; - -import com.p4square.grow.model.Question; - -/** - * Indicates the ability to provide a Question Provider. - * - * @author Jesse Morgan <jesse@jesterpm.net> - */ -public interface ProvidesQuestions { -    /** -     * @return A Provider of Questions keyed by question id. -     */ -    Provider<String, Question> getQuestionProvider(); -} diff --git a/src/com/p4square/grow/provider/ProvidesStrings.java b/src/com/p4square/grow/provider/ProvidesStrings.java deleted file mode 100644 index 5d9976e..0000000 --- a/src/com/p4square/grow/provider/ProvidesStrings.java +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright 2014 Jesse Morgan - */ - -package com.p4square.grow.provider; - -/** - * Indicates the ability to provide a String provider. - * - * Strings are typically configuration settings stored as a String. - * - * @author Jesse Morgan <jesse@jesterpm.net> - */ -public interface ProvidesStrings { -    /** -     * @return A Provider of Questions keyed by question id. -     */ -    Provider<String, String> getStringProvider(); -}
\ No newline at end of file diff --git a/src/com/p4square/grow/provider/ProvidesTrainingRecords.java b/src/com/p4square/grow/provider/ProvidesTrainingRecords.java deleted file mode 100644 index 586e649..0000000 --- a/src/com/p4square/grow/provider/ProvidesTrainingRecords.java +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright 2013 Jesse Morgan - */ - -package com.p4square.grow.provider; - -import java.io.IOException; - -import com.p4square.grow.model.TrainingRecord; -import com.p4square.grow.model.Playlist; - -/** - * Indicates the ability to provide a TrainingRecord Provider. - * - * @author Jesse Morgan <jesse@jesterpm.net> - */ -public interface ProvidesTrainingRecords { -    /** -     * @return A Provider of Questions keyed by question id. -     */ -    Provider<String, TrainingRecord> getTrainingRecordProvider(); - -    /** -     * @return the Default Playlist. -     */ -    Playlist getDefaultPlaylist() throws IOException; -} diff --git a/src/com/p4square/grow/provider/ProvidesUserRecords.java b/src/com/p4square/grow/provider/ProvidesUserRecords.java deleted file mode 100644 index d77c878..0000000 --- a/src/com/p4square/grow/provider/ProvidesUserRecords.java +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright 2014 Jesse Morgan - */ - -package com.p4square.grow.provider; - -import com.p4square.grow.model.UserRecord; - -/** - * Indicates the ability to provide a UserRecord Provider. - * - * @author Jesse Morgan <jesse@jesterpm.net> - */ -public interface ProvidesUserRecords { -    /** -     * @return A Provider of Questions keyed by question id. -     */ -    Provider<String, UserRecord> getUserRecordProvider(); -} diff --git a/src/com/p4square/grow/provider/ProvidesVideos.java b/src/com/p4square/grow/provider/ProvidesVideos.java deleted file mode 100644 index 3d055d3..0000000 --- a/src/com/p4square/grow/provider/ProvidesVideos.java +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright 2014 Jesse Morgan - */ - -package com.p4square.grow.provider; - -/** - *  - * @author Jesse Morgan <jesse@jesterpm.net> - */ -public interface ProvidesVideos { -    /** -     * @return A Provider of Questions keyed by question id. -     */ -    CollectionProvider<String, String, String> getVideoProvider(); -} diff --git a/src/com/p4square/grow/provider/TrainingRecordProvider.java b/src/com/p4square/grow/provider/TrainingRecordProvider.java deleted file mode 100644 index 44dba87..0000000 --- a/src/com/p4square/grow/provider/TrainingRecordProvider.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright 2013 Jesse Morgan - */ - -package com.p4square.grow.provider; - -import java.io.IOException; - -import com.p4square.grow.model.TrainingRecord; - -/** - * TrainingRecordProvider wraps an existing Provider to get and put TrainingRecords. - * - * @author Jesse Morgan <jesse@jesterpm.net> - */ -public abstract class TrainingRecordProvider<K> implements Provider<String, TrainingRecord> { - -    private Provider<K, TrainingRecord> mProvider; - -    public TrainingRecordProvider(Provider<K, TrainingRecord> provider) { -        mProvider = provider; -    } - -    @Override -    public TrainingRecord get(String key) throws IOException { -        return mProvider.get(makeKey(key)); -    } - -    @Override -    public void put(String key, TrainingRecord obj) throws IOException { -        mProvider.put(makeKey(key), obj); -    } - -    /** -     * Make a Key for a TrainingRecord.. -     * -     * @param userId The user id. -     * @return a key for the TrainingRecord of userid. -     */ -    protected abstract K makeKey(String userId); -} | 
