summaryrefslogtreecommitdiff
path: root/src/com/p4square/grow/backend/DynamoGrowData.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/p4square/grow/backend/DynamoGrowData.java')
-rw-r--r--src/com/p4square/grow/backend/DynamoGrowData.java180
1 files changed, 0 insertions, 180 deletions
diff --git a/src/com/p4square/grow/backend/DynamoGrowData.java b/src/com/p4square/grow/backend/DynamoGrowData.java
deleted file mode 100644
index 3b38eac..0000000
--- a/src/com/p4square/grow/backend/DynamoGrowData.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*
- * Copyright 2014 Jesse Morgan
- */
-
-package com.p4square.grow.backend;
-
-import java.io.IOException;
-
-import com.amazonaws.auth.AWSCredentials;
-
-import com.p4square.grow.backend.dynamo.DynamoDatabase;
-import com.p4square.grow.backend.dynamo.DynamoKey;
-import com.p4square.grow.backend.dynamo.DynamoProviderImpl;
-import com.p4square.grow.backend.dynamo.DynamoCollectionProviderImpl;
-
-import com.p4square.grow.config.Config;
-
-import com.p4square.grow.model.Message;
-import com.p4square.grow.model.MessageThread;
-import com.p4square.grow.model.Playlist;
-import com.p4square.grow.model.Question;
-import com.p4square.grow.model.TrainingRecord;
-import com.p4square.grow.model.UserRecord;
-
-import com.p4square.grow.provider.CollectionProvider;
-import com.p4square.grow.provider.DelegateCollectionProvider;
-import com.p4square.grow.provider.DelegateProvider;
-import com.p4square.grow.provider.Provider;
-import com.p4square.grow.provider.JsonEncodedProvider;
-
-/**
- *
- * @author Jesse Morgan <jesse@jesterpm.net>
- */
-class DynamoGrowData implements GrowData {
- private static final String DEFAULT_COLUMN = "value";
- private static final String DEFAULT_PLAYLIST_KEY = "/training/defaultplaylist";
-
- private final Config mConfig;
- private final DynamoDatabase mDatabase;
-
- private final Provider<String, UserRecord> mUserRecordProvider;
-
- private final Provider<String, Question> mQuestionProvider;
- private final Provider<String, TrainingRecord> mTrainingRecordProvider;
- private final CollectionProvider<String, String, String> mVideoProvider;
-
- private final CollectionProvider<String, String, MessageThread> mFeedThreadProvider;
- private final CollectionProvider<String, String, Message> mFeedMessageProvider;
-
- private final Provider<String, String> mStringProvider;
-
- private final CollectionProvider<String, String, String> mAnswerProvider;
-
- public DynamoGrowData(final Config config) {
- mConfig = config;
-
- mDatabase = new DynamoDatabase(config);
-
- mUserRecordProvider = new DelegateProvider<String, DynamoKey, UserRecord>(
- new DynamoProviderImpl<UserRecord>(mDatabase, UserRecord.class)) {
- @Override
- public DynamoKey makeKey(String userid) {
- return DynamoKey.newAttributeKey("accounts", userid, DEFAULT_COLUMN);
- }
- };
-
- mQuestionProvider = new DelegateProvider<String, DynamoKey, Question>(
- new DynamoProviderImpl<Question>(mDatabase, Question.class)) {
- @Override
- public DynamoKey makeKey(String questionId) {
- return DynamoKey.newAttributeKey("strings",
- "/questions/" + questionId,
- DEFAULT_COLUMN);
- }
- };
-
- mFeedThreadProvider = new DynamoCollectionProviderImpl<MessageThread>(
- mDatabase, "feedthreads", MessageThread.class);
- mFeedMessageProvider = new DynamoCollectionProviderImpl<Message>(
- mDatabase, "feedmessages", Message.class);
-
- mTrainingRecordProvider = new DelegateProvider<String, DynamoKey, TrainingRecord>(
- new DynamoProviderImpl<TrainingRecord>(mDatabase, TrainingRecord.class)) {
- @Override
- public DynamoKey makeKey(String userId) {
- return DynamoKey.newAttributeKey("training",
- userId,
- DEFAULT_COLUMN);
- }
- };
-
- mVideoProvider = new DelegateCollectionProvider<String, String, String, String, String>(
- new DynamoCollectionProviderImpl<String>(mDatabase, "strings", String.class)) {
- @Override
- public String makeCollectionKey(String key) {
- return "/training/" + key;
- }
-
- @Override
- public String makeKey(String key) {
- return key;
- }
-
- @Override
- public String unmakeKey(String key) {
- return key;
- }
- };
-
- mStringProvider = new DelegateProvider<String, DynamoKey, String>(
- new DynamoProviderImpl<String>(mDatabase, String.class)) {
- @Override
- public DynamoKey makeKey(String id) {
- return DynamoKey.newAttributeKey("strings", id, DEFAULT_COLUMN);
- }
- };
-
- mAnswerProvider = new DynamoCollectionProviderImpl<String>(
- mDatabase, "assessments", String.class);
- }
-
- @Override
- public void start() throws Exception {
- }
-
- @Override
- public void stop() throws Exception {
- }
-
- @Override
- public Provider<String, UserRecord> getUserRecordProvider() {
- return mUserRecordProvider;
- }
-
- @Override
- public Provider<String, Question> getQuestionProvider() {
- return mQuestionProvider;
- }
-
- @Override
- public Provider<String, TrainingRecord> getTrainingRecordProvider() {
- return mTrainingRecordProvider;
- }
-
- @Override
- public CollectionProvider<String, String, String> getVideoProvider() {
- return mVideoProvider;
- }
-
- @Override
- public Playlist getDefaultPlaylist() throws IOException {
- String blob = mStringProvider.get(DEFAULT_PLAYLIST_KEY);
- if (blob == null) {
- return null;
- }
-
- return JsonEncodedProvider.MAPPER.readValue(blob, Playlist.class);
- }
-
- @Override
- public CollectionProvider<String, String, MessageThread> getThreadProvider() {
- return mFeedThreadProvider;
- }
-
- @Override
- public CollectionProvider<String, String, Message> getMessageProvider() {
- return mFeedMessageProvider;
- }
-
- @Override
- public Provider<String, String> getStringProvider() {
- return mStringProvider;
- }
-
- @Override
- public CollectionProvider<String, String, String> getAnswerProvider() {
- return mAnswerProvider;
- }
-}