Beispiel #1
0
        // settable for view-sharing

        /// <summary>
        /// Constructor.
        /// </summary>
        /// <param name="stmtEngineServices">is the engine services for the statement</param>
        /// <param name="schedulingService">implementation for schedule registration</param>
        /// <param name="scheduleBucket">is for ordering scheduled callbacks within the view statements</param>
        /// <param name="epStatementHandle">is the statements-own handle for use in registering callbacks with services</param>
        /// <param name="viewResultionService">is a service for resolving view namespace and name to a view factory</param>
        /// <param name="patternResolutionService">is the service that resolves pattern objects for the statement</param>
        /// <param name="statementExtensionSvcContext">provide extension points for custom statement resources</param>
        /// <param name="statementStopService">for registering a callback invoked when a statement is stopped</param>
        /// <param name="methodResolutionService">is a service for resolving static methods and aggregation functions</param>
        /// <param name="patternContextFactory">is the pattern-level services and context information factory</param>
        /// <param name="filterService">is the filtering service</param>
        /// <param name="statementResultService">handles awareness of listeners/subscriptions for a statement customizing output produced</param>
        /// <param name="internalEventEngineRouteDest">routing destination</param>
        /// <param name="annotations">The annotations.</param>
        /// <param name="statementAgentInstanceRegistry">The statement agent instance registry.</param>
        /// <param name="defaultAgentInstanceLock">The default agent instance lock.</param>
        /// <param name="contextDescriptor">The context descriptor.</param>
        /// <param name="patternSubexpressionPoolSvc">The pattern subexpression pool SVC.</param>
        /// <param name="matchRecognizeStatePoolStmtSvc">The match recognize state pool statement SVC.</param>
        /// <param name="statelessSelect">if set to <c>true</c> [stateless select].</param>
        /// <param name="contextControllerFactoryService">The context controller factory service.</param>
        /// <param name="defaultAgentInstanceScriptContext">The default agent instance script context.</param>
        /// <param name="aggregationServiceFactoryService">The aggregation service factory service.</param>
        /// <param name="scriptingService">The scripting service.</param>
        /// <param name="writesToTables">if set to <c>true</c> [writes to tables].</param>
        /// <param name="statementUserObject">The statement user object.</param>
        /// <param name="statementSemiAnonymousTypeRegistry">The statement semi anonymous type registry.</param>
        /// <param name="priority">The priority.</param>
        public StatementContext(
            StatementContextEngineServices stmtEngineServices,
            SchedulingService schedulingService,
            ScheduleBucket scheduleBucket,
            EPStatementHandle epStatementHandle,
            ViewResolutionService viewResultionService,
            PatternObjectResolutionService patternResolutionService,
            StatementExtensionSvcContext statementExtensionSvcContext,
            StatementStopService statementStopService,
            MethodResolutionService methodResolutionService,
            PatternContextFactory patternContextFactory,
            FilterService filterService,
            StatementResultService statementResultService,
            InternalEventRouteDest internalEventEngineRouteDest,
            Attribute[] annotations,
            StatementAIResourceRegistry statementAgentInstanceRegistry,
            IReaderWriterLock defaultAgentInstanceLock,
            ContextDescriptor contextDescriptor,
            PatternSubexpressionPoolStmtSvc patternSubexpressionPoolSvc,
            MatchRecognizeStatePoolStmtSvc matchRecognizeStatePoolStmtSvc,
            bool statelessSelect,
            ContextControllerFactoryService contextControllerFactoryService,
            AgentInstanceScriptContext defaultAgentInstanceScriptContext,
            AggregationServiceFactoryService aggregationServiceFactoryService,
            ScriptingService scriptingService,
            bool writesToTables,
            object statementUserObject,
            StatementSemiAnonymousTypeRegistry statementSemiAnonymousTypeRegistry,
            int priority)
        {
            _stmtEngineServices               = stmtEngineServices;
            SchedulingService                 = schedulingService;
            ScheduleBucket                    = scheduleBucket;
            EpStatementHandle                 = epStatementHandle;
            ViewResolutionService             = viewResultionService;
            PatternResolutionService          = patternResolutionService;
            StatementExtensionServicesContext = statementExtensionSvcContext;
            StatementStopService              = statementStopService;
            MethodResolutionService           = methodResolutionService;
            PatternContextFactory             = patternContextFactory;
            FilterService                = filterService;
            _statementResultService      = statementResultService;
            InternalEventEngineRouteDest = internalEventEngineRouteDest;
            ScheduleAdjustmentService    = stmtEngineServices.ConfigSnapshot.EngineDefaults.ExecutionConfig.IsAllowIsolatedService ? new ScheduleAdjustmentService() : null;
            Annotations = annotations;
            StatementAgentInstanceRegistry = statementAgentInstanceRegistry;
            DefaultAgentInstanceLock       = defaultAgentInstanceLock;
            ContextDescriptor                 = contextDescriptor;
            PatternSubexpressionPoolSvc       = patternSubexpressionPoolSvc;
            MatchRecognizeStatePoolStmtSvc    = matchRecognizeStatePoolStmtSvc;
            IsStatelessSelect                 = statelessSelect;
            ContextControllerFactoryService   = contextControllerFactoryService;
            DefaultAgentInstanceScriptContext = defaultAgentInstanceScriptContext;
            AggregationServiceFactoryService  = aggregationServiceFactoryService;
            ScriptingService    = scriptingService;
            IsWritesToTables    = writesToTables;
            StatementUserObject = statementUserObject;
            StatementSemiAnonymousTypeRegistry = statementSemiAnonymousTypeRegistry;
            Priority = priority;
        }
 public TableOnSelectViewFactory(TableMetadata tableMetadata, InternalEventRouter internalEventRouter, EPStatementHandle statementHandle, EventBeanReader eventBeanReader, bool distinct, StatementResultService statementResultService, InternalEventRouteDest internalEventRouteDest, bool deleteAndSelect)
 {
     _tableMetadata = tableMetadata;
     InternalEventRouter = internalEventRouter;
     StatementHandle = statementHandle;
     EventBeanReader = eventBeanReader;
     IsDistinct = distinct;
     StatementResultService = statementResultService;
     InternalEventRouteDest = internalEventRouteDest;
     _deleteAndSelect = deleteAndSelect;
 }
