// fire history events ///////////////////////////////////////////////////////

        //JAVA TO C# CONVERTER WARNING: 'final' parameters are not allowed in .NET:
        //ORIGINAL LINE: public void fireExternalTaskCreatedEvent(final org.camunda.bpm.engine.externaltask.ExternalTask externalTask)
        public virtual void FireExternalTaskCreatedEvent(IExternalTask externalTask)
        {
            if (IsHistoryEventProduced(HistoryEventTypes.ExternalTaskCreate, externalTask))
            {
                HistoryEventProcessor.ProcessHistoryEvents(new HistoryEventCreatorAnonymousInnerClassHelper(this, externalTask));
            }
        }
        public virtual HistoryEvent CreateHistoricExternalTaskLogFailedEvt(IExternalTask task)
        {
            HistoricExternalTaskLogEntity @event = InitHistoricExternalTaskLog((ExternalTaskEntity)task, ExternalTaskStateFields.Failed);

            @event.ErrorMessage = task.ErrorMessage;
            string errorDetails = ((ExternalTaskEntity)task).ErrorDetails;

            if (!string.ReferenceEquals(errorDetails, null))
            {
                @event.ErrorDetails = errorDetails;
            }
            return(@event);
        }
        protected internal virtual void AssertHistoricLogPropertiesAreProperlySet(IExternalTask task,
                                                                                  IHistoricExternalTaskLog log)
        {
            Assert.NotNull(log);
            Assert.NotNull(log.Id);
            Assert.NotNull(log.TimeStamp);

            Assert.AreEqual(task.Id, log.ExternalTaskId);
            Assert.AreEqual(task.ActivityId, log.ActivityId);
            Assert.AreEqual(task.ActivityInstanceId, log.ActivityInstanceId);
            Assert.AreEqual(task.TopicName, log.TopicName);
            Assert.AreEqual(task.Retries, log.Retries);
            Assert.AreEqual(task.ExecutionId, log.ExecutionId);
            Assert.AreEqual(task.ProcessInstanceId, log.ProcessInstanceId);
            Assert.AreEqual(task.ProcessDefinitionId, log.ProcessDefinitionId);
            Assert.AreEqual(task.ProcessDefinitionKey, log.ProcessDefinitionKey);
            Assert.AreEqual(task.Priority, log.Priority);
        }
 public HistoryEventCreatorAnonymousInnerClassHelper(HistoricExternalTaskLogManager outerInstance, IExternalTask externalTask)
 {
     this._outerInstance = outerInstance;
     this._externalTask  = externalTask;
 }
        // helper /////////////////////////////////////////////////////////

        protected internal virtual bool IsHistoryEventProduced(HistoryEventTypes eventType, IExternalTask externalTask)
        {
            ProcessEngineConfigurationImpl configuration = context.Impl.Context.ProcessEngineConfiguration;
            IHistoryLevel historyLevel = configuration.HistoryLevel;

            return(historyLevel.IsHistoryEventProduced(eventType, externalTask));
        }
 public virtual HistoryEvent CreateHistoricExternalTaskLogDeletedEvt(IExternalTask task)
 {
     return(InitHistoricExternalTaskLog((ExternalTaskEntity)task, ExternalTaskStateFields.Deleted));
 }
 public virtual HistoryEvent CreateHistoricExternalTaskLogSuccessfulEvt(IExternalTask task)
 {
     return(InitHistoricExternalTaskLog((ExternalTaskEntity)task, ExternalTaskStateFields.Successful));
 }