public MappedEntityGraph Get(MappedIdentifier identifier, int traversalDepth) { /* * Get the repository with the given key * Get the entity with the given key (to depth) * Check with the Hive Store whether other providers have children for this repo-entity pair * If so, get the repo-entity keypairs from Hive Store * For each repo, get the entities * Walk the lists adding the entities to a graph * */ var providerTuple = _dependencyResolver.TryResolve <IPersistenceProvider>(identifier.ProviderKey); MappedEntityGraph mappedEntityGraph = null; if (providerTuple.Success) { PersistedEntity entity = providerTuple.Value.Reader.Get(identifier.Value); if (entity != null) { //TODO: Replace with AutoMapper //TODO: Pad-out attributes etc. //TODO: Find children from other providers mappedEntityGraph = new MappedEntityGraph(); mappedEntityGraph.Id = identifier; mappedEntityGraph.Value = entity.Value; } } return(mappedEntityGraph); }
public void GetTest() { HiveRepository target = DependencyResolver.Current.Resolve <HiveRepository>(); string persistenceProviderKey = "in-memory-01"; MappedIdentifier identifier = new MappedIdentifier() { ProviderKey = persistenceProviderKey, Value = 100 }; PersistedEntity persistedEntity = TestHelper.CreatePersistedEntity(persistenceProviderKey); persistedEntity.Key = "100"; var mockedInMemoryRepo = DependencyResolver.Current.TryResolve <IPersistenceProvider>(identifier.ProviderKey); mockedInMemoryRepo.Value.Reader.Add(persistedEntity); int traversalDepth = 0; var actual = target.Get(identifier, traversalDepth); Assert.IsNotNull(actual); Assert.AreEqual(persistedEntity.Value, actual.Value); Assert.AreEqual(identifier, actual.Id); }
public void Add(PersistedEntity persistedEntity) { if (_entities.ContainsKey(persistedEntity.Key.ToString())) { _entities.Remove(persistedEntity.Key.ToString()); } _entities.Add(persistedEntity.Key.ToString(), persistedEntity); }
public void GetTest() { PersistedEntity persistedEntity = TestHelper.CreatePersistedEntity("test1"); _repository.Add(persistedEntity); PersistedEntity result = _repository.Get(persistedEntity.Key); Assert.AreEqual(persistedEntity, result); }
public void AddTest() { PersistedEntity persistedEntity = TestHelper.CreatePersistedEntity("test1"); int previousCount = _repository.Count; _repository.Add(persistedEntity); Assert.IsTrue(_repository.Count == previousCount + 1); }
public void ReadWriterGetTest() { PersistedEntity persistedEntity = TestHelper.CreatePersistedEntity("test1"); _provider.ReadWriter.Add(persistedEntity); PersistedEntity result = _provider.ReadWriter.Get(persistedEntity.Key); Assert.AreEqual(persistedEntity, result); }
public void ReadWriterAddTest() { PersistedEntity persistedEntity = TestHelper.CreatePersistedEntity("test1"); int previousCount = _provider.ReadWriter.Count; _provider.ReadWriter.Add(persistedEntity); Assert.IsTrue(_provider.ReadWriter.Count == previousCount + 1); }
public static PersistedEntity CreatePersistedEntity(string persistenceProviderKey) { var persistedEntity = new PersistedEntity(); persistedEntity.Key = new UUIDStringGenerator().Generate(null, null).ToString(); persistedEntity.ParentKey = string.Empty; persistedEntity.PersistenceProviderKey = persistenceProviderKey; persistedEntity.Value = "test value"; return(persistedEntity); }
public void AddMultipleTest() { int previousCount = _repository.Count; for (int i = 0; i < 100; i++) { PersistedEntity persistedEntity = TestHelper.CreatePersistedEntity("test1"); _repository.Add(persistedEntity); } Assert.IsTrue(_repository.Count == previousCount + 100); }
public void ReadWriterAddTest() { PersistedEntity persistedEntity = TestHelper.CreatePersistedEntity("test1"); int previousCount = _provider.ReadWriter.Count; using (var unit = _provider.ReadWriter.UnitOfWork.DataContext.BeginTransaction()) { _provider.ReadWriter.Add(persistedEntity); unit.Commit(); } Assert.IsTrue(_provider.ReadWriter.Count == previousCount + 1); }
public void ReadWriterGetTest() { PersistedEntity persistedEntity = TestHelper.CreatePersistedEntity("test1"); using (var unit = _provider.ReadWriter.UnitOfWork.DataContext.BeginTransaction()) { _provider.ReadWriter.Add(persistedEntity); unit.Commit(); } PersistedEntity result = _provider.ReadWriter.Get(persistedEntity.Key); Assert.AreEqual(persistedEntity, result); }
public void ReadWriterAddWithAttributesTest() { PersistedEntity persistedEntity = TestHelper.CreatePersistedEntity("test1"); persistedEntity.Attributes.Add(new PersistedAttribute() { Key = "my attribute", Value = "my value" }); int previousCount = _provider.ReadWriter.Count; using (var unit = _provider.ReadWriter.UnitOfWork.DataContext.BeginTransaction()) { _provider.ReadWriter.Add(persistedEntity); unit.Commit(); } Assert.IsTrue(_provider.ReadWriter.Count == previousCount + 1); }