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"); }
/// <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."); }