Configurazione globale

public class GlobalConfiguration
extends Object implements IGlobalConfiguration

java.lang.Object
com.android.tradefed.config.GlobalConfiguration


Un'implementazione IGlobalConfiguration che memorizza gli oggetti di configurazione caricati in una mappa

Riepilogo

Campi

public static final String CREDENTIAL_FACTORY_TYPE_NAME

public static final String DEVICE_MANAGER_TYPE_NAME

public static final String DEVICE_MONITOR_TYPE_NAME

public static final String DEVICE_REQUIREMENTS_TYPE_NAME

public static final String GLOBAL_CONFIG_SERVER

public static final String GLOBAL_CONFIG_SERVER_CONFIG_VARIABLE

public static final String GLOBAL_CONFIG_VARIABLE

public static final String HOST_MONITOR_TYPE_NAME

public static final String HOST_OPTIONS_TYPE_NAME

public static final String HOST_RESOURCE_MANAGER_TYPE_NAME

public static final String KEY_STORE_TYPE_NAME

public static final String MULTI_DEVICE_RECOVERY_TYPE_NAME

public static final String RESOURCE_METRIC_COLLECTOR_TYPE_NAME

public static final String SANDBOX_FACTORY_TYPE_NAME

public static final String SCHEDULER_TYPE_NAME

public static final String SHARDING_STRATEGY_TYPE_NAME

public static final String TF_DEVICE_MANAGEMENT_SERVER_NAME

public static final String TF_FEATURE_SERVER_NAME

public static final String TF_INVOCATION_SERVER_NAME

public static final String WTF_HANDLER_TYPE_NAME

Metodi pubblici

void cleanup ()

Pulizia adeguata durante l'arresto del tradefed.

File cloneConfigWithFilter ( exclusionPatterns, String... allowlistConfigs) cloneConfigWithFilter ( exclusionPatterns, String... allowlistConfigs)

Filtra la GlobalConfiguration in base a una lista bianca e inviala in un file XML.

File cloneConfigWithFilter ( exclusionPatterns, IConfigOptionValueTransformer transformer, boolean deepCopy, String... allowlistConfigs) cloneConfigWithFilter ( exclusionPatterns, IConfigOptionValueTransformer transformer, boolean deepCopy, String... allowlistConfigs)

Filtra la GlobalConfiguration in base a una lista bianca consentendo al tempo stesso la manipolazione dei valori delle opzioni e l'output in un file XML.

File cloneConfigWithFilter (String... allowlistConfigs)

Filtra la GlobalConfiguration in base a un elenco consentito e invia l'output a un file XML.

static createGlobalConfiguration (String[] args)

Configura il singleton GlobalConfiguration per questa istanza TF.

ICommandScheduler getCommandScheduler ()

Ottiene l' ICommandScheduler da utilizzare dalla configurazione.

Object getConfigurationObject (String typeName)

Ottiene l'oggetto di configurazione personalizzata con il nome specificato.

ICredentialFactory getCredentialFactory ()

Ottiene ICredentialFactory per la creazione delle credenziali.

String getDescription ()
DeviceManagementGrpcServer getDeviceManagementServer ()

Restituisce DeviceManagementGrpcServer o null se non definito.

IDeviceManager getDeviceManager ()

Ottiene l' IDeviceManager da utilizzare dalla configurazione.

static IDeviceManager getDeviceManagerInstance ()

Restituisce un riferimento all'istanza DeviceManager singleton per questa istanza TF.

getDeviceMonitors ()

Ottiene l'elenco di IDeviceMonitor dalla configurazione globale.

IDeviceSelection getDeviceRequirements ()

Ottiene l' IDeviceSelection da utilizzare dalla configurazione.

TradefedFeatureServer getFeatureServer ()

Restituisce TradefedFeatureServer o null se non definito.

IConfigurationServer getGlobalConfigServer ()

Ottiene il server di configurazione globale.

static getHostMonitorInstances ()
getHostMonitors ()

Ottiene l'elenco di IHostMonitor dalla configurazione globale.

IHostOptions getHostOptions ()

Ottiene l' IHostOptions da utilizzare dalla configurazione.

IHostResourceManager getHostResourceManager ()

Ottiene IHostResourceManager dalla configurazione globale.

static IGlobalConfiguration getInstance ()

