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

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

Introduction

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

Prototype

public ManagedList() 

Source Link

Usage

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

@SuppressWarnings("unchecked")

public void customiseBeanDefinition(BeanDefinition beanDef, Element element, ParserContext parserContext) {
    List paramBeanList = new ManagedList();
    NodeList nodeList = element.getChildNodes();
    for (int i = 0; i < nodeList.getLength(); i++) {
        Node node = nodeList.item(i);
        if (node.getNodeType() == Node.ELEMENT_NODE) {
            String localName = node.getLocalName();
            if ("param".equals(localName)) {
                RootBeanDefinition bean = new RootBeanDefinition();
                bean.setAbstract(false);
                bean.setBeanClass(ParamBean.class);
                bean.setLazyInit(false);
                bean.setAutowireMode(Autowire.BY_NAME.value());
                Element paramElement = (Element) node;
                String paramName = paramElement.getAttribute("paramName");
                String paramValue = paramElement.getAttribute("paramValue");
                String type = paramElement.getAttribute("type");
                String override = paramElement.getAttribute("override");
                String pattern = paramElement.getAttribute("pattern");
                bean.getPropertyValues().addPropertyValue("paramName", paramName);
                bean.getPropertyValues().addPropertyValue("paramValue", paramValue);
                bean.getPropertyValues().addPropertyValue("type", type);
                bean.getPropertyValues().addPropertyValue("pattern", pattern);
                if (StringUtils.isNotEmpty(override)) {
                    RootBeanDefinition over = new RootBeanDefinition();
                    over.setAbstract(false);
                    over.setBeanClass(Boolean.class);
                    over.setLazyInit(false);
                    over.getConstructorArgumentValues().addIndexedArgumentValue(0, override);
                    bean.getPropertyValues().addPropertyValue("override", over);
                }//from   w w w  .j ava 2s. c  o m
                paramBeanList.add(bean);
            }
        }
    }
    beanDef.getPropertyValues().addPropertyValue("paramBeanList", paramBeanList);
}

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

@SuppressWarnings("unchecked")

public void customiseBeanDefinition(BeanDefinition beanDef, Element element, ParserContext parserContext) {
    List excelBeanList = new ManagedList();
    NodeList nodeList = element.getChildNodes();
    for (int i = 0; i < nodeList.getLength(); i++) {
        Node node = nodeList.item(i);
        if (node.getNodeType() == Node.ELEMENT_NODE) {
            String localName = node.getLocalName();
            if ("write".equals(localName) || "read".equals(localName)) {
                RootBeanDefinition bean = new RootBeanDefinition();
                bean.setAbstract(false);
                bean.setBeanClass(ExcelExecBean.class);
                bean.setLazyInit(false);
                bean.setAutowireMode(Autowire.BY_NAME.value());
                Element paramElement = (Element) node;
                String paramName = paramElement.getAttribute("paramName");
                String resultName = paramElement.getAttribute("resultName");
                String resource = paramElement.getAttribute("resource");
                String sheetName = paramElement.getAttribute("sheetName");
                String columns = paramElement.getAttribute("columns");
                String columnsVarName = paramElement.getAttribute("columnsVarName");
                String sheetVarName = paramElement.getAttribute("sheetVarName");
                String typeMapStr = paramElement.getAttribute("typeMap");
                String resourceVarName = paramElement.getAttribute("resourceVarName");
                Map<String, String> typeMap = new HashMap<String, String>();
                if ("read".equals(localName)) {
                    for (String type : typeMapStr.split(";")) {
                        typeMap.put(type.split("=>")[0], type.split("=>")[1]);
                    }/*from  ww w  . j a  v a2 s .  com*/
                }
                bean.getPropertyValues().addPropertyValue("paramName", paramName);
                bean.getPropertyValues().addPropertyValue("resultName", resultName);
                bean.getPropertyValues().addPropertyValue("sheetName", sheetName);
                if (StringUtils.isNotEmpty(columns)) {
                    bean.getPropertyValues().addPropertyValue("columns", columns.split(","));
                }
                bean.getPropertyValues().addPropertyValue("resource", resource);
                bean.getPropertyValues().addPropertyValue("typeMap", typeMap);
                bean.getPropertyValues().addPropertyValue("columnsVarName", columnsVarName);
                bean.getPropertyValues().addPropertyValue("sheetVarName", sheetVarName);
                bean.getPropertyValues().addPropertyValue("resourceVarName", resourceVarName);
                if ("write".equals(localName)) {
                    bean.getPropertyValues().addPropertyValue("read", false);
                }
                excelBeanList.add(bean);
            }
        }
    }
    beanDef.getPropertyValues().addPropertyValue("excelExecBeanList", excelBeanList);

}

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

