Would like talk this one through so I can make a
nice clear bug report. First up where do I make bug reports for
geomesa? GitHub or bugzilla :)
The integration problem is with the implementation
of CoverageFormat and GeoMesaCoverageFormat. Currently they
will accept *any* provided content - this breaks GeoServer
import (since it uses this method to try and determine which
format is responsible for loading a file).
override def accepts(input: AnyRef) = true
override def accepts(source: AnyRef, hints: Hints) =
true
Up a few lines I think I can see File and Path being
accepted:
override def getReader(source: AnyRef, hints: Hints)
= source match {
case file: File => new
CoverageReader(file.getPath)
case path: String => new CoverageReader(path)
case unk => throw new Exception(s"unexpected
data type for reader source:
${Option(unk).map(_.getClass.getName).getOrElse("null")}")
}
Digging into CoverageReader there is logic to process a
URL and extract credentials. If we can reproduce this same
logic in the accepts method (and reject file references to a
GeoTIFF) then GeoServer can continue to function.