Restituisce un riferimento all'istanza GlobalConfiguration singleton per questa istanza TF.

IKeyStoreFactory getKeyStoreFactory ()

Ottiene l' IKeyStoreFactory da utilizzare dalla configurazione.

getMultiDeviceRecoveryHandlers ()

Ottiene l'elenco di IMultiDeviceRecovery da utilizzare dalla configurazione.

String getName ()
getOptionValues (String optionName)

Ottieni un elenco dei valori delle opzioni.

getResourceMetricCollectors ()

Ottiene l'elenco di IResourceMetricCollector dalla configurazione globale.

ISandboxFactory getSandboxFactory ()

Ottieni una fabbrica sandbox che può essere utilizzata per eseguire un'invocazione

IShardHelper getShardingStrategy ()

Restituisce IShardHelper che definisce il modo di partizionare una configurazione.

TestInvocationManagementServer getTestInvocationManagementSever ()

Restituisce TestInvocationManagementServer o null se non definito.

ITerribleFailureHandler getWtfHandler ()

Ottiene ITerribleFailureHandler da utilizzare dalla configurazione.

void injectOptionValue (String optionName, String optionValue)

Iniettare un valore di opzione nell'insieme di oggetti di configurazione.

void injectOptionValue (String optionName, String optionKey, String optionValue)

Iniettare un valore di opzione nell'insieme di oggetti di configurazione.

void printCommandUsage (boolean importantOnly, PrintStream out)

Restituisce un testo di aiuto sull'utilizzo della riga di comando per questa configurazione al printStream specificato.

void setCommandScheduler ( ICommandScheduler scheduler)

Imposta ICommandScheduler , sostituendo eventuali valori esistenti.

void setConfigurationFactory ( IConfigurationFactory configFactory)

Imposta IConfigurationFactory per questa configurazione.

void setConfigurationObject (String typeName, Object configObject)

Metodo generico per impostare l'oggetto di configurazione con il nome dato, sostituendo qualsiasi valore esistente.

void setConfigurationObjectList (String typeName, configList) setConfigurationObjectList (String typeName, configList)

Metodo generico per impostare l'elenco degli oggetti di configurazione per il nome specificato, sostituendo qualsiasi valore esistente.

void setDeviceManagementServer ( DeviceManagementGrpcServer server)

Imposta DeviceManagementGrpcServer .

void setDeviceManager ( IDeviceManager manager)

Imposta IDeviceManager , sostituendo eventuali valori esistenti.

void setDeviceMonitor ( IDeviceMonitor monitor)

Imposta IDeviceMonitor .

void setDeviceRequirements ( IDeviceSelection devRequirements)

Imposta IDeviceSelection , sostituendo eventuali valori esistenti.

void setHostMonitors ( hostMonitors) setHostMonitors ( hostMonitors)

Imposta l'elenco IHostMonitor .

void setHostOptions ( IHostOptions hostOptions)

Imposta IHostOptions , sostituendo eventuali valori esistenti.

void setHostResourceManager ( IHostResourceManager hostResourceManager)

Imposta IHostResourceManager , sostituendo eventuali valori esistenti.

void setInvocationServer ( TestInvocationManagementServer server)

Imposta TestInvocationManagementServer .

void setKeyStoreFactory ( IKeyStoreFactory factory)

Imposta IKeyStoreFactory , sostituendo eventuali valori esistenti.

setOptionsFromCommandLineArgs ( listArgs) setOptionsFromCommandLineArgs ( listArgs)

Imposta i campi Option di configurazione globale con un determinato set di argomenti della riga di comando

Vedi ArgsOptionParser per il formato previsto

void setOriginalConfig (String config)

Imposta la configurazione originale utilizzata per creare la configurazione globale.

void setResourceMetricCollector ( IResourceMetricCollector collector)

Imposta IResourceMetricCollector .

void setSandboxFactory ( ISandboxFactory factory)

Imposta ISandboxFactory , sostituendo eventuali valori esistenti.

void setShardingStrategy ( IShardHelper sharding)

Imposta IShardHelper da utilizzare durante lo sharding di una configurazione.

void setTradefedFeatureServer ( TradefedFeatureServer server)

Imposta TradefedFeatureServer .

void setWtfHandler ( ITerribleFailureHandler wtfHandler)

Imposta ITerribleFailureHandler .