protected void doParse(Element element, BeanDefinitionBuilder bean) {
    final ManagedList<Object> actions = new ManagedList<>();
    final NodeList actionNodes = element.getElementsByTagName("*");
    if (actionNodes != null && actionNodes.getLength() != 0) {
        for (int i = 0; i < actionNodes.getLength(); i++) {
            final Node node = actionNodes.item(i);
            final String type = node.getLocalName();
            if (type.equalsIgnoreCase("method")) {
                actions.add(node.getTextContent());
            } else if (type.equalsIgnoreCase("action")) {
                actions.add(new RuntimeBeanReference(node.getTextContent()));
            } else {
                throw new IllegalArgumentException("Unknown element type: " + type);
            }/*  w w  w.  jav a  2 s  .  c om*/
        }
    }
    bean.addPropertyValue("actions", actions);
}

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

@SuppressWarnings({ "unchecked", "rawtypes" })
public void customiseBeanDefinition(BeanDefinition beanDef, Element element, ParserContext parserContext) {
    this.setBeanDefinitionStringProperty("elementName", beanDef, element);
    this.setBeanDefinitionStringProperty("collectionName", beanDef, element);
    String commit = element.getAttribute("stepCommit");
    if (StringUtils.isNotEmpty(commit)) {
        beanDef.getPropertyValues().addPropertyValue("stepCommit", Boolean.parseBoolean(commit));
    }// w  w w . ja  v a  2s .  com
    String iteratorProcessors = element.getAttribute("iteratorProcessors");
    List iteratorProcessorList = new ManagedList();
    for (String nextDataProcess : iteratorProcessors.split(",")) {
        nextDataProcess = nextDataProcess.trim();
        iteratorProcessorList.add(new RuntimeBeanReference(nextDataProcess));
    }
    beanDef.getPropertyValues().addPropertyValue("iteratorProcessors", iteratorProcessorList);
}

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

@SuppressWarnings("unchecked")

