private void CreateResourceAttributeDesignator(object sender, EventArgs args) { pol.ResourceAttributeDesignatorElement att = new pol.ResourceAttributeDesignatorElement(string.Empty, false, "TODO: Add attribute id", string.Empty, XacmlVersion.Version11); AttributeDesignator node = new AttributeDesignator(att); tvwCondition.Nodes.Add(node); _condition.Arguments.Add(att); }
public StringEqualIgnoreCaseMatch( AttributeDesignator designator, AttributeValue value) : base("urn:oasis:names:tc:xacml:3.0:function:string-equal-ignore-case", designator, value) { }
private void tvwCondition_AfterSelect(object sender, TreeViewEventArgs e) { if (e.Node is FunctionExecution) { grpElement.Text = "Function execution"; FunctionExecution node = (FunctionExecution)e.Node; txtValue.Visible = false; cmbInternalFunctions.Visible = true; cmbInternalFunctions.SelectedIndex = cmbInternalFunctions.FindStringExact(node.ApplyBaseDefinition.FunctionId); label2.Text = "FunctionId:"; cmbDataType.Enabled = false; } else if (e.Node is FunctionParameter) { grpElement.Text = "Function parameter"; FunctionParameter node = (FunctionParameter)e.Node; txtValue.Visible = false; cmbInternalFunctions.Visible = true; cmbInternalFunctions.SelectedIndex = cmbInternalFunctions.FindStringExact(node.FunctionDefinition.FunctionId); label2.Text = "FunctionId:"; cmbDataType.Enabled = false; } else if (e.Node is AttributeValue) { grpElement.Text = "Attribute value"; AttributeValue node = (AttributeValue)e.Node; txtValue.Visible = true; cmbInternalFunctions.Visible = false; txtValue.Text = node.AttributeValueDefinition.Contents; label2.Text = "Value:"; cmbDataType.Enabled = true; cmbDataType.SelectedIndex = cmbDataType.FindStringExact(node.AttributeValueDefinition.DataType); } else if (e.Node is AttributeDesignator) { grpElement.Text = "Attribute designator"; AttributeDesignator node = (AttributeDesignator)e.Node; txtValue.Visible = true; cmbInternalFunctions.Visible = false; txtValue.Text = node.AttributeDesignatorDefinition.AttributeId; label2.Text = "AttributeId:"; cmbDataType.Enabled = true; cmbDataType.SelectedIndex = cmbDataType.FindStringExact(node.AttributeDesignatorDefinition.DataType); } else if (e.Node is AttributeSelector) { grpElement.Text = "Attribute selector"; AttributeSelector node = (AttributeSelector)e.Node; txtValue.Visible = true; cmbInternalFunctions.Visible = false; txtValue.Text = node.AttributeSelectorDefinition.RequestContextPath; label2.Text = "XPath:"; cmbDataType.Enabled = false; } }
private void CreateResourceAttributeDesignatorFromFunction(object sender, EventArgs args) { FunctionExecution func = (FunctionExecution)tvwCondition.SelectedNode; pol.ApplyBaseReadWrite parentApply = func.ApplyBaseDefinition; pol.ResourceAttributeDesignatorElement att = new pol.ResourceAttributeDesignatorElement(string.Empty, false, "TODO: Add attribute id", string.Empty, XacmlVersion.Version11); AttributeDesignator node = new AttributeDesignator(att); func.Nodes.Add(node); parentApply.Arguments.Add(att); }
private void mniDelete_Click(object sender, EventArgs e) { FunctionExecution functionNode = (FunctionExecution)tvwCondition.SelectedNode.Parent; NoBoldNode node = (NoBoldNode)tvwCondition.SelectedNode; if (node is FunctionExecution) { FunctionExecution funcNode = ((FunctionExecution)node); int index = functionNode.ApplyBaseDefinition.Arguments.GetIndex((pol.ApplyElement)funcNode.ApplyBaseDefinition); functionNode.ApplyBaseDefinition.Arguments.RemoveAt(index); functionNode.Nodes.Remove(funcNode); } else if (node is FunctionParameter) { FunctionParameter funcNode = ((FunctionParameter)node); int index = functionNode.ApplyBaseDefinition.Arguments.GetIndex(funcNode.FunctionDefinition); functionNode.ApplyBaseDefinition.Arguments.RemoveAt(index); functionNode.Nodes.Remove(funcNode); } else if (node is AttributeValue) { AttributeValue attNode = ((AttributeValue)node); int index = functionNode.ApplyBaseDefinition.Arguments.GetIndex(attNode.AttributeValueDefinition); functionNode.ApplyBaseDefinition.Arguments.RemoveAt(index); functionNode.Nodes.Remove(attNode); } else if (node is AttributeDesignator) { AttributeDesignator attNode = ((AttributeDesignator)node); int index = functionNode.ApplyBaseDefinition.Arguments.GetIndex(attNode.AttributeDesignatorDefinition); functionNode.ApplyBaseDefinition.Arguments.RemoveAt(index); functionNode.Nodes.Remove(attNode); } else if (node is AttributeSelector) { AttributeSelector attNode = ((AttributeSelector)node); int index = functionNode.ApplyBaseDefinition.Arguments.GetIndex(attNode.AttributeSelectorDefinition); functionNode.ApplyBaseDefinition.Arguments.RemoveAt(index); functionNode.Nodes.Remove(attNode); } }
private void tvwCondition_BeforeSelect(object sender, TreeViewCancelEventArgs e) { NoBoldNode node = (NoBoldNode)tvwCondition.SelectedNode; if (node is FunctionExecution) { FunctionExecution funcNode = ((FunctionExecution)node); funcNode.ApplyBaseDefinition.FunctionId = cmbInternalFunctions.Text; tvwCondition.SelectedNode = funcNode; tvwCondition.SelectedNode.Text = "[" + "dataType" + "] " + funcNode.ApplyBaseDefinition.FunctionId; } else if (node is FunctionParameter) { FunctionParameter funcNode = ((FunctionParameter)node); funcNode.FunctionDefinition.FunctionId = cmbInternalFunctions.Text; tvwCondition.SelectedNode = funcNode; tvwCondition.SelectedNode.Text = "Function: " + funcNode.FunctionDefinition.FunctionId;; } else if (node is AttributeValue) { AttributeValue attNode = ((AttributeValue)node); attNode.AttributeValueDefinition.Value = txtValue.Text; attNode.AttributeValueDefinition.DataType = cmbDataType.Text; tvwCondition.SelectedNode = attNode; tvwCondition.SelectedNode.Text = "[" + attNode.AttributeValueDefinition.DataType + "] " + attNode.AttributeValueDefinition.Contents; } else if (node is AttributeDesignator) { AttributeDesignator attNode = ((AttributeDesignator)node); attNode.AttributeDesignatorDefinition.AttributeId = txtValue.Text; attNode.AttributeDesignatorDefinition.DataType = cmbDataType.Text; tvwCondition.SelectedNode = attNode; tvwCondition.SelectedNode.Text = "[" + attNode.AttributeDesignatorDefinition.DataType + "]:" + attNode.AttributeDesignatorDefinition.AttributeId; } else if (node is AttributeSelector) { AttributeSelector attNode = ((AttributeSelector)node); attNode.AttributeSelectorDefinition.RequestContextPath = txtValue.Text; tvwCondition.SelectedNode = attNode; tvwCondition.SelectedNode.Text = "XPath: " + attNode.AttributeSelectorDefinition.RequestContextPath; } }
public IElement GetInstance(Node node) { return(AttributeDesignator.GetInstance(node)); }
public IElement GetInstance(string value) { return(AttributeDesignator.GetInstance(value)); }
public StringEqualMatch(AttributeDesignator designator, AttributeValue value) : base("urn:oasis:names:tc:xacml:1.0:function:string-equal", designator, value) { }