use of org.mule.runtime.extension.api.metadata.NullMetadataResolver in project mule by mulesoft.
the class SoapInvokeOperationDeclarer method declareMetadata.
private void declareMetadata(OperationDeclarer operation, ClassTypeLoader loader) {
ImmutableMap.Builder<String, Supplier<? extends InputTypeResolver>> inputResolver = ImmutableMap.builder();
inputResolver.put(BODY_PARAM, InvokeRequestTypeResolver::new);
inputResolver.put(HEADERS_PARAM, InvokeInputHeadersTypeResolver::new);
inputResolver.put(ATTACHMENTS_PARAM, InvokeInputAttachmentsTypeResolver::new);
DefaultMetadataResolverFactory factory = new DefaultMetadataResolverFactory(InvokeKeysResolver::new, inputResolver.build(), InvokeOutputTypeResolver::new, NullMetadataResolver::new);
operation.withModelProperty(new MetadataResolverFactoryModelProperty(() -> factory));
operation.withModelProperty(new MetadataKeyIdModelProperty(loader.load(WebServiceTypeKey.class), KEYS_GROUP));
}
use of org.mule.runtime.extension.api.metadata.NullMetadataResolver in project mule by mulesoft.
the class DsqlQueryMetadataResolverTestCase method getQueryMetadataResolver.
private DsqlQueryMetadataResolver getQueryMetadataResolver() {
NullMetadataResolver outputResolver = new NullMetadataResolver();
MetadataExtensionEntityResolver entityResolver = new MetadataExtensionEntityResolver();
return new DsqlQueryMetadataResolver(entityResolver, outputResolver);
}
use of org.mule.runtime.extension.api.metadata.NullMetadataResolver in project mule by mulesoft.
the class AbstractExtensionMessageSourceTestCase method before.
@Before
public void before() throws Exception {
initMocks(this);
spyInjector(muleContext);
reset(muleContext.getSchedulerService());
when(result.getMediaType()).thenReturn(of(ANY));
when(result.getAttributes()).thenReturn(empty());
((MuleContextWithRegistries) muleContext).getRegistry().registerObject(OBJECT_STREAMING_MANAGER, streamingManager);
when(extensionModel.getXmlDslModel()).thenReturn(XmlDslModel.builder().setPrefix("test-extension").build());
cursorStreamProviderFactory = getDefaultCursorStreamProviderFactory(streamingManager);
sourceAdapter = createSourceAdapter();
when(sourceAdapterFactory.createAdapter(any(), any(), any(), any(), any())).thenReturn(sourceAdapter);
mockExceptionEnricher(sourceModel, null);
when(sourceModel.requiresConnection()).thenReturn(true);
when(sourceModel.getName()).thenReturn(SOURCE_NAME);
when(sourceModel.getModelProperty(MetadataResolverFactoryModelProperty.class)).thenReturn(empty());
when(sourceModel.getModelProperty(SourceCallbackModelProperty.class)).thenReturn(empty());
when(sourceModel.getModelProperty(MediaTypeModelProperty.class)).thenReturn(empty());
setRequires(sourceModel, true, true);
when(sourceModel.getOutput().getType()).thenReturn(TYPE_LOADER.load(String.class));
when(sourceModel.getNotificationModels()).thenReturn(emptySet());
mockExceptionEnricher(extensionModel, null);
mockClassLoaderModelProperty(extensionModel, getClass().getClassLoader());
retryPolicyTemplate.setNotificationFirer(((MuleContextWithRegistries) muleContext).getRegistry().lookupObject(NotificationDispatcher.class));
initialiseIfNeeded(retryPolicyTemplate, muleContext);
((MuleContextWithRegistries) muleContext).getRegistry().registerObject(OBJECT_EXTENSION_MANAGER, extensionManager);
when(flowConstruct.getMuleContext()).thenReturn(muleContext);
mockSubTypes(extensionModel);
when(configurationModel.getSourceModel(SOURCE_NAME)).thenReturn(of(sourceModel));
when(extensionManager.getConfigurationProvider(CONFIG_NAME)).thenReturn(of(configurationProvider));
when(configurationProvider.get(any())).thenReturn(configurationInstance);
when(configurationProvider.getConfigurationModel()).thenReturn(configurationModel);
when(configurationProvider.getName()).thenReturn(CONFIG_NAME);
mockMetadataResolverFactory(sourceModel, metadataResolverFactory);
when(metadataResolverFactory.getKeyResolver()).thenReturn(new TestNoConfigMetadataResolver());
when(metadataResolverFactory.getInputResolver("content")).thenReturn(new TestNoConfigMetadataResolver());
when(metadataResolverFactory.getInputResolver("type")).thenReturn(new NullMetadataResolver());
when(metadataResolverFactory.getOutputResolver()).thenReturn(new TestNoConfigMetadataResolver());
when(metadataResolverFactory.getOutputAttributesResolver()).thenReturn(new TestNoConfigMetadataResolver());
when(sourceModel.getOutput()).thenReturn(new ImmutableOutputModel("Output", BaseTypeBuilder.create(JAVA).stringType().build(), true, emptySet()));
when(sourceModel.getOutputAttributes()).thenReturn(new ImmutableOutputModel("Output", BaseTypeBuilder.create(JAVA).stringType().build(), false, emptySet()));
when(sourceModel.getModelProperty(MetadataKeyIdModelProperty.class)).thenReturn(of(new MetadataKeyIdModelProperty(typeLoader.load(String.class), METADATA_KEY)));
when(sourceModel.getAllParameterModels()).thenReturn(emptyList());
when(messageProcessContext.getTransactionConfig()).thenReturn(empty());
messageSource = getNewExtensionMessageSourceInstance();
sourceCallback = spy(DefaultSourceCallback.builder().setSourceModel(sourceModel).setProcessingManager(messageProcessingManager).setListener(messageProcessor).setSource(messageSource).setMuleContext(muleContext).setProcessContextSupplier(() -> messageProcessContext).setCompletionHandlerFactory(completionHandlerFactory).setExceptionCallback(exceptionCallback).setCursorStreamProviderFactory(cursorStreamProviderFactory).build());
when(sourceCallbackFactory.createSourceCallback(any())).thenReturn(sourceCallback);
}
use of org.mule.runtime.extension.api.metadata.NullMetadataResolver in project mule by mulesoft.
the class MetadataScopeAdapter method getCategoryName.
private String getCategoryName(Supplier<? extends OutputTypeResolver> outputResolver, Supplier<? extends AttributesTypeResolver> attributesResolver, Map<String, Supplier<? extends InputTypeResolver>> inputResolvers) {
OutputTypeResolver outputTypeResolver = outputResolver.get();
if (!(outputTypeResolver instanceof NullMetadataResolver)) {
return outputTypeResolver.getCategoryName();
}
AttributesTypeResolver attributesTypeResolver = attributesResolver.get();
if (!(attributesTypeResolver instanceof NullMetadataResolver)) {
return attributesTypeResolver.getCategoryName();
}
for (Supplier<? extends InputTypeResolver> supplier : inputResolvers.values()) {
InputTypeResolver inputTypeResolver = supplier.get();
if (!(inputTypeResolver instanceof NullMetadataResolver)) {
return inputTypeResolver.getCategoryName();
}
}
throw new IllegalModelDefinitionException("Unable to create Keys Resolver. A Keys Resolver is being defined " + "without defining an Output Resolver, Input Resolver nor Attributes Resolver");
}
use of org.mule.runtime.extension.api.metadata.NullMetadataResolver in project mule by mulesoft.
the class AbstractOperationMessageProcessorTestCase method before.
@Before
public void before() throws Exception {
((MuleContextWithRegistries) muleContext).getRegistry().registerObject(OBJECT_STREAMING_MANAGER, streamingManager);
cursorStreamProviderFactory = spy(getDefaultCursorStreamProviderFactory(streamingManager));
event = configureEvent();
when(context.getInjector().inject(any())).thenAnswer(invocationOnMock -> {
final Object subject = invocationOnMock.getArguments()[0];
muleContext.getInjector().inject(subject);
return subject;
});
when(extensionModel.getName()).thenReturn(EXTENSION_NAMESPACE);
when(extensionModel.getConfigurationModels()).thenReturn(asList(configurationModel));
when(operationModel.getName()).thenReturn(getClass().getName());
when(operationModel.isBlocking()).thenReturn(true);
when(extensionModel.getXmlDslModel()).thenReturn(XmlDslModel.builder().setPrefix("test-extension").build());
when(operationModel.getOutput()).thenReturn(new ImmutableOutputModel("Message.Payload", toMetadataType(String.class), false, emptySet()));
mockExecutorFactory(operationModel, operationExecutorFactory);
visitableMock(operationModel);
when(operationModel.getModelProperty(MetadataKeyIdModelProperty.class)).thenReturn(of(new MetadataKeyIdModelProperty(ExtensionsTypeLoaderFactory.getDefault().createTypeLoader().load(String.class), "someParam")));
setRequires(operationModel, true, true);
when(operationExecutorFactory.createExecutor(same(operationModel), anyMap())).thenReturn(operationExecutor);
when(operationModel.getName()).thenReturn(OPERATION_NAME);
when(operationModel.getDisplayModel()).thenReturn(empty());
when(operationModel.getModelProperty(MediaTypeModelProperty.class)).thenReturn(empty());
mockExceptionEnricher(operationModel, exceptionHandlerFactory);
when(exceptionHandlerFactory.createHandler()).thenReturn(new NullExceptionHandler());
mockMetadataResolverFactory(operationModel, metadataResolverFactory);
when(metadataResolverFactory.getKeyResolver()).thenReturn(new TestNoConfigMetadataResolver());
when(metadataResolverFactory.getInputResolver("content")).thenReturn(new TestNoConfigMetadataResolver());
when(metadataResolverFactory.getInputResolver("type")).thenReturn(new NullMetadataResolver());
when(metadataResolverFactory.getOutputResolver()).thenReturn(new TestNoConfigMetadataResolver());
when(metadataResolverFactory.getOutputAttributesResolver()).thenReturn(new TestNoConfigMetadataResolver());
when(metadataResolverFactory.getQueryEntityResolver()).thenReturn(new TestNoConfigMetadataResolver());
when(keyParamMock.getName()).thenReturn("type");
when(keyParamMock.getType()).thenReturn(stringType);
when(keyParamMock.getModelProperty(MetadataKeyPartModelProperty.class)).thenReturn(of(new MetadataKeyPartModelProperty(1)));
when(keyParamMock.getRole()).thenReturn(BEHAVIOUR);
when(keyParamMock.getDisplayModel()).thenReturn(empty());
when(keyParamMock.getLayoutModel()).thenReturn(empty());
when(keyParamMock.getModelProperty(QueryParameterModelProperty.class)).thenReturn(empty());
when(keyParamMock.getModelProperty(FieldOperationParameterModelProperty.class)).thenReturn(empty());
when(contentMock.getName()).thenReturn("content");
when(contentMock.hasDynamicType()).thenReturn(true);
when(contentMock.getType()).thenReturn(stringType);
when(contentMock.getRole()).thenReturn(CONTENT);
when(contentMock.getDisplayModel()).thenReturn(empty());
when(contentMock.getLayoutModel()).thenReturn(empty());
when(contentMock.getModelProperty(MetadataKeyPartModelProperty.class)).thenReturn(empty());
when(contentMock.getModelProperty(QueryParameterModelProperty.class)).thenReturn(empty());
when(contentMock.getModelProperty(FieldOperationParameterModelProperty.class)).thenReturn(empty());
parameterGroupModel = mockParameters(operationModel, keyParamMock, contentMock);
when(parameterGroupModel.getDisplayModel()).thenReturn(empty());
when(parameterGroupModel.getLayoutModel()).thenReturn(empty());
when(parameterGroupModel.getModelProperty(MetadataKeyIdModelProperty.class)).thenReturn(empty());
when(outputMock.getType()).thenReturn(stringType);
when(outputMock.hasDynamicType()).thenReturn(true);
when(operationModel.getOutput()).thenReturn(outputMock);
when(operationModel.getOutputAttributes()).thenReturn(outputMock);
when(operationModel.getModelProperty(InterceptorsModelProperty.class)).thenReturn(empty());
when(operationExecutorFactory.createExecutor(same(operationModel), anyMap())).thenReturn(operationExecutor);
when(operationExecutor.execute(any())).thenReturn(just(""));
when(resolverSet.resolve(from(event))).thenReturn(parameters);
when(configurationInstance.getName()).thenReturn(CONFIG_NAME);
when(configurationInstance.getModel()).thenReturn(configurationModel);
when(configurationInstance.getValue()).thenReturn(configuration);
when(configurationInstance.getConnectionProvider()).thenReturn(of(connectionProviderWrapper));
when(configurationProvider.get(event)).thenReturn(configurationInstance);
when(configurationProvider.getConfigurationModel()).thenReturn(configurationModel);
when(configurationProvider.getName()).thenReturn(configurationName);
when(configurationModel.getOperationModels()).thenReturn(asList(operationModel));
when(configurationModel.getOperationModel(OPERATION_NAME)).thenReturn(of(operationModel));
when(connectionProviderWrapper.getReconnectionConfig()).thenReturn(of(ReconnectionConfig.getDefault()));
when(connectionProviderWrapper.getRetryPolicyTemplate()).thenReturn(new NoRetryPolicyTemplate());
mockSubTypes(extensionModel);
mockClassLoaderModelProperty(extensionModel, getClass().getClassLoader());
when(extensionManager.getConfiguration(anyString(), anyObject())).thenReturn(configurationInstance);
when(extensionManager.getConfiguration(extensionModel, operationModel, event)).thenReturn(of(configurationInstance));
when(configurationProvider.get(anyObject())).thenReturn(configurationInstance);
when(extensionManager.getConfigurationProvider(extensionModel, operationModel)).thenReturn(of(configurationProvider));
when(extensionManager.getConfigurationProvider(CONFIG_NAME)).thenReturn(of(configurationProvider));
when(stringType.getAnnotation(anyObject())).thenReturn(empty());
when(mockPolicyManager.createOperationPolicy(any(), any(), any(), any())).thenAnswer(invocationOnMock -> {
if (mockOperationPolicy == null) {
mockOperationPolicy = mock(OperationPolicy.class);
when(mockOperationPolicy.process(any())).thenAnswer(operationPolicyInvocationMock -> ((OperationExecutionFunction) invocationOnMock.getArguments()[3]).execute((Map<String, Object>) invocationOnMock.getArguments()[2], (CoreEvent) invocationOnMock.getArguments()[1]));
}
return mockOperationPolicy;
});
when(executionContext.getRetryPolicyTemplate()).thenReturn(empty());
when(connectionManagerAdapter.getConnection(anyString())).thenReturn(null);
messageProcessor = setUpOperationMessageProcessor();
}
Aggregations