void setup ()

Configurazione corretta all'inizio di tradefed.

void validateOptions ()

Convalidare i valori delle opzioni.

Metodi protetti

IConfigurationFactory getConfigurationFactory ()

Campi

CREDENTIAL_FACTORY_TYPE_NAME

public static final String CREDENTIAL_FACTORY_TYPE_NAME

DEVICE_MANAGER_TYPE_NAME

public static final String DEVICE_MANAGER_TYPE_NAME

DEVICE_MONITOR_TYPE_NAME

public static final String DEVICE_MONITOR_TYPE_NAME

DEVICE_REQUIREMENT_TYPE_NAME

public static final String DEVICE_REQUIREMENTS_TYPE_NAME

GLOBAL_CONFIG_SERVER

public static final String GLOBAL_CONFIG_SERVER

GLOBAL_CONFIG_SERVER_CONFIG_VARIABLE

public static final String GLOBAL_CONFIG_SERVER_CONFIG_VARIABLE

GLOBAL_CONFIG_VARIABILE

public static final String GLOBAL_CONFIG_VARIABLE

HOST_MONITOR_TYPE_NAME

public static final String HOST_MONITOR_TYPE_NAME

HOST_OPTIONS_TYPE_NAME

public static final String HOST_OPTIONS_TYPE_NAME

HOST_RESOURCE_MANAGER_TYPE_NAME

public static final String HOST_RESOURCE_MANAGER_TYPE_NAME

CHIAVE_STORE_TYPE_NAME

public static final String KEY_STORE_TYPE_NAME

MULTI_DEVICE_RECOVERY_TYPE_NAME

public static final String MULTI_DEVICE_RECOVERY_TYPE_NAME

RESOURCE_METRIC_COLLECTOR_TYPE_NAME

public static final String RESOURCE_METRIC_COLLECTOR_TYPE_NAME

SANDBOX_FACTORY_TYPE_NAME

public static final String SANDBOX_FACTORY_TYPE_NAME

PIANIFICAZIONE_TYPE_NAME

public static final String SCHEDULER_TYPE_NAME

SHARDING_STRATEGY_TYPE_NAME

public static final String SHARDING_STRATEGY_TYPE_NAME

TF_DEVICE_MANAGEMENT_SERVER_NAME

public static final String TF_DEVICE_MANAGEMENT_SERVER_NAME

TF_FEATURE_SERVER_NAME

public static final String TF_FEATURE_SERVER_NAME

TF_INVOCATION_SERVER_NAME

public static final String TF_INVOCATION_SERVER_NAME

WTF_HANDLER_TYPE_NAME

public static final String WTF_HANDLER_TYPE_NAME

Metodi pubblici

ripulire

public void cleanup ()

Pulizia adeguata durante l'arresto del tradefed.

cloneConfigWithFilter

public File cloneConfigWithFilter ( exclusionPatterns, 
                String... allowlistConfigs)

Filtra la GlobalConfiguration in base a una lista bianca e inviala in un file XML.

Parametri
exclusionPatterns : il modello del nome della classe da escludere dal dump.

allowlistConfigs String : un array String di configurazioni da includere nel nuovo file XML. Se è impostato su null , a default list should be used.
ritorna
File il file contenente la nuova configurazione globale filtrata.

cloneConfigWithFilter

public File cloneConfigWithFilter ( exclusionPatterns, 
                IConfigOptionValueTransformer transformer, 
                boolean deepCopy, 
                String... allowlistConfigs)

Filtra la GlobalConfiguration in base a una lista bianca consentendo al tempo stesso la manipolazione dei valori delle opzioni e l'output in un file XML.

Parametri
exclusionPatterns : il modello del nome della classe da escludere dal dump.

transformer IConfigOptionValueTransformer

deepCopy boolean

allowlistConfigs String : un array String di configurazioni da includere nel nuovo file XML. Se è impostato su null , a default list should be used.
ritorna
File il file contenente la nuova configurazione globale filtrata.

cloneConfigWithFilter

public File cloneConfigWithFilter (String... allowlistConfigs)

Filtra la GlobalConfiguration in base a un elenco consentito e invia l'output a un file XML.