public void customiseBeanDefinition(BeanDefinition beanDef, Element element, ParserContext parserContext) {
    String jdbcTemplate = element.getAttribute("jdbcTemplate");
    beanDef.getPropertyValues().addPropertyValue("jdbcTemplate", new RuntimeBeanReference(jdbcTemplate));
    List jdbcExecBeanList = new ManagedList();
    NodeList nodeList = element.getChildNodes();
    for (int i = 0; i < nodeList.getLength(); i++) {
        Node node = nodeList.item(i);
        if (node.getNodeType() == Node.ELEMENT_NODE) {
            String localName = node.getLocalName();
            if ("exec".equals(localName)) {
                RootBeanDefinition bean = new RootBeanDefinition();
                bean.setAbstract(false);
                bean.setBeanClass(JdbcExecBean.class);
                bean.setLazyInit(false);
                bean.setAutowireMode(Autowire.BY_NAME.value());

                Element jdbcExecElement = (Element) node;
                String batch = jdbcExecElement.getAttribute("batch");
                String paramName = jdbcExecElement.getAttribute("paramName");
                String resultName = jdbcExecElement.getAttribute("resultName");
                String paramNameMap = jdbcExecElement.getAttribute("paramNameMap");
                String singleRow = jdbcExecElement.getAttribute("singleRow");
                String clazz = jdbcExecElement.getAttribute("clazz");
                String sql = jdbcExecElement.getTextContent();
                if (StringUtils.isNotEmpty(paramNameMap)) {
                    Map<String, String> map = new HashMap<String, String>();
                    for (String pnm : paramNameMap.split(";")) {
                        String contextName = pnm.split("=>")[0].trim();
                        String ibatisName = pnm.split("=>")[1].trim();
                        map.put(contextName, ibatisName);
                    }//from   www .java 2  s .co  m
                    bean.getPropertyValues().addPropertyValue("paramNameMap", map);
                }
                if (StringUtils.isNotEmpty(batch)) {
                    bean.getPropertyValues().addPropertyValue("batch", Boolean.parseBoolean(batch));
                }
                if (StringUtils.isNotEmpty(singleRow)) {
                    bean.getPropertyValues().addPropertyValue("singleRow", Boolean.parseBoolean(singleRow));
                }
                if (StringUtils.isNotEmpty(clazz)) {
                    try {
                        bean.getPropertyValues().addPropertyValue("clazz", Class.forName(clazz));
                    } catch (Exception e) {
                        throw new RuntimeException(e);
                    }
                }
                bean.getPropertyValues().addPropertyValue("paramName", paramName);
                bean.getPropertyValues().addPropertyValue("resultName", resultName);
                bean.getPropertyValues().addPropertyValue("sql", sql);
                jdbcExecBeanList.add(bean);
            }
        }
    }
    beanDef.getPropertyValues().addPropertyValue("jdbcExecBeanList", jdbcExecBeanList);
}

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

@SuppressWarnings("unchecked")

public void customiseBeanDefinition(BeanDefinition beanDef, Element element, ParserContext parserContext) {
    this.setBeanDefinitionStringProperty("elementName", beanDef, element);
    this.setBeanDefinitionStringProperty("step", beanDef, element);
    this.setBeanDefinitionStringProperty("start", beanDef, element);
    this.setBeanDefinitionStringProperty("end", beanDef, element);
    String commit = element.getAttribute("stepCommit");
    if (StringUtils.isNotEmpty(commit)) {
        beanDef.getPropertyValues().addPropertyValue("stepCommit", Boolean.parseBoolean(commit));
    }/*from   www.j  a v a  2 s .c o m*/
    String iteratorProcessors = element.getAttribute("iteratorProcessors");
    List iteratorProcessorList = new ManagedList();
    for (String nextDataProcess : iteratorProcessors.split(",")) {
        nextDataProcess = nextDataProcess.trim();
        iteratorProcessorList.add(new RuntimeBeanReference(nextDataProcess));
    }
    beanDef.getPropertyValues().addPropertyValue("iteratorProcessors", iteratorProcessorList);
}

From source file:org.urbantower.j4s.spring.ServerParser.java

@Override
public BeanDefinition parse(Element element, ParserContext parserContext) {
    BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(SpringServer.class);

    //set port/* w w  w . j ava2  s  .c o m*/
    String port = element.getAttribute("http-port");
    builder.addPropertyValue("httpPort", Integer.parseInt(port));

    //parse & set handlers
    ManagedList<BeanDefinition> handlers = new ManagedList<>();

    if (element.hasAttribute("handler")) {
        String handlerRef = element.getAttribute("handler");
        builder.addPropertyValue("handler", new RuntimeBeanReference(handlerRef));
    } else {
        List<Element> childs = DomUtils.getChildElements(element);
        if (childs != null && childs.size() > 0) {
            BeanDefinition handlerDef = parserContext.getDelegate().parseCustomElement(childs.get(0),
                    builder.getBeanDefinition());
            builder.addPropertyValue("handler", handlerDef);
        }
    }

    //get id
    String id = parserContext.getReaderContext().generateBeanName(builder.getBeanDefinition());
    if (element.hasAttribute("id")) {
        id = element.getAttribute("id");
    }

    //get the thread-pool
    if (element.hasAttribute("thread-pool")) {
        builder.addConstructorArgValue(new RuntimeBeanReference(element.getAttribute("thread-pool")));
    }

    //register server def.
    parserContext.getRegistry().registerBeanDefinition(id, builder.getBeanDefinition());
    return builder.getBeanDefinition();
}

