Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-12279

Default value of @IndexedEmbedded.depth is not correctly interpreted

    XMLWordPrintable

Details

    • Task
    • Resolution: Done
    • Major
    • 12.0.0.Dev06
    • 12.0.0.Dev02
    • Embedded Querying
    • None

    Description

      There was a problem during the migration to Search 6, and the processor for the annotation @IndexedEmbedded apparently does not correctly intepret @IndexedEmbedded() as "no depth defined".

      As a result, {{@IndexedEmbedded(includePaths =

      { "foo" }

      )}} will not set the depth to 0 as it should, but to Integer.MAX_VALUE (the default defined on the @IndexedEmbedded.depth() attribute) and will end up incorrectly including the whole embedded document.

      The code to change is this (in org.hibernate.search.annotations.IndexedEmbedded):

               Integer cleanedUpMaxDepth = annotation.depth();
               if ( cleanedUpMaxDepth.equals( -1 ) ) {
                  cleanedUpMaxDepth = null;
               }
      

      It should be instead:

               Integer cleanedUpMaxDepth = annotation.depth();
               if ( cleanedUpMaxDepth.equals( Integer.MAX_VALUE ) ) {
                  cleanedUpMaxDepth = null;
               }
      

      Attachments

        Activity

          People

            rh-ee-yrodiere Yoann Rodiere
            rh-ee-yrodiere Yoann Rodiere
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: