/// <summary> /// Constructor with only the Amazon credentials /// </summary> /// <param name="amazonAccessKey"></param> /// <param name="amazonSecretKey"></param> public SimpleDBProvider(string amazonAccessKey, string amazonSecretKey) : this() { var entityMapper = new EntityMapper(); _deleteFactory = new BatchDeleteAttributeRequestFactory(new DeleteableItemAdapter()); _putFactory = new BatchPutAttributeRequestFactory(new ReplaceableItemAdapter(entityMapper)); _selectRequestFactory = new SelectRequestFactory(); _itemAdapter = new ItemAdapter(entityMapper); _domainRequestFactory = new DomainRequestFactory(); _simpleDB = new AmazonSimpleDBClient(amazonAccessKey, amazonSecretKey); }
/// <summary> /// Constructor with all dependencies injected /// </summary> /// <param name="deleteFactory">Factory for creating delete requests</param> /// <param name="putFactory">Factory for creating put requests</param> /// <param name="selectRequestFactory">Factory for creating select requests</param> /// <param name="itemAdapter">Factory for converting select response items to the given POCO of type T</param> /// <param name="simpleDb">Amazon SimpleDB instance</param> /// <param name="domainRequestFactory">Factory for domain requests</param> public SimpleDBProvider(BatchDeleteAttributeRequestFactory deleteFactory, BatchPutAttributeRequestFactory putFactory, SelectRequestFactory selectRequestFactory, ItemAdapter itemAdapter, AmazonSimpleDB simpleDb, DomainRequestFactory domainRequestFactory) : this() { _deleteFactory = deleteFactory; _putFactory = putFactory; _selectRequestFactory = selectRequestFactory; _itemAdapter = itemAdapter; _simpleDB = simpleDb; _domainRequestFactory = domainRequestFactory; }