Changeset 7101 for TI12-security


Ignore:
Timestamp:
25/06/10 17:13:06 (9 years ago)
Author:
pjkersha
Message:

Incomplete - task 2: XACML-Security Integration

  • updating epydoc ready for release.
Location:
TI12-security/trunk/ndg_xacml/ndg/xacml/core
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • TI12-security/trunk/ndg_xacml/ndg/xacml/core/attribute.py

    r7087 r7101  
    1616 
    1717class Attribute(XacmlCoreBase): 
    18     """XACML Attribute type""" 
     18    """XACML Attribute type 
     19     
     20    @cvar ELEMENT_LOCAL_NAME: XML local name for this element 
     21    @type ELEMENT_LOCAL_NAME: string 
     22    @cvar ATTRIBUTE_VALUE_ELEMENT_LOCAL_NAME: XML local name for attribute value 
     23    child element 
     24    @type ATTRIBUTE_VALUE_ELEMENT_LOCAL_NAME: string 
     25    @cvar DATA_TYPE_ATTRIB_NAME: XML attribute name for data type 
     26    @type DATA_TYPE_ATTRIB_NAME: string 
     27    @cvar ATTRIBUTE_ID_ATTRIB_NAME: attribute ID XML attribute name 
     28    @type ATTRIBUTE_ID_ATTRIB_NAME: string 
     29    @cvar ISSUER_ATTRIB_NAME: issuer XML attribute name 
     30    @type ISSUER_ATTRIB_NAME: string 
     31     
     32    @ivar __attributeValues: list of attribute values  
     33    @type __attributeValues: ndg.xacml.utils.TypedList 
     34    @ivar __dataType: data type for this attribute 
     35    @type __dataType: basestring / NoneType 
     36    @ivar __attributeId: identifier for attribute 
     37    @type __attributeId: basestring / NoneType 
     38    @ivar __issuer: issuer id of this attribute 
     39    @type __issuer: basestring / NoneType 
     40    """ 
    1941    ELEMENT_LOCAL_NAME = 'Attribute' 
    2042    ATTRIBUTE_VALUE_ELEMENT_LOCAL_NAME = 'AttributeValue' 
     
    3355    @property 
    3456    def attributeValues(self): 
    35         "attribute values" 
     57        """Get attribute values 
     58         
     59        @return: list of attribute values 
     60        @rtype: ndg.xacml.utils.TypedList 
     61        """ 
    3662        return self.__attributeValues 
    3763      
    3864    @attributeValues.setter 
    3965    def attributeValues(self, value): 
    40         "attribute values" 
     66        """Set attribute values 
     67         
     68        @ivar value: list of attribute values  
     69        @type value: ndg.xacml.utils.TypedList 
     70        @raise TypeError: incorrect input type 
     71        """ 
    4172        if not isinstance(value, TypedList): 
    4273            raise TypeError('Expecting %r type for "attributeValues" ' 
     
    4677                    
    4778    def _get_dataType(self): 
     79        """Get data type 
     80        @return: attribute data type 
     81        @rtype: basestring / NoneType 
     82        """ 
    4883        return self.__dataType 
    4984 
    5085    def _set_dataType(self, value): 
     86        """Set data type 
     87        @param value: attribute data type 
     88        @type value: basestring 
     89        @raise TypeError: incorrect input type 
     90        """ 
    5191        if not isinstance(value, basestring): 
    5292            raise TypeError('Expecting %r type for "dataType" ' 
     
    60100    @property 
    61101    def attributeId(self): 
    62         """Get Attribute Id""" 
     102        """Get Attribute Id 
     103        @return: attribute Id 
     104        @rtype: basestring / NoneType 
     105        """ 
    63106        return self.__attributeId 
    64107 
    65108    @attributeId.setter 
    66109    def attributeId(self, value): 
    67         """Set Attribute Id""" 
     110        """Set Attribute Id 
     111        @param value: attribute id 
     112        @type value: basestring 
     113        @raise TypeError: incorrect input type 
     114        """ 
    68115        if not isinstance(value, basestring): 
    69116            raise TypeError('Expecting %r type for "attributeId" ' 
     
    74121    @property 
    75122    def issuer(self): 
    76         """Get Issuer""" 
     123        """Get Issuer 
     124        @return: attribute issuer 
     125        @rtype: basestring / NoneType 
     126        """ 
    77127        return self.__issuer 
    78128 
    79129    @issuer.setter 
    80130    def issuer(self, value): 
    81         """Set Issuer""" 
     131        """Set Issuer 
     132        @param value: attribute issuer 
     133        @type value: basestring 
     134        @raise TypeError: incorrect input type 
     135        """ 
    82136        if not isinstance(value, basestring): 
    83137            raise TypeError('Expecting %r type for "issuer" ' 
  • TI12-security/trunk/ndg_xacml/ndg/xacml/core/attributedesignator.py

    r7087 r7101  
    2020 
    2121class AttributeDesignator(Expression): 
    22     '''XACML Attribute Designator type 
     22    '''Base class for XACML Attribute Designator types 
     23     
     24    @cvar ATTRIBUTE_ID_ATTRIB_NAME: attribute ID XML attribute name 
     25    @type ATTRIBUTE_ID_ATTRIB_NAME: string 
     26    @cvar ISSUER_ATTRIB_NAME: issuer XML attribute name 
     27    @type ISSUER_ATTRIB_NAME: string 
     28    @cvar MUST_BE_PRESENT_ATTRIB_NAME: must be present XML attribute name 
     29    @type MUST_BE_PRESENT_ATTRIB_NAME: string 
     30     
     31    @ivar __attributeId: attribute ID for this designator 
     32    @type __attributeId: basestring / NoneType 
     33    @ivar __issuer: issuer if the designator 
     34    @type __issuer: basestring / NoneType 
     35    @ivar __mustBePresent: XML must be present flag 
     36    @type __mustBePresent: bool 
     37    @ivar __attributeValueFactory: When evaluating matches, use an attribute  
     38    value class factory to create attribute values for match bag of the correct  
     39    DataType to respect type based rule functions 
     40    @type __attributeValueFactory: ndg.xacml.core.attributevalue.AttributeValueClassFactory 
    2341    ''' 
    2442    ATTRIBUTE_ID_ATTRIB_NAME = 'AttributeId' 
     
    3452     
    3553    def __init__(self): 
     54        """Initialise attributes""" 
    3655        super(AttributeDesignator, self).__init__() 
    3756        self.__attributeId = None 
     
    4665    @property 
    4766    def attributeId(self): 
    48         """Get Attribute Id""" 
     67        """Get Attribute Id 
     68        @return: attribute ID 
     69        @rtype: basestring / NoneType 
     70        """ 
    4971        return self.__attributeId 
    5072 
    5173    @attributeId.setter 
    5274    def attributeId(self, value): 
    53         """Set Attribute Id""" 
     75        """Set Attribute Id 
     76        @param value: attribute ID 
     77        @type value: basestring  
     78        @raise TypeError: incorrect input type 
     79        """ 
    5480        if not isinstance(value, basestring): 
    5581            raise TypeError('Expecting %r type for "attributeId" ' 
     
    6086    @property 
    6187    def issuer(self): 
    62         """Get Issuer""" 
     88        """Get Issuer 
     89        @return: issuer 
     90        @rtype: basestring / NoneType 
     91        """ 
    6392        return self.__issuer 
    6493 
    6594    @issuer.setter 
    6695    def issuer(self, value): 
    67         """Set Issuer""" 
     96        """Set Issuer 
     97        @param value: issuer 
     98        @type value: basestring 
     99        @raise TypeError: incorrect input type 
     100        """ 
    68101        if not isinstance(value, basestring): 
    69102            raise TypeError('Expecting %r type for "issuer" ' 
     
    74107    @property 
    75108    def mustBePresent(self): 
    76         """Get Must Be Present flag""" 
     109        """Get Must Be Present flag 
     110        @return: must be present flag 
     111        @rtype: bool 
     112        """ 
    77113        return self.__mustBePresent 
    78114 
    79115    @mustBePresent.setter 
    80116    def mustBePresent(self, value): 
    81         """Set Must Be Present flag""" 
     117        """Set Must Be Present flag 
     118        @param value: must be present flag 
     119        @type value: bool 
     120        @raise TypeError: incorrect input type 
     121        """ 
    82122        if not isinstance(value, bool): 
    83123            raise TypeError('Expecting %r type for "mustBePresent" ' 
     
    88128    @property 
    89129    def attributeValueFactory(self): 
    90         """Get Attribute Value factory function""" 
     130        """Get Attribute Value factory function 
     131         
     132        @return: attribute value factory instance 
     133        @rtype: ndg.xacml.core.attributevalue.AttributeValueClassFactory 
     134        """ 
    91135        return self.__attributeValueFactory  
    92136                            
    93137         
    94138class SubjectAttributeDesignator(AttributeDesignator): 
    95     """XACML Subject Attribute Designator type""" 
     139    """XACML Subject Attribute Designator type 
     140    @cvar ELEMENT_LOCAL_NAME: XML local name for this element 
     141    @type ELEMENT_LOCAL_NAME: string 
     142    """ 
    96143    ELEMENT_LOCAL_NAME = 'SubjectAttributeDesignator' 
    97          
     144    __slots__ = () 
     145     
    98146    def evaluate(self, context): 
    99147        """Evaluate the result of the SubjectAttributeDesignator in a condition 
     
    152200         
    153201class ResourceAttributeDesignator(AttributeDesignator): 
    154     """XACML Resource Attribute Designator type""" 
     202    """XACML Resource Attribute Designator type 
     203    @cvar ELEMENT_LOCAL_NAME: XML local name for this element 
     204    @type ELEMENT_LOCAL_NAME: string 
     205    """ 
    155206    ELEMENT_LOCAL_NAME = 'ResourceAttributeDesignator' 
     207    __slots__ = () 
    156208     
    157209    def evaluate(self, context): 
     
    201253         
    202254class ActionAttributeDesignator(AttributeDesignator): 
    203     """XACML Action Attribute Designator type""" 
     255    """XACML Action Attribute Designator type 
     256    @cvar ELEMENT_LOCAL_NAME: XML local name for this element 
     257    @type ELEMENT_LOCAL_NAME: string 
     258    """ 
    204259    ELEMENT_LOCAL_NAME = 'ActionAttributeDesignator' 
     260    __slots__ = () 
    205261     
    206262    def evaluate(self, context): 
     
    250306     
    251307class EnvironmentAttributeDesignator(AttributeDesignator): 
    252     """XACML Environment Attribute Designator type""" 
     308    """XACML Environment Attribute Designator type 
     309    @cvar ELEMENT_LOCAL_NAME: XML local name for this element 
     310    @type ELEMENT_LOCAL_NAME: string 
     311    """ 
    253312    ELEMENT_LOCAL_NAME = 'EnvironmentAttributeDesignator' 
     313    __slots__ = () 
    254314     
    255315    def evaluate(self, context): 
  • TI12-security/trunk/ndg_xacml/ndg/xacml/core/attributeselector.py

    r7087 r7101  
    1818class AttributeSelector(Expression): 
    1919    '''XACML Attribute Selector type  
     20    @cvar ELEMENT_LOCAL_NAME: XML local name for this element 
     21    @type ELEMENT_LOCAL_NAME: string     
     22    @cvar REQUEST_CONTEXT_PATH_ATTRIB_NAME: request context XML attribute name 
     23    @type REQUEST_CONTEXT_PATH_ATTRIB_NAME: string 
     24    @cvar MUST_BE_PRESENT_ATTRIB_NAME: must be present XML attribute name 
     25    @type MUST_BE_PRESENT_ATTRIB_NAME: string 
     26 
    2027    ''' 
    2128    ELEMENT_LOCAL_NAME = 'AttributeSelector' 
     
    3441    @property 
    3542    def requestContextPath(self): 
    36         """Get Issuer""" 
     43        """Get request context path 
     44        @return: request context path 
     45        @rtype: basestring 
     46        """ 
    3747        return self.__requestContextPath 
    3848 
    3949    @requestContextPath.setter 
    4050    def requestContextPath(self, value): 
    41         """Set Issuer""" 
     51        """Set request context path 
     52        @param value: request context path 
     53        @type value: basestring 
     54        @raise TypeError: incorrect input type 
     55        """ 
    4256        if not isinstance(value, basestring): 
    4357            raise TypeError('Expecting %r type for "requestContextPath" ' 
     
    4862    @property 
    4963    def mustBePresent(self): 
    50         """Get Must Be Present flag""" 
     64        """Get Must Be Present flag 
     65        @return: must be present flag 
     66        @rtype: bool 
     67        """ 
    5168        return self.__mustBePresent 
    5269 
    5370    @mustBePresent.setter 
    5471    def mustBePresent(self, value): 
    55         """Set Must Be Present flag""" 
     72        """Set Must Be Present flag 
     73        @param value: must be present flag 
     74        @type value: bool 
     75        @raise TypeError: incorrect input type 
     76        """ 
    5677        if not isinstance(value, bool): 
    5778            raise TypeError('Expecting %r type for "mustBePresent" ' 
  • TI12-security/trunk/ndg_xacml/ndg/xacml/core/attributevalue.py

    r7087 r7101  
    1717 
    1818class AttributeValue(Expression): 
    19     """XACML Attribute Value type""" 
     19    """XACML Attribute Value type 
     20     
     21    @cvar ELEMENT_LOCAL_NAME: XML local name for this element 
     22    @type ELEMENT_LOCAL_NAME: string   
     23    @cvar CLASS_NAME_SUFFIX: all attribute value classes end with this suffix 
     24    @type CLASS_NAME_SUFFIX: string 
     25    @cvar IDENTIFIER_PREFIX: geberic prefix for attribute value URNs 
     26    @type IDENTIFIER_PREFIX: string 
     27    @cvar IDENTIFIER: URN for attribute value in derived class  
     28    @type IDENTIFIER: NoneType - derived classes should set to appropriate  
     29    string 
     30    @cvar TYPE_URIS: URIs for all the different supported types 
     31    @type TYPE_URIS: tuple 
     32    @cvar TYPE_NAMES: corresponding short names for all the types 
     33    @type TYPE_NAMES: tuple 
     34    @cvar NATIVE_TYPES: equivalent python types as implemented 
     35    @cvar TYPE_MAP: mapping from type names to python types 
     36    @type TYPE_MAP: dict 
     37    @cvar TYPE_URI_MAP: mapping from type names to type URIs 
     38    @type TYPE_URI_MAP: dict 
     39    @cvar TYPE: type name for derived type - set to None in this parent class 
     40    @type TYPE: NoneType / string in derived type 
     41     
     42    @ivar __value: setting for this attribute value 
     43    @type __value: any - constrained in derived classes 
     44    """ 
    2045    ELEMENT_LOCAL_NAME = 'AttributeValue' 
    2146    CLASS_NAME_SUFFIX = 'AttributeValue' 
     
    84109     
    85110    def __init__(self): 
     111        """Derived classes must override setting TYPE class variable""" 
     112         
    86113        super(AttributeValue, self).__init__() 
    87114        if self.__class__.TYPE is None: 
    88             raise TypeError('TYPE class variable must be set to a valid type ' 
    89                             'in a derived class') 
     115            raise NotImplementedError('TYPE class variable must be set to a ' 
     116                                      'valid type in a derived class') 
    90117             
    91118        self.__value = None 
     
    99126     
    100127    def _get_value(self): 
     128        """Get value 
     129        @param: setting for this attribute value 
     130        @rtype: any - constrained in derived classes 
     131        """ 
    101132        return self.__value 
    102133 
    103134    def _set_value(self, value): 
     135        """Set value 
     136         
     137        @param value: setting for this attribute value 
     138        @type value: any - constrained in derived classes 
     139        @raise TypeError: if type doesn't match TYPE class variable.  Derived 
     140        classes should set this 
     141        """ 
    104142        if not isinstance(value, self.__class__.TYPE): 
    105143            raise TypeError('Expecting %r type for "value" ' 
     
    139177    @staticmethod 
    140178    def keyFilter(key): 
    141         """Enforce string type keys""" 
     179        """Enforce string type keys 
     180         
     181        @param key: URN for attribute 
     182        @type key: basestring 
     183        @return: boolean True indicating key is OK 
     184        @rtype: bool 
     185        @raise TypeError: incorrect input type 
     186        """ 
    142187        if not isinstance(key, basestring): 
    143188            raise TypeError('Expecting %r type for key; got %r' %  
     
    147192    @staticmethod 
    148193    def valueFilter(value): 
    149         """Enforce AttributeValue derived types for values""" 
    150  
     194        """Enforce AttributeValue derived types for values 
     195        @param value: attribute value 
     196        @type value: ndg.xacml.core.attributevalue.AttributeValue derived type 
     197        @return: boolean True indicating attribute value is correct type 
     198        @rtype: bool 
     199        @raise TypeError: incorrect input type 
     200        """ 
    151201        if not issubclass(value, AttributeValue): 
    152202            raise TypeError('Expecting %r derived type for value; got %r' %  
     
    175225    Convenience wrapper for _IDENTIFIER2CLASS_MAP instance of  
    176226    AttributeValueClassMap 
     227     
     228    @param __classMap: mapping object to map attribute value URIs to their  
     229    implementations as classes 
     230    @type __classMap: ndg.xacml.core.attributevalue.AttributeValueClassMap 
    177231    """ 
     232    __slots__ = ('__classMap',) 
     233     
    178234    def __init__(self, classMap=None): 
     235        """Set a mapping object to map attribute value URIs to their  
     236        implementations as classes 
     237         
     238        @param classMap: input an alternative to the default class mapping  
     239        object _IDENTIFIER2CLASS_MAP, if None, it will default to this setting 
     240        @type classMap: ndg.xacml.core.attributevalue.AttributeValueClassMap 
     241        """ 
    179242        if classMap is None: 
    180243            self.__classMap = _IDENTIFIER2CLASS_MAP 
     
    188251        """Return <type>AttributeValue class for given identifier URI or None 
    189252        if no match is found 
     253         
     254        @return: attribute value class 
     255        @rtype: NoneType / ndg.xacml.core.attributevalue.AttributeValue derived 
     256        type 
    190257        """ 
    191258        return self.__classMap.get(identifier) 
  • TI12-security/trunk/ndg_xacml/ndg/xacml/core/combinerparameter.py

    r7087 r7101  
    1 """NDG Security CombinerParameter type definition 
     1"""XACML CombinerParameter type definition 
    22 
    33NERC DataGrid 
     
    1212 
    1313class CombinerParameter(object): 
    14     ''' 
    15     classdocs 
     14    '''XACML Combiner parameter class - currently not implemented 
     15     
     16    @cvar ELEMENT_LOCAL_NAME: XML local name for this element 
     17    @type ELEMENT_LOCAL_NAME: string 
    1618    ''' 
    1719    ELEMENT_LOCAL_NAME = "CombinerParameter" 
     
    1921 
    2022    def __init__(self): 
     23        '''@raise NotImplementedError: this class is a stub only 
    2124        ''' 
    22         Constructor 
    23         ''' 
    24          
     25        raise NotImplementedError('Not currently implemented') 
  • TI12-security/trunk/ndg_xacml/ndg/xacml/core/condition.py

    r7087 r7101  
    1818    element is its own type and not an Apply type.  It expects a single  
    1919    Expression derived type child element 
     20 
     21    @cvar ELEMENT_LOCAL_NAME: XML local name for this element 
     22    @type ELEMENT_LOCAL_NAME: string 
     23 
     24    @cvar APPLY_ELEMENT_LOCAL_NAME: XML local name for the apply element 
     25    @type APPLY_ELEMENT_LOCAL_NAME: string 
     26 
     27    @ivar __expression: expression in this condition 
     28    @type __expression: ndg.xacml.core.expression.Expression 
    2029    """ 
    2130    ELEMENT_LOCAL_NAME = 'Condition' 
     
    3039    @property 
    3140    def expression(self): 
     41        """Get expression 
     42         
     43        @return: expression for this condition 
     44        @rtype: ndg.xacml.core.expression.Expression / NoneType 
     45        """ 
    3246        return self.__expression 
    33      
     47         
    3448    @expression.setter 
    3549    def expression(self, value): 
     50        """Set expression 
     51         
     52        @param value: expression for this condition 
     53        @type value: ndg.xacml.core.expression.Expression 
     54        @raise TypeError: incorrect input type set 
     55        """ 
    3656        if not isinstance(value, Expression): 
    3757            raise TypeError('Expecting Expression or Expression derived type ' 
Note: See TracChangeset for help on using the changeset viewer.