Search in sources :

Example 1 with NullMetadataResolver

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));
}
Also used : NullMetadataResolver(org.mule.runtime.extension.api.metadata.NullMetadataResolver) DefaultMetadataResolverFactory(org.mule.runtime.core.internal.metadata.DefaultMetadataResolverFactory) MetadataKeyIdModelProperty(org.mule.runtime.extension.api.property.MetadataKeyIdModelProperty) InvokeKeysResolver(org.mule.runtime.module.extension.soap.internal.metadata.InvokeKeysResolver) InvokeRequestTypeResolver(org.mule.runtime.module.extension.soap.internal.metadata.InvokeRequestTypeResolver) InvokeInputHeadersTypeResolver(org.mule.runtime.module.extension.soap.internal.metadata.InvokeInputHeadersTypeResolver) MetadataResolverFactoryModelProperty(org.mule.runtime.module.extension.internal.loader.java.property.MetadataResolverFactoryModelProperty) InvokeOutputTypeResolver(org.mule.runtime.module.extension.soap.internal.metadata.InvokeOutputTypeResolver) ImmutableMap(com.google.common.collect.ImmutableMap) InvokeInputAttachmentsTypeResolver(org.mule.runtime.module.extension.soap.internal.metadata.InvokeInputAttachmentsTypeResolver) InputTypeResolver(org.mule.runtime.api.metadata.resolving.InputTypeResolver) Supplier(java.util.function.Supplier)

Example 2 with NullMetadataResolver

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);
}
Also used : NullMetadataResolver(org.mule.runtime.extension.api.metadata.NullMetadataResolver) MetadataExtensionEntityResolver(org.mule.test.metadata.extension.query.MetadataExtensionEntityResolver)

Example 3 with NullMetadataResolver

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);
}
Also used : NullMetadataResolver(org.mule.runtime.extension.api.metadata.NullMetadataResolver) ImmutableOutputModel(org.mule.runtime.extension.api.model.ImmutableOutputModel) MetadataKeyIdModelProperty(org.mule.runtime.extension.api.property.MetadataKeyIdModelProperty) MuleContextWithRegistries(org.mule.runtime.core.internal.context.MuleContextWithRegistries) NotificationDispatcher(org.mule.runtime.api.notification.NotificationDispatcher) TestNoConfigMetadataResolver(org.mule.test.metadata.extension.resolver.TestNoConfigMetadataResolver) Before(org.junit.Before)

Example 4 with NullMetadataResolver

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");
}
Also used : NullMetadataResolver(org.mule.runtime.extension.api.metadata.NullMetadataResolver) IllegalModelDefinitionException(org.mule.runtime.extension.api.exception.IllegalModelDefinitionException) OutputTypeResolver(org.mule.runtime.api.metadata.resolving.OutputTypeResolver) InputTypeResolver(org.mule.runtime.api.metadata.resolving.InputTypeResolver) AttributesTypeResolver(org.mule.runtime.api.metadata.resolving.AttributesTypeResolver)

Example 5 with NullMetadataResolver

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();
}
Also used : NullMetadataResolver(org.mule.runtime.extension.api.metadata.NullMetadataResolver) ImmutableOutputModel(org.mule.runtime.extension.api.model.ImmutableOutputModel) MetadataKeyIdModelProperty(org.mule.runtime.extension.api.property.MetadataKeyIdModelProperty) CoreEvent(org.mule.runtime.core.api.event.CoreEvent) OperationPolicy(org.mule.runtime.core.internal.policy.OperationPolicy) Matchers.anyObject(org.mockito.Matchers.anyObject) MetadataKeyPartModelProperty(org.mule.runtime.extension.api.property.MetadataKeyPartModelProperty) Matchers.anyString(org.mockito.Matchers.anyString) NullExceptionHandler(org.mule.runtime.module.extension.internal.runtime.exception.NullExceptionHandler) TestNoConfigMetadataResolver(org.mule.test.metadata.extension.resolver.TestNoConfigMetadataResolver) Map(java.util.Map) Matchers.anyMap(org.mockito.Matchers.anyMap) NoRetryPolicyTemplate(org.mule.runtime.core.api.retry.policy.NoRetryPolicyTemplate) Before(org.junit.Before)

Aggregations

NullMetadataResolver (org.mule.runtime.extension.api.metadata.NullMetadataResolver)5 MetadataKeyIdModelProperty (org.mule.runtime.extension.api.property.MetadataKeyIdModelProperty)3 Before (org.junit.Before)2 InputTypeResolver (org.mule.runtime.api.metadata.resolving.InputTypeResolver)2 ImmutableOutputModel (org.mule.runtime.extension.api.model.ImmutableOutputModel)2 TestNoConfigMetadataResolver (org.mule.test.metadata.extension.resolver.TestNoConfigMetadataResolver)2 ImmutableMap (com.google.common.collect.ImmutableMap)1 Map (java.util.Map)1 Supplier (java.util.function.Supplier)1 Matchers.anyMap (org.mockito.Matchers.anyMap)1 Matchers.anyObject (org.mockito.Matchers.anyObject)1 Matchers.anyString (org.mockito.Matchers.anyString)1 AttributesTypeResolver (org.mule.runtime.api.metadata.resolving.AttributesTypeResolver)1 OutputTypeResolver (org.mule.runtime.api.metadata.resolving.OutputTypeResolver)1 NotificationDispatcher (org.mule.runtime.api.notification.NotificationDispatcher)1 CoreEvent (org.mule.runtime.core.api.event.CoreEvent)1 NoRetryPolicyTemplate (org.mule.runtime.core.api.retry.policy.NoRetryPolicyTemplate)1 MuleContextWithRegistries (org.mule.runtime.core.internal.context.MuleContextWithRegistries)1 DefaultMetadataResolverFactory (org.mule.runtime.core.internal.metadata.DefaultMetadataResolverFactory)1 OperationPolicy (org.mule.runtime.core.internal.policy.OperationPolicy)1