Examples of XMember


Examples of org.hibernate.annotations.common.reflection.XMember

   * @param workPlan the current work plan
   * @param currentDepth the current {@link org.hibernate.search.engine.spi.DepthValidator} object used to check the graph traversal
   */
  public void appendContainedInWorkForInstance(Object instance, WorkPlan workPlan, DepthValidator currentDepth) {
    for ( ContainedInMetadata containedInMetadata : typeMetadata.getContainedInMetadata() ) {
      XMember member = containedInMetadata.getContainedInMember();
      Object unproxiedInstance = instanceInitializer.unproxy( instance );

      DepthValidator depth = updateDepth( unproxiedInstance, containedInMetadata, currentDepth );
      depth.increaseDepth();

      if ( depth.isMaxDepthReached() ) {
        return;
      }

      Object value = ReflectionHelper.getMemberValue( unproxiedInstance, member );

      if ( value == null ) {
        continue;
      }

      if ( member.isArray() ) {
        @SuppressWarnings("unchecked")
        T[] array = (T[]) value;
        for ( T arrayValue : array ) {
          processSingleContainedInInstance( workPlan, arrayValue, depth );
        }
      }
      else if ( member.isCollection() ) {
        Collection<T> collection = null;
        try {
          collection = getActualCollection( member, value );
          collection.size(); //load it
        }
View Full Code Here

Examples of org.hibernate.annotations.common.reflection.XMember

   * @param workplan the current work plan
   * @param currentDepth the current {@link org.hibernate.search.engine.spi.DepthValidator} object used to check the graph traversal
   */
  public void appendContainedInWorkForInstance(Object instance, WorkPlan workplan, DepthValidator currentDepth) {
    for ( int i = 0; i < metadata.containedInGetters.size(); i++ ) {
      XMember member = metadata.containedInGetters.get( i );

      DepthValidator depth = updateDepth( instance, member, currentDepth );
      depth.increaseDepth();
     
      if (depth.isMaxDepthReached())
        return;

      Object value = ReflectionHelper.getMemberValue( instance, member );

      if ( value == null ) {
        continue;
      }

      if ( member.isArray() ) {
        @SuppressWarnings("unchecked")
        T[] array = (T[]) value;
        for ( T arrayValue : array ) {
          processSingleContainedInInstance( workplan, arrayValue, depth );
        }
      }
      else if ( member.isCollection() ) {
        Collection<T> collection = null;
        try {
          collection = getActualCollection( member, value );
          collection.size(); //load it
        }
View Full Code Here

Examples of org.hibernate.annotations.common.reflection.XMember

        conversionContext.popProperty();
      }
    }

    // process the indexed fields
    XMember previousMember = null;
    Object currentFieldValue = null;
    for ( int i = 0; i < propertiesMetadata.fieldNames.size(); i++ ) {
      XMember member = propertiesMetadata.fieldGetters.get( i );
      if ( previousMember != member ) {
        currentFieldValue = unproxy( ReflectionHelper.getMemberValue( unproxiedInstance, member ),
            objectInitializer );
        previousMember = member;
        if ( member.isCollection() ) {
          if ( currentFieldValue instanceof Collection ) {
            objectInitializer.initializeCollection( (Collection) currentFieldValue );
          }
          else if ( currentFieldValue instanceof Map ) {
            objectInitializer.initializeMap( (Map) currentFieldValue );
          }
        }
      }

      final FieldBridge fieldBridge = propertiesMetadata.fieldBridges.get( i );
      final String fieldName = propertiesMetadata.fieldNames.get( i );
      final FieldBridge oneWayConversionContext = conversionContext.oneWayConversionContext( fieldBridge );
      conversionContext.pushProperty( propertiesMetadata.fieldGetterNames.get( i ) );
      try {
        oneWayConversionContext.set(
            fieldName, currentFieldValue, doc,
            propertiesMetadata.getFieldLuceneOptions( i, currentFieldValue )
        );
      }
      finally {
        conversionContext.popProperty();
      }
    }

    // allow analyzer override for the fields added by the class and field bridges
    allowAnalyzerDiscriminatorOverride(
        doc, propertiesMetadata, fieldToAnalyzerMap, processedFieldNames, unproxiedInstance
    );

    // recursively process embedded objects
    for ( int i = 0; i < propertiesMetadata.embeddedGetters.size(); i++ ) {
      XMember member = propertiesMetadata.embeddedGetters.get( i );
      conversionContext.pushProperty( propertiesMetadata.embeddedFieldNames.get( i ) );
      try {
        Object value = ReflectionHelper.getMemberValue( unproxiedInstance, member );
        //TODO handle boost at embedded level: already stored in propertiesMedatada.boost
View Full Code Here

Examples of org.hibernate.annotations.common.reflection.XMember

        conversionContext.popProperty();
      }
    }

    // process the indexed fields
    XMember previousMember = null;
    Object currentFieldValue = null;
    for ( PropertyMetadata propertyMetadata : typeMetadata.getAllPropertyMetadata() ) {
      XMember member = propertyMetadata.getPropertyAccessor();
      if ( previousMember != member ) {
        currentFieldValue = unproxy(
            ReflectionHelper.getMemberValue( unproxiedInstance, member ),
            objectInitializer
        );
        previousMember = member;
        if ( member.isCollection() ) {
          if ( currentFieldValue instanceof Collection ) {
            objectInitializer.initializeCollection( (Collection) currentFieldValue );
          }
          else if ( currentFieldValue instanceof Map ) {
            objectInitializer.initializeMap( (Map) currentFieldValue );
          }
        }
      }

      try {
        conversionContext.pushProperty( propertyMetadata.getPropertyAccessorName() );

        for ( DocumentFieldMetadata fieldMetadata : propertyMetadata.getFieldMetadata() ) {
          final FieldBridge fieldBridge = fieldMetadata.getFieldBridge();
          final String fieldName = fieldMetadata.getName();
          final FieldBridge oneWayConversionContext = conversionContext.oneWayConversionContext( fieldBridge );

          oneWayConversionContext.set(
              fieldName,
              currentFieldValue,
              doc,
              typeMetadata.getFieldLuceneOptions( propertyMetadata, fieldMetadata, currentFieldValue, documentBoost )
          );
        }
      }
      finally {
        conversionContext.popProperty();
      }
    }

    // allow analyzer override for the fields added by the class and field bridges
    allowAnalyzerDiscriminatorOverride(
        doc, typeMetadata, fieldToAnalyzerMap, processedFieldNames, unproxiedInstance
    );

    // recursively process embedded objects
    for ( EmbeddedTypeMetadata embeddedTypeMetadata : typeMetadata.getEmbeddedTypeMetadata() ) {
      XMember member = embeddedTypeMetadata.getEmbeddedGetter();
      conversionContext.pushProperty( embeddedTypeMetadata.getEmbeddedFieldName() );
      try {
        Object value = ReflectionHelper.getMemberValue( unproxiedInstance, member );
        //TODO handle boost at embedded level: already stored in propertiesMedatada.boost
View Full Code Here

Examples of org.hibernate.annotations.common.reflection.XMember

   * @param workPlan the current work plan
   * @param currentDepth the current {@link org.hibernate.search.engine.spi.DepthValidator} object used to check the graph traversal
   */
  public void appendContainedInWorkForInstance(Object instance, WorkPlan workPlan, DepthValidator currentDepth) {
    for ( ContainedInMetadata containedInMetadata : typeMetadata.getContainedInMetadata() ) {
      XMember member = containedInMetadata.getContainedInMember();
      Object unproxiedInstance = instanceInitializer.unproxy( instance );

      DepthValidator depth = updateDepth( unproxiedInstance, containedInMetadata, currentDepth );
      depth.increaseDepth();

      if ( depth.isMaxDepthReached() ) {
        return;
      }

      Object value = ReflectionHelper.getMemberValue( unproxiedInstance, member );

      if ( value == null ) {
        continue;
      }

      if ( member.isArray() ) {
        @SuppressWarnings("unchecked")
        Object[] array = (Object[]) value;
        for ( Object arrayValue : array ) {
          processSingleContainedInInstance( workPlan, arrayValue, depth );
        }
      }
      else if ( member.isCollection() ) {
        Collection<?> collection = null;
        try {
          collection = getActualCollection( member, value );
          collection.size(); //load it
        }
View Full Code Here

Examples of org.hibernate.annotations.common.reflection.XMember

   * @param metadata metadata
   * @param searchFactoryImplementor the current session
   */
  protected <T> void processContainedInInstances(Object instance, List<LuceneWork> queue, PropertiesMetadata metadata, SearchFactoryImplementor searchFactoryImplementor) {
    for ( int i = 0; i < metadata.containedInGetters.size(); i++ ) {
      XMember member = metadata.containedInGetters.get( i );
      Object value = ReflectionHelper.getMemberValue( instance, member );

      if ( value == null ) {
        continue;
      }

      if ( member.isArray() ) {
        @SuppressWarnings("unchecked")
        T[] array = ( T[] ) value;
        for ( T arrayValue : array ) {
          processSingleContainedInInstance( queue, searchFactoryImplementor, arrayValue );
        }
      }
      else if ( member.isCollection() ) {
        Collection<T> collection = null;
        try {
          collection = getActualCollection( member, value );
          collection.size(); //load it
        }
View Full Code Here

Examples of org.hibernate.annotations.common.reflection.XMember

          );
    }

    // process the indexed fields
    for ( int i = 0; i < propertiesMetadata.fieldNames.size(); i++ ) {
      XMember member = propertiesMetadata.fieldGetters.get( i );
      Object value = ReflectionHelper.getMemberValue( unproxiedInstance, member );

      final FieldBridge fieldBridge = propertiesMetadata.fieldBridges.get(i);
      final String fieldName = propertiesMetadata.fieldNames.get(i);
      contextualBridge
          .setFieldBridge(fieldBridge)
          .pushMethod( member.getName() )
          .setFieldName( fieldName )
          .set(
            fieldName, value, doc,
            propertiesMetadata.getFieldLuceneOptions( i, value )
          );
      contextualBridge.popMethod();
    }

    // allow analyzer override for the fields added by the class and field bridges
    allowAnalyzerDiscriminatorOverride(
        doc, propertiesMetadata, fieldToAnalyzerMap, processedFieldNames, unproxiedInstance
    );

    // recursively process embedded objects
    for ( int i = 0; i < propertiesMetadata.embeddedGetters.size(); i++ ) {
      XMember member = propertiesMetadata.embeddedGetters.get( i );
      contextualBridge.pushMethod( member.getName() );
      Object value = ReflectionHelper.getMemberValue( unproxiedInstance, member );
      //TODO handle boost at embedded level: already stored in propertiesMedatada.boost

      if ( value == null ) {
        continue;
View Full Code Here

Examples of org.hibernate.annotations.common.reflection.XMember

    final int fieldNbr = fields.length;
    Object[] result = new Object[fieldNbr];
    ContextualException2WayBridge contextualBridge = new ContextualException2WayBridge();
    contextualBridge.setClass(clazz);
    if ( builderIndexedEntity.idKeywordName != null ) {
      final XMember member = builderIndexedEntity.idGetter;
      if ( member != null) {
        contextualBridge.pushMethod( member.getName() );
      }
      populateResult(
          builderIndexedEntity.idKeywordName,
          builderIndexedEntity.idBridge,
          Store.YES,
View Full Code Here

Examples of org.hibernate.annotations.common.reflection.XMember

    }
  }

  private void processContainedIn(Object instance, List<LuceneWork> queue, PropertiesMetadata metadata, SearchFactoryImplementor searchFactoryImplementor) {
    for (int i = 0; i < metadata.containedInGetters.size(); i++) {
      XMember member = metadata.containedInGetters.get( i );
      Object value = getMemberValue( instance, member );
      if ( value == null ) continue;

      if ( member.isArray() ) {
        for (Object arrayValue : (Object[]) value) {
          //highly inneficient but safe wrt the actual targeted class
          Class valueClass = Hibernate.getClass( arrayValue );
          DocumentBuilder builder = searchFactoryImplementor.getDocumentBuilders().get( valueClass );
          if ( builder == null ) continue;
          processContainedInValue( arrayValue, queue, valueClass, builder, searchFactoryImplementor );
        }
      }
      else if ( member.isCollection() ) {
        Collection collection;
        if ( Map.class.equals( member.getCollectionClass() ) ) {
          //hum
          collection = ( (Map) value ).values();
        }
        else {
          collection = (Collection) value;
View Full Code Here

Examples of org.hibernate.annotations.common.reflection.XMember

          propertiesMetadata.classStores.get(i),
          propertiesMetadata.classIndexes.get(i),
          propertiesMetadata.classBoosts.get(i));
    }
    for (int i = 0; i < propertiesMetadata.fieldNames.size(); i++) {
      XMember member = propertiesMetadata.fieldGetters.get( i );
      Object value = getMemberValue( unproxiedInstance, member );
      propertiesMetadata.fieldBridges.get( i ).set(
          propertiesMetadata.fieldNames.get( i ), value, doc, propertiesMetadata.fieldStore.get( i ),
          propertiesMetadata.fieldIndex.get( i ), getBoost( member )
      );
    }
    for (int i = 0; i < propertiesMetadata.embeddedGetters.size(); i++) {
      XMember member = propertiesMetadata.embeddedGetters.get( i );
      Object value = getMemberValue( unproxiedInstance, member );
      //TODO handle boost at embedded level: already stored in propertiesMedatada.boost

      if ( value == null ) continue;
      PropertiesMetadata embeddedMetadata = propertiesMetadata.embeddedPropertiesMetadata.get( i );
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.