Ignore:
Timestamp:
04/11/10 13:55:40 (10 years ago)
Author:
pjkersha
Message:

Integrated SAML ESGF Group/Role? attribute value type into SAML Attribute Authority client unit tests.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TI12-security/trunk/NDGSecurity/python/ndg_security_server/ndg/security/server/xacml/esgf_ext.py

    r7693 r7698  
    1313log = logging.getLogger(__name__) 
    1414 
     15from ndg.xacml.core.functions import functionMap 
    1516from ndg.xacml.core.functions.v1.bag import BagBase 
    1617from ndg.xacml.core.functions.v1.at_least_one_member_of import \ 
    1718    AtLeastOneMemberOfBase  
    18 from ndg.xacml.core.attributevalue import AttributeValueClassFactory 
     19from ndg.xacml.core.attributevalue import (AttributeValue, 
     20                                           AttributeValueClassFactory) 
    1921from ndg.xacml.parsers import XMLParseError 
    2022from ndg.xacml.parsers.etree.attributevaluereader import ( 
     
    6870        return self.__group 
    6971     
    70     @property.setter 
     72    @group.setter 
    7173    def group(self, value): 
    7274        """@param value: new group value to set 
     
    8688        return self.__role 
    8789     
    88     @property.setter 
     90    @role.setter 
    8991    def role(self, value): 
    9092        """@param value: new role value to set 
     
    155157            if localName == attributeValue.__class__.ROLE_ELEMENT_LOCAL_NAME: 
    156158                attributeValue.role = subElem.text 
     159                 
    157160            elif localName == attributeValue.__class__.GROUP_ELEMENT_LOCAL_NAME: 
    158161                attributeValue.group = subElem.text 
     162                 
    159163            else: 
    160164                raise XMLParseError('%r ESG Group/Role sub-element not ' 
    161165                                    'recognised' % localName)  
     166 
     167 
     168def addEsgfXacmlSupport(): 
     169    """Add custom Earth System Grid types to XACML Classes.  This includes 
     170    the Group/Role Attribute type, and associated ElementTree based parser, 
     171    and XACML bag and at least one member functions 
     172    """ 
     173     
     174    # Add Group/Role type 
     175    AttributeValueClassFactory.addClass(ESGFGroupRoleAttributeValue.IDENTIFIER,  
     176                                        ESGFGroupRoleAttributeValue) 
     177     
     178    # Add new parser for this type 
     179    DataTypeReaderClassFactory.addReader(ESGFGroupRoleAttributeValue.IDENTIFIER, 
     180                                         ETreeESGFGroupRoleDataTypeReader) 
     181     
     182    # Add extra matching and bag functions 
     183    functionMap[ESGFGroupRoleBag.FUNCTION_NS] = ESGFGroupRoleBag 
     184    functionMap[ESGFGroupRoleAtLeastOneMemberOf.FUNCTION_NS 
     185                ] = ESGFGroupRoleAtLeastOneMemberOf 
Note: See TracChangeset for help on using the changeset viewer.