Examples of EntityIndexBinding


Examples of org.hibernate.search.engine.spi.EntityIndexBinding

  public EntityIndexBinding getSafeIndexBindingForEntity(Class<?> entityType) {
    if ( entityType == null ) {
      throw log.nullIsInvalidIndexedType();
    }
    EntityIndexBinding entityIndexBinding = getIndexBinding( entityType );
    if ( entityIndexBinding == null ) {
      throw log.notAnIndexedType( entityType.getName() );
    }
    return entityIndexBinding;
  }
View Full Code Here

Examples of org.hibernate.search.engine.spi.EntityIndexBinding

    IndexedTypeDescriptor typeDescriptor;
    if ( indexedTypeDescriptors.containsKey( entityType ) ) {
      typeDescriptor = indexedTypeDescriptors.get( entityType );
    }
    else {
      EntityIndexBinding indexBinder = indexBindingForEntities.get( entityType );
      IndexedTypeDescriptor indexedTypeDescriptor;
      if ( indexBinder == null ) {
        indexedTypeDescriptor = new IndexedTypeDescriptorForUnindexedType(entityType);
      }
      else {
        indexedTypeDescriptor = new IndexedTypeDescriptorImpl(
            indexBinder.getDocumentBuilder().getMetadata(),
            indexBinder.getIndexManagers()
        );
      }
      indexedTypeDescriptors.put( entityType, indexedTypeDescriptor );
      typeDescriptor = indexedTypeDescriptor;
    }
View Full Code Here

Examples of org.hibernate.search.engine.spi.EntityIndexBinding

    }
    return luceneDocument;
  }

  private String objectIdInString(Class<?> entityClass, Serializable id, ConversionContext conversionContext) {
    EntityIndexBinding indexBindingForEntity = searchFactory.getIndexBinding( entityClass );
    if ( indexBindingForEntity == null ) {
      throw new SearchException( "Unable to find entity type metadata while deserializing: " + entityClass );
    }
    DocumentBuilderIndexedEntity<?> documentBuilder = indexBindingForEntity.getDocumentBuilder();
    return documentBuilder.objectToString( documentBuilder.getIdKeywordName(), id, conversionContext );
  }
View Full Code Here

Examples of org.hibernate.search.engine.spi.EntityIndexBinding

    sendWorkToShards( work, false );
  }

  private void sendWorkToShards(LuceneWork work, boolean forceAsync) {
    final Class<?> entityType = work.getEntityClass();
    EntityIndexBinding entityIndexBinding = searchFactoryImplementor.getIndexBinding( entityType );
    IndexShardingStrategy shardingStrategy = entityIndexBinding.getSelectionStrategy();
    if ( forceAsync ) {
      work.getWorkDelegate( StreamingSelectionVisitor.INSTANCE )
          .performStreamOperation( work, shardingStrategy, progressMonitor, forceAsync );
    }
    else {
View Full Code Here

Examples of org.hibernate.search.engine.spi.EntityIndexBinding

  }

  private Collection<IndexManager> uniqueIndexManagerForTypes(Collection<Class<?>> entityTypes) {
    HashMap<String,IndexManager> uniqueBackends = new HashMap<String, IndexManager>( entityTypes.size() );
    for ( Class<?> type : entityTypes ) {
      EntityIndexBinding indexBindingForEntity = searchFactoryImplementor.getIndexBinding( type );
      if ( indexBindingForEntity != null ) {
        IndexManager[] indexManagers = indexBindingForEntity.getIndexManagers();
        for ( IndexManager im : indexManagers ) {
          uniqueBackends.put( im.getIndexName(), im );
        }
      }
    }
View Full Code Here

Examples of org.hibernate.search.engine.spi.EntityIndexBinding

    }
    return -1;
  }

  private static DocumentBuilderIndexedEntity<?> getDocumentBuilder(SearchFactoryImplementor searchFactoryImplementor, Class<?> clazz) {
    EntityIndexBinding entityIndexBinding = searchFactoryImplementor.getIndexBinding(
        clazz
    );
    if ( entityIndexBinding == null ) {
      throw new SearchException( "No Lucene configuration set up for: " + clazz );
    }
    return entityIndexBinding.getDocumentBuilder();
  }
