Example usage for org.springframework.beans.factory.support ManagedMap ManagedMap

List of usage examples for org.springframework.beans.factory.support ManagedMap ManagedMap

Introduction

In this page you can find the example usage for org.springframework.beans.factory.support ManagedMap ManagedMap.

Prototype

public ManagedMap() 

Source Link

Usage

From source file:com.clican.pluto.dataprocess.spring.parser.ConditionProcessorParser.java

@SuppressWarnings("unchecked")

public void customiseBeanDefinition(BeanDefinition beanDef, Element element, ParserContext parserContext) {
    NodeList nodeList = element.getChildNodes();
    ManagedMap processorMap = new ManagedMap();
    ManagedMap exceptionMap = new ManagedMap();
    for (int i = 0; i < nodeList.getLength(); i++) {
        Node node = nodeList.item(i);
        if (node.getNodeType() == Node.ELEMENT_NODE) {
            String localName = node.getLocalName();
            if ("cond".equals(localName)) {
                Element condElement = (Element) node;
                String expr = condElement.getAttribute("expr");
                String nextDataProcessor = condElement.getAttribute("nextDataProcessor");
                String exception = condElement.getAttribute("exception");
                if (StringUtils.isNotEmpty(exception)) {
                    exceptionMap.put(expr, exception);
                } else if (StringUtils.isNotEmpty(nextDataProcessor)) {
                    processorMap.put(expr, new RuntimeBeanReference(nextDataProcessor));
                } else {
                    processorMap.put(expr, null);
                }/*from   ww w.j  av  a  2 s .  co  m*/
            }
        }
    }
    beanDef.getPropertyValues().addPropertyValue("exceptionMap", exceptionMap);
    beanDef.getPropertyValues().addPropertyValue("dataProcessorMap", processorMap);
}

From source file:org.drools.container.spring.namespace.EventListenersUtil.java

public static void parseEventListeners(ParserContext parserContext, BeanDefinitionBuilder factory,
        Element element) {//from www.j  av a  2 s . c om
    ManagedMap completeListenersMap = new ManagedMap();

    List<Element> eventListeners = DomUtils.getChildElementsByTagName(element, ELEMENT_AGENDA_EVENT_LISTENER);
    if (eventListeners != null) {
        ManagedMap listeners = parseEventListenersByType(parserContext, eventListeners,
                TYPE_AGENDA_EVENT_LISTENER);
        completeListenersMap.putAll(listeners);
    }

    eventListeners = DomUtils.getChildElementsByTagName(element, ELEMENT_PROCESS_EVENT_LISTENER);
    if (eventListeners != null) {
        ManagedMap listeners = parseEventListenersByType(parserContext, eventListeners,
                TYPE_PROCESS_EVENT_LISTENER);
        completeListenersMap.putAll(listeners);
    }

    eventListeners = DomUtils.getChildElementsByTagName(element, ELEMENT_WORKING_MEMORY_EVENT_LISTENER);
    if (eventListeners != null) {
        ManagedMap listeners = parseEventListenersByType(parserContext, eventListeners,
                TYPE_WORKING_MEMORY_EVENT_LISTENER);
        completeListenersMap.putAll(listeners);
    }

    factory.addPropertyValue("eventListeners", completeListenersMap);
}

From source file:com.github.xdcrafts.flower.spring.impl.xml.FeatureBeanDefinitionHandler.java

protected void doParse(Element element, BeanDefinitionBuilder bean) {
    final ManagedMap<Object, Object> extensions = new ManagedMap<>();
    final NodeList bindingNodes = element.getElementsByTagNameNS("http://xdcrafts.github.com/schema/flower",
            "binding");
    if (bindingNodes != null && bindingNodes.getLength() != 0) {
        for (int i = 0; i < bindingNodes.getLength(); i++) {
            final Node bindingNode = bindingNodes.item(i);
            final String extension = bindingNode.getAttributes().getNamedItem("extension").getNodeValue();
            final String selector = bindingNode.getAttributes().getNamedItem("selector").getNodeValue();
            extensions.put(new RuntimeBeanReference(extension), new RuntimeBeanReference(selector));
        }/*ww w.j a va 2s. c o m*/
    }
    bean.addPropertyValue("extensions", extensions);
}

From source file:com.github.xdcrafts.flower.spring.impl.xml.ExtensionBeanDefinitionHandler.java