Ad esempio, per la seguente configurazione: <xml> <configuration> <device_monitor class="com.android.tradefed.device.DeviceMonitorMultiplexer" /> <wtf_handler class="com.android.tradefed.log.TerribleFailureEmailHandler" /> <key_store class="com.android.tradefed.util.keystore.JSONFileKeyStoreFactory" /> </configuration> </xml>

tutta la configurazione tranne "key_store" verrà filtrata e risulterà un file di configurazione con il seguente contenuto: <xml> <configuration> <key_store class="com.android.tradefed.util.keystore.JSONFileKeyStoreFactory" /> </configuration> </xml>

Parametri
allowlistConfigs String : un array String di configurazioni da includere nel nuovo file XML. Se è impostato su null , a default list should be used.
ritorna
File il file contenente la nuova configurazione globale filtrata.

createGlobalConfiguration

public static  createGlobalConfiguration (String[] args)

Configura il singleton GlobalConfiguration per questa istanza TF. Deve essere chiamato una e una sola volta, prima che qualsiasi cosa tenti di chiamare getInstance()

Parametri
args String

ritorna

Lancia
IllegalStateException se chiamato più di una volta
ConfigurationException

getCommandScheduler

public ICommandScheduler getCommandScheduler ()

Ottiene l' ICommandScheduler da utilizzare dalla configurazione.

ritorna
ICommandScheduler l' ICommandScheduler . Non restituirà mai null.

getConfigurazioneOggetto

public Object getConfigurationObject (String typeName)

Ottiene l'oggetto di configurazione personalizzata con il nome specificato.

Parametri
typeName String : il tipo univoco dell'oggetto di configurazione

ritorna
Object l'oggetto o null se l'oggetto con quel nome non viene trovato

getCredentialFactory

public ICredentialFactory getCredentialFactory ()

Ottiene ICredentialFactory per la creazione delle credenziali.

ritorna
ICredentialFactory ICredentialFactory o null se non ne è stato specificato alcuno.

getDescrizione

public String getDescription ()

ritorna
String una breve descrizione leggibile dall'utente di questa Configuration

getDeviceManagementServer

public DeviceManagementGrpcServer getDeviceManagementServer ()

Restituisce DeviceManagementGrpcServer o null se non definito.

ritorna
DeviceManagementGrpcServer

getDeviceManager

public IDeviceManager getDeviceManager ()

Ottiene l' IDeviceManager da utilizzare dalla configurazione. Gestisce l'insieme di dispositivi disponibili per il test

ritorna
IDeviceManager l' IDeviceManager fornito nella configurazione.

getDeviceManagerInstance

public static IDeviceManager getDeviceManagerInstance ()

Restituisce un riferimento all'istanza DeviceManager singleton per questa istanza TF.

ritorna
IDeviceManager

Lancia
IllegalStateException se createGlobalConfiguration(String[]) non è già stato chiamato.

getDeviceMonitor

public  getDeviceMonitors ()

Ottiene l'elenco di IDeviceMonitor dalla configurazione globale.

ritorna
l'elenco di IDeviceMonitor dalla configurazione globale o null se non ne è stato specificato nessuno.

getDeviceRequirements

public IDeviceSelection getDeviceRequirements ()

Ottiene l' IDeviceSelection da utilizzare dalla configurazione. Rappresenta un filtro globale su quali dispositivi il DeviceManager può vedere.

ritorna
IDeviceSelection l' IDeviceSelection fornita nella configurazione.

getFeatureServer

public TradefedFeatureServer getFeatureServer ()

Restituisce TradefedFeatureServer o null se non definito.

ritorna
TradefedFeatureServer

getGlobalConfigServer

public IConfigurationServer getGlobalConfigServer ()

Ottiene il server di configurazione globale. Il server di configurazione globale viene utilizzato per ottenere le configurazioni host da un server invece di ottenerle dai file locali.

ritorna
IConfigurationServer

getHostMonitorInstances

public static  getHostMonitorInstances ()

ritorna

getHostMonitors

public  getHostMonitors ()

Ottiene l'elenco di IHostMonitor dalla configurazione globale.

ritorna
l'elenco di IHostMonitor dalla configurazione globale o null se non ne è stato specificato nessuno.

getHostOptions

public IHostOptions getHostOptions ()

Ottiene l' IHostOptions da utilizzare dalla configurazione.

ritorna
IHostOptions l' IDeviceManager fornito nella configurazione.

getHostResourceManager

