示例#1
0
        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)
 {
 }
示例#3
0
 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;
     }
 }
示例#4
0
        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);
        }
示例#5
0
        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);
            }
        }
示例#6
0
        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));
 }
示例#9
0
 public StringEqualMatch(AttributeDesignator designator, AttributeValue value)
     : base("urn:oasis:names:tc:xacml:1.0:function:string-equal", 
           designator, value)
 {
 }