Markus Jelsma created SOLR-8673:
-----------------------------------

             Summary: o.a.s.search.facet classes not public/extendable
                 Key: SOLR-8673
                 URL: https://issues.apache.org/jira/browse/SOLR-8673
             Project: Solr
          Issue Type: Improvement
    Affects Versions: 5.4.1
            Reporter: Markus Jelsma
             Fix For: 5.5, master


It is not easy to create a custom JSON facet function. A simple function based 
on AvgAgg quickly results in the following compilation failures:

{code}
[ERROR] Failed to execute goal 
org.apache.maven.plugins:maven-compiler-plugin:3.3:compile (default-compile) on 
project openindex-solr: Compilation failure: Compilation failure:
[ERROR] 
/home/markus/projects/openindex/solr/trunk/src/main/java/i.o.s.search/facet/CustomAvgAgg.java:[22,36]
 org.apache.solr.search.facet.FacetContext is not public in 
org.apache.solr.search.facet; cannot be accessed from outside package
[ERROR] 
/home/markus/projects/openindex/solr/trunk/src/main/java/i.o.s.search/facet/CustomAvgAgg.java:[23,36]
 org.apache.solr.search.facet.FacetDoubleMerger is not public in 
org.apache.solr.search.facet; cannot be accessed from outside package
[ERROR] 
/home/markus/projects/openindex/solr/trunk/src/main/java/i.o.s.search/facet/CustomAvgAgg.java:[40,32]
 cannot find symbol
[ERROR] symbol:   class FacetContext
[ERROR] location: class i.o.s.search.facet.CustomAvgAgg
[ERROR] 
/home/markus/projects/openindex/solr/trunk/src/main/java/i.o.s.search/facet/CustomAvgAgg.java:[49,39]
 cannot find symbol
[ERROR] symbol:   class FacetDoubleMerger
[ERROR] location: class i.o.s.search.facet.CustomAvgAgg
[ERROR] 
/home/markus/projects/openindex/solr/trunk/src/main/java/i.o.s.search/facet/CustomAvgAgg.java:[54,43]
 cannot find symbol
[ERROR] symbol:   class Context
[ERROR] location: class i.o.s.search.facet.CustomAvgAgg.Merger
[ERROR] 
/home/markus/projects/openindex/solr/trunk/src/main/java/i.o.s.search/facet/CustomAvgAgg.java:[41,16]
 cannot find symbol
[ERROR] symbol:   class AvgSlotAcc
[ERROR] location: class i.o.s.search.facet.CustomAvgAgg
[ERROR] 
/home/markus/projects/openindex/solr/trunk/src/main/java/i.o.s.search/facet/CustomAvgAgg.java:[46,12]
 incompatible types: i.o.s.search.facet.CustomAvgAgg.Merger cannot be converted 
to org.apache.solr.search.facet.FacetMerger
[ERROR] 
/home/markus/projects/openindex/solr/trunk/src/main/java/i.o.s.search/facet/CustomAvgAgg.java:[53,5]
 method does not override or implement a method from a supertype
[ERROR] 
/home/markus/projects/openindex/solr/trunk/src/main/java/i.o.s.search/facet/CustomAvgAgg.java:[60,5]
 method does not override or implement a method from a supertype
{code}

It seems lots of classes are tucked away in FacetModule, which we can't reach 
from outside.

Originates from this thread: 
http://mail-archives.apache.org/mod_mbox/lucene-solr-user/201602.mbox/%3ccab_8yd9ldbg_0zxm_h1igkfm6bqeypd5ilyy7tty8cztscv...@mail.gmail.com%3E



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to