private static void processClearedEvents(object source, ElapsedEventArgs e)
        {
            lock (eventDataStore){
                foreach (EventData eventData in eventDataStore.getAllEventData())
                {
                    DateTime            publicationTime = eventData.getPublicationTime();
                    bool                isClear         = false;
                    SituationRecord     situationRecord = eventData.getEventData().situationRecord[0];
                    LifeCycleManagement lifeCycleManagement;
                    if (situationRecord.management != null)
                    {
                        lifeCycleManagement = situationRecord.management.lifeCycleManagement;
                    }
                    else
                    {
                        lifeCycleManagement = null;
                    }
                    if (lifeCycleManagement != null && (lifeCycleManagement.cancel || lifeCycleManagement.end))
                    {
                        isClear = true;
                    }

                    DateTime currentTime = DateTime.Now;
                    DateTime expireTime  = publicationTime.AddSeconds(expireClearedEventsAfterMins * SECONDS_IN_MINUTE);
                    if (isClear && currentTime.CompareTo(expireTime) >= 0)
                    {
                        eventDataStore.removeData(eventData.getEventIdentifier());
                        logWrapper.Info("Removed Expired Event: " + eventData.getEventIdentifier());
                    }
                }
            }
        }
Ejemplo n.º 2
0
        public IHttpActionResult eventDataCount()
        {
            EventDataStore eventDataStore = (EventDataStore)DataStoreFactory.GetInstance().GetDataStore(DataStoreFactory.DATA_STORES.EVENT_DATA_STORE);

            return(Json(eventDataStore.getAllEventData().Count, new JsonSerializerSettings {
                NullValueHandling = NullValueHandling.Ignore, Converters = { new StringEnumConverter {
                                                                             } }
            }));
        }