From source file:org.urbantower.j4s.spring.HandlerCollectionParser.java

@Override
protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {
    BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(HandlerCollection.class);

    List<Element> handlerElms = DomUtils.getChildElements(element);
    List<Object> handlerDefs = new ManagedList<>();
    for (Element elm : handlerElms) {
        if ("handler".equals(elm.getLocalName())) {
            RuntimeBeanReference reference = new RuntimeBeanReference(elm.getAttribute("ref"));
            handlerDefs.add(reference);//from   w w w  . j av  a  2s  .c  o m
        } else {
            BeanDefinition handlerDef = parserContext.getDelegate().parseCustomElement(elm,
                    builder.getBeanDefinition());
            handlerDefs.add(handlerDef);
        }
    }

    builder.addPropertyValue("handlers", handlerDefs);
    return builder.getBeanDefinition();
}

From source file:com.easyshop.datasource.MyBatisBeanFactoryPostProcessor.java

/**
 * @param beanFactory//from www. j  a  v a  2  s  .  c  o  m
 * @throws BeansException
 * @see org.springframework.beans.factory.config.BeanFactoryPostProcessor#postProcessBeanFactory(org.springframework.beans.factory.config.ConfigurableListableBeanFactory)
 */
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {

    BeanDefinition bd = beanFactory.getBeanDefinition(sqlSessionFactoryBeanName);
    MutablePropertyValues propertyValues = bd.getPropertyValues();
    PropertyValue propertyValue = propertyValues.getPropertyValue("mapperLocations");
    Object value = propertyValue.getValue();

    ManagedList<TypedStringValue> locations = new ManagedList<TypedStringValue>();
    for (String location : mapperLocations) {
        locations.add(new TypedStringValue(location));
        log.info(" SQL Mapper  :{} " + location);
    }

    if (value == null) {
        PropertyValue newValue = new PropertyValue(propertyValue, locations);
        propertyValues.addPropertyValue(newValue);
    } else if (value instanceof String) {
        locations.add(new TypedStringValue((String) value));
        PropertyValue newValue = new PropertyValue(propertyValue, locations);
        propertyValues.addPropertyValue(newValue);
    } else if (value instanceof ManagedList) {
        ((ManagedList) value).addAll(locations);
    } else if (value instanceof TypedStringValue) {
        locations.add((TypedStringValue) value);
        PropertyValue newValue = new PropertyValue(propertyValue, locations);
        propertyValues.addPropertyValue(newValue);
    }
}

From source file:com.bstek.dorado.spring.ClassTypeListShortCutDecorator.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();

    ManagedList list = null;/* www. ja v  a  2s. c  o  m*/
    boolean firstPropertyValue = propertyValues.getPropertyValue(IMPL_TYPES) == null;

    if (!firstPropertyValue) {
        list = (ManagedList) (propertyValues.getPropertyValue(IMPL_TYPES).getValue());
    } else {
        list = new ManagedList();
        list.setSource(node);
        list.setMergeEnabled(true);
        propertyValues.addPropertyValue(IMPL_TYPES, list);
        beanDef.setPropertyValues(propertyValues);
    }

    Element el = (Element) node;
    String className = el.getAttribute("name");
    try {
        list.add(Class.forName(className));
    } catch (ClassNotFoundException e) {
        logger.warn(e, e);
    }
    return definition;
}