Package org.hibernate.search.spi.impl

Examples of org.hibernate.search.spi.impl.PolymorphicIndexHierarchy


      //set the mutable structure of factory state
      rootFactory = new MutableSearchFactory();
      factoryState.setDocumentBuildersIndexedEntities( new ConcurrentHashMap<Class<?>, EntityIndexBinding>() );
      factoryState.setDocumentBuildersContainedEntities( new ConcurrentHashMap<Class<?>, DocumentBuilderContainedEntity>() );
      factoryState.setFilterDefinitions( new ConcurrentHashMap<String, FilterDef>() );
      factoryState.setIndexHierarchy( new PolymorphicIndexHierarchy() );
      factoryState.setConfigurationProperties( cfg.getProperties() );
      factoryState.setServiceManager(
          new StandardServiceManager(
              cfg,
              buildContext,
View Full Code Here


  private void initDocumentBuilders(SearchConfiguration searchConfiguration, BuildContext buildContext, SearchMapping searchMapping) {
    ConfigContext configContext = new ConfigContext( searchConfiguration, buildContext, searchMapping );

    initProgrammaticAnalyzers( configContext, searchConfiguration.getReflectionManager() );
    initProgrammaticallyDefinedFilterDef( searchConfiguration.getReflectionManager() );
    final PolymorphicIndexHierarchy indexingHierarchy = factoryState.getIndexHierarchy();
    final Map<Class<?>, EntityIndexBinding> documentBuildersIndexedEntities = factoryState.getIndexBindings();
    final Map<Class<?>, DocumentBuilderContainedEntity> documentBuildersContainedEntities = factoryState.getDocumentBuildersContainedEntities();
    final Set<XClass> optimizationBlackListedTypes = new HashSet<XClass>();
    final Map<XClass, Class<?>> classMappings = initializeClassMappings(
        searchConfiguration,
        searchConfiguration.getReflectionManager()
    );

    //we process the @Indexed classes last, so we first start all IndexManager(s).
    final List<XClass> rootIndexedEntities = new LinkedList<XClass>();
    final org.hibernate.search.engine.metadata.impl.MetadataProvider metadataProvider =
        new AnnotationMetadataProvider( searchConfiguration.getReflectionManager(), configContext );

    for ( Map.Entry<XClass, Class<?>> mapping : classMappings.entrySet() ) {
      XClass mappedXClass = mapping.getKey();
      Class<?> mappedClass = mapping.getValue();

      if ( mappedXClass.isAnnotationPresent( Indexed.class ) ) {
        if ( mappedXClass.isAbstract() ) {
          log.abstractClassesCannotInsertDocuments( mappedXClass.getName() );
          continue;
        }

        rootIndexedEntities.add( mappedXClass );
        indexingHierarchy.addIndexedClass( mappedClass );
      }
      else if ( metadataProvider.containsSearchMetadata( mappedClass ) ) {
        //FIXME DocumentBuilderIndexedEntity needs to be built by a helper method receiving Class<T> to infer T properly
        //XClass unfortunately is not (yet) genericized: TODO?
View Full Code Here

      //set the mutable structure of factory state
      rootFactory = new MutableSearchFactory();
      factoryState.setDocumentBuildersIndexedEntities( new ConcurrentHashMap<Class<?>, EntityIndexBinding>() );
      factoryState.setDocumentBuildersContainedEntities( new ConcurrentHashMap<Class<?>, DocumentBuilderContainedEntity<?>>() );
      factoryState.setFilterDefinitions( new ConcurrentHashMap<String, FilterDef>() );
      factoryState.setIndexHierarchy( new PolymorphicIndexHierarchy() );
      factoryState.setConfigurationProperties( cfg.getProperties() );
      factoryState.setServiceManager(
          new StandardServiceManager(
              cfg,
              buildContext,
View Full Code Here

  private void initDocumentBuilders(SearchConfiguration searchConfiguration, BuildContext buildContext, SearchMapping searchMapping) {
    ConfigContext configContext = new ConfigContext( searchConfiguration, buildContext, searchMapping );

    initProgrammaticAnalyzers( configContext, searchConfiguration.getReflectionManager() );
    initProgrammaticallyDefinedFilterDef( searchConfiguration.getReflectionManager() );
    final PolymorphicIndexHierarchy indexingHierarchy = factoryState.getIndexHierarchy();
    final Map<Class<?>, EntityIndexBinding> documentBuildersIndexedEntities = factoryState.getIndexBindings();
    final Map<Class<?>, DocumentBuilderContainedEntity<?>> documentBuildersContainedEntities = factoryState.getDocumentBuildersContainedEntities();
    final Set<XClass> optimizationBlackListedTypes = new HashSet<XClass>();
    final Map<XClass, Class<?>> classMappings = initializeClassMappings(
        searchConfiguration,
        searchConfiguration.getReflectionManager()
    );

    //we process the @Indexed classes last, so we first start all IndexManager(s).
    final List<XClass> rootIndexedEntities = new LinkedList<XClass>();
    final org.hibernate.search.engine.metadata.impl.MetadataProvider metadataProvider =
        new AnnotationMetadataProvider( searchConfiguration.getReflectionManager(), configContext );

    for ( Map.Entry<XClass, Class<?>> mapping : classMappings.entrySet() ) {
      XClass mappedXClass = mapping.getKey();
      Class<?> mappedClass = mapping.getValue();

      if ( mappedXClass.isAnnotationPresent( Indexed.class ) ) {
        if ( mappedXClass.isAbstract() ) {
          log.abstractClassesCannotInsertDocuments( mappedXClass.getName() );
          continue;
        }

        rootIndexedEntities.add( mappedXClass );
        indexingHierarchy.addIndexedClass( mappedClass );
      }
      else if ( metadataProvider.containsSearchMetadata( mappedClass ) ) {
        //FIXME DocumentBuilderIndexedEntity needs to be built by a helper method receiving Class<T> to infer T properly
        //XClass unfortunately is not (yet) genericized: TODO?
View Full Code Here

TOP

Related Classes of org.hibernate.search.spi.impl.PolymorphicIndexHierarchy

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.