private void RunAssertionStartStopStatement(EPServiceProvider epService)
        {
            var subscriber = new SubscriberInterface();
            var stmt       = epService.EPAdministrator.CreateEPL("select * from SupportMarkerInterface");

            stmt.Subscriber = subscriber;

            var a1 = new SupportBean_A("A1");

            epService.EPRuntime.SendEvent(a1);
            EPAssertionUtil.AssertEqualsExactOrder(new object[] { a1 }, subscriber.GetAndResetIndicate().ToArray());

            var b1 = new SupportBean_B("B1");

            epService.EPRuntime.SendEvent(b1);
            EPAssertionUtil.AssertEqualsExactOrder(new object[] { b1 }, subscriber.GetAndResetIndicate().ToArray());

            stmt.Stop();

            var c1 = new SupportBean_C("C1");

            epService.EPRuntime.SendEvent(c1);
            Assert.AreEqual(0, subscriber.GetAndResetIndicate().Count);

            stmt.Start();

            var d1 = new SupportBean_D("D1");

            epService.EPRuntime.SendEvent(d1);
            EPAssertionUtil.AssertEqualsExactOrder(new object[] { d1 }, subscriber.GetAndResetIndicate().ToArray());

            stmt.Dispose();
        }
Exemple #2
0
        public void TestStartStopStatement()
        {
            SubscriberInterface subscriber = new SubscriberInterface();
            EPStatement         stmt       = _epService.EPAdministrator.CreateEPL("select * from SupportMarkerInterface");

            stmt.Subscriber = subscriber;

            SupportBean_A a1 = new SupportBean_A("A1");

            _epService.EPRuntime.SendEvent(a1);
            EPAssertionUtil.AssertEqualsExactOrder(new Object[] { a1 }, subscriber.GetAndResetIndicate().ToArray());

            SupportBean_B b1 = new SupportBean_B("B1");

            _epService.EPRuntime.SendEvent(b1);
            EPAssertionUtil.AssertEqualsExactOrder(new Object[] { b1 }, subscriber.GetAndResetIndicate().ToArray());

            stmt.Stop();

            SupportBean_C c1 = new SupportBean_C("C1");

            _epService.EPRuntime.SendEvent(c1);
            Assert.AreEqual(0, subscriber.GetAndResetIndicate().Count);

            stmt.Start();

            SupportBean_D d1 = new SupportBean_D("D1");

            _epService.EPRuntime.SendEvent(d1);
            EPAssertionUtil.AssertEqualsExactOrder(new Object[] { d1 }, subscriber.GetAndResetIndicate().ToArray());
        }
Exemple #3
0
    protected void SubcriberClick(object sender, EventArgs e)
    {
        lblout.Text = "";
        SubscriberContent  newsub = new SubscriberContent();
        alamaat_subscriber user   = newsub.Getuserbyemail(tbemail.Text);

        if (user != null)
        {
            if (user.active)
            {
                lblout.Text = "Email already exist.";
                return;
            }
        }
        SubscriberInterface newitem = new SubscriberInterface();

        newitem.ID     = Guid.NewGuid();
        newitem.Email  = tbemail.Text;
        newitem.Active = false;
        if (newsub.InsertSubscriber(newitem))
        {
            if (SendEmail(tbemail.Text, newitem.ID.ToString()))
            {
                lblout.Text = "please verify your email account by clicking the activation link that has been send to your email.";
            }
            tbemail.Text = "";
        }
    }
Exemple #4
0
        public void RegisterSubscriber(string newSubscriberUrl, string newSubscriberName)
        {
            SubscriberInterface newSubscriber = (SubscriberInterface)Activator.GetObject(typeof(SubscriberInterface),
                                                                                         newSubscriberUrl);

            subscriber.Add(newSubscriber);
            subscribersRegistry.Add(newSubscriberName, newSubscriberUrl);
            Console.WriteLine("New Subscriber: " + newSubscriberUrl);
        }
Exemple #5
0
        public void RegisterSubscriber(ProcessConfig subscriberInfo)
        {
            SubscriberInterface newSubscriber = (SubscriberInterface)Activator.GetObject(typeof(SubscriberInterface), subscriberInfo.url);

            subscriber.Add(newSubscriber);
            subscribersRegistry.Add(subscriberInfo.name, subscriberInfo.url);
            Console.WriteLine("New Subscriber: " + subscriberInfo.url);
            if (!brokerData.creatorPort.Equals("8086"))
            {
                remoteSlave.msgToSlave("New Subscriber: " + subscriberInfo.name + " " + subscriberInfo.url);
            }
        }
