Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 8
0
        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);
        }
Exemplo n.º 10
0
        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);
        }
Exemplo n.º 11
0
        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);
        }
Exemplo n.º 12
0
        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);
        }