public IHostResourceManager getHostResourceManager ()

Ottiene IHostResourceManager dalla configurazione globale.

ritorna
IHostResourceManager l' IHostResourceManager dalla configurazione globale o l'implementazione predefinita LocalHostResourceManager se non ne è specificato nessuno nella configurazione dell'host.

getInstance

public static IGlobalConfiguration getInstance ()

Restituisce un riferimento all'istanza GlobalConfiguration singleton per questa istanza TF.

ritorna
IGlobalConfiguration

Lancia
IllegalStateException se createGlobalConfiguration(String[]) non è già stato chiamato.

getKeyStoreFactory

public IKeyStoreFactory getKeyStoreFactory ()

Ottiene l' IKeyStoreFactory da utilizzare dalla configurazione.

ritorna
IKeyStoreFactory IKeyStoreFactory o null se non è impostata alcuna factory dell'archivio chiavi.

getMultiDeviceRecoveryHandlers

public  getMultiDeviceRecoveryHandlers ()

Ottiene l'elenco di IMultiDeviceRecovery da utilizzare dalla configurazione.

ritorna
l'elenco di IMultiDeviceRecovery o null se non impostato.

getNome

public String getName ()

ritorna
String il nome di questa Configuration

getOptionValues

public  getOptionValues (String optionName)

Ottieni un elenco dei valori delle opzioni.

Parametri
optionName String : il nome dell'opzione della mappa

ritorna
un elenco dei valori dell'opzione specificata. null se il nome dell'opzione non esiste.

getResourceMetricCollectors

public  getResourceMetricCollectors ()

Ottiene l'elenco di IResourceMetricCollector dalla configurazione globale.

ritorna
l'elenco di IResourceMetricCollector dalla configurazione globale o null se non ne è stato specificato nessuno.

getSandboxFactory

public ISandboxFactory getSandboxFactory ()

Ottieni una fabbrica sandbox che può essere utilizzata per eseguire un'invocazione

ritorna
ISandboxFactory

getShardingStrategy

public IShardHelper getShardingStrategy ()

Restituisce IShardHelper che definisce il modo di partizionare una configurazione.

ritorna
IShardHelper

getTestInvocationManagementSever

public TestInvocationManagementServer getTestInvocationManagementSever ()

Restituisce TestInvocationManagementServer o null se non definito.

ritorna
TestInvocationManagementServer

getWtfHandler

public ITerribleFailureHandler getWtfHandler ()

Ottiene ITerribleFailureHandler da utilizzare dalla configurazione. Gestisce cosa fare nel caso in cui si verifichi un WTF (What a Terrible Failure).

ritorna
ITerribleFailureHandler l' ITerribleFailureHandler fornito nella configurazione o null se non è impostato alcun gestore

iniettareOptionValue

public void injectOptionValue (String optionName, 
                String optionValue)

Iniettare un valore di opzione nell'insieme di oggetti di configurazione.

Utile per fornire valori per le opzioni generate dinamicamente.

Parametri
optionName String : il nome dell'opzione

optionValue String : i valori dell'opzione

Lancia
ConfigurationException

iniettareOptionValue

public void injectOptionValue (String optionName, 
                String optionKey, 
                String optionValue)

Iniettare un valore di opzione nell'insieme di oggetti di configurazione.

Utile per fornire valori per le opzioni generate dinamicamente.

Parametri
optionName String : il nome dell'opzione della mappa

optionKey String : la chiave dell'opzione della mappa

optionValue String : il valore dell'opzione della mappa

Lancia
ConfigurationException

printCommandUsage

public void printCommandUsage (boolean importantOnly, 
                PrintStream out)

Restituisce un testo di aiuto sull'utilizzo della riga di comando per questa configurazione al printStream specificato.

Parametri
importantOnly boolean

out PrintStream : l' ERROR(/PrintStream) da utilizzare.

Lancia
com.android.tradefed.config.ConfigurationException
ConfigurationException

setCommandScheduler

public void setCommandScheduler (ICommandScheduler scheduler)

Imposta ICommandScheduler , sostituendo eventuali valori esistenti.

setConfigurationFactory

public void setConfigurationFactory (IConfigurationFactory configFactory)

Imposta IConfigurationFactory per questa configurazione.

Parametri
configFactory IConfigurationFactory

setConfigurazioneOggetto

