Search in sources :

Example 1 with Qi4jApplicationBootstrap

use of org.qi4j.library.spring.bootstrap.Qi4jApplicationBootstrap in project qi4j-sdk by Qi4j.

the class Qi4jBootstrapBeanDefinitionParser method createQi4jApplicationBootstrap.

private Qi4jApplicationBootstrap createQi4jApplicationBootstrap(Element anElement, ParserContext aParserContext) {
    String bootstrapClassString = anElement.getAttribute(CLASS);
    hasText(bootstrapClassString);
    XmlReaderContext readerContext = aParserContext.getReaderContext();
    Class<?> bootstrapClass;
    try {
        bootstrapClass = forName(bootstrapClassString);
    } catch (ClassNotFoundException e) {
        readerContext.error("Qi4j bootstrap class [" + bootstrapClassString + "] is not found.", anElement);
        return null;
    }
    if (!Qi4jApplicationBootstrap.class.isAssignableFrom(bootstrapClass)) {
        readerContext.error(CLASS + "attribute is not an instance of [" + Qi4jApplicationBootstrap.class.getName() + "] class", anElement);
        return null;
    }
    Qi4jApplicationBootstrap bootstrap = null;
    try {
        bootstrap = (Qi4jApplicationBootstrap) instantiateClass(bootstrapClass);
    } catch (BeanInstantiationException e) {
        readerContext.error("Fail to instantiate qi4j bootstrap class [" + bootstrapClassString + "]", anElement, e);
    }
    return bootstrap;
}
Also used : XmlReaderContext(org.springframework.beans.factory.xml.XmlReaderContext) BeanInstantiationException(org.springframework.beans.BeanInstantiationException) Qi4jApplicationBootstrap(org.qi4j.library.spring.bootstrap.Qi4jApplicationBootstrap)

Example 2 with Qi4jApplicationBootstrap

use of org.qi4j.library.spring.bootstrap.Qi4jApplicationBootstrap in project qi4j-sdk by Qi4j.

the class Qi4jBootstrapBeanDefinitionParser method parse.

@Override
public final BeanDefinition parse(Element anElement, ParserContext aParserContext) {
    Qi4jApplicationBootstrap bootstrap = createQi4jApplicationBootstrap(anElement, aParserContext);
    AbstractBeanDefinition factoryBeanDefinition = createQi4jApplicationFactoryBeanDefinition(bootstrap);
    registerBean(aParserContext, factoryBeanDefinition);
    return factoryBeanDefinition;
}
Also used : AbstractBeanDefinition(org.springframework.beans.factory.support.AbstractBeanDefinition) Qi4jApplicationBootstrap(org.qi4j.library.spring.bootstrap.Qi4jApplicationBootstrap)

Aggregations

Qi4jApplicationBootstrap (org.qi4j.library.spring.bootstrap.Qi4jApplicationBootstrap)2 BeanInstantiationException (org.springframework.beans.BeanInstantiationException)1 AbstractBeanDefinition (org.springframework.beans.factory.support.AbstractBeanDefinition)1 XmlReaderContext (org.springframework.beans.factory.xml.XmlReaderContext)1