Package org.hibernate.search.engine.metadata.impl

Examples of org.hibernate.search.engine.metadata.impl.TypeMetadata


      return new IspnLuceneLikePredicate(queryBuilder, Strings.join(propertyPath, "."), patternValue);
   }

   @Override
   public IsNullPredicate<Query> getIsNullPredicate(Class<?> entityType, List<String> propertyPath) {
      TypeMetadata typeMetadata = propertyHelper.getLeafTypeMetadata(entityType, propertyPath.toArray(new String[propertyPath.size()]));

//      String nullToken;
//      if (propertyHelper.isEmbedded(entityType, propertyPath)) {
//         nullToken = ((EmbeddedTypeMetadata) typeMetadata).getEmbeddedNullToken();
//      } else {
View Full Code Here


          conversionContext.popProperty();
        }
      }
    }

    final TypeMetadata metadata = builderIndexedEntity.getMetadata();
    processFieldsForProjection( metadata, fields, result, document, conversionContext );
    return result;
  }
View Full Code Here

      }
      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?

        TypeMetadata typeMetadata = metadataProvider.getTypeMetadataFor( mappedClass );
        final DocumentBuilderContainedEntity<?> documentBuilder = new DocumentBuilderContainedEntity(
            mappedXClass, typeMetadata, cfg.getReflectionManager(), optimizationBlackListedTypes, cfg.getInstanceInitializer()
        );
        //TODO enhance that, I don't like to expose EntityState
        if ( documentBuilder.getEntityState() != EntityState.NON_INDEXABLE ) {
          documentBuildersContainedEntities.put( mappedClass, documentBuilder );
        }
      }
      bindFilterDefs( mappedXClass );
      //TODO should analyzer def for classes at their same level???
    }

    IndexManagerHolder indexesFactory = factoryState.getAllIndexesManager();

    // Create all IndexManagers, configure and start them:
    for ( XClass mappedXClass : rootIndexedEntities ) {
      Class mappedClass = classMappings.get( mappedXClass );
      MutableEntityIndexBinding entityIndexBinding = indexesFactory.buildEntityIndexBinding( mappedXClass, mappedClass, cfg, buildContext );

      // interceptor might use non indexed state
      if ( entityIndexBinding.getEntityIndexingInterceptor() != null ) {
        optimizationBlackListedTypes.add( mappedXClass );
      }

      // Create all DocumentBuilderIndexedEntity
      // FIXME DocumentBuilderIndexedEntity needs to be built by a helper method receiving Class<T> to infer T properly
      // XClass unfortunately is not (yet) genericized: TODO ?
      TypeMetadata typeMetadata = metadataProvider.getTypeMetadataFor( mappedClass );
      final DocumentBuilderIndexedEntity<?> documentBuilder =
          new DocumentBuilderIndexedEntity(
              mappedXClass,
              typeMetadata,
              context,
View Full Code Here

      }
      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?

        TypeMetadata typeMetadata = metadataProvider.getTypeMetadataFor( mappedClass );
        final DocumentBuilderContainedEntity documentBuilder = new DocumentBuilderContainedEntity(
            mappedXClass,
            typeMetadata,
            searchConfiguration.getReflectionManager(),
            optimizationBlackListedTypes,
            searchConfiguration.getInstanceInitializer()
        );
        //TODO enhance that, I don't like to expose EntityState
        if ( documentBuilder.getEntityState() != EntityState.NON_INDEXABLE ) {
          documentBuildersContainedEntities.put( mappedClass, documentBuilder );
        }
      }
      bindFilterDefs( mappedXClass );
      //TODO should analyzer def for classes at their same level???
    }

    IndexManagerHolder indexesFactory = factoryState.getAllIndexesManager();

    // Create all IndexManagers, configure and start them:
    for ( XClass mappedXClass : rootIndexedEntities ) {
      Class mappedClass = classMappings.get( mappedXClass );
      MutableEntityIndexBinding entityIndexBinding = indexesFactory.buildEntityIndexBinding(
          mappedXClass,
          mappedClass,
          searchConfiguration,
          buildContext
      );

      // interceptor might use non indexed state
      if ( entityIndexBinding.getEntityIndexingInterceptor() != null ) {
        optimizationBlackListedTypes.add( mappedXClass );
      }

      // Create all DocumentBuilderIndexedEntity
      // FIXME DocumentBuilderIndexedEntity needs to be built by a helper method receiving Class<T> to infer T properly
      // XClass unfortunately is not (yet) genericized: TODO ?
      TypeMetadata typeMetadata = metadataProvider.getTypeMetadataFor( mappedClass );
      final DocumentBuilderIndexedEntity documentBuilder =
          new DocumentBuilderIndexedEntity(
              mappedXClass,
              typeMetadata,
              configContext,
View Full Code Here

    if ( isIdentifierProperty( entityIndexBinding, propertyPath ) ) {
      return true;
    }

    TypeMetadata metadata = entityIndexBinding.getDocumentBuilder().getMetadata();

    for ( int i = 0; i < propertyPath.length - 1; i++ ) {
      List<EmbeddedTypeMetadata> embeddedTypeMetadata = metadata.getEmbeddedTypeMetadata();
      metadata = getEmbeddedTypeMetadata( embeddedTypeMetadata, propertyPath[i] );
      if ( metadata == null ) {
        return false;
      }
    }

    return metadata.getPropertyMetadataForProperty( propertyPath[propertyPath.length - 1] ) != null
        || getEmbeddedTypeMetadata( metadata.getEmbeddedTypeMetadata(), propertyPath[propertyPath.length - 1] ) != null;
  }
View Full Code Here

        || getEmbeddedTypeMetadata( metadata.getEmbeddedTypeMetadata(), propertyPath[propertyPath.length - 1] ) != null;
  }

  private TypeMetadata getLeafTypeMetadata(Class<?> type, String... propertyPath) {
    EntityIndexBinding entityIndexBinding = getIndexBinding( searchFactory, type );
    TypeMetadata leafTypeMetadata = entityIndexBinding.getDocumentBuilder().getMetadata();

    for ( int i = 0; i < propertyPath.length; i++ ) {
      List<EmbeddedTypeMetadata> embeddedTypeMetadata = leafTypeMetadata.getEmbeddedTypeMetadata();
      TypeMetadata metadata = getEmbeddedTypeMetadata( embeddedTypeMetadata, propertyPath[i] );
      if ( metadata != null ) {
        leafTypeMetadata = metadata;
      }
    }
View Full Code Here

    if ( isIdentifierProperty( entityIndexBinding, propertyPath ) ) {
      return false;
    }

    TypeMetadata metadata = getLeafTypeMetadata( type, propertyPath );

    Index index = metadata.getPropertyMetadataForProperty( propertyPath[propertyPath.length - 1] ).getFieldMetadata().iterator().next().getIndex();
    return EnumSet.of( Field.Index.ANALYZED, Field.Index.ANALYZED_NO_NORMS ).contains( index );
  }
