/// <summary> /// Creates a new log summary. /// </summary> /// <param name="log">The log to create a summary of.</param> /// <param name="defaultClassifier">The event classifier to be used.</param> /// <param name="classifiers">Classifiers.</param> /// <param name="classifiers">A collection of additional event classifiers to /// be covered by the created log info instance.</param> public XLogInfo(XLog log, IXEventClassifier defaultClassifier, List <IXEventClassifier> classifiers) { this.log = log; this.defaultClassifier = defaultClassifier; if (classifiers == null) { classifiers = new List <IXEventClassifier>(0); } this.eventClasses = new Dictionary <IXEventClassifier, XEventClasses>(classifiers.Count + 4); foreach (IXEventClassifier classifier in classifiers) { this.eventClasses.Add(classifier, new XEventClasses(classifier)); } this.eventClasses.Add(this.defaultClassifier, new XEventClasses(this.defaultClassifier)); this.eventClasses.Add(NAME_CLASSIFIER, new XEventClasses(NAME_CLASSIFIER)); this.eventClasses.Add(RESOURCE_CLASSIFIER, new XEventClasses(RESOURCE_CLASSIFIER)); this.eventClasses.Add(LIFECYCLE_TRANSITION_CLASSIFIER, new XEventClasses(LIFECYCLE_TRANSITION_CLASSIFIER)); this.numberOfEvents = 0; this.numberOfTraces = 0; this.logBoundaries = new XTimeBounds(); this.traceBoundaries = new Dictionary <IXTrace, IXTimeBounds>(); this.logAttributeInfo = new XAttributeInfo(); this.traceAttributeInfo = new XAttributeInfo(); this.eventAttributeInfo = new XAttributeInfo(); this.metaAttributeInfo = new XAttributeInfo(); Setup(); }
/// <summary> /// Initializes a new instance of the <see cref="T:OpenXesNet.model.XLog"/> class. /// </summary> /// <param name="attributes">The attribute map used to store this log's attributes.</param> /// <param name="initialCapacity">Initial capacity. If not specified, a default /// value of 0 is used.</param> public XLog(IXAttributeMap attributes, int initialCapacity = 0) : base(initialCapacity) { this.attributes = attributes; this.extensions = new HashSet <XExtension>(); this.classifiers = new List <IXEventClassifier>(); this.globalEventAttributes = new List <XAttribute>(); this.globalTraceAttributes = new List <XAttribute>(); this.cachedInfo = null; this.cachedClassifier = null; }
/// <summary> /// Creates a new set of event classes, factory method. /// </summary> /// <returns>A set of event classes, as an instance of this class.</returns> /// <param name="classifier">The classifier to be used for event comparison.</param> /// <param name="log">The log, on which event classes should be imposed.</param> public static XEventClasses DeriveEventClasses(IXEventClassifier classifier, XLog log) { lock (Lock) { XEventClasses nClasses = new XEventClasses(classifier); nClasses.Register(log); nClasses.HarmonizeIndexes(); return(nClasses); } }
/// <summary> /// Creates a new log info summary with a custom event classifier. /// </summary> /// <returns>The log info summary for this log.</returns> /// <param name="log">The event log to create an info summary for.</param> /// <param name="classifier">The event classifier to be used.</param> public static IXLogInfo CreateLogInfo(IXLog log, IXEventClassifier classifier) { IXLogInfo info = log.GetInfo(classifier); if (info == null) { info = XLogInfo.Create((XLog)log, classifier); log.SetInfo(classifier, info); } return(info); }
/// <summary> /// First call made when visiting a classifier. /// </summary> /// <param name="classifier">The classifier to visit.</param> /// <param name="log">The log containing the classifier.</param> public abstract void VisitClassifierPost(IXEventClassifier classifier, XLog log);
/// <summary> /// Creates a new log info summary with the custom event classifier. /// </summary> /// <returns>The event log to create an info summary for.</returns> /// <param name="log">The event log to create an info summary for.</param> /// <param name="defaultClassifier">The default event classifier to be used.</param> public static XLogInfo Create(XLog log, IXEventClassifier defaultClassifier) { return(Create(log, defaultClassifier, null)); }
public XEventClasses GetEventClasses(IXEventClassifier classifier) { return(this.eventClasses[classifier]); }
/// <summary> /// Creates a new log info summary with a collection of custom event classifiers. /// </summary> /// <returns>The event log to create an info summary for.</returns> /// <param name="log">The event log to create an info summary for.</param> /// <param name="defaultClassifier">The default event classifier to be used.</param> /// <param name="classifiers">A collection of additional event classifiers to /// be covered by the created log info instance.</param> public static XLogInfo Create(XLog log, IXEventClassifier defaultClassifier, List <IXEventClassifier> classifiers) { return(new XLogInfo(log, defaultClassifier, classifiers)); }
public void SetInfo(IXEventClassifier classifier, IXLogInfo info) { this.cachedClassifier = classifier; this.cachedInfo = info; }
public IXLogInfo GetInfo(IXEventClassifier classifier) { return(classifier.Equals(this.cachedClassifier) ? this.cachedInfo : null); }
/// <summary> /// Creates a new instance, i.e. an empty set of event classes. /// </summary> /// <param name="classifier">The classifier used for event comparison.</param> public XEventClasses(IXEventClassifier classifier) { this.classifier = classifier; this.classMap = new Dictionary <string, XEventClass>(); }