Exemplo n.º 1
0
        internal KeyspaceMetadata(
            Metadata parent,
            string name,
            bool durableWrites,
            string strategyClass,
            IDictionary <string, int> replicationOptions,
            IReplicationStrategyFactory replicationStrategyFactory,
            bool isVirtual = false)
        {
            //Can not directly reference to schemaParser as it might change
            _parent       = parent;
            Name          = name;
            DurableWrites = durableWrites;

            if (strategyClass != null && strategyClass.StartsWith("org.apache.cassandra.locator."))
            {
                strategyClass = strategyClass.Replace("org.apache.cassandra.locator.", "");
            }

            StrategyClass = strategyClass;
            Replication   = replicationOptions;
            IsVirtual     = isVirtual;
            Strategy      =
                (strategyClass == null || replicationOptions == null)
                ? null
                : replicationStrategyFactory.Create(StrategyClass, new Dictionary <string, int>(replicationOptions));
        }
        public void SourceIsArrayOfCopiedTypes_CopyArrayStrategyReturned()
        {
            ReplicationStrategyFactory strategyFactory = StrategyForArrayOf <Class>(whereElementsAreMarkedAs: ReplicationBehavior.Copy);

            IReplicationStrategy result = strategyFactory.StrategyForType(typeof(Class[]));

            Assert.That(result, Is.InstanceOf <CopyArrayReplicationStrategy>());
        }
        public void SourceIsMarkedAsReplicate_CommonStrategyReturned()
        {
            ReplicationStrategyFactory strategyFactory = StrategyWhere <Class>(isMarkedAs: ReplicationBehavior.DeepCopy);

            IReplicationStrategy result = strategyFactory.StrategyForType(typeof(Class));

            Assert.That(result, Is.InstanceOf <CommonReplicationStrategy>());
        }
        public void TypeIsMarkedAsIgnored_IgnoringStrategyReturned()
        {
            ReplicationStrategyFactory strategyFactory = StrategyWhere <Class>(isMarkedAs: ReplicationBehavior.Ignore);

            IReplicationStrategy result = strategyFactory.StrategyForType(typeof(Class));

            Assert.That(result, Is.InstanceOf <IgnoringReplicationStrategy>());
        }
        public void GetStrategyTwiceForTheSameType_SameStrategiesReturned()
        {
            ReplicationStrategyFactory strategyFactory = StrategyWhere <Class>(isMarkedAs: ReplicationBehavior.DeepCopy);

            IReplicationStrategy result1 = strategyFactory.StrategyForType(typeof(Class));
            IReplicationStrategy result2 = strategyFactory.StrategyForType(typeof(Class));

            Assert.That(result2, Is.SameAs(result1));
        }
Exemplo n.º 6
0
        protected override void SetUp()
        {
            base.SetUp();
            replicationStrategy = A.Fake <IReplicationStrategy>();
            var simpleFactory = A.Fake <IReplicationStrategyFactory>(x => x.Strict());

            simpleFactory
            .CallsTo(x => x.StrategyForType(A <Type> .Ignored))
            .Returns(replicationStrategy);
            replicationContext = new ReplicationContext(simpleFactory);
        }
Exemplo n.º 7
0
        public object Replicate(object source)
        {
            object result;

            if (TryGetReplicatedValue(source, out result))
            {
                return(result);
            }

            IReplicationStrategy replicationStrategy = replicationStrategyFactory.StrategyForType(source.GetType());

            result = replicationStrategy.Replicate(source, this);

            StoreReplicatedValue(source, result);
            return(result);
        }
Exemplo n.º 8
0
        internal KeyspaceMetadata(
            Metadata parent,
            string name,
            bool durableWrites,
            string strategyClass,
            IDictionary <string, string> replicationOptions,
            IReplicationStrategyFactory replicationStrategyFactory,
            string graphEngine,
            bool isVirtual = false)
        {
            //Can not directly reference to schemaParser as it might change
            _parent       = parent;
            Name          = name;
            DurableWrites = durableWrites;

            if (strategyClass != null && strategyClass.StartsWith("org.apache.cassandra.locator."))
            {
                strategyClass = strategyClass.Replace("org.apache.cassandra.locator.", "");
            }

            StrategyClass = strategyClass;

            var parsedReplicationOptions = replicationOptions == null
                ? null
                : ParseReplicationFactors(replicationOptions);

            Replication = parsedReplicationOptions == null
                ? null
                : ConvertReplicationOptionsToLegacy(parsedReplicationOptions);

            ReplicationOptions = replicationOptions;
            IsVirtual          = isVirtual;
            Strategy           =
                (strategyClass == null || parsedReplicationOptions == null)
                ? null
                : replicationStrategyFactory.Create(StrategyClass, parsedReplicationOptions);

            GraphEngine = graphEngine;
        }
Exemplo n.º 9
0
 public bool Equals(IReplicationStrategy other)
 {
     return(Equals(other as ProxyReplicationStrategy));
 }
Exemplo n.º 10
0
 public ProxyReplicationStrategy(IReplicationStrategy strategy)
 {
     _strategy = strategy;
 }
Exemplo n.º 11
0
 public bool Equals(IReplicationStrategy other)
 {
     return(Equals(other as NetworkTopologyStrategy));
 }
Exemplo n.º 12
0
 protected override void SetUp()
 {
     base.SetUp();
     replicationStrategy = A.Fake<IReplicationStrategy>();
     var simpleFactory = A.Fake<IReplicationStrategyFactory>(x => x.Strict());
     simpleFactory
         .CallsTo(x => x.StrategyForType(A<Type>.Ignored))
         .Returns(replicationStrategy);
     replicationContext = new ReplicationContext(simpleFactory);
 }
Exemplo n.º 13
0
 public bool Equals(IReplicationStrategy other)
 {
     return(Equals(other as SimpleStrategy));
 }
Exemplo n.º 14
0
 public bool Equals(IReplicationStrategy other)
 {
     return(TypedEquals(other as EverywhereStrategy));
 }
Exemplo n.º 15
0
 public bool Equals(IReplicationStrategy other)
 {
     return(TypedEquals(other as LocalStrategy));
 }