public IBaseAction CreateActionItem(IGroupAction a, ObservableCollection <IBaseAction> p) { IBaseAction action = null; if (a is GroupAction) { action = new ActionItemModel((GroupAction)a) { Parent = p } } ; else if (a is GroupActionGroup) { action = new ActionSubmenuItemModel((GroupActionGroup)a) { Parent = p } } ; else if (a is GroupActionSeparator) { action = new ActionSeparatorItemModel((GroupActionSeparator)a) { Parent = p } } ; return(action); }
public void HandleDoActionEvent(DoActionEvent doActionEvent) { IBaseAction action = doActionEvent.ActionToDo; _actions.Add(action); action.DoAction(); }
public static OutboundRule ToOutboundRule(this OutboundRuleItem outboundRuleItem) { if (outboundRuleItem == null) { return(null); } var conditionItems = GetBaseConditionItems(outboundRuleItem); var outboundRule = new OutboundRule { ItemId = outboundRuleItem.ID.Guid, Name = outboundRuleItem.Name }; SetBaseRule(outboundRuleItem.BaseRuleItem, outboundRule); SetOutboundMatch(outboundRuleItem.OutboundMatchItem, outboundRule); GetPrecondition(outboundRuleItem.OutboundPreconditionItem, outboundRule); if (string.IsNullOrEmpty(outboundRuleItem.BaseRuleItem.BaseMatchItem.MatchPatternItem.Pattern.Value)) { Log.Warn(logObject, outboundRuleItem.Database, "No pattern set on rule with ItemID: {0}", outboundRuleItem.ID); return(null); } if (outboundRuleItem.Action == null) { Log.Warn(logObject, outboundRuleItem.Database, "No action set on rule with ItemID: {0}", outboundRuleItem.ID); return(null); } var baseActionItem = outboundRuleItem.Action.TargetItem; IBaseAction baseAction = null; if (baseActionItem != null) { var baseActionItemTemplateId = baseActionItem.TemplateID.ToString(); if (baseActionItemTemplateId.Equals(OutboundRewriteItem.TemplateId, StringComparison.InvariantCultureIgnoreCase)) { baseAction = new OutboundRewriteItem(baseActionItem).ToOutboundRewriteAction(); } } outboundRule.Action = baseAction; if (conditionItems != null) { SetConditions(conditionItems, outboundRule); } return(outboundRule); }
public void HandleUndoActionEvent(UndoActionEvent undoActionEvent) { if (_actions.Count == 0) { return; } IBaseAction action = _actions[_actions.Count - 1]; action.UndoAction(); _actions.Remove(action); }
public ProcessInboundRulesResult(Uri originalUri, List <InboundRuleResult> processedResults) { _originalUri = originalUri; _processedResults = processedResults; var lastMatchedResult = _processedResults.LastOrDefault(r => r.RuleMatched); if (lastMatchedResult != null) { _rewrittenUri = lastMatchedResult.RewrittenUri; _finalAction = lastMatchedResult.ResultAction; _itemId = lastMatchedResult.ItemId; } }
public ProcessInboundRulesResult(Uri originalUri, List<InboundRuleResult> processedResults) { _originalUri = originalUri; _processedResults = processedResults; var lastMatchedResult = _processedResults.FirstOrDefault(r => r.RuleMatched); if (lastMatchedResult != null) { _rewrittenUri = lastMatchedResult.RewrittenUri; _finalAction = lastMatchedResult.ResultAction; _itemId = lastMatchedResult.ItemId; } }
public IBaseAction CopyActionItems(IBaseAction a) { IBaseAction action = null; if (a is ActionItemModel) { action = new ActionItemModel((ActionItemModel)a); } else if (a is ActionSubmenuItemModel) { action = new ActionSubmenuItemModel((ActionSubmenuItemModel)a); } else if (a is ActionSeparatorItemModel) { action = new ActionSeparatorItemModel((ActionSeparatorItemModel)a); } return(action); }
public DoActionEvent(IBaseAction actionToDo) { ActionToDo = actionToDo; }
/// <summary> /// Adds an action class to the list. This list will be used to set the execution mode from the test context /// </summary> /// <param name="actionClass"></param> protected void AddActionClassesToList(IBaseAction actionClass) { UIActionClasses.Add(actionClass); }
//TODO expaned so the method accepts base ActionInterface or Class //Pass in REAL action public void Move(IBaseAction _baseAction) { //Action Execute should be called on the real action _baseAction.Execute(); //Should superseed Execute in the REAL class and execute that one }
public static InboundRule ToInboundRule(this InboundRuleItem inboundRuleItem, string siteNameRestriction) { if (inboundRuleItem == null) { return(null); } var conditionItems = GetBaseConditionItems(inboundRuleItem); //var serverVariableItems = GetServerVariableItems(inboundRuleItem); //var requestHeaderItems = GetRequestHeaderItems(inboundRuleItem); var responseHeaderItems = GetResponseHeaderItems(inboundRuleItem); var inboundRule = new InboundRule { ItemId = inboundRuleItem.ID.Guid, Name = inboundRuleItem.Name }; SetBaseRule(inboundRuleItem.BaseRuleItem, inboundRule); if (string.IsNullOrEmpty(inboundRuleItem.BaseRuleItem.BaseMatchItem.MatchPatternItem.Pattern.Value)) { Log.Warn(logObject, inboundRuleItem.Database, "No pattern set on rule with ItemID: {0}", inboundRuleItem.ID); return(null); } if (inboundRuleItem.Action == null) { Log.Warn(logObject, inboundRuleItem.Database, "No action set on rule with ItemID: {0}", inboundRuleItem.ID); return(null); } var baseActionItem = inboundRuleItem.Action.TargetItem; IBaseAction baseAction = null; if (baseActionItem != null) { var baseActionItemTemplateId = baseActionItem.TemplateID.ToString(); if (baseActionItemTemplateId.Equals(RedirectItem.TemplateId, StringComparison.InvariantCultureIgnoreCase)) { baseAction = new RedirectItem(baseActionItem).ToRedirectAction(); } else if (baseActionItemTemplateId.Equals(RewriteItem.TemplateId, StringComparison.InvariantCultureIgnoreCase)) { baseAction = new RewriteItem(baseActionItem).ToRewriteAction(); } else if (baseActionItemTemplateId.Equals(AbortRequestItem.TemplateId, StringComparison.InvariantCultureIgnoreCase)) { baseAction = new AbortRequestItem(baseActionItem).ToAbortRequestAction(); } else if (baseActionItemTemplateId.Equals(CustomResponseItem.TemplateId, StringComparison.InvariantCultureIgnoreCase)) { baseAction = new CustomResponseItem(baseActionItem).ToCustomResponseAction(); } else if (baseActionItemTemplateId.Equals(ItemQueryRedirectItem.TemplateId)) { baseAction = new ItemQueryRedirectItem(baseActionItem).ToItemQueryRedirectAction(); } } inboundRule.Action = baseAction; if (conditionItems != null) { SetConditions(conditionItems, inboundRule); } //if (serverVariableItems != null) //{ // SetServerVariables(serverVariableItems, inboundRule); //} //if (requestHeaderItems != null) //{ // SetRequestHeaders(requestHeaderItems, inboundRule); //} if (responseHeaderItems != null) { SetResponseHeaders(responseHeaderItems, inboundRule); } inboundRule.SiteNameRestriction = siteNameRestriction; return(inboundRule); }
private static async Task <int> Run(IBaseAction operation) { return(await operation.RunAsync()); }