Exemple #6
0
        private void completeRequestOnWait(string pub)
        {
            string result  = "";
            int    tamanho = 0;

            if (orderType.Equals("FIFO"))
            {
                tamanho = waitingList[pub].Count;
                for (int i = 0; i < tamanho; i++)
                {
                    publisherParameters parameters = waitingList[pub][i];
                    if (parameters.sequenceNumber == deliverStatus[pub])
                    {
                        result = existTopic(parameters);
                        if (!result.Equals(""))
                        {
                            foreach (string url in topicsSubscriptons[result])
                            {
                                SubscriberInterface sub = (SubscriberInterface)Activator.GetObject(typeof(SubscriberInterface), url);
                                sub.deliverEvent(parameters);
                            }
                        }
                        deliverStatus[pub]++;
                    }
                }
            }
            else
            {
                foreach (publisherParameters publisher in waitingListForTotal)
                {
                    if (publisher.sequenceNumber == totalLocalOrder)
                    {
                        result = existTopic(publisher);
                        if (!result.Equals(""))
                        {
                            foreach (string url in topicsSubscriptons[result])
                            {
                                SubscriberInterface sub = (SubscriberInterface)Activator.GetObject(typeof(SubscriberInterface), url);
                                sub.deliverEvent(publisher);
                            }
                        }
                        totalLocalOrder++;
                    }
                }
            }
        }
Exemple #7
0
    public bool UpdateSubscriber(SubscriberInterface user)
    {
        using (objMyLq = new alamaatDBDataContext())
        {
            try
            {
                var objcontent = objMyLq.alamaat_subscribers.Single(p => p.id == user.ID);
                objcontent.active = user.Active;
                objMyLq.SubmitChanges();

                return(true);
            }
            catch (Exception e)
            {
                return(false);
            }
        }
    }
Exemple #8
0
    public bool DeleteUser(SubscriberInterface _objcontent)
    {
        using (objMyLq = new alamaatDBDataContext())
        {
            try
            {
                var objcontent = objMyLq.alamaat_subscribers.Single(p => p.id == _objcontent.ID);
                // objcontent.Active = false;
                // objcontent.SyncDate = DateTime.Now;
                objMyLq.SubmitChanges();

                return(true);
            }
            catch (Exception e)
            {
                return(false);
            }
        }
    }
Exemple #9
0
 public bool InsertSubscriber(SubscriberInterface user)
 {
     using (objMyLq = new alamaatDBDataContext())
     {
         try
         {
             alamaat_subscriber objNewcontent = new alamaat_subscriber();
             objNewcontent.id      = user.ID;
             objNewcontent.email   = user.Email;
             objNewcontent.active  = user.Active;
             objNewcontent.created = DateTime.Now;
             objMyLq.alamaat_subscribers.InsertOnSubmit(objNewcontent);
             objMyLq.SubmitChanges();
             return(true);
         }
         catch (Exception e)
         {
             return(false);
         }
     }
 }
Exemple #10
0
        public void deliverEvents()
        {
            string result = "";

            switch (orderType)
            {
            case "NO":
                lock (this)
                {
                    publisherParameters request = new publisherParameters();
                    if (commandList.Count >= (orderManager + 1))
                    {
                        request = commandList[orderManager];
                        orderManager++;
                        result = existTopic(request);
                        if (!result.Equals(""))
                        {
                            foreach (string url in topicsSubscriptons[result])
                            {
                                SubscriberInterface sub = (SubscriberInterface)Activator.GetObject(typeof(SubscriberInterface), url);
                                sub.deliverEvent(request);
                            }
                        }
                    }
                }
                break;

            case "FIFO":
                lock (this) {
                    publisherParameters request2 = new publisherParameters();
                    if (commandList.Count >= (orderManager + 1))
                    {
                        request2 = commandList[orderManager];
                        orderManager++;
                        result = existTopic(request2);
                        if (searchSequenceNumber(request2))
                        {
                            if (!result.Equals(""))
                            {
                                foreach (string url in topicsSubscriptons[result])
                                {
                                    SubscriberInterface sub = (SubscriberInterface)Activator.GetObject(typeof(SubscriberInterface), url);
                                    sub.deliverEvent(request2);
                                }
                            }
                            deliverStatus[request2.processName]++;
                        }
                        else
                        {
                            List <publisherParameters> list;
                            if (!waitingList.TryGetValue(request2.processName, out list))
                            {
                                list = new List <publisherParameters>();
                                waitingList.Add(request2.processName, list);
                                list.Add(request2);
                            }
                            else
                            {
                                waitingList[request2.processName].Add(request2);
                            }
                        }
                        if (waitingList.Count != 0 && waitingList.ContainsKey(request2.processName))
                        {
                            completeRequestOnWait(request2.processName);
                        }
                    }
                }
                break;

            case "TOTAL":
                lock (this)
                {
                    publisherParameters request3 = new publisherParameters();
                    if (commandList.Count >= (orderManager + 1))
                    {
                        request3 = commandList[orderManager];
                        orderManager++;
                        result = existTopic(request3);
                        if (searchSequenceNumber(request3))
                        {
                            if (!result.Equals(""))
                            {
                                foreach (string url in topicsSubscriptons[result])
                                {
                                    SubscriberInterface sub = (SubscriberInterface)Activator.GetObject(typeof(SubscriberInterface), url);
                                    sub.deliverEvent(request3);
                                }
                            }
                            totalLocalOrder++;
                        }
                        else
                        {
                            waitingListForTotal.Add(request3);
                        }
                        if (waitingListForTotal.Count != 0)
                        {
                            completeRequestOnWait(request3.processName);
                        }
                    }
                }
                break;
            }
        }
 public void Subscribe(SubscriberInterface subscriber)
 {
     subscribers.Add(subscriber);
 }