Beispiel #3
0
 public StatementContext(
     IContainer container,
     ContextRuntimeDescriptor contextRuntimeDescriptor,
     string deploymentId,
     int statementId,
     string statementName,
     string moduleName,
     StatementInformationalsRuntime statementInformationals,
     object userObjectRuntime,
     StatementContextRuntimeServices statementContextRuntimeServices,
     EPStatementHandle epStatementHandle,
     IDictionary<int, FilterSpecActivatable> filterSpecActivatables,
     PatternSubexpressionPoolStmtSvc patternSubexpressionPoolSvc,
     RowRecogStatePoolStmtSvc rowRecogStatePoolStmtSvc,
     ScheduleBucket scheduleBucket,
     StatementAIResourceRegistry statementAIResourceRegistry,
     StatementCPCacheService statementCPCacheService,
     StatementAIFactoryProvider statementAIFactoryProvider,
     StatementResultService statementResultService,
     UpdateDispatchView updateDispatchView,
     FilterService filterService,
     SchedulingService schedulingService,
     InternalEventRouteDest internalEventRouteDest)
 {
     Container = container;
     ContextRuntimeDescriptor = contextRuntimeDescriptor;
     DeploymentId = deploymentId;
     StatementId = statementId;
     StatementName = statementName;
     ModuleName = moduleName;
     StatementInformationals = statementInformationals;
     UserObjectRuntime = userObjectRuntime;
     StatementContextRuntimeServices = statementContextRuntimeServices;
     EpStatementHandle = epStatementHandle;
     FilterSpecActivatables = filterSpecActivatables;
     PatternSubexpressionPoolSvc = patternSubexpressionPoolSvc;
     RowRecogStatePoolStmtSvc = rowRecogStatePoolStmtSvc;
     ScheduleBucket = scheduleBucket;
     StatementAIResourceRegistry = statementAIResourceRegistry;
     StatementCPCacheService = statementCPCacheService;
     StatementAIFactoryProvider = statementAIFactoryProvider;
     StatementResultService = statementResultService;
     UpdateDispatchView = updateDispatchView;
     StatementContextFilterEvalEnv = new StatementContextFilterEvalEnv(
         statementContextRuntimeServices.ImportServiceRuntime,
         statementInformationals.Annotations,
         statementContextRuntimeServices.VariableManagementService,
         statementContextRuntimeServices.TableExprEvaluatorContext);
     this.FilterService = filterService;
     this.SchedulingService = schedulingService;
     this.InternalEventRouteDest = internalEventRouteDest;
 }
