org.identityconnectors.contract.data
Interface DataProvider

All Known Implementing Classes:
GroovyDataProvider

public interface DataProvider

DataProvider is a facility used for getting (reading/generating) data for Contract test suite.

Author:
Dan Vernon

Method Summary
 void dispose()
          free the allocated resources
 Object generate(String pattern)
          generates a random string dynamically.
 Object generate(String pattern, Class<?> clazz)
           Random generator uses a pattern to generate a random sequence based on given pattern.
 Object get(Class<?> dataTypeName, String name, String componentName)
          Gets data value by the specified parameters
 Object get(Class<?> dataTypeName, String name, String componentName, int sequenceNumber, boolean isMultivalue)
          Gets data value by the specified parameters
 Object get(String name)
          Acquire a property value for given name
 Object get(String name, int sequenceNumber)
          Aquire a property value marked with given iteration, for example i1.testProperty
 Set<Attribute> getAttributeSet(String propertySetName)
          converts the given property submap to Attribute set.
 Object getConnectorAttribute(String propName)
          Gets data value by the specified parameters
 String getString(String name, String componentName)
          Gets data value by the specified parameters
 String getString(String name, String componentName, int sequenceNumber)
          Gets data value by the specified parameters
 Object getTestSuiteAttribute(String propName)
          Gets test suite attribute
 Object getTestSuiteAttribute(String propName, String testName)
          Gets test suite attribute
 void loadConfiguration(String propertyName, Configuration cfg)
          adds to 'cfg' the complete map defined by property 'propertyName'
 

Method Detail

get

Object get(Class<?> dataTypeName,
           String name,
           String componentName,
           int sequenceNumber,
           boolean isMultivalue)
Gets data value by the specified parameters

Parameters:
dataTypeName -
name -
componentName -
sequenceNumber -
isMultivalue - switch between single and multivalue query
Returns:
Throws:
org.identityconnectors.contract.data.DataProvider.ObjectNotFoundException

get

Object get(Class<?> dataTypeName,
           String name,
           String componentName)
Gets data value by the specified parameters

Parameters:
dataTypeName -
name -
componentName -
Returns:
Throws:
org.identityconnectors.contract.data.DataProvider.ObjectNotFoundException

getString

String getString(String name,
                 String componentName,
                 int sequenceNumber)
Gets data value by the specified parameters

Parameters:
name -
componentName -
sequenceNumber -
Returns:
Throws:
org.identityconnectors.contract.data.DataProvider.ObjectNotFoundException

getString

String getString(String name,
                 String componentName)
Gets data value by the specified parameters

Parameters:
name -
componentName -
Returns:
Throws:
org.identityconnectors.contract.data.DataProvider.ObjectNotFoundException

getConnectorAttribute

Object getConnectorAttribute(String propName)
Gets data value by the specified parameters

Parameters:
propName -
Returns:
Throws:
org.identityconnectors.contract.data.DataProvider.ObjectNotFoundException

getTestSuiteAttribute

Object getTestSuiteAttribute(String propName)
Gets test suite attribute

Parameters:
propName -
Returns:
Throws:
org.identityconnectors.contract.data.DataProvider.ObjectNotFoundException

getTestSuiteAttribute

Object getTestSuiteAttribute(String propName,
                             String testName)
Gets test suite attribute

Parameters:
propName -
Returns:
Throws:
org.identityconnectors.contract.data.DataProvider.ObjectNotFoundException

get

Object get(String name)
Acquire a property value for given name


get

Object get(String name,
           int sequenceNumber)
Aquire a property value marked with given iteration, for example i1.testProperty

Parameters:
name - the suffix
sequenceNumber -
Returns:
the property value

generate

Object generate(String pattern,
                Class<?> clazz)

Random generator uses a pattern to generate a random sequence based on given pattern.

the supported characters are (can appear in pattern string):

Any other character inside the pattern is directly printed to the output.

Backslash is used to escape any character. For instance pattern "###\\.##" prints a floating point random number

Parameters:
pattern - the pattern for generation
clazz - the type of returned random object
Returns:
randomly generated object with content based on given type.

generate

Object generate(String pattern)
generates a random string dynamically. generate(String, Class)


loadConfiguration

void loadConfiguration(String propertyName,
                       Configuration cfg)
adds to 'cfg' the complete map defined by property 'propertyName'

Parameters:
propertyName - the name of property which represents the submap that will be converted to configuration
cfg - the configuration that will be updated by information from property 'propertyName'

Sample usage:

     static final String DEFAULT_CONFIGURATINON = "configuration.init"
     
     // attempt to create the database in the directory..
     config = new ConnectorConfiguration();   
     
     // LOAD THE submap in 'configuration' prefix to 'config' object.
     dataProvider.loadConfiguration(DEFAULT_CONFIGURATINON, config); 
 //////// The groovy configuration 
 
     // account configurations   
     configuration{
       init.driver="foo"    
       init.hostName="bar"
       init.port="boo"
     }
 
Throws:
NoSuchMethodException - the Setter method for the property in the configuration does not exist
IllegalAccessException
InvocationTargetException
SecurityException

getAttributeSet

Set<Attribute> getAttributeSet(String propertySetName)
converts the given property submap to Attribute set.

Parameters:
propertySetName - the property that marks the submap for conversion.
Returns:
the converted attribute set

Sample usage:

  createAttrs = dataProvider.getAttributeSet("account.create");
  
  //////// The groovy configuration 
 
     // account sets   
     account{
       create.driver="foo"    
       create.hostName="bar"
       create.port="boo"
       
       update.driver="foo2"    
       update.hostName="bar2"
       update.port="boo2"
     } 
 

dispose

void dispose()
free the allocated resources



Copyright © 2012. All Rights Reserved.