View Full Code Here

Examples of org.hibernate.search.engine.spi.EntityIndexBinding

  private void fillSimilarityMapping() {
    //TODO cleanup: this logic to select the Similarity is too complex, should likely be done in a previous phase
    final Map<Class<?>, EntityIndexBinding> documentBuildersIndexedEntities = factoryState.getIndexBindings();
    for ( Entry<Class<?>, EntityIndexBinding> entry : documentBuildersIndexedEntities.entrySet() ) {
      Class<?> clazz = entry.getKey();
      EntityIndexBinding entityIndexBinding = entry.getValue();
      Similarity entitySimilarity = entityIndexBinding.getSimilarity();
      if ( entitySimilarity == null ) {
        //might have been read from annotations, fill the missing information in the EntityIndexBinder:
        entitySimilarity = entityIndexBinding.getDocumentBuilder().getSimilarity();
        if ( entitySimilarity != null ) {
          MutableEntityIndexBinding<?> newMapping = buildTypeSafeMutableEntityBinder(
              entityIndexBinding,
              entitySimilarity
          );
          entityIndexBinding = newMapping;
          documentBuildersIndexedEntities.put( clazz, entityIndexBinding );
        }
      }
      IndexManager[] indexManagers = entityIndexBinding.getIndexManagers();
      for ( IndexManager indexManager : indexManagers ) {
        Similarity indexSimilarity = indexManager.getSimilarity();
        if ( entitySimilarity != null && indexSimilarity == null ) {
          indexManager.setSimilarity( entitySimilarity );
        }
View Full Code Here

Examples of org.hibernate.search.engine.spi.EntityIndexBinding

      Map<Class<?>, EntityIndexBinding> documentBuildersIndexedEntities,
      Map<Class<?>, DocumentBuilderContainedEntity<?>> documentBuildersContainedEntities) {
    for ( XClass xClass : optimizationBlackListX ) {
      Class<?> type = classMappings.get( xClass );
      if ( type != null ) {
        EntityIndexBinding entityIndexBinding = documentBuildersIndexedEntities.get( type );
        if ( entityIndexBinding != null ) {
          log.tracef( "Dirty checking optimizations disabled for class %s", type );
          entityIndexBinding.getDocumentBuilder().forceStateInspectionOptimizationsDisabled();
        }
        DocumentBuilderContainedEntity<?> documentBuilderContainedEntity = documentBuildersContainedEntities.get( type );
        if ( documentBuilderContainedEntity != null ) {
          log.tracef( "Dirty checking optimizations disabled for class %s", type );
          documentBuilderContainedEntity.forceStateInspectionOptimizationsDisabled();
View Full Code Here

Examples of org.hibernate.search.engine.spi.EntityIndexBinding

      throw log.needAtLeastOneIndexedEntityType();
    }

    HashMap<String, IndexManager> indexManagers = new HashMap<String, IndexManager>();
    for ( Class<?> type : entities ) {
      EntityIndexBinding entityIndexBinding = searchFactory.getSafeIndexBindingForEntity( type );
      IndexManager[] indexManagersForAllShards = entityIndexBinding.getSelectionStrategy()
          .getIndexManagersForAllShards();
      for ( IndexManager im : indexManagersForAllShards ) {
        indexManagers.put( im.getIndexName(), im );
      }
    }
View Full Code Here

Examples of org.hibernate.search.engine.spi.EntityIndexBinding

      log.trace( sb.toString() );
    }
    WorkQueuePerIndexSplitter context = new WorkQueuePerIndexSplitter();
    for ( LuceneWork work : sealedQueue ) {
      final Class<?> entityType = work.getEntityClass();
      EntityIndexBinding entityIndexBinding = entityIndexBindings.get( entityType );
      IndexShardingStrategy shardingStrategy = entityIndexBinding.getSelectionStrategy();
      work.getWorkDelegate( TransactionalSelectionVisitor.INSTANCE )
        .performOperation( work, shardingStrategy, context );
    }
    context.commitOperations( null );
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.