Ignore:
Timestamp:
01/04/10 14:54:25 (11 years ago)
Author:
pjkersha
Message:

Refactored functions package to enable dynamic creation of function classes for all the XACML primitive types for any given function e.g. equal module implements EqualBase? and dynamically creates the <type>-equal classes for all the types: string, AnyURI, Boolean etc.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TI12-security/trunk/NDG_XACML/ndg/xacml/core/functions/__init__.py

    r6794 r6796  
    1414from ndg.xacml.utils import VettedDict 
    1515from ndg.xacml.utils.factory import callModuleObject 
     16 
     17from datetime import datetime, timedelta 
     18 
     19TYPE_MAP = { 
     20    'String': basestring, 
     21    'AnyURI': basestring, 
     22    'Integer': int, 
     23    'Boolean': bool, 
     24    'Double': float, 
     25    'Date': datetime, 
     26    'DateTime': datetime, 
     27    'Time': datetime, 
     28    'DayTimeDuration': timedelta, 
     29    'YearMonthDuration': timedelta, 
     30    'X500Name': basestring, 
     31    'Rfc822Name': basestring, 
     32    'HexBinary': int, 
     33    'Base64Binary': NotImplemented 
     34} 
    1635 
    1736 
     
    336355                functionNameParts = functionName.split('-') 
    337356                 
    338                 moduleName = '_'.join(functionNameParts[1:]).lower() 
     357                if len(functionNameParts) == 1: 
     358                    moduleName = functionNameParts[0] 
     359                else: 
     360                    moduleName = '_'.join(functionNameParts[1:]).lower() 
     361                     
    339362                className = ''.join([n[0].upper() + n[1:]  
    340363                                     for n in functionNameParts]) 
Note: See TracChangeset for help on using the changeset viewer.