protected void doParse(Element element, BeanDefinitionBuilder bean) {
    final Map<Object, Object> configuration = new ManagedMap<>();
    final Node keywordValueNode = element
            .getElementsByTagNameNS("http://xdcrafts.github.com/schema/flower", "keyword-value").item(0);
    final Node predicateNode = element
            .getElementsByTagNameNS("http://xdcrafts.github.com/schema/flower", "predicate").item(0);
    if (keywordValueNode != null) {
        configuration.put("keyword-value", keywordValueNode.getTextContent());
    }/*from   w  ww.  j a va  2 s . c  o  m*/
    if (predicateNode != null) {
        configuration.put("predicate", new RuntimeBeanReference(predicateNode.getTextContent()));
    }
    bean.addPropertyReference("action", element.getAttribute("action")).addPropertyValue("configuration",
            configuration);
}

From source file:biz.c24.io.spring.integration.config.XPathHeaderEnricherParser.java

@Override
protected void parseTransformer(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
    ManagedMap<String, Object> headers = new ManagedMap<String, Object>();
    this.processHeaders(element, headers, parserContext);
    builder.addConstructorArgValue(headers);
    IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "default-overwrite");
    IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "should-skip-nulls");
}

From source file:org.mule.module.activiti.config.ActionChildDefinitionParser.java

protected void parseChild(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
    super.parseChild(element, parserContext, builder);

    Map result = new ManagedMap();

    element.setAttribute("class", this.valueClass.getCanonicalName());
    element.setAttribute("name", "_activiti_action_" + actionsCount.incrementAndGet());

    BeanDefinition definition = new OrphanDefinitionParser(this.valueClass, false).parse(element,
            parserContext);/*from   w ww.  j  a  v  a2 s  .  c  o m*/

    result.put(this.key, definition);

    builder.addPropertyValue("sourceMap", result);
    builder.addPropertyValue("targetMapClass", HashMap.class);
}

From source file:org.apache.smscserver.config.spring.CommandFactoryBeanDefinitionParser.java

/**
 * {@inheritDoc}/*from   ww w  . ja v a 2 s.c  om*/
 */
@SuppressWarnings("unchecked")
@Override
protected void doParse(final Element element, final ParserContext parserContext,
        final BeanDefinitionBuilder builder) {

    BeanDefinitionBuilder factoryBuilder = BeanDefinitionBuilder
            .genericBeanDefinition(CommandFactoryFactory.class);

    ManagedMap commands = new ManagedMap();

    List<Element> childs = SpringUtil.getChildElements(element);

    for (Element commandElm : childs) {
        String name = commandElm.getAttribute("protocol-id");
        Object bean = SpringUtil.parseSpringChildElement(commandElm, parserContext, builder);
        commands.put(name, bean);
    }

    factoryBuilder.addPropertyValue("commandMap", commands);

    if (StringUtils.hasText(element.getAttribute("use-default"))) {
        factoryBuilder.addPropertyValue("useDefaultCommands",
                Boolean.valueOf(element.getAttribute("use-default")));
    }

    BeanDefinition factoryDefinition = factoryBuilder.getBeanDefinition();
    String factoryId = parserContext.getReaderContext().generateBeanName(factoryDefinition);

    BeanDefinitionHolder factoryHolder = new BeanDefinitionHolder(factoryDefinition, factoryId);
    this.registerBeanDefinition(factoryHolder, parserContext.getRegistry());

    // set the factory on the listener bean
    builder.getRawBeanDefinition().setFactoryBeanName(factoryId);
    builder.getRawBeanDefinition().setFactoryMethodName("createCommandFactory");

}

From source file:org.apache.ftpserver.config.spring.CommandFactoryBeanDefinitionParser.java

/**
 * {@inheritDoc}//from   w w  w  . j  a v a  2  s.  c om
 */
