Package org.hibernate.search.annotations

Examples of org.hibernate.search.annotations.IndexedEmbedded


      boolean disableOptimizations,
      TypeMetadata.Builder typeMetadataBuilder,
      ConfigContext configContext,
      PathsContext pathsContext,
      ParseContext parseContext) {
    IndexedEmbedded indexedEmbeddedAnnotation = member.getAnnotation( IndexedEmbedded.class );
    if ( indexedEmbeddedAnnotation == null ) {
      return;
    }

    parseContext.collectUnqualifiedCollectionRole( member.getName() );

    int oldMaxLevel = parseContext.getMaxLevel();
    int potentialLevel = depth( indexedEmbeddedAnnotation ) + parseContext.getLevel();
    // This is really catching a possible int overflow. depth() can return Integer.MAX_VALUE, which then can
    // overflow in case level > 0. Really this code should be rewritten (HF)
    if ( potentialLevel < 0 ) {
      potentialLevel = Integer.MAX_VALUE;
    }
    // HSEARCH-1442 recreating the behavior prior to PropertiesMetadata refactoring
    // not sure whether this is algorithmically correct though. @IndexedEmbedded processing should be refactored (HF)
    if ( potentialLevel < oldMaxLevel ) {
      parseContext.setMaxLevel( potentialLevel );
    }
    parseContext.incrementLevel();

    XClass elementClass;
    if ( void.class == indexedEmbeddedAnnotation.targetElement() ) {
      elementClass = member.getElementClass();
    }
    else {
      elementClass = reflectionManager.toXClass( indexedEmbeddedAnnotation.targetElement() );
    }

    if ( parseContext.getMaxLevel() == Integer.MAX_VALUE //infinite
        && parseContext.hasBeenProcessed( elementClass ) ) {
      throw new SearchException(
View Full Code Here


        }
      }
    }
    getAnalyzerDefs( member, context );

    IndexedEmbedded embeddedAnn = member.getAnnotation( IndexedEmbedded.class );
    if ( embeddedAnn != null ) {
      int oldMaxLevel = maxLevel;
      int potentialLevel = embeddedAnn.depth() + level;
      if ( potentialLevel < 0 ) {
        potentialLevel = Integer.MAX_VALUE;
      }
      maxLevel = potentialLevel > maxLevel ? maxLevel : potentialLevel;
      level++;

      XClass elementClass;
      if ( void.class == embeddedAnn.targetElement() ) {
        elementClass = member.getElementClass();
      }
      else {
        elementClass = reflectionManager.toXClass( embeddedAnn.targetElement() );
      }
      if ( maxLevel == Integer.MAX_VALUE //infinite
          && processedClasses.contains( elementClass ) ) {
        throw new SearchException(
            "Circular reference. Duplicate use of "
View Full Code Here

      propertiesMetadata.containedInGetters.add( member );
    }
  }

  private void checkForIndexedEmbedded(XProperty member, PropertiesMetadata propertiesMetadata, String prefix, Set<XClass> processedClasses, InitContext context) {
    IndexedEmbedded embeddedAnn = member.getAnnotation( IndexedEmbedded.class );
    if ( embeddedAnn != null ) {
      int oldMaxLevel = maxLevel;
      int potentialLevel = embeddedAnn.depth() + level;
      if ( potentialLevel < 0 ) {
        potentialLevel = Integer.MAX_VALUE;
      }
      maxLevel = potentialLevel > maxLevel ? maxLevel : potentialLevel;
      level++;

      XClass elementClass;
      if ( void.class == embeddedAnn.targetElement() ) {
        elementClass = member.getElementClass();
      }
      else {
        elementClass = reflectionManager.toXClass( embeddedAnn.targetElement() );
      }
      if ( maxLevel == Integer.MAX_VALUE //infinite
          && processedClasses.contains( elementClass ) ) {
        throw new SearchException(
            "Circular reference. Duplicate use of "
View Full Code Here

      propertiesMetadata.containedInGetters.add( member );
    }
  }

  private void checkForIndexedEmbedded(XProperty member, PropertiesMetadata propertiesMetadata, String prefix, Set<XClass> processedClasses, InitContext context) {
    IndexedEmbedded embeddedAnn = member.getAnnotation( IndexedEmbedded.class );
    if ( embeddedAnn != null ) {
      int oldMaxLevel = maxLevel;
      int potentialLevel = embeddedAnn.depth() + level;
      if ( potentialLevel < 0 ) {
        potentialLevel = Integer.MAX_VALUE;
      }
      maxLevel = potentialLevel > maxLevel ? maxLevel : potentialLevel;
      level++;

      XClass elementClass;
      if ( void.class == embeddedAnn.targetElement() ) {
        elementClass = member.getElementClass();
      }
      else {
        elementClass = reflectionManager.toXClass( embeddedAnn.targetElement() );
      }
      if ( maxLevel == Integer.MAX_VALUE //infinite
          && processedClasses.contains( elementClass ) ) {
        throw new SearchException(
            "Circular reference. Duplicate use of "
View Full Code Here

  }

  private void checkForIndexedEmbedded(XClass classHostingMember, XProperty member, PropertiesMetadata propertiesMetadata, String prefix,
                    Set<XClass> processedClasses, ConfigContext context, Set<XClass> optimizationBlackList,
                    boolean disableOptimizations, PathsContext pathsContext ) {
    IndexedEmbedded embeddedAnn = member.getAnnotation( IndexedEmbedded.class );
    if ( embeddedAnn != null ) {
      //collection role in Hibernate is made of the actual hosting class of the member (see HSEARCH-780)
      this.indexedEmbeddedCollectionRoles
          .add( StringHelper.qualify( classHostingMember.getName(), member.getName() ) );
      int oldMaxLevel = maxLevel;
      int potentialLevel = depth( embeddedAnn ) + level;
      if ( potentialLevel < 0 ) {
        potentialLevel = Integer.MAX_VALUE;
      }
      maxLevel = potentialLevel > maxLevel ? maxLevel : potentialLevel;
      level++;

      XClass elementClass;
      if ( void.class == embeddedAnn.targetElement() ) {
        elementClass = member.getElementClass();
      }
      else {
        elementClass = reflectionManager.toXClass( embeddedAnn.targetElement() );
      }

      if ( maxLevel == Integer.MAX_VALUE //infinite
          && processedClasses.contains( elementClass ) ) {
        throw new SearchException(
View Full Code Here

  }

  private void checkForIndexedEmbedded(XClass classHostingMember, XProperty member, PropertiesMetadata propertiesMetadata, String prefix,
                     Set<XClass> processedClasses, ConfigContext context, Set<XClass> optimizationBlackList,
                     boolean disableOptimizations, PathsContext pathsContext ) {
    IndexedEmbedded embeddedAnn = member.getAnnotation( IndexedEmbedded.class );
    if ( embeddedAnn != null ) {
      //collection role in Hibernate is made of the actual hosting class of the member (see HSEARCH-780)
      this.indexedEmbeddedCollectionRoles
          .add( StringHelper.qualify( classHostingMember.getName(), member.getName() ) );
      int oldMaxLevel = maxLevel;
      int potentialLevel = depth( embeddedAnn ) + level;
      if ( potentialLevel < 0 ) {
        potentialLevel = Integer.MAX_VALUE;
      }
      maxLevel = potentialLevel > maxLevel ? maxLevel : potentialLevel;
      level++;

      XClass elementClass;
      if ( void.class == embeddedAnn.targetElement() ) {
        elementClass = member.getElementClass();
      }
      else {
        elementClass = reflectionManager.toXClass( embeddedAnn.targetElement() );
      }

      if ( maxLevel == Integer.MAX_VALUE //infinite
          && processedClasses.contains( elementClass ) ) {
        throw new SearchException(
View Full Code Here

      propertiesMetadata.containedInGetters.add( member );
    }
  }

  private void checkForIndexedEmbedded(XProperty member, PropertiesMetadata propertiesMetadata, String prefix, Set<XClass> processedClasses, ConfigContext context) {
    IndexedEmbedded embeddedAnn = member.getAnnotation( IndexedEmbedded.class );
    if ( embeddedAnn != null ) {
      int oldMaxLevel = maxLevel;
      int potentialLevel = embeddedAnn.depth() + level;
      if ( potentialLevel < 0 ) {
        potentialLevel = Integer.MAX_VALUE;
      }
      maxLevel = potentialLevel > maxLevel ? maxLevel : potentialLevel;
      level++;

      XClass elementClass;
      if ( void.class == embeddedAnn.targetElement() ) {
        elementClass = member.getElementClass();
      }
      else {
        elementClass = reflectionManager.toXClass( embeddedAnn.targetElement() );
      }
      if ( maxLevel == Integer.MAX_VALUE //infinite
          && processedClasses.contains( elementClass ) ) {
        throw new SearchException(
            "Circular reference. Duplicate use of "
View Full Code Here

      boolean disableOptimizations,
      TypeMetadata.Builder typeMetadataBuilder,
      ConfigContext configContext,
      PathsContext pathsContext,
      ParseContext parseContext) {
    IndexedEmbedded indexedEmbeddedAnnotation = member.getAnnotation( IndexedEmbedded.class );
    if ( indexedEmbeddedAnnotation == null ) {
      return;
    }

    //collection role in Hibernate is made of the actual hosting class of the member (see HSEARCH-780)
    typeMetadataBuilder.addCollectionRole(
        StringHelper.qualify(
            parseContext.getCurrentClass().getName(), member.getName()
        )
    );
    int oldMaxLevel = parseContext.getMaxLevel();
    int potentialLevel = depth( indexedEmbeddedAnnotation ) + parseContext.getLevel();
    // This is really catching a possible int overflow. depth() can return Integer.MAX_VALUE, which then can
    // overflow in case level > 0. Really this code should be rewritten (HF)
    if ( potentialLevel < 0 ) {
      potentialLevel = Integer.MAX_VALUE;
    }
    // HSEARCH-1442 recreating the behavior prior to PropertiesMetadata refactoring
    // not sure whether this is algorithmically correct though. @IndexedEmbedded processing should be refactored (HF)
    if ( potentialLevel < oldMaxLevel ) {
      parseContext.setMaxLevel( potentialLevel );
    }
    parseContext.incrementLevel();

    XClass elementClass;
    if ( void.class == indexedEmbeddedAnnotation.targetElement() ) {
      elementClass = member.getElementClass();
    }
    else {
      elementClass = reflectionManager.toXClass( indexedEmbeddedAnnotation.targetElement() );
    }

    if ( parseContext.getMaxLevel() == Integer.MAX_VALUE //infinite
        && parseContext.hasBeenProcessed( elementClass ) ) {
      throw new SearchException(
View Full Code Here

TOP

Related Classes of org.hibernate.search.annotations.IndexedEmbedded

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.