List of usage examples for org.springframework.beans.factory.support ManagedList ManagedList
public ManagedList()
From source file:com.apporiented.spring.override.ListMergeProcessor.java
@SuppressWarnings({ "rawtypes", "unchecked" }) public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { BeanDefinition bd = beanFactory.getBeanDefinition(ref); if (property == null) { //Assert.state(ListFactoryBean.class.getName().equals(bd.getBeanClassName()), // "Bean [" + ref + "] must be a ListFactoryBean"); property = "sourceList"; }//w ww .ja v a2 s . c om log.debug("Adding " + values.size() + " items to " + ref + "." + property + ": " + values); PropertyValue pv = bd.getPropertyValues().getPropertyValue(property); if (pv == null) { // No list set on the target bean, create a new one ... ManagedList list = new ManagedList(); list.addAll(values); bd.getPropertyValues().addPropertyValue(property, list); } else { Object value = pv.getValue(); if (value instanceof RuntimeBeanReference) { RuntimeBeanReference ref = (RuntimeBeanReference) value; value = beanFactory.getBean(ref.getBeanName()); } else if (value instanceof TypedStringValue) { TypedStringValue tsv = (TypedStringValue) value; ManagedList list = new ManagedList(); list.addAll(values); list.add(tsv.getValue()); bd.getPropertyValues().addPropertyValue(property, list); return; } Assert.isInstanceOf(List.class, value); List list = (List) value; if (append) { list.addAll(values); } else { for (int i = values.size() - 1; i >= 0; i--) { list.add(0, values.get(i)); } } } }
From source file:com.mtgi.analytics.aop.config.v11.BtPersisterChainBeanDefinitionParser.java
@Override @SuppressWarnings("unchecked") protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) { //propagate shared template factory into sub-components if necessary. this would not be //necessary if parserContext gave us access to the entire component stack instead of just the //top. In that case, deeply nested children could search up the stack until they found //the template. perhaps a future version of the Spring API will support this. DefaultListableBeanFactory template = findEnclosingTemplateFactory(parserContext); if (template != null) parserContext.pushContainingComponent(new TemplateComponentDefinition(element.getNodeName(), parserContext.extractSource(element), template)); try {//from w ww .j a v a 2 s. com //parse delegate persister definitions ManagedList persisters = new ManagedList(); persisters.setSource(element); NodeList nodes = element.getChildNodes(); for (int i = 0; i < nodes.getLength(); ++i) { Node node = nodes.item(i); if (node.getNodeType() == Node.ELEMENT_NODE) { String namespaceUri = node.getNamespaceURI(); NamespaceHandler handler = parserContext.getReaderContext().getNamespaceHandlerResolver() .resolve(namespaceUri); Object def = handler == null ? parserContext.getDelegate().parsePropertySubElement((Element) node, builder.getRawBeanDefinition()) : handler.parse((Element) node, parserContext); persisters.add(def); } } builder.addPropertyValue("delegates", persisters); } finally { if (template != null) parserContext.popContainingComponent(); } //register persister implementation with parent. if (parserContext.isNested()) { AbstractBeanDefinition def = builder.getBeanDefinition(); String id = element.hasAttribute("id") ? element.getAttribute("id") : parserContext.getReaderContext().generateBeanName(def); BeanDefinitionHolder holder = new BeanDefinitionHolder(def, id); BtManagerBeanDefinitionParser.registerNestedBean(holder, "persister", parserContext); } }
From source file:com.dinstone.jrpc.spring.spi.ServerBeanDefinitionParser.java
private List<BeanDefinition> getServiceBeanDefinition(Element element, ParserContext parserContext) { List<BeanDefinition> sblist = new ManagedList<BeanDefinition>(); Element services = getChildElement(element, "services"); if (services != null) { NodeList snl = services.getChildNodes(); for (int i = 0; i < snl.getLength(); i++) { Node node = snl.item(i); if (node instanceof Element && nodeMatch(node, "service")) { Element sn = (Element) node; BeanDefinitionBuilder sbd = BeanDefinitionBuilder.genericBeanDefinition(ServiceBean.class); String si = sn.getAttribute("interface"); sbd.addPropertyValue("service", si); String so = sn.getAttribute("implement"); sbd.addPropertyReference("instance", so); String sg = sn.getAttribute("group"); sbd.addPropertyValue("group", sg); String st = sn.getAttribute("timeout"); sbd.addPropertyValue("timeout", st); sblist.add(sbd.getBeanDefinition()); }/*from w w w . ja v a 2 s . c o m*/ } } return sblist; }
From source file:edu.internet2.middleware.shibboleth.common.config.security.ChainingSignatureTrustEngineBeanDefinitionParser.java
/** {@inheritDoc} */ @SuppressWarnings("unchecked") protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) { log.info("Parsing configuration for {} trust engine with id: {}", XMLHelper.getXSIType(element).getLocalPart(), element.getAttributeNS(null, "id")); ManagedList managedChain = new ManagedList(); Element child = XMLHelper.getFirstChildElement(element); while (child != null) { QName childName = XMLHelper.getNodeQName(child); if (TRUST_ENGINE_NAME.equals(childName)) { log.debug("Parsing chain trust engine member {}", element.getAttributeNS(null, "id")); managedChain.add(SpringConfigurationUtils.parseCustomElement(child, parserContext)); } else if (TRUST_ENGINE_REF_NAME.equals(childName)) { log.debug("Parsing chain trust engine member reference {}", element.getAttributeNS(null, "ref")); managedChain.add(SpringConfigurationUtils.parseCustomElementReference(child, "ref", parserContext)); } else {/* ww w . j ava 2 s .c o m*/ log.error("Unsupported child element of chaining trust engine '{}' encountered with name: {}", element.getAttributeNS(null, "id"), childName); throw new FatalBeanException("Unsupported child element of chaining trust engine encountered"); } child = XMLHelper.getNextSiblingElement(child); } builder.addPropertyValue("chain", managedChain); }
From source file:de.itsvs.cwtrpc.controller.config.AutowiredRemoteServiceGroupConfigBeanDefinitionParser.java
@Override protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) { final String[] basePackages; ManagedList<BeanDefinition> filters; getBaseServiceConfigParser().update(element, parserContext, builder); if (element.hasAttribute(XmlNames.BASE_PACKAGES_ATTR)) { basePackages = StringUtils.tokenizeToStringArray(element.getAttribute(XmlNames.BASE_PACKAGES_ATTR), ConfigurableApplicationContext.CONFIG_LOCATION_DELIMITERS); builder.addPropertyValue("basePackages", basePackages); }/*from www . j a v a 2 s. c o m*/ filters = new ManagedList<BeanDefinition>(); for (Element child : DomUtils.getChildElementsByTagName(element, XmlNames.INCLUDE_FILTER_ELEMENT)) { filters.add(parseFilter(child, parserContext)); } if (!filters.isEmpty()) { builder.addPropertyValue("includeFilters", filters); } filters = new ManagedList<BeanDefinition>(); for (Element child : DomUtils.getChildElementsByTagName(element, XmlNames.EXCLUDE_FILTER_ELEMENT)) { filters.add(parseFilter(child, parserContext)); } if (!filters.isEmpty()) { builder.addPropertyValue("excludeFilters", filters); } }
From source file:org.drools.container.spring.namespace.EventListenersUtil.java
private static ManagedMap parseEventListenersByType(ParserContext parserContext, List<Element> eventListeners, String listenerType) {/*from w ww . j ava2 s.c o m*/ ManagedMap listeners = new ManagedMap(); for (Element listener : eventListeners) { String ref = listener.getAttribute("ref"); // if this a bean ref if (StringUtils.hasText(ref)) { if (TYPE_AGENDA_EVENT_LISTENER.equalsIgnoreCase(listenerType) || TYPE_PROCESS_EVENT_LISTENER.equalsIgnoreCase(listenerType) || TYPE_WORKING_MEMORY_EVENT_LISTENER.equalsIgnoreCase(listenerType)) { ManagedList subList = (ManagedList) listeners.get(listenerType); if (subList == null) { subList = new ManagedList(); listeners.put(listenerType, subList); } subList.add(new RuntimeBeanReference(ref)); } else { throw new IllegalArgumentException( "eventListener must be of type 'agenda-event-listener or 'process-event-listener' or 'working-memory-event-listener'."); } } else { //not a ref check if it is a nested bean Element nestedBean = DomUtils.getChildElementByTagName(listener, "bean"); if (nestedBean == null) { //no 'ref' and no nested beans, add the default debug listeners part of the core libs. Object obj = null; if (TYPE_AGENDA_EVENT_LISTENER.equalsIgnoreCase(listenerType)) { obj = new DebugAgendaEventListener(); } else if (TYPE_PROCESS_EVENT_LISTENER.equalsIgnoreCase(listenerType)) { obj = new DebugProcessEventListener(); } else if (TYPE_WORKING_MEMORY_EVENT_LISTENER.equalsIgnoreCase(listenerType)) { obj = new DebugWorkingMemoryEventListener(); } else { throw new IllegalArgumentException( "eventListener must be of type 'agenda-event-listener or 'process-event-listener' or 'working-memory-event-listener'."); } ManagedList subList = (ManagedList) listeners.get(listenerType); if (subList == null) { subList = new ManagedList(); listeners.put(listenerType, subList); } subList.add(obj); } else { //String type = StringUtils.hasText(listenerType) ? listenerType: "infer"; Object obj = parserContext.getDelegate().parsePropertySubElement(nestedBean, null, null); ManagedList subList = (ManagedList) listeners.get(listenerType); if (subList == null) { subList = new ManagedList(); listeners.put(listenerType, subList); } subList.add(obj); } } } return listeners; }
From source file:de.itsvs.cwtrpc.controller.config.RemoteServiceGroupConfigBeanDefinitionParser.java
@Override protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) { final ManagedList<BeanMetadataElement> serviceConfigs; final ManagedList<BeanMetadataElement> childGroupConfigs; getBaseServiceConfigParser().update(element, parserContext, builder); serviceConfigs = new ManagedList<BeanMetadataElement>(); for (Element child : DomUtils.getChildElementsByTagName(element, XmlNames.SERVICE_ELEMENT)) { serviceConfigs.add(createServiceConfigBeanDefinition(child, parserContext)); }// w w w. j a v a 2 s .c o m childGroupConfigs = new ManagedList<BeanMetadataElement>(); for (Element child : DomUtils.getChildElementsByTagName(element, XmlNames.SERVICE_GROUP_ELEMENT)) { childGroupConfigs.add(parseNested(child, parserContext)); } for (Element child : DomUtils.getChildElementsByTagName(element, XmlNames.SERVICE_GROUP_REF_ELEMENT)) { final String name; final RuntimeBeanReference beanReference; name = child.getAttribute(XmlNames.BEAN_REFERENCE_NAME_ATTR); if (!StringUtils.hasText(name)) { parserContext.getReaderContext().error("Module reference must not be empty", parserContext.extractSource(element)); } beanReference = new RuntimeBeanReference(name); beanReference.setSource(parserContext.extractSource(element)); childGroupConfigs.add(beanReference); } for (Element child : DomUtils.getChildElementsByTagName(element, XmlNames.AUTOWIRED_SERVICE_GROUP_ELEMENT)) { childGroupConfigs .add(getAutowiredServiceGroupConfigBeanDefinitionParser().parseNested(child, parserContext)); } builder.addConstructorArgValue(serviceConfigs); builder.addConstructorArgValue(childGroupConfigs); }
From source file:fr.acxio.tools.agia.alfresco.configuration.SimpleNodeFactory.java
public NodeList getNodes(EvaluationContext sContext) throws ConversionException { Assert.notNull(sContext, "The evaluation context is mandatory."); ManagedList<Node> aResult = new ManagedList<Node>(); if (nodeDefinition instanceof FolderDefinition) { // Regular usecase FolderDefinition aFolderDefinition = (FolderDefinition) nodeDefinition; addFolderNode(aResult, aFolderDefinition, null, sContext); }// ww w .j ava2 s . c om // TODO : special usecase: document with a path in its name. Folders // should be created as default ones _without_ coyping document // properties. // If the document has no path in its name, then a default // app:company_home is added. return new NodeList(aResult); }
From source file:net.javacrumbs.springws.test.xml.MockWsMessageSenderBeanDefinitionParser.java
@Override protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder bean) { Map<?, ?> namespaces = parseNamespaces(element, parserContext, bean); Map<?, ?> discriminators = parseDiscriminators(element, parserContext, bean); Element resourceConfig = DomUtils.getChildElementByTagName(element, "resource-config"); String pathPrefix = resourceConfig.getAttribute("pathPrefix"); String prependUri = resourceConfig.getAttribute("prependUri"); String ignoreWhitespace = resourceConfig.getAttribute("ignoreWhitespace"); BeanDefinitionBuilder templateProcessor = getTemplateProcessor(resourceConfig); bean.addPropertyValue("autowireRequestProcessors", element.getAttribute("autowireRequestProcessors")); BeanDefinitionBuilder expressionResolver = BeanDefinitionBuilder .rootBeanDefinition(XPathExpressionResolver.class); expressionResolver.addPropertyValue("namespaceMap", namespaces); ManagedList requestProcessors = new ManagedList(); BeanDefinitionBuilder controlResourceLookup = BeanDefinitionBuilder .rootBeanDefinition(PayloadRootBasedResourceLookup.class); controlResourceLookup.addPropertyValue("expressionResolver", expressionResolver.getBeanDefinition()); controlResourceLookup.addPropertyValue("discriminators", discriminators); controlResourceLookup.addPropertyValue("pathPrefix", pathPrefix); controlResourceLookup.addPropertyValue("prependUri", prependUri); controlResourceLookup.addPropertyValue("pathSuffix", "request.xml"); controlResourceLookup.addPropertyValue("templateProcessor", templateProcessor.getBeanDefinition()); BeanDefinitionBuilder xmlCompareRequestValidator = BeanDefinitionBuilder .rootBeanDefinition(XmlCompareRequestValidator.class); xmlCompareRequestValidator.addPropertyValue("controlResourceLookup", controlResourceLookup.getBeanDefinition()); xmlCompareRequestValidator.addPropertyValue("ignoreWhitespace", ignoreWhitespace); addRequestProcessor(requestProcessors, xmlCompareRequestValidator); String[] schemas = parseRequestValidationSchemas(element, bean); if (schemas != null) { BeanDefinitionBuilder schemaRequestValidator = BeanDefinitionBuilder .rootBeanDefinition(SchemaRequestValidator.class); schemaRequestValidator.addPropertyValue("schemas", schemas); addRequestProcessor(requestProcessors, schemaRequestValidator); }//ww w .ja v a2s . c o m BeanDefinitionBuilder responseResourceLookup = BeanDefinitionBuilder .rootBeanDefinition(PayloadRootBasedResourceLookup.class); responseResourceLookup.addPropertyValue("expressionResolver", expressionResolver.getBeanDefinition()); responseResourceLookup.addPropertyValue("discriminators", discriminators); responseResourceLookup.addPropertyValue("pathPrefix", pathPrefix); responseResourceLookup.addPropertyValue("prependUri", prependUri); responseResourceLookup.addPropertyValue("pathSuffix", "response.xml"); responseResourceLookup.addPropertyValue("templateProcessor", templateProcessor.getBeanDefinition()); BeanDefinitionBuilder defaultResponseGenerator = BeanDefinitionBuilder .rootBeanDefinition(DefaultResponseGenerator.class); defaultResponseGenerator.addPropertyValue("resourceLookup", responseResourceLookup.getBeanDefinition()); addRequestProcessor(requestProcessors, defaultResponseGenerator); bean.addPropertyValue("requestProcessors", requestProcessors); if (TRUE.equals(element.getAttribute("autoinjectMock"))) { AbstractBeanDefinition injector = BeanDefinitionBuilder .rootBeanDefinition(MockMessageSenderInjector.class).getBeanDefinition(); BeanDefinitionHolder holder = new BeanDefinitionHolder(injector, parserContext.getReaderContext().generateBeanName(injector)); registerBeanDefinition(holder, parserContext.getRegistry()); } bean.addPropertyValue("interceptors", parseInterceptors(element, parserContext, bean)); }
From source file:com.cloudseal.spring.client.namespace.SAMLBeanDefinitionParserInstanceTest.java
@Before @SuppressWarnings({ "unchecked" }) public void prepareParserContext() throws IOException, SAXException, ParserConfigurationException { final XmlReaderContext readerContext = mock(XmlReaderContext.class); when(readerContext.generateBeanName(any(BeanDefinition.class))) .thenAnswer(GeneratedBeanNameAnswer.generatedBeanName()); when(readerContext.getResourceLoader()).thenReturn(new DefaultResourceLoader()); registry = new SimpleBeanDefinitionRegistry(); final BeanDefinitionBuilder filterChain = BeanDefinitionBuilder.rootBeanDefinition(FilterChainProxy.class); final Map map = new ManagedMap(); map.put("/**", new ManagedList()); filterChain.addPropertyValue("filterChainMap", map); registry.registerBeanDefinition("org.springframework.security.filterChainProxy", filterChain.getBeanDefinition()); parserContext = mock(ParserContext.class); when(parserContext.getReaderContext()).thenReturn(readerContext); when(parserContext.getRegistry()).thenReturn(registry); rootElement = domFromFile("full-config.xml", "sso"); }