public override XElement Parse(ITagProcessor parentProcessor, XElement startElement) { this.ValidateStartTag(startElement, StartTagName); var startTag = startElement; if (string.IsNullOrEmpty(startTag.Value)) { throw new Exception(string.Format(MessageStrings.TagNotFoundOrEmpty, "If")); } var endTag = this.FindEndTag(startTag); var content = TraverseUtils.ElementsBetween(startTag, endTag).ToList(); var expression = startTag.GetExpression(); var ifTag = new IfTag { Conidition = expression, EndIf = endTag, IfContent = content, StartIf = startTag, }; var ifProcessor = new IfProcessor { Tag = ifTag }; if (content.Any()) { this.GoDeeper(ifProcessor, content.First(), endTag); } parentProcessor.AddProcessor(ifProcessor); return endTag; }
private PaymentLinksStorage CreateService(IOptions <PaymentLinkOptions> options = null, ITagProcessor tagProcessor = null) { options ??= GetValidOptions(); tagProcessor ??= Mock.Of <ITagProcessor>(); return(new PaymentLinksStorage(_edoContextMock.Object, new DefaultDateTimeProvider(), options, tagProcessor)); IOptions <PaymentLinkOptions> GetValidOptions() => Options.Create(new PaymentLinkOptions { ClientSettings = new ClientSettings { Currencies = new List <Currencies> { Currencies.AED, Currencies.EUR }, ServiceTypes = new Dictionary <ServiceTypes, string> { { ServiceTypes.HTL, "Hotel booking" }, { ServiceTypes.TRN, "Airport transfer" } } }, SupportedVersions = new List <Version> { new Version(0, 2) }, LinkMailTemplateId = "templateId_fkIfu423_-e", PaymentUrlPrefix = new Uri("https://test/prefix") }); }
protected XElement ParseSdt(ITagProcessor parentProcessor, XElement sdtElement) { ITagParser parser = null; switch (this.GetTagName(sdtElement).ToLower()) { case "htmlcontent": parser = new HtmlContentParser(); break; case "text": parser = new TextParser(); break; case "table": parser = new TableParser(); break; case "repeater": parser = new RepeaterParser(); break; case "if": parser = new IfParser(); break; } return(parser != null?parser.Parse(parentProcessor, sdtElement) : sdtElement); }
public TagEventHandler(RFIDReader API, string ID) { _ExistingTable = new Hashtable(); _ReaderAPI = API; _DeviceID = ID; _Processor = new DefaultTagProcessor(); }
protected virtual void AddStackKeeper(Tag t, HtmlPipelineContext hcc, ITagProcessor tp) { if (tp.IsStackOwner()) { hcc.AddFirst(new StackKeeper(t)); } }
public override XElement Parse(ITagProcessor parentProcessor, XElement startElement) { this.ValidateStartTag(startElement, StartTagName); var startTag = startElement; if (string.IsNullOrEmpty(startTag.Value)) { throw new Exception(string.Format(MessageStrings.TagNotFoundOrEmpty, "If")); } var endTag = this.FindEndTag(startTag); var content = TraverseUtils.ElementsBetween(startTag, endTag).ToList(); var expression = startTag.GetExpression(); var ifTag = new IfTag { Conidition = expression, EndIf = endTag, IfContent = content, StartIf = startTag, }; var ifProcessor = new IfProcessor { Tag = ifTag }; if (content.Any()) { this.GoDeeper(ifProcessor, content.First(), endTag); } parentProcessor.AddProcessor(ifProcessor); return(endTag); }
protected XElement ParseSdt(ITagProcessor parentProcessor, XElement sdtElement) { ITagParser parser = null; switch (this.GetTagName(sdtElement).ToLower()) { case "htmlcontent": parser = new HtmlContentParser(); break; case "text": parser = new TextParser(); break; case "table": parser = new TableParser(); break; case "repeater": parser = new RepeaterParser(); break; case "if": parser = new IfParser(); break; } return parser != null ? parser.Parse(parentProcessor, sdtElement) : sdtElement; }
public void Initialise(ILoggerFactory loggerFactory, ILogger logger, #if RAPTOR IASNodeClient raptorClient, ITagProcessor tagProcessor, #endif IConfigurationStore configStore, List <FileData> fileList, ICompactionProfileResultHelper profileResultHelper, ITRexTagFileProxy tRexTagFileProxy, ITRexCompactionDataProxy trexCompactionDataProxy, IFileImportProxy fileImportProxy, IHeaderDictionary customHeaders, string customerUid, string userId) { this.loggerFactory = loggerFactory; this.log = logger; #if RAPTOR this.raptorClient = raptorClient; this.tagProcessor = tagProcessor; #endif this.configStore = configStore; this.fileList = fileList; this.profileResultHelper = profileResultHelper; this.tRexTagFileProxy = tRexTagFileProxy; this.trexCompactionDataProxy = trexCompactionDataProxy; this.fileImportProxy = fileImportProxy; this.customHeaders = customHeaders; this.customerUid = customerUid; this.userId = userId; }
/** * */ public void AddProcessor(ITagProcessor processor, String[] tags) { foreach (String tag in tags) { AddProcessor(tag, processor); } }
public TagEventHandler(RFIDReader API, string ID) { _ExistingTable = new Hashtable(); _ReaderAPI = API; _DeviceID = ID; _Processor = new DefaultTagProcessor(); }
virtual public void AddTagProcessor() { tp.AddProcessor(tpi, new string[] { "addatag" }); ITagProcessor processor = tp.GetProcessor("addatag", ""); Assert.AreEqual(tpi, processor); }
public override XElement Parse(ITagProcessor parentProcessor, XElement startElement) { this.ValidateStartTag(startElement, TagName); var endRepeater = TryGetRequiredTag(startElement, EndTagName); var itemsSource = startElement.GetExpression(); if (string.IsNullOrEmpty(itemsSource)) { throw new Exception(MessageStrings.ItemsAreEmpty); } IEnumerable<XElement> elementsBetween = TraverseUtils.ElementsBetween(startElement, endRepeater).ToList(); var repeaterTag = new RepeaterTag { Source = itemsSource, StartRepeater = startElement, EndRepeater = endRepeater, MakeElementCallback = MakeElementCallback }; var repeaterProcessor = new RepeaterProcessor { RepeaterTag = repeaterTag, }; if (elementsBetween.Any()) { this.GoDeeper(repeaterProcessor, elementsBetween.First()); } parentProcessor.AddProcessor(repeaterProcessor); return endRepeater; }
private void GoDeeper(ITagProcessor parentProcessor, XElement element) { do { if (element.IsSdt()) { switch (this.GetTagName(element).ToLower()) { case "itemtext": case "itemindex": case "itemif": case "itemhtmlcontent": case "itemrepeater": case "enditemrepeater": case "titemtext": case "itemtable": case "cellcolor": case "enditemtable": case "enditemif": break; default: element = this.ParseSdt(parentProcessor, element); break; } } else if (element.HasElements) { this.GoDeeper(parentProcessor, element.Elements().First()); } element = element.NextElement(); }while (element != null && (!element.IsSdt() || GetTagName(element).ToLower() != "endtable")); }
public override XElement Parse(ITagProcessor parentProcessor, XElement startElement) { this.ValidateStartTag(startElement, TagName); var endRepeater = TryGetRequiredTag(startElement, EndTagName); var itemsSource = startElement.GetExpression(); if (string.IsNullOrEmpty(itemsSource)) { throw new Exception(MessageStrings.ItemsAreEmpty); } IEnumerable <XElement> elementsBetween = TraverseUtils.ElementsBetween(startElement, endRepeater).ToList(); var repeaterTag = new RepeaterTag { Source = itemsSource, StartRepeater = startElement, EndRepeater = endRepeater, MakeElementCallback = MakeElementCallback }; var repeaterProcessor = new RepeaterProcessor { RepeaterTag = repeaterTag, }; if (elementsBetween.Any()) { this.GoDeeper(repeaterProcessor, elementsBetween.First()); } parentProcessor.AddProcessor(repeaterProcessor); return(endRepeater); }
private void GoDeeper(ITagProcessor parentProcessor, XElement element) { do { if (element.IsSdt()) { switch (this.GetTagName(element).ToLower()) { case "itemtext": case "itemindex": case "itemif": case "itemhtmlcontent": case "itemrepeater": case "enditemrepeater": case "titemtext": case "itemtable": case "cellcolor": case "enditemtable": case "enditemif": break; default: element = this.ParseSdt(parentProcessor, element); break; } } else if (element.HasElements) { this.GoDeeper(parentProcessor, element.Elements().First()); } element = element.NextElement(); } while (element != null && (!element.IsSdt() || GetTagName(element).ToLower() != "endtable")); }
public void AddProcessor(ITagProcessor processor) { if (processor == null || !(processor is P)) { throw new Exception(); } this.InnerProcessor = (P)processor; }
public override XElement Parse(ITagProcessor parentProcessor, XElement startElement) { this.ValidateStartTag(startElement, "HtmlContent"); var tag = new HtmlContentTag() { Expression = startElement.Value, TagNode = startElement }; var processor = new HtmlContentProcessor() { HtmlTag = tag }; parentProcessor.AddProcessor(processor); return startElement; }
public PaymentLinksStorage(EdoContext context, IDateTimeProvider dateTimeProvider, IOptions <PaymentLinkOptions> paymentLinkOptions, ITagProcessor tagProcessor) { _context = context; _dateTimeProvider = dateTimeProvider; _tagProcessor = tagProcessor; _paymentLinkOptions = paymentLinkOptions.Value; }
/** * @param tag the tag to find a ITagProcessor for * @param nameSpace the namespace. * @return a ITagProcessor */ protected internal ITagProcessor ResolveProcessor(String tag, String nameSpace) { ITagProcessor tp = tagFactory.GetProcessor(tag, nameSpace); if (tp is CssAppliersAware) { ((CssAppliersAware)tp).SetCssAppliers(this.cssAppliers); } return(tp); }
public virtual XElement Parse(ITagProcessor parentProcessor, XElement startElement) { var sdtElement = startElement.Descendants(WordMl.SdtName).FirstOrDefault(); while (sdtElement != null) { sdtElement = this.ParseSdt(parentProcessor, sdtElement); sdtElement = TraverseUtils.NextTagElements(sdtElement).FirstOrDefault(); } return startElement; }
/* * (non-Javadoc) * * @see * com.itextpdf.tool.xml.pipeline.IPipeline#open(com.itextpdf.tool. * xml.Tag, com.itextpdf.tool.xml.pipeline.ProcessObject) */ public override IPipeline Open(IWorkerContext context, Tag t, ProcessObject po) { HtmlPipelineContext hcc = (HtmlPipelineContext)GetLocalContext(context); try { Object lastMarginBottom = null; if (hcc.GetMemory().TryGetValue(HtmlPipelineContext.LAST_MARGIN_BOTTOM, out lastMarginBottom)) { t.LastMarginBottom = lastMarginBottom; hcc.GetMemory().Remove(HtmlPipelineContext.LAST_MARGIN_BOTTOM); } ITagProcessor tp = hcc.ResolveProcessor(t.Name, t.NameSpace); if (tp.IsStackOwner()) { hcc.AddFirst(new StackKeeper(t)); } IList <IElement> content = tp.StartElement(context, t); if (content.Count > 0) { if (tp.IsStackOwner()) { StackKeeper peek; try { peek = hcc.Peek(); foreach (IElement elem in content) { peek.Add(elem); } } catch (NoStackException e) { throw new PipelineException(String.Format(LocaleMessages.STACK_404, t.ToString()), e); } } else { foreach (IElement elem in content) { hcc.CurrentContent().Add(elem); if (elem.Type == Element.BODY) { WritableElement writableElement = new WritableElement(); writableElement.Add(elem); po.Add(writableElement); hcc.CurrentContent().Remove(elem); } } } } } catch (NoTagProcessorException e) { if (!hcc.AcceptUnknown()) { throw e; } } return(GetNext()); }
public virtual XElement Parse(ITagProcessor parentProcessor, XElement startElement) { var sdtElement = startElement.Descendants(WordMl.SdtName).FirstOrDefault(); while (sdtElement != null) { sdtElement = this.ParseSdt(parentProcessor, sdtElement); sdtElement = TraverseUtils.NextTagElements(sdtElement).FirstOrDefault(); } return(startElement); }
public BookingRecordsManager(EdoContext context, IDateTimeProvider dateTimeProvider, ITagProcessor tagProcessor, IAccommodationService accommodationService, IAccommodationBookingSettingsService accommodationBookingSettingsService) { _context = context; _dateTimeProvider = dateTimeProvider; _tagProcessor = tagProcessor; _accommodationService = accommodationService; _accommodationBookingSettingsService = accommodationBookingSettingsService; }
public DirectApiBookingRegistrationService(EdoContext context, ITagProcessor tagProcessor, IDateTimeProvider dateTimeProvider, IAppliedBookingMarkupRecordsManager appliedBookingMarkupRecordsManager, IBookingChangeLogService changeLogService, ISupplierOrderService supplierOrderService, IBookingRequestStorage requestStorage, IAccommodationMapperClient accommodationMapperClient, ILogger <DirectApiBookingRegistrationService> logger) : base(context, tagProcessor, dateTimeProvider, appliedBookingMarkupRecordsManager, changeLogService, supplierOrderService, requestStorage, logger) { _accommodationMapperClient = accommodationMapperClient; }
public override XElement Parse(ITagProcessor parentProcessor, XElement startElement) { this.ValidateStartTag(startElement, "Text"); var tag = new TextTag { Expression = startElement.Value, TagNode = startElement }; var processor = new TextProcessor { TextTag = tag }; parentProcessor.AddProcessor(processor); return(startElement); }
public static void RegisterTagProcessor(string tag, ITagProcessor processor) { lock (_processors) { if (_processors.ContainsKey(tag)) { _processors[tag] = processor; } else { _processors.Add(tag, processor); } } }
public BookingRegistrationService(EdoContext context, ITagProcessor tagProcessor, IDateTimeProvider dateTimeProvider, IAppliedBookingMarkupRecordsManager appliedBookingMarkupRecordsManager, IBookingChangeLogService changeLogService, ISupplierOrderService supplierOrderService, IBookingRequestStorage requestStorage, ILogger <BookingRegistrationService> logger) { _context = context; _tagProcessor = tagProcessor; _dateTimeProvider = dateTimeProvider; _appliedBookingMarkupRecordsManager = appliedBookingMarkupRecordsManager; _changeLogService = changeLogService; _supplierOrderService = supplierOrderService; _requestStorage = requestStorage; _logger = logger; }
public PaymentCallbackDispatcher(ICreditCardPaymentProcessingService creditCardPaymentProcessingService, IPayfortResponseParser responseParser, IBookingPaymentCallbackService bookingPaymentCallbackService, IPaymentLinksProcessingService linksProcessingService, ITagProcessor tagProcessor, EdoContext context) { _creditCardPaymentProcessingService = creditCardPaymentProcessingService; _responseParser = responseParser; _bookingPaymentCallbackService = bookingPaymentCallbackService; _linksProcessingService = linksProcessingService; _tagProcessor = tagProcessor; _context = context; }
/* * (non-Javadoc) * * @see com.itextpdf.tool.xml.pipeline.Pipeline#open(com.itextpdf.tool. * xml.Tag, com.itextpdf.tool.xml.pipeline.ProcessObject) */ public override IPipeline Open(IWorkerContext context, Tag t, ProcessObject po) { SvgPipelineContext hcc = (SvgPipelineContext)GetLocalContext(context); try { ITagProcessor tp = hcc.ResolveProcessor(t.Name, t.Name); if (tp.IsStackOwner()) { hcc.AddFirst(new StackKeeper(t)); } IList <IElement> content = tp.StartElement(context, t); if (content.Count > 0) { if (tp.IsStackOwner()) { StackKeeper peek; try { peek = hcc.Peek(); foreach (IElement elem in content) { peek.Add(elem); } } catch (NoStackException e) { throw new PipelineException(String.Format(LocaleMessages.STACK_404, t.ToString()), e); } } else { if (!hcc.IsDefinition()) { foreach (IElement elem in content) { po.Add((Graphic)elem); } } } } } catch (NoTagProcessorException e) { if (!hcc.AcceptUnknown()) { throw e; } } return(GetNext()); }
/// <summary> /// Builds this instance for specified executor type. /// </summary> /// <typeparam name="TExecutor">The type of the executor.</typeparam> public static TExecutor Build <TExecutor>(ILoggerFactory logger, #if RAPTOR IASNodeClient raptorClient = null, ITagProcessor tagProcessor = null, #endif IConfigurationStore configStore = null, List <FileData> fileList = null, ICompactionProfileResultHelper profileResultHelper = null, ITRexTagFileProxy tRexTagFileProxy = null, ITRexCompactionDataProxy trexCompactionDataProxy = null, IFileImportProxy fileImportProxy = null, IHeaderDictionary customHeaders = null, string customerUid = null, string userId = null) where TExecutor : RequestExecutorContainer, new() { ILogger log = null; if (logger != null) { log = logger.CreateLogger <TExecutor>(); } var executor = new TExecutor(); executor.Initialise( logger, log, #if RAPTOR raptorClient, tagProcessor, #endif configStore, fileList, profileResultHelper, tRexTagFileProxy, trexCompactionDataProxy, fileImportProxy, customHeaders, customerUid, userId); return(executor); }
private bool GoDeeper(ITagProcessor parentProcessor, XElement element, XElement endElement) { var endReached = false; do { if (element.IsSdt()) { if (element.Equals(endElement)) { return true; } element = this.ParseSdt(parentProcessor, element); } else if (element.HasElements) { endReached = this.GoDeeper(parentProcessor, element.Elements().First(), endElement); } element = element.NextElementWithUpTransition(); } while (element != null && !endReached); return endReached; }
private bool GoDeeper(ITagProcessor parentProcessor, XElement element, XElement endElement) { var endReached = false; do { if (element.IsSdt()) { if (element.Equals(endElement)) { return(true); } element = this.ParseSdt(parentProcessor, element); } else if (element.HasElements) { endReached = this.GoDeeper(parentProcessor, element.Elements().First(), endElement); } element = element.NextElementWithUpTransition(); }while (element != null && !endReached); return(endReached); }
/// <summary> /// Do parsing /// </summary> public override XElement Parse(ITagProcessor parentProcessor, XElement startElement) { this.ValidateStartTag(startElement, "Table"); if (parentProcessor == null) { throw new ArgumentNullException(); } var endTableTag = this.TryGetRequiredTags(startElement, "EndTable").First(); var coreParser = new CoreTableParser(false); var tag = coreParser.Parse(startElement, endTableTag); var processor = new TableProcessor { TableTag = tag }; if (TraverseUtils.ElementsBetween(startElement, endTableTag).Any()) { this.GoDeeper(processor, TraverseUtils.ElementsBetween(startElement, endTableTag).First()); } parentProcessor.AddProcessor(processor); return endTableTag; }
private bool GoDeeper(ITagProcessor parentProcessor, XElement element) { var endReached = false; do { if (element.IsSdt()) { switch (this.GetTagName(element).ToLower()) { case "endrepeater": return(true); case "itemrepeater": case "itemtable": case "itemtext": case "itemif": case "endif": case "enditemtable": case "itemhtmlcontent": case "itemindex": break; default: if (!ItemRepeaterGenerator.IsItemRepeaterElement(element)) { element = this.ParseSdt(parentProcessor, element); } break; } } else if (element.HasElements) { endReached = this.GoDeeper(parentProcessor, element.Elements().First()); } element = element.NextElement(); }while (element != null && !endReached); return(endReached); }
/// <summary> /// Do parsing /// </summary> public override XElement Parse(ITagProcessor parentProcessor, XElement startElement) { this.ValidateStartTag(startElement, "Table"); if (parentProcessor == null) { throw new ArgumentNullException(); } var endTableTag = this.TryGetRequiredTags(startElement, "EndTable").First(); var coreParser = new CoreTableParser(false); var tag = coreParser.Parse(startElement, endTableTag); var processor = new TableProcessor { TableTag = tag }; if (TraverseUtils.ElementsBetween(startElement, endTableTag).Any()) { this.GoDeeper(processor, TraverseUtils.ElementsBetween(startElement, endTableTag).First()); } parentProcessor.AddProcessor(processor); return(endTableTag); }
/** * @param className the fully qualified class name * @param processor the processor object */ public FactoryObject(String className, ITagProcessor processor, DefaultTagProcessorFactory parent) : this(className, parent) { this.proc = processor; }
/** * */ virtual public void AddProcessor( ITagProcessor processor, String[] tags) { foreach (String tag in tags) { AddProcessor(tag, processor); } }
/** * Add a loaded ITagProcessor. * * @param tag the tag the processor with the given className maps to * @param processor the ITagProcessor */ virtual public void AddProcessor(String tag, ITagProcessor processor) { map[tag] = new FactoryObject(processor.GetType().FullName, processor, this); }
void AddProcessor (ITagProcessor processor, params String[] tags) { }
/** * @param tag the tag to find a ITagProcessor for * @param nameSpace the namespace. * @return a ITagProcessor */ protected internal ITagProcessor ResolveProcessor(String tag, String nameSpace) { ITagProcessor tp = tagFactory.GetProcessor(tag, nameSpace); return(tp); }
void AddProcessor (ITagProcessor processor, params String[] tags) { }
public virtual void AddProcessor(ITagProcessor processor, params String[] tags) { }
/** * @param className the fully qualified class name * @param processor the processor object */ public FactoryObject(String className, ITagProcessor processor, DefaultTagProcessorFactory parent) : this(className, parent) { this.proc = processor; }
/** * Add a loaded ITagProcessor. * * @param tag the tag the processor with the given className maps to * @param processor the ITagProcessor */ public void AddProcessor(String tag, ITagProcessor processor) { map[tag] = new FactoryObject(processor.GetType().FullName, processor, this); }
private bool GoDeeper(ITagProcessor parentProcessor, XElement element) { var endReached = false; do { if (element.IsSdt()) { switch (this.GetTagName(element).ToLower()) { case "endrepeater": return true; case "itemrepeater": case "itemtable": case "itemtext": case "itemif": case "endif": case "enditemtable": case "itemhtmlcontent": case "itemindex": break; default: if (!ItemRepeaterGenerator.IsItemRepeaterElement(element)) { element = this.ParseSdt(parentProcessor, element); } break; } } else if (element.HasElements) { endReached = this.GoDeeper(parentProcessor, element.Elements().First()); } element = element.NextElement(); } while (element != null && !endReached); return endReached; }
protected virtual void AddStackKeeper(Tag t, HtmlPipelineContext hcc, ITagProcessor tp) { if (tp.IsStackOwner()) hcc.AddFirst(new StackKeeper(t)); }
public virtual void AddProcessor(ITagProcessor processor, params String[] tags) { }
public void AddProcessor(ITagProcessor processor) { this.processors.Add(processor); }