• Type: Improvement Improvement
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 3.6, 4.0-ALPHA
    • Fix Version/s: 3.6, 4.0-ALPHA
    • Component/s: core/search
    • Labels:
    • Lucene Fields:
      New, Patch Available


      MTQ#getEnum() is protected and in order to access it you need to be in the package.

      here is a relevant snipped from the mailing list discussion

      getEnum() is protected so it is intended to be called *only* by subclasses (that's the idea behind protected methods). They are also accessible by other classes from the same package, but that's more a Java bug than a feature. The problem with MTQ is that RewriteMethod is a separate *class* and *not a subclass* of MTQ, so the method cannot be called (it can because of the "java bug" called from same package). So theoretically it has to be public otherwise you cannot call getEnum().
      Another cleaner fix would be to add a protected final method to RewriteMethod that calls this method from MTQ. So anything subclassing RewriteMethod can get the enum from inside the RewriteMethod class which is the "correct" way to handle it. Delegating to MTQ is then "internal".
      1. LUCENE-3789.patch
        2 kB
        Simon Willnauer


        Simon Willnauer created issue -
        Simon Willnauer made changes -
        Field Original Value New Value
        Attachment LUCENE-3789.patch [ 12514705 ]
        Simon Willnauer made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Lucene Fields New [ 10121 ] New,Patch Available [ 10121,10120 ]
        Assignee Simon Willnauer [ simonw ]
        Resolution Fixed [ 1 ]
        Uwe Schindler made changes -
        Status Resolved [ 5 ] Closed [ 6 ]


          • Assignee:
            Simon Willnauer
            Simon Willnauer
          • Votes:
            0 Vote for this issue
            0 Start watching this issue


            • Created: