@Override protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) { if (parserContext.getRegistry().containsBeanDefinition(CredentialsProviderFactoryBean.CREDENTIALS_PROVIDER_BEAN_NAME)) { parserContext.getReaderContext().error("Multiple <context-credentials/> detected. The <context-credentials/> is only allowed once per application context", element); } List<Element> elements = DomUtils.getChildElements(element); ManagedList<BeanDefinition> credentialsProviders = new ManagedList<>(elements.size()); for (Element credentialsProviderElement : elements) { if ("simple-credentials".equals(credentialsProviderElement.getLocalName())) { credentialsProviders.add(getCredentialsProvider(STATIC_CREDENTIALS_PROVIDER_BEAN_CLASS_NAME, getCredentials(credentialsProviderElement, parserContext))); } if ("instance-profile-credentials".equals(credentialsProviderElement.getLocalName())) { credentialsProviders.add(getCredentialsProvider(INSTANCE_CREDENTIALS_PROVIDER_BEAN_CLASS_NAME)); } if ("profile-credentials".equals(credentialsProviderElement.getLocalName())) { credentialsProviders.add(getCredentialsProvider(PROFILE_CREDENTIALS_PROVIDER_BEAN_CLASS_NAME, getProfileConfiguration(credentialsProviderElement).toArray())); } } builder.addConstructorArgValue(credentialsProviders); replaceDefaultCredentialsProvider(parserContext.getRegistry(), CredentialsProviderFactoryBean.CREDENTIALS_PROVIDER_BEAN_NAME); }
@Override protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) { if (parserContext.getRegistry().containsBeanDefinition(CredentialsProviderFactoryBean.CREDENTIALS_PROVIDER_BEAN_NAME)) { parserContext.getReaderContext().error("Multiple <context-credentials/> detected. The <context-credentials/> is only allowed once per application context", element); } List<Element> elements = DomUtils.getChildElements(element); ManagedList<BeanDefinition> credentialsProviders = new ManagedList<>(elements.size()); for (Element credentialsProviderElement : elements) { if ("simple-credentials".equals(credentialsProviderElement.getLocalName())) { credentialsProviders.add(getCredentialsProvider(STATIC_CREDENTIALS_PROVIDER_BEAN_CLASS_NAME, getCredentials(credentialsProviderElement, parserContext))); } if ("instance-profile-credentials".equals(credentialsProviderElement.getLocalName())) { credentialsProviders.add(getCredentialsProvider(INSTANCE_CREDENTIALS_PROVIDER_BEAN_CLASS_NAME)); } if ("profile-credentials".equals(credentialsProviderElement.getLocalName())) { credentialsProviders.add(getCredentialsProvider(PROFILE_CREDENTIALS_PROVIDER_BEAN_CLASS_NAME, getProfileConfiguration(credentialsProviderElement).toArray())); } } builder.addConstructorArgValue(credentialsProviders); replaceDefaultCredentialsProvider(parserContext.getRegistry(), CredentialsProviderFactoryBean.CREDENTIALS_PROVIDER_BEAN_NAME); }