Example usage for org.springframework.data.repository.config RepositoryConfiguration getRepositoryInterface

List of usage examples for org.springframework.data.repository.config RepositoryConfiguration getRepositoryInterface

Introduction

In this page you can find the example usage for org.springframework.data.repository.config RepositoryConfiguration getRepositoryInterface.

Prototype

String getRepositoryInterface();

Source Link

Document

Returns the interface name of the repository.

Usage

From source file:com._4dconcept.springframework.data.marklogic.repository.config.MarklogicRepositoryConfigurationExtensionTest.java

private static void assertDoesNotHaveRepo(Class<?> repositoryInterface,
        Collection<RepositoryConfiguration<RepositoryConfigurationSource>> configs) {

    for (RepositoryConfiguration<?> config : configs) {
        if (config.getRepositoryInterface().equals(repositoryInterface.getName())) {
            fail("Expected not to find config for repository interface ".concat(repositoryInterface.getName()));
        }/*from w  w  w .  ja v a2 s . com*/
    }
}

From source file:com._4dconcept.springframework.data.marklogic.repository.config.MarklogicRepositoryConfigurationExtensionTest.java

private static void assertHasRepo(Class<?> repositoryInterface,
        Collection<RepositoryConfiguration<RepositoryConfigurationSource>> configs) {

    for (RepositoryConfiguration<?> config : configs) {
        if (config.getRepositoryInterface().equals(repositoryInterface.getName())) {
            return;
        }/*  w ww .j  a v  a 2  s .  c  om*/
    }

    fail("Expected to find config for repository interface ".concat(repositoryInterface.getName())
            .concat(" but got ").concat(configs.toString()));
}

From source file:org.agilemicroservices.autoconfigure.orm.RepositoryBeanDefinitionBuilder.java

/**
 * Builds a new {@link BeanDefinitionBuilder} from the given {@link BeanDefinitionRegistry} and {@link ResourceLoader}
 * ./*www .j  ava2 s  .  c om*/
 *
 * @param configuration must not be {@literal null}.
 * @return
 */
public BeanDefinitionBuilder build(RepositoryConfiguration<?> configuration) {

    Assert.notNull(registry, "BeanDefinitionRegistry must not be null!");
    Assert.notNull(resourceLoader, "ResourceLoader must not be null!");

    String factoryBeanName = configuration.getRepositoryFactoryBeanName();
    factoryBeanName = StringUtils.hasText(factoryBeanName) ? factoryBeanName
            : extension.getRepositoryFactoryClassName();

    BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(factoryBeanName);

    builder.getRawBeanDefinition().setSource(configuration.getSource());
    builder.addPropertyValue("repositoryInterface", configuration.getRepositoryInterface());
    builder.addPropertyValue("queryLookupStrategyKey", configuration.getQueryLookupStrategyKey());
    builder.addPropertyValue("lazyInit", configuration.isLazyInit());
    builder.addPropertyValue("repositoryBaseClass", configuration.getRepositoryBaseClassName());

    NamedQueriesBeanDefinitionBuilder definitionBuilder = new NamedQueriesBeanDefinitionBuilder(
            extension.getDefaultNamedQueryLocation());

    if (StringUtils.hasText(configuration.getNamedQueriesLocation())) {
        definitionBuilder.setLocations(configuration.getNamedQueriesLocation());
    }

    builder.addPropertyValue("namedQueries", definitionBuilder.build(configuration.getSource()));

    String customImplementationBeanName = registerCustomImplementation(configuration);

    if (customImplementationBeanName != null) {
        builder.addPropertyReference("customImplementation", customImplementationBeanName);
        builder.addDependsOn(customImplementationBeanName);
    }

    RootBeanDefinition evaluationContextProviderDefinition = new RootBeanDefinition(
            ExtensionAwareEvaluationContextProvider.class);
    evaluationContextProviderDefinition.setSource(configuration.getSource());

    builder.addPropertyValue("evaluationContextProvider", evaluationContextProviderDefinition);

    return builder;
}

From source file:org.agilemicroservices.autoconfigure.orm.RepositoryConfigurationDelegate.java

/**
 * Registers the found repositories in the given {@link BeanDefinitionRegistry}.
 *
 * @param registry/*from w ww . j a  va  2  s  .c om*/
 * @param extension
 * @return {@link BeanComponentDefinition}s for all repository bean definitions found.
 */
public List<BeanComponentDefinition> registerRepositoriesIn(BeanDefinitionRegistry registry,
        RepositoryConfigurationExtension extension) {

    extension.registerBeansForRoot(registry, configurationSource);

    RepositoryBeanDefinitionBuilder builder = new RepositoryBeanDefinitionBuilder(registry, extension,
            resourceLoader, environment);
    List<BeanComponentDefinition> definitions = new ArrayList<BeanComponentDefinition>();

    for (RepositoryConfiguration<? extends RepositoryConfigurationSource> configuration : extension
            .getRepositoryConfigurations(configurationSource, resourceLoader, inMultiStoreMode)) {

        BeanDefinitionBuilder definitionBuilder = builder.build(configuration);

        extension.postProcess(definitionBuilder, configurationSource);

        AbstractBeanDefinition beanDefinition = definitionBuilder.getBeanDefinition();
        String beanName = beanNameGenerator.generateBeanName(beanDefinition, registry);

        if (LOGGER.isDebugEnabled()) {
            LOGGER.debug(REPOSITORY_REGISTRATION, extension.getModuleName(), beanName,
                    configuration.getRepositoryInterface(), extension.getRepositoryFactoryClassName());
        }

        registry.registerBeanDefinition(beanName, beanDefinition);
        definitions.add(new BeanComponentDefinition(beanDefinition, beanName));
    }

    return definitions;
}

From source file:org.springframework.data.repository.config.RepositoryBeanDefinitionParser.java

/**
 * Registers a generic repository factory bean for a bean with the given name and the provided configuration context.
 * //from   www  . j  av  a  2  s.  c o m
 * @param parser
 * @param name
 * @param context
 */
private void registerGenericRepositoryFactoryBean(
        RepositoryConfiguration<XmlRepositoryConfigurationSource> configuration, ParserContext parser) {

    RepositoryBeanDefinitionBuilder definitionBuilder = new RepositoryBeanDefinitionBuilder(configuration,
            extension);

    try {

        BeanDefinitionBuilder builder = definitionBuilder.build(parser.getRegistry(),
                parser.getReaderContext().getResourceLoader());

        extension.postProcess(builder, configuration.getConfigurationSource());

        AbstractBeanDefinition beanDefinition = builder.getBeanDefinition();
        beanDefinition.setSource(configuration.getSource());

        if (LOG.isDebugEnabled()) {
            LOG.debug("Registering repository: " + configuration.getBeanId() + " - Interface: "
                    + configuration.getRepositoryInterface() + " - Factory: "
                    + extension.getRepositoryFactoryClassName());
        }

        BeanComponentDefinition definition = new BeanComponentDefinition(beanDefinition,
                configuration.getBeanId());
        parser.registerBeanComponent(definition);
    } catch (RuntimeException e) {
        handleError(e, configuration.getConfigurationSource().getElement(), parser.getReaderContext());
    }
}