use of org.mule.runtime.extension.api.runtime.config.ConfigurationProvider in project mule by mulesoft.
the class DefaultExtensionsClient method createProcessor.
/**
* Creates a new {@link OperationMessageProcessor} for the required operation and parses all the parameters passed by the client
* user.
*/
private OperationMessageProcessor createProcessor(String extensionName, String operationName, OperationParameters parameters) {
ExtensionModel extension = findExtension(extensionName);
OperationModel operation = findOperation(extension, operationName);
ConfigurationProvider config = parameters.getConfigName().map(this::findConfiguration).orElse(null);
Map<String, ValueResolver> resolvedParams = resolveParameters(parameters.get(), getEvent());
try {
OperationMessageProcessor processor = new OperationMessageProcessorBuilder(extension, operation, policyManager, muleContext, registry).setConfigurationProvider(config).setParameters(resolvedParams).build();
initialiseIfNeeded(processor, muleContext);
processor.start();
return processor;
} catch (Exception e) {
throw new MuleRuntimeException(createStaticMessage("Could not create Operation Message Processor"), e);
}
}
use of org.mule.runtime.extension.api.runtime.config.ConfigurationProvider in project mule by mulesoft.
the class CompositeArtifactExtensionManagerTestCase method returnsChildConfigurationProviderFromProviderName.
@Test
public void returnsChildConfigurationProviderFromProviderName() throws Exception {
ExtensionModel childExtension = mock(ExtensionModel.class);
Set<ExtensionModel> childExtensions = singleton(childExtension);
when(childExtensionManager.getExtensions()).thenReturn(childExtensions);
when(parentExtensionManager.getExtensions()).thenReturn(emptySet());
CompositeArtifactExtensionManager extensionManager = new CompositeArtifactExtensionManager(parentExtensionManager, childExtensionManager);
ConfigurationProvider childConfigurationProvider = mock(ConfigurationProvider.class);
when(childExtensionManager.getConfigurationProvider(PROVIDER_NAME)).thenReturn(of(childConfigurationProvider));
when(parentExtensionManager.getConfigurationProvider(PROVIDER_NAME)).thenReturn(empty());
Optional<ConfigurationProvider> configurationProvider = extensionManager.getConfigurationProvider(PROVIDER_NAME);
assertThat(configurationProvider.get(), is(childConfigurationProvider));
}
use of org.mule.runtime.extension.api.runtime.config.ConfigurationProvider in project mule by mulesoft.
the class CompositeArtifactExtensionManagerTestCase method failsToObtainMissingConfigurationFromModel.
@Test
public void failsToObtainMissingConfigurationFromModel() throws Exception {
ExtensionModel childExtension = mock(ExtensionModel.class);
Set<ExtensionModel> childExtensions = singleton(childExtension);
when(childExtensionManager.getExtensions()).thenReturn(childExtensions);
when(parentExtensionManager.getExtensions()).thenReturn(emptySet());
CompositeArtifactExtensionManager extensionManager = new CompositeArtifactExtensionManager(parentExtensionManager, childExtensionManager);
CoreEvent event = mock(CoreEvent.class);
ConfigurationProvider childConfigurationProvider = mock(ConfigurationProvider.class);
ConfigurationInstance configurationInstance = mock(ConfigurationInstance.class);
when(childConfigurationProvider.get(event)).thenReturn(configurationInstance);
when(childExtensionManager.getConfiguration(childExtension, operationModel, event)).thenReturn(empty());
when(childExtensionManager.getConfigurationProvider(childExtension, operationModel)).thenReturn(empty());
when(parentExtensionManager.getConfigurationProvider(childExtension, operationModel)).thenReturn(empty());
expectedException.expect(IllegalArgumentException.class);
extensionManager.getConfiguration(childExtension, operationModel, event);
}
use of org.mule.runtime.extension.api.runtime.config.ConfigurationProvider in project mule by mulesoft.
the class CompositeArtifactExtensionManagerTestCase method returnsConfigurationFromModel.
@Test
public void returnsConfigurationFromModel() throws Exception {
ExtensionModel childExtension = mock(ExtensionModel.class);
Set<ExtensionModel> childExtensions = singleton(childExtension);
when(childExtensionManager.getExtensions()).thenReturn(childExtensions);
when(parentExtensionManager.getExtensions()).thenReturn(emptySet());
CompositeArtifactExtensionManager extensionManager = new CompositeArtifactExtensionManager(parentExtensionManager, childExtensionManager);
CoreEvent event = mock(CoreEvent.class);
ConfigurationProvider childConfigurationProvider = mock(ConfigurationProvider.class);
ConfigurationInstance configurationInstance = mock(ConfigurationInstance.class);
when(childConfigurationProvider.get(event)).thenReturn(configurationInstance);
when(childExtensionManager.getConfiguration(childExtension, operationModel, event)).thenReturn(ofNullable(configurationInstance));
when(parentExtensionManager.getConfigurationProvider(childExtension, operationModel)).thenReturn(empty());
Optional<ConfigurationInstance> configuration = extensionManager.getConfiguration(childExtension, operationModel, event);
assertThat(configuration.isPresent(), is(true));
assertThat(configuration.get(), is(configurationInstance));
}
use of org.mule.runtime.extension.api.runtime.config.ConfigurationProvider in project mule by mulesoft.
the class CompositeArtifactExtensionManagerTestCase method failsToObtainMissingConfigurationFromProviderName.
@Test
public void failsToObtainMissingConfigurationFromProviderName() throws Exception {
ExtensionModel childExtension = mock(ExtensionModel.class);
Set<ExtensionModel> childExtensions = singleton(childExtension);
when(childExtensionManager.getExtensions()).thenReturn(childExtensions);
when(parentExtensionManager.getExtensions()).thenReturn(emptySet());
CompositeArtifactExtensionManager extensionManager = new CompositeArtifactExtensionManager(parentExtensionManager, childExtensionManager);
CoreEvent event = mock(CoreEvent.class);
ConfigurationProvider childConfigurationProvider = mock(ConfigurationProvider.class);
ConfigurationInstance configurationInstance = mock(ConfigurationInstance.class);
when(childConfigurationProvider.get(event)).thenReturn(configurationInstance);
when(childExtensionManager.getConfigurationProvider(PROVIDER_NAME)).thenReturn(empty());
when(parentExtensionManager.getConfigurationProvider(PROVIDER_NAME)).thenReturn(empty());
expectedException.expect(IllegalArgumentException.class);
extensionManager.getConfiguration(PROVIDER_NAME, event);
}
Aggregations