public void TrackFactActivity(FactActivityType activityType, string classType, int classInstanceId)
 {
     if (!_logger.IsDebugEnabled)
     {
         return;
     }
     _builder.AppendFormat("\n\tOperation: {0}", activityType);
     _builder.AppendFormat("\n\tObject Type: {0}", classType);
     _builder.AppendFormat("\n\tObject Instance Identifier: {0}", classInstanceId);
     LogMessage("FACT ACTIVITY");
 }
Exemple #2
0
        /// <summary>
        /// Tracks changes to working memory.
        /// </summary>
        /// <param name="activityType">Describes if the activity is to assert, retract, or update.</param>
        /// <param name="classType">Type of facts.</param>
        /// <param name="classInstanceId">Unique fact identifier.</param>
        public void TrackFactActivity(FactActivityType activityType, string classType, int classInstanceId)
        {
            PrintHeader(workingMemoryUpdateTrace);

            switch (activityType)
            {
            case FactActivityType.Assert:
                TraceManager.RulesComponent.TraceInfo(TraceTemplateTwoParam, operationTypeTrace, assertOperationTrace);
                break;

            case FactActivityType.Retract:
                TraceManager.RulesComponent.TraceInfo(TraceTemplateTwoParam, operationTypeTrace, retractOperationTrace);
                break;

            case FactActivityType.Update:
                TraceManager.RulesComponent.TraceInfo(TraceTemplateTwoParam, operationTypeTrace, updateOperationTrace);
                break;

            case FactActivityType.AssertUnrecognized:
                TraceManager.RulesComponent.TraceInfo(TraceTemplateTwoParam, operationTypeTrace, assertUnrecognizedOperationTrace);
                break;

            case FactActivityType.RetractUnrecognized:
                TraceManager.RulesComponent.TraceInfo(TraceTemplateTwoParam, operationTypeTrace, retractUnrecognizedOperationTrace);
                break;

            case FactActivityType.UpdateUnrecognized:
                TraceManager.RulesComponent.TraceInfo(TraceTemplateTwoParam, operationTypeTrace, updateUnrecognizedOperationTrace);
                break;

            case FactActivityType.RetractNotPresent:
                TraceManager.RulesComponent.TraceInfo(TraceTemplateTwoParam, operationTypeTrace, retractNotPresentOperationTrace);
                break;

            case FactActivityType.UpdateNotPresent:
                TraceManager.RulesComponent.TraceInfo(TraceTemplateTwoParam, operationTypeTrace, updateNotPresentOperationTrace);
                break;

            default:
                TraceManager.RulesComponent.TraceInfo(TraceTemplateTwoParam, operationTypeTrace, unrecognizedOperationTrace);
                break;
            }

            TraceManager.RulesComponent.TraceInfo(TraceTemplateTwoParam, objectTypeTrace, classType);
            TraceManager.RulesComponent.TraceInfo(TraceTemplateTwoParam, objectInstanceTrace, classInstanceId.ToString(CultureInfo.CurrentCulture));
        }
        public void TrackFactActivity(FactActivityType activityType, string classType, int classInstanceId)
        {
            if (classType == null)
            {
                throw new RuleEngineArgumentNullException(string.Format(CultureInfo.CurrentCulture, "nullArgument", new object[] { "strClassName" }), base.GetType().FullName, "objectType");
            }
            // Create a builder to write xml to
            StringBuilder builder = new StringBuilder(200);

            using (XmlWriter xWriter = XmlWriter.Create(builder,
                    new XmlWriterSettings { OmitXmlDeclaration = true, ConformanceLevel = ConformanceLevel.Fragment }))
            {
                AppendTraceHeader(xWriter);

                this.AppendContextHeader(m_workingMemoryUpdateTrace, xWriter);

                xWriter.WriteElementString("Description", String.Format("{0}ing {1} [{2}]",
                    activityType.ToString(), classType, classInstanceId));

                switch (activityType)
                {
                    case FactActivityType.Assert:
                        xWriter.WriteElementString(m_operationTypeTrace, m_assertOperationTrace);
                        break;

                    case FactActivityType.Retract:
                        xWriter.WriteElementString(m_operationTypeTrace, m_retractOperationTrace);
                        break;

                    case FactActivityType.Update:
                        xWriter.WriteElementString(m_operationTypeTrace, m_updateOperationTrace);
                        break;

                    case FactActivityType.AssertUnrecognized:
                        xWriter.WriteElementString(m_operationTypeTrace, m_assertUnrecognizedOperationTrace);
                        break;

                    case FactActivityType.RetractUnrecognized:
                        xWriter.WriteElementString(m_operationTypeTrace, m_retractUnrecognizedOperationTrace);
                        break;

                    case FactActivityType.UpdateUnrecognized:
                        xWriter.WriteElementString(m_operationTypeTrace, m_updateUnrecognizedOperationTrace);
                        break;

                    case FactActivityType.RetractNotPresent:
                        xWriter.WriteElementString(m_operationTypeTrace, m_retractNotPresentOperationTrace);
                        break;

                    case FactActivityType.UpdateNotPresent:
                        xWriter.WriteElementString(m_operationTypeTrace, m_updateNotPresentOperationTrace);
                        break;

                    default:
                        xWriter.WriteElementString(m_operationTypeTrace, m_unrecognizedOperationTrace);
                        break;
                }
                xWriter.WriteElementString(m_objectTypeTrace, classType);
                xWriter.WriteElementString(m_objectInstanceTrace, classInstanceId.ToString(CultureInfo.CurrentCulture));

                CloseTrace(xWriter);
            }

            Log(builder);
        }
 public void TrackFactActivityTest()
 {
     XmlDebugTrackingInterceptor target = new XmlDebugTrackingInterceptor(); // TODO: Initialize to an appropriate value
     FactActivityType activityType = new FactActivityType(); // TODO: Initialize to an appropriate value
     string classType = string.Empty; // TODO: Initialize to an appropriate value
     int classInstanceId = 0; // TODO: Initialize to an appropriate value
     target.TrackFactActivity(activityType, classType, classInstanceId);
     Tests.Assert.Inconclusive("A method that does not return a value cannot be verified.");
 }