Beispiel #4
0
 public NamedWindowOnSelectViewFactory(EventType namedWindowEventType, InternalEventRouter internalEventRouter, bool addToFront, EPStatementHandle statementHandle, EventBeanReader eventBeanReader, bool distinct, StatementResultService statementResultService, InternalEventRouteDest internalEventRouteDest, bool deleteAndSelect, StreamSelector?optionalStreamSelector, string optionalInsertIntoTableName)
     : base(namedWindowEventType)
 {
     InternalEventRouter          = internalEventRouter;
     IsAddToFront                 = addToFront;
     StatementHandle              = statementHandle;
     EventBeanReader              = eventBeanReader;
     IsDistinct                   = distinct;
     StatementResultService       = statementResultService;
     InternalEventRouteDest       = internalEventRouteDest;
     _deleteAndSelect             = deleteAndSelect;
     OptionalStreamSelector       = optionalStreamSelector;
     _optionalInsertIntoTableName = optionalInsertIntoTableName;
 }
Beispiel #5
0
 public TableOnMergeActionIns(
     ExprEvaluator optionalFilter,
     SelectExprProcessor insertHelper,
     InternalEventRouter internalEventRouter,
     EPStatementHandle statementHandle,
     InternalEventRouteDest internalEventRouteDest,
     bool audit,
     TableStateRowFactory tableStateRowFactory)
     : base(optionalFilter)
 {
     _insertHelper           = insertHelper;
     _internalEventRouter    = internalEventRouter;
     _statementHandle        = statementHandle;
     _internalEventRouteDest = internalEventRouteDest;
     _audit = audit;
     _tableStateRowFactory = tableStateRowFactory;
 }
 public NamedWindowOnMergeActionIns(
     ExprEvaluator optionalFilter,
     SelectExprProcessor insertHelper,
     InternalEventRouter internalEventRouter,
     String insertIntoTableName,
     TableService tableService,
     EPStatementHandle statementHandle,
     InternalEventRouteDest internalEventRouteDest,
     bool audit)
     : base(optionalFilter)
 {
     _insertHelper           = insertHelper;
     _internalEventRouter    = internalEventRouter;
     _insertIntoTableName    = insertIntoTableName;
     _tableService           = tableService;
     _statementHandle        = statementHandle;
     _internalEventRouteDest = internalEventRouteDest;
     _audit = audit;
 }
        public void Route(
            EventBean theEvent,
            EPStatementHandle statementHandle,
            InternalEventRouteDest routeDest,
            ExprEvaluatorContext exprEvaluatorContext,
            bool addToFront)
        {
            if (!_hasPreprocessing)
            {
                if (_insertIntoListener != null)
                {
                    bool route = _insertIntoListener.Inserted(theEvent, statementHandle);
                    if (route)
                    {
                        routeDest.Route(theEvent, statementHandle, addToFront);
                    }
                }
                else
                {
                    routeDest.Route(theEvent, statementHandle, addToFront);
                }
                return;
            }

            EventBean preprocessed = GetPreprocessedEvent(theEvent, exprEvaluatorContext);

            if (preprocessed != null)
            {
                if (_insertIntoListener != null)
                {
                    bool route = _insertIntoListener.Inserted(theEvent, statementHandle);
                    if (route)
                    {
                        routeDest.Route(preprocessed, statementHandle, addToFront);
                    }
                }
                else
                {
                    routeDest.Route(preprocessed, statementHandle, addToFront);
                }
            }
        }
 public void Route(EventBean theEvent, EPStatementHandle statementHandle, InternalEventRouteDest routeDest, ExprEvaluatorContext exprEvaluatorContext, bool addToFront)
 {
     _routed.Add(theEvent);
 }
