public UserDefinedFormatFactory(UserDefinedFactoryParams createParams) : base(createParams) { var formatSpecificNode = createParams.FormatSpecificNode; ReadPatterns(formatSpecificNode, patterns); var boundsNodes = formatSpecificNode.Elements("bounds").Take(1); var beginFinder = BoundFinder.CreateBoundFinder(boundsNodes.Select(n => n.Element("begin")).FirstOrDefault()); var endFinder = BoundFinder.CreateBoundFinder(boundsNodes.Select(n => n.Element("end")).FirstOrDefault()); tempFilesManager = createParams.TempFilesManager; fmtInfo = new Lazy <FormatInfo>(() => { Type precompiledUserCode = ReadPrecompiledUserCode(createParams.RootNode); FieldsProcessor.InitializationParams fieldsInitParams = new FieldsProcessor.InitializationParams( formatSpecificNode.Element("fields-config"), true, precompiledUserCode); MessagesReaderExtensions.XmlInitializationParams extensionsInitData = new MessagesReaderExtensions.XmlInitializationParams( formatSpecificNode.Element("extensions")); DejitteringParams?dejitteringParams = DejitteringParams.FromConfigNode( formatSpecificNode.Element("dejitter")); TextStreamPositioningParams textStreamPositioningParams = TextStreamPositioningParams.FromConfigNode( formatSpecificNode); RotationParams rotationParams = RotationParams.FromConfigNode( formatSpecificNode.Element("rotation")); FormatInfo.FormatFlags flags = FormatInfo.FormatFlags.None; if (formatSpecificNode.Element("plain-text-search-optimization").AttributeValue("allowed") == "yes") { flags |= FormatInfo.FormatFlags.AllowPlainTextSearchOptimization; } return(new FormatInfo( ReadRe(formatSpecificNode, "head-re", ReOptions.Multiline), ReadRe(formatSpecificNode, "body-re", ReOptions.Singleline), ReadParameter(formatSpecificNode, "encoding"), fieldsInitParams, extensionsInitData, dejitteringParams, textStreamPositioningParams, flags, rotationParams, beginFinder, endFinder )); }); uiKey = ReadParameter(formatSpecificNode, "ui-key"); }
public FormatInfo( LoadedRegex headRe, LoadedRegex bodyRe, string encoding, FieldsProcessor.InitializationParams fieldsParams, MessagesReaderExtensions.XmlInitializationParams extensionsInitData, DejitteringParams?dejitteringParams, TextStreamPositioningParams textStreamPositioningParams, FormatFlags flags, RotationParams rotationParams ) : base(extensionsInitData) { this.HeadRe = headRe; this.BodyRe = bodyRe; this.Encoding = encoding; this.FieldsProcessorParams = fieldsParams; this.DejitteringParams = dejitteringParams; this.TextStreamPositioningParams = textStreamPositioningParams; this.Flags = flags; this.RotationParams = rotationParams; }
void IViewEvents.OnTestClicked(bool advancedModeModifierIsHeld) { XmlDocument tmp = new XmlDocument(); XmlNode root = tmp.AppendChild(tmp.CreateElement("root")); XmlNode mapping = WriteMappingInternal(root); XDocument tmpXDoc = XDocument.Parse(tmp.OuterXml); FieldsProcessor.InitializationParams tmpProcessorParams = new FieldsProcessor.InitializationParams( tmpXDoc.Element("root").Element("fields-config"), false, null); try { IFieldsProcessor tmpProcessor = new FieldsProcessor(tmpProcessorParams, availableInputFields, null, tempFilesManager, LJTraceSource.EmptyTracer); tmpProcessor.Reset(); alerts.ShowPopup("Test", "Code compiled OK", AlertFlags.Ok); } catch (BadUserCodeException e) { HandleProcessorError(e, advancedModeModifierIsHeld); } }