private EntityManager resolveEntityManagerForQualifier(Class<? extends Annotation> emQualifier) { if (emHolder.isSet()) { return emHolder.get(); } return new QualifierBackedEntityManagerResolver(beanManager, emQualifier).resolveEntityManager(); }
if (repositoryMetadata.getQualifiers() != null) resolver = new QualifierBackedEntityManagerResolver(beanManager, repositoryMetadata.getQualifiers()); resolver = new QualifierBackedEntityManagerResolver(beanManager, Default.class);
public RepositoryMetadata init(Class<?> repositoryClass, BeanManager beanManager) { EntityViewAwareRepositoryMetadata repositoryMetadata = new EntityViewAwareRepositoryMetadata(repositoryClass); repositoryMetadata.setEntityViewManagerResolver(extractEntityViewManagerResolver(repositoryClass)); // read from looks for JPA Transactional and EntityManagerConfig to determine attributes // if those are set, don't process old annotations if (!repositoryMetadata.readFrom(repositoryClass, beanManager)) { repositoryMetadata.setEntityManagerResolverClass(extractEntityManagerResolver(repositoryClass)); repositoryMetadata.setEntityManagerFlushMode(extractEntityManagerFlushMode(repositoryClass)); if (repositoryMetadata.getEntityManagerResolverClass() != null) { Set<Bean<?>> beans = beanManager.getBeans(repositoryMetadata.getEntityManagerResolverClass()); Class<? extends Annotation> scope = beanManager.resolve(beans).getScope(); repositoryMetadata.setEntityManagerResolverIsNormalScope(beanManager.isNormalScope(scope)); } else { EntityManagerResolver resolver; if (repositoryMetadata.getQualifiers() != null) { resolver = new QualifierBackedEntityManagerResolver(beanManager, repositoryMetadata.getQualifiers()); } else { resolver = new QualifierBackedEntityManagerResolver(beanManager, Default.class); } repositoryMetadata.setUnmanagedResolver(resolver); repositoryMetadata.setEntityManagerResolverIsNormalScope(false); } } repositoryMetadata.setEntityMetadata(entityMetadataInitializer.init(repositoryMetadata)); initializeMethodsMetadata(repositoryMetadata, beanManager); return repositoryMetadata; }
public RepositoryMetadata init(Class<?> repositoryClass, BeanManager beanManager) { EntityViewAwareRepositoryMetadata repositoryMetadata = new EntityViewAwareRepositoryMetadata(repositoryClass); repositoryMetadata.setEntityViewManagerResolver(extractEntityViewManagerResolver(repositoryClass)); // read from looks for JPA Transactional and EntityManagerConfig to determine attributes // if those are set, don't process old annotations if (!repositoryMetadata.readFrom(repositoryClass, beanManager)) { repositoryMetadata.setEntityManagerResolverClass(extractEntityManagerResolver(repositoryClass)); repositoryMetadata.setEntityManagerFlushMode(extractEntityManagerFlushMode(repositoryClass)); if (repositoryMetadata.getEntityManagerResolverClass() != null) { Set<Bean<?>> beans = beanManager.getBeans(repositoryMetadata.getEntityManagerResolverClass()); Class<? extends Annotation> scope = beanManager.resolve(beans).getScope(); repositoryMetadata.setEntityManagerResolverIsNormalScope(beanManager.isNormalScope(scope)); } else { EntityManagerResolver resolver; if (repositoryMetadata.getQualifiers() != null) { resolver = new QualifierBackedEntityManagerResolver(beanManager, repositoryMetadata.getQualifiers()); } else { resolver = new QualifierBackedEntityManagerResolver(beanManager, Default.class); } repositoryMetadata.setUnmanagedResolver(resolver); repositoryMetadata.setEntityManagerResolverIsNormalScope(false); } } repositoryMetadata.setEntityMetadata(entityMetadataInitializer.init(repositoryMetadata)); initializeMethodsMetadata(repositoryMetadata, beanManager); return repositoryMetadata; }