Beispiel #9
0
 public StatementContextRuntimeServices(
     IContainer container,
     ContextManagementService contextManagementService,
     ContextServiceFactory contextServiceFactory,
     DatabaseConfigServiceRuntime databaseConfigService,
     DataFlowFilterServiceAdapter dataFlowFilterServiceAdapter,
     EPDataFlowServiceImpl dataflowService,
     string runtimeURI,
     INamingContext runtimeEnvContext,
     ImportServiceRuntime importServiceRuntime,
     RuntimeSettingsService runtimeSettingsService,
     RuntimeExtensionServices runtimeExtensionServices,
     object epRuntime,
     EPRenderEventService epRuntimeRenderEvent,
     EventServiceSendEventCommon eventServiceSendEventInternal,
     EPRuntimeEventProcessWrapped epRuntimeEventProcessWrapped,
     EventBeanService eventBeanService,
     EventBeanTypedEventFactory eventBeanTypedEventFactory,
     EventTableIndexService eventTableIndexService,
     EventTypeAvroHandler eventTypeAvroHandler,
     PathRegistry<string, EventType> eventTypePathRegistry,
     EventTypeRepositoryImpl eventTypeRepositoryPreconfigured,
     EventTypeResolvingBeanFactory eventTypeResolvingBeanFactory,
     ExceptionHandlingService exceptionHandlingService,
     ExpressionResultCacheService expressionResultCacheService,
     FilterService filterService,
     FilterBooleanExpressionFactory filterBooleanExpressionFactory,
     FilterSharedBoolExprRepository filterSharedBoolExprRepository,
     FilterSharedLookupableRepository filterSharedLookupableRepository,
     HistoricalDataCacheFactory historicalDataCacheFactory,
     InternalEventRouter internalEventRouter,
     InternalEventRouteDest internalEventRouteDest,
     MetricReportingService metricReportingService,
     NamedWindowConsumerManagementService namedWindowConsumerManagementService,
     NamedWindowManagementService namedWindowManagementService,
     PathRegistry<string, ContextMetaData> pathContextRegistry,
     PathRegistry<string, NamedWindowMetaData> pathNamedWindowRegistry,
     RowRecogStateRepoFactory rowRecogStateRepoFactory,
     ResultSetProcessorHelperFactory resultSetProcessorHelperFactory,
     SchedulingService schedulingService,
     StatementAgentInstanceLockFactory statementAgentInstanceLockFactory,
     StatementResourceHolderBuilder statementResourceHolderBuilder,
     TableExprEvaluatorContext tableExprEvaluatorContext,
     TableManagementService tableManagementService,
     VariableManagementService variableManagementService,
     ViewFactoryService viewFactoryService,
     ViewServicePreviousFactory viewServicePreviousFactory)
 {
     ContextManagementService = contextManagementService;
     ContextServiceFactory = contextServiceFactory;
     DatabaseConfigService = databaseConfigService;
     DataFlowFilterServiceAdapter = dataFlowFilterServiceAdapter;
     DataflowService = dataflowService;
     RuntimeURI = runtimeURI;
     RuntimeEnvContext = runtimeEnvContext;
     ImportServiceRuntime = importServiceRuntime;
     RuntimeSettingsService = runtimeSettingsService;
     RuntimeExtensionServices = runtimeExtensionServices;
     Runtime = epRuntime;
     EPRuntimeRenderEvent = epRuntimeRenderEvent;
     EventServiceSendEventInternal = eventServiceSendEventInternal;
     EPRuntimeEventProcessWrapped = epRuntimeEventProcessWrapped;
     EventBeanService = eventBeanService;
     EventBeanTypedEventFactory = eventBeanTypedEventFactory;
     EventTableIndexService = eventTableIndexService;
     EventTypeAvroHandler = eventTypeAvroHandler;
     EventTypePathRegistry = eventTypePathRegistry;
     EventTypeRepositoryPreconfigured = eventTypeRepositoryPreconfigured;
     EventTypeResolvingBeanFactory = eventTypeResolvingBeanFactory;
     ExceptionHandlingService = exceptionHandlingService;
     ExpressionResultCacheService = expressionResultCacheService;
     FilterService = filterService;
     FilterBooleanExpressionFactory = filterBooleanExpressionFactory;
     FilterSharedBoolExprRepository = filterSharedBoolExprRepository;
     FilterSharedLookupableRepository = filterSharedLookupableRepository;
     HistoricalDataCacheFactory = historicalDataCacheFactory;
     InternalEventRouter = internalEventRouter;
     InternalEventRouteDest = internalEventRouteDest;
     MetricReportingService = metricReportingService;
     NamedWindowConsumerManagementService = namedWindowConsumerManagementService;
     NamedWindowManagementService = namedWindowManagementService;
     PathContextRegistry = pathContextRegistry;
     PathNamedWindowRegistry = pathNamedWindowRegistry;
     RowRecogStateRepoFactory = rowRecogStateRepoFactory;
     ResultSetProcessorHelperFactory = resultSetProcessorHelperFactory;
     SchedulingService = schedulingService;
     StatementAgentInstanceLockFactory = statementAgentInstanceLockFactory;
     StatementResourceHolderBuilder = statementResourceHolderBuilder;
     TableExprEvaluatorContext = tableExprEvaluatorContext;
     TableManagementService = tableManagementService;
     VariableManagementService = variableManagementService;
     ViewFactoryService = viewFactoryService;
     ViewServicePreviousFactory = viewServicePreviousFactory;
 }
Beispiel #10
0
 public void Initialize(EPStageEventServiceSPI eventService)
 {
     this.internalEventRouteDest = eventService;
     this.metricReportingService.SetContext(filterService, schedulingService, eventService);
 }