List of usage examples for org.springframework.beans.factory.support BeanDefinitionBuilder genericBeanDefinition
public static BeanDefinitionBuilder genericBeanDefinition(Class<?> beanClass)
From source file:org.brekka.stillingar.spring.config.ConfigurationServiceBeanDefinitionParser.java
/** * @param element/* ww w . ja v a 2s .com*/ * @return */ protected Object prepareDeltaValueInterceptor(Element element) { BeanDefinitionBuilder builder = BeanDefinitionBuilder .genericBeanDefinition(SnapshotDeltaValueInterceptor.class); return builder.getBeanDefinition(); }
From source file:org.brekka.stillingar.spring.config.ConfigurationServiceBeanDefinitionParser.java
/** * @param element//from www. j av a 2 s.c om * @return */ protected AbstractBeanDefinition prepareDefaultConfigurationSource(Element element, Engine engine) { Element defaultsElement = selectSingleChildElement(element, "defaults", true); String defaultsPath = null; String encoding = null; if (defaultsElement != null) { defaultsPath = defaultsElement.getAttribute("path"); encoding = defaultsElement.getAttribute("encoding"); } if (defaultsPath == null) { String guessPath = String.format("stillingar/%s.%s", getName(element), engine.getDefaultExtension()); URL resource = Thread.currentThread().getContextClassLoader().getResource(guessPath); if (resource != null) { defaultsPath = guessPath; } } if (defaultsPath != null) { BeanDefinitionBuilder builder = BeanDefinitionBuilder .genericBeanDefinition(DefaultConfigurationSourceFactoryBean.class); builder.addConstructorArgValue(prepareClassPathResource(defaultsPath)); builder.addConstructorArgReference(getLoaderReference(element)); builder.addConstructorArgValue(encoding == null ? null : Charset.forName(encoding)); return builder.getBeanDefinition(); } return null; }
From source file:org.brekka.stillingar.spring.config.ConfigurationServiceBeanDefinitionParser.java
/** * @param defaultsPath//from www. java 2 s . c o m * @return */ protected AbstractBeanDefinition prepareClassPathResource(String path) { BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(ClassPathResource.class); builder.addConstructorArgValue(path); return builder.getBeanDefinition(); }
From source file:org.brekka.stillingar.spring.config.ConfigurationServiceBeanDefinitionParser.java
protected AbstractBeanDefinition prepareFileSystemResource(String path) { BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(FileSystemResource.class); builder.addConstructorArgValue(path); return builder.getBeanDefinition(); }
From source file:org.brekka.stillingar.spring.config.ConfigurationServiceBeanDefinitionParser.java
protected AbstractBeanDefinition prepareXmlBeansConversionManager() { BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(ConversionManager.class); List<String> converterShortNames = Arrays.asList("BigDecimalConverter", "BigIntegerConverter", "BooleanConverter", "ByteConverter", "ByteArrayConverter", "UUIDConverter", "EnumConverter", "DoubleConverter", "ElementConverter", "FloatConverter", "IntegerConverter", "LongConverter", "ShortConverter", "StringConverter", "URIConverter", "DocumentConverter", "LocaleConverter"); ManagedList<AbstractBeanDefinition> converters = toManagedConverterList(converterShortNames, "org.brekka.stillingar.xmlbeans.conversion"); converters.addAll(//from w w w .j a v a 2 s . co m prepareTemporalConverters("org.brekka.stillingar.xmlbeans.conversion", "XmlBeansTemporalAdapter")); BeanDefinitionBuilder appCxtBeanDefBuilder = BeanDefinitionBuilder .genericBeanDefinition(ApplicationContextConverter.class); appCxtBeanDefBuilder.addConstructorArgValue(BeanDefinitionBuilder .genericBeanDefinition("org.brekka.stillingar.xmlbeans.conversion.DocumentConverter") .getBeanDefinition()); converters.add(appCxtBeanDefBuilder.getBeanDefinition()); builder.addConstructorArgValue(converters); return builder.getBeanDefinition(); }
From source file:org.brekka.stillingar.spring.config.ConfigurationServiceBeanDefinitionParser.java
protected AbstractBeanDefinition prepareDOMConversionManager() { BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(ConversionManager.class); ManagedList<AbstractBeanDefinition> converters = prepareCoreConverters(); converters.addAll(prepareTemporalConverters(TemporalAdapter.class.getPackage().getName(), TemporalAdapter.class.getSimpleName())); BeanDefinitionBuilder appCxtBeanDefBuilder = BeanDefinitionBuilder .genericBeanDefinition(ApplicationContextConverter.class); appCxtBeanDefBuilder.addConstructorArgValue( BeanDefinitionBuilder.genericBeanDefinition(DocumentConverter.class).getBeanDefinition()); converters.add(appCxtBeanDefBuilder.getBeanDefinition()); builder.addConstructorArgValue(converters); return builder.getBeanDefinition(); }
From source file:org.brekka.stillingar.spring.config.ConfigurationServiceBeanDefinitionParser.java
protected AbstractBeanDefinition prepareJAXBConversionManager() { BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(ConversionManager.class); ManagedList<AbstractBeanDefinition> converters = prepareCoreConverters(); converters// w w w .ja v a 2s . co m .addAll(prepareTemporalConverters("org.brekka.stillingar.jaxb.conversion", "JAXBTemporalAdapter")); BeanDefinitionBuilder appCxtBeanDefBuilder = BeanDefinitionBuilder .genericBeanDefinition(ApplicationContextConverter.class); appCxtBeanDefBuilder.addConstructorArgValue( BeanDefinitionBuilder.genericBeanDefinition(DocumentConverter.class).getBeanDefinition()); converters.add(appCxtBeanDefBuilder.getBeanDefinition()); builder.addConstructorArgValue(converters); return builder.getBeanDefinition(); }
From source file:org.brekka.stillingar.spring.config.ConfigurationServiceBeanDefinitionParser.java
/** * @param string// w w w. ja v a2 s.c om * @return */ protected Collection<? extends AbstractBeanDefinition> prepareTemporalConverters(String customClassPackage, String temporalAdapterClassShortName) { ManagedList<AbstractBeanDefinition> converters = new ManagedList<AbstractBeanDefinition>(); BeanDefinitionBuilder temporalBeanBuilder = BeanDefinitionBuilder .genericBeanDefinition(customClassPackage + "." + temporalAdapterClassShortName); AbstractBeanDefinition temporalBeanDef = temporalBeanBuilder.getBeanDefinition(); List<String> temporalConverterShortNames = Arrays.asList("DateConverter", "CalendarConverter"); if (ClassUtils.isPresent("org.joda.time.ReadableInstant", Thread.currentThread().getContextClassLoader())) { // JodaTime is present, add the support classes temporalConverterShortNames = new ArrayList<String>(temporalConverterShortNames); temporalConverterShortNames .addAll(Arrays.asList("DateTimeConverter", "LocalDateConverter", "LocalTimeConverter")); if (customClassPackage != null) { BeanDefinitionBuilder converterBldr = BeanDefinitionBuilder .genericBeanDefinition(customClassPackage + ".PeriodConverter"); converters.add(converterBldr.getBeanDefinition()); } } for (String shortName : temporalConverterShortNames) { BeanDefinitionBuilder converterBldr = BeanDefinitionBuilder .genericBeanDefinition("org.brekka.stillingar.core.conversion." + shortName); converterBldr.addConstructorArgValue(temporalBeanDef); converters.add(converterBldr.getBeanDefinition()); } return converters; }
From source file:org.brekka.stillingar.spring.config.ConfigurationServiceBeanDefinitionParser.java
/** * @param converters//from w w w.ja va 2s . co m * @param converterShortNames */ private static ManagedList<AbstractBeanDefinition> toManagedConverterList(List<String> converterShortNames, String packagePrefix) { ManagedList<AbstractBeanDefinition> converters = new ManagedList<AbstractBeanDefinition>(); for (String shortName : converterShortNames) { BeanDefinitionBuilder converterBldr = BeanDefinitionBuilder .genericBeanDefinition(packagePrefix + "." + shortName); converters.add(converterBldr.getBeanDefinition()); } return converters; }
From source file:nl.surfnet.spring.security.opensaml.config.ServiceProviderBeanDefinitionParser.java
@Override protected AbstractBeanDefinition parseInternal(final Element element, final ParserContext parserContext) { final String preAuthFilterRef = element.getAttribute("preauth-filter-ref"); if (StringUtils.isBlank(preAuthFilterRef)) { parserContext.getReaderContext().error("The preauth-filter-ref is mandatory", element); }// ww w . j a va 2s . c o m final String messageHandlerRef = element.getAttribute("message-handler-ref"); if (StringUtils.isBlank(messageHandlerRef)) { parserContext.getReaderContext().error("The message-handler-ref is mandatory", element); } final String certificatestoreRef = element.getAttribute("certificatestore-ref"); if (StringUtils.isBlank(certificatestoreRef)) { parserContext.getReaderContext().error("The certificatestore-ref is mandatory", element); } final String provisionerRef = element.getAttribute("provisioner-ref"); if (StringUtils.isBlank(provisionerRef)) { parserContext.getReaderContext().error("The provisioner-ref is mandatory", element); } final String authenticationManangerRef = element.getAttribute("authentication-manager-ref"); if (StringUtils.isBlank(authenticationManangerRef)) { parserContext.getReaderContext().error("The authentication-manager-ref is mandatory", element); } final String entityID = element.getAttribute("entity-id"); if (StringUtils.isBlank(entityID)) { parserContext.getReaderContext().error("The entity-id is mandatory", element); } final String assertionConsumerURI = element.getAttribute("assertion-consumer-uri"); if (StringUtils.isBlank(assertionConsumerURI)) { parserContext.getReaderContext().error("Missing or empty assertion-consumer-uri.", element); } final String poolSize = element.getAttribute("max-parser-pool-size"); try { poolSizeInt = Integer.parseInt(poolSize); } catch (NumberFormatException nfe) { parserContext.getReaderContext().error("An invalid value for max-parser-pool-size was supplied", element); } final String replayCacheLife = element.getAttribute("replay-cache-life-in-millis"); try { replayCacheDuration = Integer.parseInt(replayCacheLife); } catch (NumberFormatException nfe) { parserContext.getReaderContext().error("An invalid value for replay-cache-life-in-millis was supplied", element); } final String clockSkew = element.getAttribute("issue-instant-check-clock-skew-in-secs"); try { newClockSkew = Integer.parseInt(clockSkew); } catch (NumberFormatException nfe) { parserContext.getReaderContext() .error("An invalid value for issue-instant-check-clock-skew-in-secs was supplied", element); } final String validTime = element.getAttribute("issue-instant-check-valid-time-in-secs"); try { newExpires = Integer.parseInt(validTime); } catch (NumberFormatException nfe) { parserContext.getReaderContext() .error("An invalid value for issue-instant-check-valid-time-in-secs was supplied", element); } BeanDefinitionBuilder bootstrapBean = BeanDefinitionBuilder.genericBeanDefinition(DefaultBootstrap.class); bootstrapBean.setInitMethodName("bootstrap"); parserContext.getRegistry().registerBeanDefinition(BEAN_SAMLINITIALIZER, bootstrapBean.getBeanDefinition()); final BasicParserPool basicParserPool = new BasicParserPool(); basicParserPool.setMaxPoolSize(poolSizeInt); final HTTPPostSimpleSignDecoder httpPostSimpleSignDecoder = new HTTPPostSimpleSignDecoder(basicParserPool); final VelocityEngineFactoryBean velocityEngineFactoryBean = new VelocityEngineFactoryBean(); velocityEngineFactoryBean.setPreferFileSystemAccess(false); Properties velocityEngineProperties = new Properties(); velocityEngineProperties.setProperty("resource.loader", "classpath"); velocityEngineProperties.setProperty("classpath.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader"); velocityEngineFactoryBean.setVelocityProperties(velocityEngineProperties); VelocityEngine velocityEngine = null; try { velocityEngine = velocityEngineFactoryBean.createVelocityEngine(); } catch (IOException e) { throw new RuntimeException("Unable to create velocity engine instance"); } // Replay cache BeanDefinitionBuilder replayCacheBuilder = BeanDefinitionBuilder.genericBeanDefinition(ReplayCache.class); replayCacheBuilder.addConstructorArgValue(new MapBasedStorageService()); replayCacheBuilder.addConstructorArgValue(replayCacheDuration); parserContext.getRegistry().registerBeanDefinition(BEAN_REPLAYCACHE, replayCacheBuilder.getBeanDefinition()); // Message replay rule BeanDefinitionBuilder messageReplayRuleBuilder = BeanDefinitionBuilder .genericBeanDefinition(MessageReplayRule.class); messageReplayRuleBuilder.addConstructorArgReference(BEAN_REPLAYCACHE); parserContext.getRegistry().registerBeanDefinition("messageReplayRule", messageReplayRuleBuilder.getBeanDefinition()); // Issue instant rule BeanDefinitionBuilder issueInstantBuilder = BeanDefinitionBuilder .genericBeanDefinition(IssueInstantRule.class); issueInstantBuilder.addConstructorArgValue(newClockSkew); issueInstantBuilder.addConstructorArgValue(newExpires); parserContext.getRegistry().registerBeanDefinition("issueInstantRule", issueInstantBuilder.getBeanDefinition()); // KeyStore Credential Resolver BeanDefinitionBuilder keyStoreBuilder = BeanDefinitionBuilder .genericBeanDefinition(KeyStoreCredentialResolverDelegate.class); keyStoreBuilder.addPropertyReference("keyStore", certificatestoreRef); parserContext.getRegistry().registerBeanDefinition(BEAN_KEYSTORECREDENTIALRESOLVER, keyStoreBuilder.getBeanDefinition()); // Signature Rule Builder BeanDefinitionBuilder signatureRuleBuilder = BeanDefinitionBuilder .genericBeanDefinition(SignatureSecurityPolicyRule.class); signatureRuleBuilder.addConstructorArgValue(new SAMLSignatureProfileValidator()); signatureRuleBuilder.addPropertyReference("credentialResolver", BEAN_KEYSTORECREDENTIALRESOLVER); // List of rule beans final ManagedList<BeanMetadataElement> beanMetadataElements = new ManagedList<BeanMetadataElement>(); beanMetadataElements.add(signatureRuleBuilder.getBeanDefinition()); beanMetadataElements.add(issueInstantBuilder.getBeanDefinition()); beanMetadataElements.add(messageReplayRuleBuilder.getBeanDefinition()); // Security Policy BeanDefinitionBuilder securityPolicyDelegateBuilder = BeanDefinitionBuilder .genericBeanDefinition(SecurityPolicyDelegate.class); securityPolicyDelegateBuilder.addConstructorArgValue(beanMetadataElements); parserContext.getRegistry().registerBeanDefinition(BEAN_SECURITYPOLICY, securityPolicyDelegateBuilder.getBeanDefinition()); // Security Policy Resolver BeanDefinitionBuilder securityPolicyResolverBuilder = BeanDefinitionBuilder .genericBeanDefinition(StaticSecurityPolicyResolver.class); securityPolicyResolverBuilder.addConstructorArgReference(BEAN_SECURITYPOLICY); parserContext.getRegistry().registerBeanDefinition(BEAN_SECURITYPOLICYRESOLVER, securityPolicyResolverBuilder.getBeanDefinition()); // Message Handler BeanDefinitionBuilder postBindingAdapter = BeanDefinitionBuilder .rootBeanDefinition(SAMLMessageHandlerImpl.class); postBindingAdapter.addConstructorArgValue(httpPostSimpleSignDecoder); postBindingAdapter.addConstructorArgReference(BEAN_SECURITYPOLICYRESOLVER); postBindingAdapter.addPropertyValue("velocityEngine", velocityEngine); postBindingAdapter.addPropertyValue("entityId", entityID); parserContext.getRegistry().registerBeanDefinition(messageHandlerRef, postBindingAdapter.getBeanDefinition()); // Assertion Consumer Bean BeanDefinitionBuilder assertionComsumerBean = BeanDefinitionBuilder .genericBeanDefinition(AssertionConsumerImpl.class); assertionComsumerBean.addPropertyReference("provisioner", provisionerRef); parserContext.getRegistry().registerBeanDefinition(BEAN_ASSERTIONCONSUMER, assertionComsumerBean.getBeanDefinition()); BeanDefinitionBuilder authenticationProvider = BeanDefinitionBuilder .rootBeanDefinition(SAMLResponseAuthenticationProvider.class); authenticationProvider.addConstructorArgReference(BEAN_ASSERTIONCONSUMER); parserContext.getRegistry().registerBeanDefinition(BEAN_AUTHENTICATIONPROVIDER, authenticationProvider.getBeanDefinition()); // Pre Auth Filter final HttpSessionRequestCache requestCache = new HttpSessionRequestCache(); final AuthenticationFailureHandlerImpl authenticationFailureHandler = new AuthenticationFailureHandlerImpl( requestCache); // Authentication Filter BeanDefinitionBuilder authenticationFilter = BeanDefinitionBuilder .rootBeanDefinition(SAMLResponseAuthenticationProcessingFilter.class); authenticationFilter.addConstructorArgValue(assertionConsumerURI); authenticationFilter.addPropertyReference("SAMLMessageHandler", messageHandlerRef); authenticationFilter.addPropertyReference("authenticationManager", authenticationManangerRef); authenticationFilter.addPropertyValue("authenticationFailureHandler", authenticationFailureHandler); parserContext.getRegistry().registerBeanDefinition(preAuthFilterRef, authenticationFilter.getBeanDefinition()); return authenticationProvider.getBeanDefinition(); }