public void setConfigurationObject (String typeName, 
                Object configObject)

Metodo generico per impostare l'oggetto di configurazione con il nome dato, sostituendo qualsiasi valore esistente.

Parametri
typeName String : il nome univoco del tipo di oggetto di configurazione.

configObject Object : l'oggetto di configurazione

Lancia
ConfigurationException

setConfigurationObjectList

public void setConfigurationObjectList (String typeName, 
                 configList)

Metodo generico per impostare l'elenco degli oggetti di configurazione per il nome specificato, sostituendo qualsiasi valore esistente.

Parametri
typeName String : il nome univoco del tipo di oggetto di configurazione.

configList : l'elenco degli oggetti di configurazione

Lancia
ConfigurationException

setDeviceManagementServer

public void setDeviceManagementServer (DeviceManagementGrpcServer server)

Imposta DeviceManagementGrpcServer .

Parametri
server DeviceManagementGrpcServer

setDeviceManager

public void setDeviceManager (IDeviceManager manager)

Imposta IDeviceManager , sostituendo eventuali valori esistenti. Imposta il manager per i dispositivi di test

setDeviceMonitor

public void setDeviceMonitor (IDeviceMonitor monitor)

Imposta IDeviceMonitor .

Parametri
monitor IDeviceMonitor : il monitor

setDeviceRequirements

public void setDeviceRequirements (IDeviceSelection devRequirements)

Imposta IDeviceSelection , sostituendo eventuali valori esistenti. Imposta un filtro dispositivo globale su quali dispositivi il DeviceManager può vedere.

setHostMonitors

public void setHostMonitors ( hostMonitors)

Imposta l'elenco IHostMonitor .

Parametri
hostMonitors : l'elenco dei monitor

setHostOptions

public void setHostOptions (IHostOptions hostOptions)

Imposta IHostOptions , sostituendo eventuali valori esistenti.

setHostResourceManager

public void setHostResourceManager (IHostResourceManager hostResourceManager)

Imposta IHostResourceManager , sostituendo eventuali valori esistenti.

setInvocationServer

public void setInvocationServer (TestInvocationManagementServer server)

Imposta TestInvocationManagementServer .

Parametri
server TestInvocationManagementServer

setKeyStoreFactory

public void setKeyStoreFactory (IKeyStoreFactory factory)

Imposta IKeyStoreFactory , sostituendo eventuali valori esistenti.

setOptionsFromCommandLineArgs

public  setOptionsFromCommandLineArgs ( listArgs)

Imposta i campi Option di configurazione globale con un determinato set di argomenti della riga di comando

Vedi ArgsOptionParser per il formato previsto

Parametri
listArgs : gli argomenti della riga di comando

ritorna
gli argomenti non consumati

Lancia
ConfigurationException

setOriginalConfig

public void setOriginalConfig (String config)

Imposta la configurazione originale utilizzata per creare la configurazione globale.

Parametri
config String

setResourceMetricCollector

public void setResourceMetricCollector (IResourceMetricCollector collector)

Imposta IResourceMetricCollector .

Parametri
collector IResourceMetricCollector

setSandboxFactory

public void setSandboxFactory (ISandboxFactory factory)

Imposta ISandboxFactory , sostituendo eventuali valori esistenti.

setShardingStrategy

public void setShardingStrategy (IShardHelper sharding)

Imposta IShardHelper da utilizzare durante lo sharding di una configurazione.

Parametri
sharding IShardHelper

setTradefedFeatureServer

public void setTradefedFeatureServer (TradefedFeatureServer server)

Imposta TradefedFeatureServer .

Parametri
server TradefedFeatureServer

setWtfHandler

public void setWtfHandler (ITerribleFailureHandler wtfHandler)

Imposta ITerribleFailureHandler .

Parametri
wtfHandler ITerribleFailureHandler : il gestore WTF

impostare

public void setup ()

Configurazione corretta all'inizio di tradefed.

Lancia
ConfigurationException

validateOptions

public void validateOptions ()

Convalidare i valori delle opzioni.

Attualmente questo convaliderà solo che tutte le opzioni obbligatorie sono state impostate

Lancia
ConfigurationException

Metodi protetti

getConfigurationFactory

protected IConfigurationFactory getConfigurationFactory ()

ritorna
IConfigurationFactory