@Override
protected void doParse(final Element element, final ParserContext parserContext,
        final BeanDefinitionBuilder builder) {

    BeanDefinitionBuilder factoryBuilder = BeanDefinitionBuilder
            .genericBeanDefinition(CommandFactoryFactory.class);

    ManagedMap commands = new ManagedMap();

    List<Element> childs = SpringUtil.getChildElements(element);

    for (Element commandElm : childs) {
        String name = commandElm.getAttribute("name");
        Object bean = SpringUtil.parseSpringChildElement(commandElm, parserContext, builder);
        commands.put(name, bean);
    }

    factoryBuilder.addPropertyValue("commandMap", commands);

    if (StringUtils.hasText(element.getAttribute("use-default"))) {
        factoryBuilder.addPropertyValue("useDefaultCommands",
                Boolean.valueOf(element.getAttribute("use-default")));
    }

    BeanDefinition factoryDefinition = factoryBuilder.getBeanDefinition();
    String factoryId = parserContext.getReaderContext().generateBeanName(factoryDefinition);

    BeanDefinitionHolder factoryHolder = new BeanDefinitionHolder(factoryDefinition, factoryId);
    registerBeanDefinition(factoryHolder, parserContext.getRegistry());

    // set the factory on the listener bean
    builder.getRawBeanDefinition().setFactoryBeanName(factoryId);
    builder.getRawBeanDefinition().setFactoryMethodName("createCommandFactory");

}

From source file:org.opencredo.esper.integration.config.xml.EsperWireTapChannelsParser.java

@SuppressWarnings("unchecked")
@Override//from   w ww.  j  a v  a 2  s  .  c o m
protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {

    String defaultWireTapRef = element.getAttribute("default-wire-tap");

    List<Element> channelElements = (List<Element>) DomUtils.getChildElementsByTagName(element, "channel");

    ManagedMap channelPatternMappings = new ManagedMap();

    for (Element channelElement : channelElements) {

        Pattern pattern = Pattern.compile(channelElement.getAttribute("pattern"));

        String wireTapRef = channelElement.getAttribute("wire-tap");

        if (!StringUtils.hasText(wireTapRef) && !StringUtils.hasText(defaultWireTapRef)) {
            parserContext.getReaderContext().error(
                    "At least one of 'default-wire-tap' or 'wire-tap' must be provided.", channelElement);
        }

        if (StringUtils.hasText(wireTapRef)) {
            channelPatternMappings.put(pattern, new RuntimeBeanReference(wireTapRef));
        } else {
            channelPatternMappings.put(pattern, new RuntimeBeanReference(defaultWireTapRef));
        }

    }

    builder.addConstructorArgValue(channelPatternMappings);
}

From source file:com.bstek.dorado.spring.MapEntryShortCutDecorator.java

@SuppressWarnings({ "unchecked", "rawtypes" })
public BeanDefinitionHolder decorate(Node node, BeanDefinitionHolder definition, ParserContext parserContext) {
    AbstractBeanDefinition beanDef = (AbstractBeanDefinition) definition.getBeanDefinition();
    MutablePropertyValues propertyValues = (beanDef.getPropertyValues() == null) ? new MutablePropertyValues()
            : beanDef.getPropertyValues();

    ManagedMap map = null;/*from   ww w . j av  a 2 s  .co  m*/
    boolean firstPropertyValue = propertyValues.getPropertyValue(property) == null;

    if (!firstPropertyValue) {
        map = (ManagedMap) (propertyValues.getPropertyValue(property).getValue());
    } else {
        map = new ManagedMap();
        map.setSource(node);
        map.setMergeEnabled(true);
        propertyValues.addPropertyValue(property, map);
        beanDef.setPropertyValues(propertyValues);
    }

    Element el = (Element) node;
    String key = el.getAttribute("key");
    String value = el.getAttribute("value");
    String valueRef = el.getAttribute("value-ref");

    Object entryValue = null;
    if (StringUtils.isNotEmpty(value)) {
        entryValue = value;
    } else if (StringUtils.isNotEmpty(valueRef)) {
        RuntimeBeanReference ref = new RuntimeBeanReference(valueRef);
        ref.setSource(parserContext.getReaderContext().extractSource(el));
        entryValue = ref;
    } else {
        Element beanEl = DomUtils.getChildElementByTagName(el, "bean");
        if (beanEl != null) {
            entryValue = parserContext.getDelegate().parseBeanDefinitionElement(beanEl);
        }
    }

    if (supportsMultiKey && StringUtils.isNotEmpty(key)) {
        for (String k : StringUtils.split(key, KEY_DELIM)) {
            map.put(k, entryValue);
        }
    } else {
        map.put(key, entryValue);
    }
    return definition;
}