示例#1
0
        public virtual void OnEvent(CqEvent <TKey, TResult> ev)
        {
            Portfolio       val    = ev.getNewValue() as  Portfolio;
            TKey            key    = ev.getKey();
            CqOperationType opType = ev.getQueryOperation();
            string          opStr  = "DESTROY";

            if (opType == CqOperationType.OP_TYPE_CREATE)
            {
                opStr = "CREATE";
            }
            else if (opType == CqOperationType.OP_TYPE_UPDATE)
            {
                opStr = "UPDATE";
            }
            Console.WriteLine("MyCqListener::OnEvent called with key {0}, value ({1},{2}), op {3}.", key, val.ID, val.Pkid, opStr);
        }
示例#2
0
        public virtual void OnEvent(CqEvent <TKey, TResult> ev)
        {
            Util.Log("MyCqStatusListener::OnEvent called");
            if (m_failedOver == true)
            {
                m_eventCountAfter++;
            }
            else
            {
                m_eventCountBefore++;
            }

            TResult val = (TResult)ev.getNewValue();
            TKey    key = ev.getKey();

            CqOperationType opType = ev.getQueryOperation();
            string          keyS   = key.ToString(); //as string;
        }
示例#3
0
        public virtual void OnEvent(CqEvent <TKey, TResult> ev)
        {
            m_cntEvents++;
            Util.Log("MyCqListener1::OnEvent called");
            Object          val    = (Object)ev.getNewValue();
            Object          pkey   = (Object)ev.getKey();
            int             value  = (int)val;
            int             key    = (int)pkey;
            CqOperationType opType = ev.getQueryOperation();
            String          opStr  = "Default";

            if (opType == CqOperationType.OP_TYPE_CREATE)
            {
                opStr = "CREATE";
            }
            else if (opType == CqOperationType.OP_TYPE_UPDATE)
            {
                opStr = "UPDATE";
            }

            Util.Log("MyCqListener1::OnEvent called with {0} , key = {1}, value = {2} ",
                     opStr, key, value);
        }
示例#4
0
        public virtual void OnEvent(CqEvent ev)
        {
            m_eventCnt++;
            Portfolio       val    = ev.getNewValue() as Portfolio;
            CacheableString key    = ev.getKey() as CacheableString;
            CqOperationType opType = ev.getQueryOperation();
            CqQuery         cq     = ev.getCq();
            string          opStr  = "DESTROY";

            if (opType == CqOperationType.OP_TYPE_CREATE)
            {
                m_createCnt++;
                opStr = "CREATE";
            }
            else if (opType == CqOperationType.OP_TYPE_UPDATE)
            {
                m_updateCnt++;
                opStr = "UPDATE";
            }
            else if (opType == CqOperationType.OP_TYPE_DESTROY)
            {
                m_destroyCnt++;
                opStr = "DESTROY";
            }
            if (m_eventCnt % 5000 == 0)
            {
                if (m_verbose == true)
                {
                    Console.WriteLine("MyCqListener{0}::OnEvent called with key {1}, value ({2},{3}), op {4}.", m_id, key.Value, val.ID, val.Pkid, opStr);
                }
                else
                {
                    Console.WriteLine("cq{0}, listener{1}::OnEvent update count={2}, create Count={3}, destroy Count={4}, total count={5}", cq.Name, m_id, m_updateCnt, m_createCnt, m_destroyCnt, m_eventCnt);
                }
                Console.WriteLine("*******Type \'q\' to quit !!!! ******");
            }
        }
示例#5
0
        public virtual void OnEvent(CqEvent <TKey, TResult> ev)
        {
            Util.Log("MyCqListener::OnEvent called");
            if (m_failedOver == true)
            {
                m_eventCountAfter++;
            }
            else
            {
                m_eventCountBefore++;
            }

            //IGFSerializable val = ev.getNewValue();
            //ICacheableKey key = ev.getKey();

            TResult val = (TResult)ev.getNewValue();
            /*ICacheableKey*/
            TKey key = ev.getKey();

            CqOperationType opType = ev.getQueryOperation();
            //CacheableString keyS = key as CacheableString;
            string       keyS    = key.ToString(); //as string;
            Portfolio    pval    = val as Portfolio;
            PortfolioPdx pPdxVal = val as PortfolioPdx;

            Assert.IsTrue((pPdxVal != null) || (pval != null));
            //string opStr = "DESTROY";

            /*if (opType == CqOperationType.OP_TYPE_CREATE)
             * opStr = "CREATE";
             * else if (opType == CqOperationType.OP_TYPE_UPDATE)
             * opStr = "UPDATE";*/

            //Util.Log("key {0}, value ({1},{2}), op {3}.", keyS,
            //  pval.ID, pval.Pkid, opStr);
        }
        public void verifyCQEvents(bool whetherResult, CqOperationType opType)
        {
            Util.Log("verifyCQEvents " + gQueryService);
            Assert.IsNotNull(gQueryService);

            CqQuery <object, object> cq = gQueryService.GetCq("cq_" + 3);

            ICqListener <object, object>[] cqL  = cq.GetCqAttributes().getCqListeners();
            MyCqListener2 <object, object> mcqL = (MyCqListener2 <object, object>)cqL[0];

            Util.Log("got result for cq listener3 " + cq.Name + " : " + mcqL.Creates);

            if (opType == CqOperationType.OP_TYPE_CREATE)
            {
                if (whetherResult)
                {
                    Assert.AreEqual(1, mcqL.Creates, "CQ listener 3 should get one create event ");
                }
                else
                {
                    Assert.AreEqual(0, mcqL.Creates, "CQ listener 3 should not get any create event ");
                }
            }
            else if (opType == CqOperationType.OP_TYPE_UPDATE)
            {
                if (whetherResult)
                {
                    Assert.AreEqual(1, mcqL.Updates, "CQ listener 3 should get one update event ");
                }
                else
                {
                    Assert.AreEqual(0, mcqL.Updates, "CQ listener 3 should not get any update event ");
                }
            }

            cq   = gQueryService.GetCq("cq_" + 4);
            cqL  = cq.GetCqAttributes().getCqListeners();
            mcqL = (MyCqListener2 <object, object>)cqL[0];

            Util.Log("got result for cq listener4 " + cq.Name + " : " + mcqL.Creates);

            if (opType == CqOperationType.OP_TYPE_CREATE)
            {
                if (whetherResult)
                {
                    Assert.AreEqual(1, mcqL.Creates, "CQ listener 4 should get one create event ");
                }
                else
                {
                    Assert.AreEqual(0, mcqL.Creates, "CQ listener 4 should not get any create event ");
                }
            }
            else if (opType == CqOperationType.OP_TYPE_UPDATE)
            {
                if (whetherResult)
                {
                    Assert.AreEqual(1, mcqL.Updates, "CQ listener 4 should get one update event ");
                }
                else
                {
                    Assert.AreEqual(0, mcqL.Updates, "CQ listener 4 should not get any update event ");
                }
            }

            cq   = gQueryService.GetCq("cq_" + 0);
            cqL  = cq.GetCqAttributes().getCqListeners();
            mcqL = (MyCqListener2 <object, object>)cqL[0];

            Util.Log("got result for cq listener0 " + cq.Name + " : " + mcqL.Creates);

            Assert.AreEqual(0, mcqL.Creates, "CQ listener 0 should get one create event ");


            //  CacheHelper.getMultiuserCache(null).Close();

            gQueryService = null;
        }