Any reason why ErrorCode.code isn't public final? It seems weird that we have
public void assertQEx(String message, SolrQueryRequest req, int code ) {
instead of
public void assertQEx(String message, SolrQueryRequest req,
SolrException.ErrorCode ) {
So much easier to write:
assertQEx("Query should throw an exception due to incorrect dimensions",
req("fl", "*,score", "q",
"homed:[1 TO 2000]"), SolrException.ErrorCode.BAD_REQUEST);
than to write:
assertQEx("Query should throw an exception due to incorrect dimensions",
req("fl", "*,score", "q",
"homed:[1 TO 2000]"), 400); //or whatever that code is
Also, if it is public final, there really isn't any harm in exposing it
elsewhere. However, it does seem weird that we have these codes, but they
aren't logged either, AFAICT.
Finally, do we have a plan for how they should be used? Can we add new values
to them? Do we document anywhere what they mean?
-Grant