brokerTemplate, destination, context, source)); if (!map.isEmpty()) { values.add("systemSubscriptions", map);
private void createChannelProcessingFilter() { ManagedMap<BeanMetadataElement, BeanDefinition> channelRequestMap = parseInterceptUrlsForChannelSecurity(); if (channelRequestMap.isEmpty()) { return;
if (addAuthenticatedAll && filterInvocationDefinitionMap.isEmpty()) {
if (!mappings.isEmpty()) { handlerMappingBean.addPropertyValue("mappings", mappings);
private boolean isEmpty(Object value) { return value == null || (value instanceof ManagedList && ((ManagedList) value).isEmpty()) || (value instanceof ManagedMap && ((ManagedMap) value).isEmpty()); } }
private void createChannelProcessingFilter() { ManagedMap<BeanMetadataElement, BeanDefinition> channelRequestMap = parseInterceptUrlsForChannelSecurity(); if (channelRequestMap.isEmpty()) { return;
if (addAuthenticatedAll && filterInvocationDefinitionMap.isEmpty()) {
@Override protected BeanMetadataElement parseSource(Element element, ParserContext parserContext) { BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(StoredProcPollingChannelAdapter.class); final BeanDefinitionBuilder storedProcExecutorBuilder = StoredProcParserUtils.getStoredProcExecutorBuilder(element, parserContext); IntegrationNamespaceUtils.setValueIfAttributeDefined(storedProcExecutorBuilder, element, "return-value-required"); IntegrationNamespaceUtils.setValueIfAttributeDefined(storedProcExecutorBuilder, element, "is-function"); IntegrationNamespaceUtils.setValueIfAttributeDefined(storedProcExecutorBuilder, element, "skip-undeclared-results"); final ManagedMap<String, BeanMetadataElement> returningResultsetMap = StoredProcParserUtils.getReturningResultsetBeanDefinitions(element, parserContext); if (!returningResultsetMap.isEmpty()) { storedProcExecutorBuilder.addPropertyValue("returningResultSetRowMappers", returningResultsetMap); } final AbstractBeanDefinition storedProcExecutorBuilderBeanDefinition = storedProcExecutorBuilder.getBeanDefinition(); final String storedProcPollingChannelAdapterId = this.resolveId(element, builder.getRawBeanDefinition(), parserContext); final String storedProcExecutorBeanName = storedProcPollingChannelAdapterId + ".storedProcExecutor"; parserContext.registerBeanComponent(new BeanComponentDefinition(storedProcExecutorBuilderBeanDefinition, storedProcExecutorBeanName)); builder.addConstructorArgReference(storedProcExecutorBeanName); IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "expect-single-result"); return builder.getBeanDefinition(); }
@Override protected BeanDefinitionBuilder parseHandler(Element element, ParserContext parserContext) { final BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(StoredProcOutboundGateway.class); final BeanDefinitionBuilder storedProcExecutorBuilder = StoredProcParserUtils.getStoredProcExecutorBuilder(element, parserContext); IntegrationNamespaceUtils.setValueIfAttributeDefined(storedProcExecutorBuilder, element, "is-function"); IntegrationNamespaceUtils.setValueIfAttributeDefined(storedProcExecutorBuilder, element, "return-value-required"); IntegrationNamespaceUtils.setValueIfAttributeDefined(storedProcExecutorBuilder, element, "use-payload-as-parameter-source"); IntegrationNamespaceUtils.setReferenceIfAttributeDefined(storedProcExecutorBuilder, element, "sql-parameter-source-factory"); IntegrationNamespaceUtils.setValueIfAttributeDefined(storedProcExecutorBuilder, element, "skip-undeclared-results"); final ManagedMap<String, BeanMetadataElement> returningResultSetMap = StoredProcParserUtils.getReturningResultsetBeanDefinitions(element, parserContext); if (!returningResultSetMap.isEmpty()) { storedProcExecutorBuilder.addPropertyValue("returningResultSetRowMappers", returningResultSetMap); } final AbstractBeanDefinition storedProcExecutorBuilderBeanDefinition = storedProcExecutorBuilder.getBeanDefinition(); final String gatewayId = this.resolveId(element, builder.getRawBeanDefinition(), parserContext); final String storedProcExecutorBeanName = gatewayId + ".storedProcExecutor"; parserContext.registerBeanComponent(new BeanComponentDefinition(storedProcExecutorBuilderBeanDefinition, storedProcExecutorBeanName)); builder.addConstructorArgReference(storedProcExecutorBeanName); IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "expect-single-result"); IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "reply-timeout", "sendTimeout"); IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "requires-reply"); String replyChannel = element.getAttribute("reply-channel"); if (StringUtils.hasText(replyChannel)) { builder.addPropertyReference("outputChannel", replyChannel); } return builder; }
private boolean isEmpty(Object value) { return value == null || (value instanceof ManagedList && ((ManagedList) value).isEmpty()) || (value instanceof ManagedMap && ((ManagedMap) value).isEmpty()); } }
/** * Parses all variable definitions and adds those to the bean definition * builder as property value. * @param builder the target bean definition builder. * @param element the source element. */ private void parseMatcherDefinitions(BeanDefinitionBuilder builder, Element element) { ManagedMap<String, Object> matchers = new ManagedMap<String, Object>(); for (Element matcher : DomUtils.getChildElementsByTagName(element, "matcher")) { if (matcher.hasAttribute("ref")) { matchers.put(matcher.getAttribute("name"), new RuntimeBeanReference(matcher.getAttribute("ref"))); } else { matchers.put(matcher.getAttribute("name"), BeanDefinitionBuilder.rootBeanDefinition(matcher.getAttribute("class")).getBeanDefinition()); } } if (!matchers.isEmpty()) { builder.addPropertyValue("members", matchers); } } }
/** * Parses all variable definitions and adds those to the bean definition * builder as property value. * @param builder the target bean definition builder. * @param element the source element. */ private void parseFunctionDefinitions(BeanDefinitionBuilder builder, Element element) { ManagedMap<String, Object> functions = new ManagedMap<String, Object>(); for (Element function : DomUtils.getChildElementsByTagName(element, "function")) { if (function.hasAttribute("ref")) { functions.put(function.getAttribute("name"), new RuntimeBeanReference(function.getAttribute("ref"))); } else { functions.put(function.getAttribute("name"), BeanDefinitionBuilder.rootBeanDefinition(function.getAttribute("class")).getBeanDefinition()); } } if (!functions.isEmpty()) { builder.addPropertyValue("members", functions); } } }
private void handleDiscoveryStrategy(Node node, ManagedList<BeanDefinition> discoveryStrategyConfigs) { BeanDefinitionBuilder discoveryStrategyConfigBuilder = createBeanBuilder(DiscoveryStrategyConfig.class); NamedNodeMap attributes = node.getAttributes(); Node classNameNode = attributes.getNamedItem("class-name"); String className = getTextContent(classNameNode).trim(); Node implNode = attributes.getNamedItem("discovery-strategy-factory"); String implementation = getTextContent(implNode).trim(); isTrue(!className.isEmpty() || !implementation.isEmpty(), "One of 'class-name' or 'implementation' attributes is required to create DiscoveryStrategyConfig!"); if (!implementation.isEmpty()) { discoveryStrategyConfigBuilder.addConstructorArgReference(implementation); } else { discoveryStrategyConfigBuilder.addConstructorArgValue(className); } for (Node child : childElements(node)) { String name = cleanNodeName(child); if ("properties".equals(name)) { ManagedMap properties = parseProperties(child); if (!properties.isEmpty()) { discoveryStrategyConfigBuilder.addConstructorArgValue(properties); } } } discoveryStrategyConfigs.add(discoveryStrategyConfigBuilder.getBeanDefinition()); }
private void handleDiscoveryStrategy(Node node, ManagedList<BeanDefinition> discoveryStrategyConfigs) { BeanDefinitionBuilder discoveryStrategyConfigBuilder = createBeanBuilder(DiscoveryStrategyConfig.class); NamedNodeMap attributes = node.getAttributes(); Node classNameNode = attributes.getNamedItem("class-name"); String className = getTextContent(classNameNode).trim(); Node implNode = attributes.getNamedItem("discovery-strategy-factory"); String implementation = getTextContent(implNode).trim(); isTrue(!className.isEmpty() || !implementation.isEmpty(), "One of 'class-name' or 'implementation' attributes is required to create DiscoveryStrategyConfig!"); if (!implementation.isEmpty()) { discoveryStrategyConfigBuilder.addConstructorArgReference(implementation); } else { discoveryStrategyConfigBuilder.addConstructorArgValue(className); } for (Node child : childElements(node)) { String name = cleanNodeName(child); if ("properties".equals(name)) { ManagedMap properties = parseProperties(child); if (!properties.isEmpty()) { discoveryStrategyConfigBuilder.addConstructorArgValue(properties); } } } discoveryStrategyConfigs.add(discoveryStrategyConfigBuilder.getBeanDefinition()); } }
private void handleDiscoveryStrategy(Node node, ManagedList<BeanDefinition> discoveryStrategyConfigs) { BeanDefinitionBuilder discoveryStrategyConfigBuilder = createBeanBuilder(DiscoveryStrategyConfig.class); NamedNodeMap attributes = node.getAttributes(); Node classNameNode = attributes.getNamedItem("class-name"); String className = getTextContent(classNameNode).trim(); Node implNode = attributes.getNamedItem("discovery-strategy-factory"); String implementation = getTextContent(implNode).trim(); isTrue(!className.isEmpty() || !implementation.isEmpty(), "One of 'class-name' or 'implementation' attributes is required to create DiscoveryStrategyConfig!"); if (!implementation.isEmpty()) { discoveryStrategyConfigBuilder.addConstructorArgReference(implementation); } else { discoveryStrategyConfigBuilder.addConstructorArgValue(className); } for (Node child : childElements(node)) { String name = cleanNodeName(child); if ("properties".equals(name)) { ManagedMap properties = parseProperties(child); if (!properties.isEmpty()) { discoveryStrategyConfigBuilder.addConstructorArgValue(properties); } } } discoveryStrategyConfigs.add(discoveryStrategyConfigBuilder.getBeanDefinition()); }
private void createChannelProcessingFilter() { ManagedMap<BeanDefinition,BeanDefinition> channelRequestMap = parseInterceptUrlsForChannelSecurity(); if (channelRequestMap.isEmpty()) { return;
private void createChannelProcessingFilter() { ManagedMap<BeanMetadataElement, BeanDefinition> channelRequestMap = parseInterceptUrlsForChannelSecurity(); if (channelRequestMap.isEmpty()) { return;
@Override protected BeanMetadataElement parseSource(Element element, ParserContext parserContext) { BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(StoredProcPollingChannelAdapter.class); final BeanDefinitionBuilder storedProcExecutorBuilder = StoredProcParserUtils.getStoredProcExecutorBuilder(element, parserContext); IntegrationNamespaceUtils.setValueIfAttributeDefined(storedProcExecutorBuilder, element, "return-value-required"); IntegrationNamespaceUtils.setValueIfAttributeDefined(storedProcExecutorBuilder, element, "is-function"); IntegrationNamespaceUtils.setValueIfAttributeDefined(storedProcExecutorBuilder, element, "skip-undeclared-results"); final ManagedMap<String, BeanMetadataElement> returningResultsetMap = StoredProcParserUtils.getReturningResultsetBeanDefinitions(element, parserContext); if (!returningResultsetMap.isEmpty()) { storedProcExecutorBuilder.addPropertyValue("returningResultSetRowMappers", returningResultsetMap); } final AbstractBeanDefinition storedProcExecutorBuilderBeanDefinition = storedProcExecutorBuilder.getBeanDefinition(); final String storedProcPollingChannelAdapterId = this.resolveId(element, builder.getRawBeanDefinition(), parserContext); final String storedProcExecutorBeanName = storedProcPollingChannelAdapterId + ".storedProcExecutor"; parserContext.registerBeanComponent(new BeanComponentDefinition(storedProcExecutorBuilderBeanDefinition, storedProcExecutorBeanName)); builder.addConstructorArgReference(storedProcExecutorBeanName); IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "expect-single-result"); return builder.getBeanDefinition(); }
private void processGenericProperties(ComponentModel componentModel, AbstractBeanDefinition modelBeanDefinition) { // in the case of the endpoint element, all the properties must not be set to the {@code // org.mule.compatibility.core.endpoint.UrlEndpointURIBuilder} // but to the properties map inside it. So we need to revert previous properties processing in this particular case. ManagedMap propertiesMap = new ManagedMap(); componentModel.getInnerComponents().stream().filter(innerComponent -> { ComponentIdentifier identifier = innerComponent.getIdentifier(); return identifier.equals(SPRING_PROPERTY_IDENTIFIER) || identifier.equals(MULE_PROPERTY_IDENTIFIER); }).forEach(propertyComponentModel -> { PropertyValue propertyValue = getPropertyValueFromPropertyComponent(propertyComponentModel); modelBeanDefinition.getPropertyValues().removePropertyValue(propertyValue.getName()); propertiesMap.put(propertyValue.getName(), propertyValue.getValue()); }); componentModel.getInnerComponents().stream().filter(innerComponent -> { return innerComponent.getIdentifier().getName().equals(PROPERTIES_ELEMENT); }).findFirst().ifPresent(propertiesComponent -> { CommonBeanDefinitionCreator.getPropertyValueFromPropertiesComponent(propertiesComponent).stream().forEach(propertyValue -> { propertiesMap.put(propertyValue.getName(), propertyValue.getValue()); }); }); if (!propertiesMap.isEmpty()) { modelBeanDefinition.getPropertyValues().addPropertyValue(PROPERTIES_ELEMENT, propertiesMap); } }
@Override protected BeanDefinitionBuilder parseHandler(Element element, ParserContext parserContext) { final BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(StoredProcOutboundGateway.class); final BeanDefinitionBuilder storedProcExecutorBuilder = StoredProcParserUtils.getStoredProcExecutorBuilder(element, parserContext); IntegrationNamespaceUtils.setValueIfAttributeDefined(storedProcExecutorBuilder, element, "is-function"); IntegrationNamespaceUtils.setValueIfAttributeDefined(storedProcExecutorBuilder, element, "return-value-required"); IntegrationNamespaceUtils.setValueIfAttributeDefined(storedProcExecutorBuilder, element, "use-payload-as-parameter-source"); IntegrationNamespaceUtils.setReferenceIfAttributeDefined(storedProcExecutorBuilder, element, "sql-parameter-source-factory"); IntegrationNamespaceUtils.setValueIfAttributeDefined(storedProcExecutorBuilder, element, "skip-undeclared-results"); final ManagedMap<String, BeanMetadataElement> returningResultSetMap = StoredProcParserUtils.getReturningResultsetBeanDefinitions(element, parserContext); if (!returningResultSetMap.isEmpty()) { storedProcExecutorBuilder.addPropertyValue("returningResultSetRowMappers", returningResultSetMap); } final AbstractBeanDefinition storedProcExecutorBuilderBeanDefinition = storedProcExecutorBuilder.getBeanDefinition(); final String gatewayId = this.resolveId(element, builder.getRawBeanDefinition(), parserContext); final String storedProcExecutorBeanName = gatewayId + ".storedProcExecutor"; parserContext.registerBeanComponent(new BeanComponentDefinition(storedProcExecutorBuilderBeanDefinition, storedProcExecutorBeanName)); builder.addConstructorArgReference(storedProcExecutorBeanName); IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "expect-single-result"); IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "reply-timeout", "sendTimeout"); IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "requires-reply"); String replyChannel = element.getAttribute("reply-channel"); if (StringUtils.hasText(replyChannel)) { builder.addPropertyReference("outputChannel", replyChannel); } return builder; }