예제 #1
0
        /// <summary>
        /// Adds the type of the event.
        /// </summary>
        /// <param name="instanceId">The instance id.</param>
        /// <param name="eventTypeDefinition">The event type definition.</param>
        public void AddEventType(string instanceId, NativeEventTypeDefinition eventTypeDefinition)
        {
            Log.Info("AddEventType: instanceId = {0}, name = {1}, schemaTypeName = {2}",
                     instanceId,
                     eventTypeDefinition.Name,
                     eventTypeDefinition.TypeName);

            try
            {
                var instance  = GetInstanceOrFault(instanceId);
                var eventType = TypeHelper.ResolveType(eventTypeDefinition.TypeName, false);
                if (eventType == null)
                {
                    throw new WebFaultException <string>(
                              string.Format("Unable to resolve type '{0}'", eventTypeDefinition.TypeName),
                              HttpStatusCode.BadRequest);
                }

                instance.ServiceProvider.EPAdministrator
                .GetConfiguration()
                .AddEventType(eventTypeDefinition.Name, eventType);
            } catch (WebFaultException)
            {
                throw;
            }
            catch (Exception e)
            {
                Log.Error("AddEventType: failure due to exception", e);
                throw;
            }
        }
예제 #2
0
        /// <summary>
        /// Adds the type of the event.
        /// </summary>
        /// <param name="eventTypeName">Name of the event type.</param>
        /// <param name="nativeEventType">Native event type.</param>
        public void AddEventType(string eventTypeName, Type nativeEventType)
        {
            RegisterType(nativeEventType);

            using (var wrapper = CreateControlManager())
            {
                WithExceptionHandling(
                    delegate
                {
                    var controlManager      = wrapper.Channel;
                    var eventTypeDefinition = new NativeEventTypeDefinition(
                        eventTypeName, nativeEventType.FullName);

                    controlManager.AddEventType(_instanceId, eventTypeDefinition);
                });
            }
        }
        /// <summary>
        /// Adds the type of the event.
        /// </summary>
        /// <param name="instanceId">The instance id.</param>
        /// <param name="eventTypeDefinition">The event type definition.</param>
        public void AddEventType(string instanceId, NativeEventTypeDefinition eventTypeDefinition)
        {
            Log.Info("AddEventType: instanceId = {0}, name = {1}, schemaTypeName = {2}",
                     instanceId,
                     eventTypeDefinition.Name,
                     eventTypeDefinition.TypeName);

            try
            {
                var instance = GetInstanceOrFault(instanceId);
                var eventType = TypeHelper.ResolveType(eventTypeDefinition.TypeName, false);
                if (eventType == null)
                {
                    throw new WebFaultException<string>(
                        string.Format("Unable to resolve type '{0}'", eventTypeDefinition.TypeName),
                        HttpStatusCode.BadRequest);
                }

                instance.ServiceProvider.EPAdministrator
                    .GetConfiguration()
                    .AddEventType(eventTypeDefinition.Name, eventType);
            } catch( WebFaultException )
            {
                throw;
            }
            catch( Exception e )
            {
                Log.Error("AddEventType: failure due to exception", e);
                throw;
            }
        }