View Full Code Here

    if ( propertyPath.length == 0 ) {
      return false;
    }

    EntityIndexBinding entityIndexBinding = getIndexBinding( type );
    TypeMetadata metadata = entityIndexBinding.getDocumentBuilder().getMetadata();

    for ( int i = 0; i < propertyPath.length; i++ ) {
      List<EmbeddedTypeMetadata> embeddedTypeMetadata = metadata.getEmbeddedTypeMetadata();
      metadata = getEmbeddedTypeMetadata( embeddedTypeMetadata, propertyPath[i] );
      if ( metadata == null ) {
        break;
      }
    }
View Full Code Here

      }
      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?

        TypeMetadata typeMetadata = metadataProvider.getTypeMetadataFor( mappedClass);
        final DocumentBuilderContainedEntity<?> documentBuilder = new DocumentBuilderContainedEntity(
            mappedXClass, typeMetadata, cfg.getReflectionManager(), optimizationBlackListedTypes, cfg.getInstanceInitializer()
        );
        //TODO enhance that, I don't like to expose EntityState
        if ( documentBuilder.getEntityState() != EntityState.NON_INDEXABLE ) {
          documentBuildersContainedEntities.put( mappedClass, documentBuilder );
        }
      }
      bindFilterDefs( mappedXClass );
      //TODO should analyzer def for classes at their same level???
    }

    IndexManagerHolder indexesFactory = factoryState.getAllIndexesManager();

    // Create all IndexManagers, configure and start them:
    for ( XClass mappedXClass : rootIndexedEntities ) {
      Class mappedClass = classMappings.get( mappedXClass );
      MutableEntityIndexBinding entityIndexBinding = indexesFactory.buildEntityIndexBinding( mappedXClass, mappedClass, cfg, buildContext );

      // interceptor might use non indexed state
      if ( entityIndexBinding.getEntityIndexingInterceptor() != null ) {
        optimizationBlackListedTypes.add( mappedXClass );
      }

      // Create all DocumentBuilderIndexedEntity
      // FIXME DocumentBuilderIndexedEntity needs to be built by a helper method receiving Class<T> to infer T properly
      // XClass unfortunately is not (yet) genericized: TODO ?
      TypeMetadata typeMetadata = metadataProvider.getTypeMetadataFor( mappedClass);
      final DocumentBuilderIndexedEntity<?> documentBuilder =
          new DocumentBuilderIndexedEntity(
              mappedXClass,
              typeMetadata,
              context,
View Full Code Here

          conversionContext.popProperty();
        }
      }
    }

    final TypeMetadata metadata = builderIndexedEntity.getMetadata();
    processFieldsForProjection( metadata, fields, result, document, conversionContext );
    return result;
  }
View Full Code Here

TOP

Related Classes of org.hibernate.search.engine.metadata.impl.TypeMetadata

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.