Dear Geoserver-users list,
I'm developping a coverage store for geoserver to manage a netCDF file. In the implementation of this coverage store, I have an error when I use the method "reader.setInput(inStream)".
Here is a little part of the "read" method :
public GridCoverage read(GeneralParameterValue params) throws IllegalArgumentException, IOException {
...
// Construct a reader
final ImageReader reader = readerSpi.createReaderInstance(null);
final ImageInputStream inStream;
if (source instanceof File || source instanceof URL) {
inStream = ImageIO.createImageInputStream(source);
} else {
throw new IllegalArgumentException("The source parameter is not a valid input type !");
}
reader.setInput(inStream, true);
...
}
The error displayed in geoserver is :
org.vfny.geoserver.global.ConfigurationException: java.lang.IllegalArgumentException: Incorrect input type!
This occurs when I try to create a coverage for the coverage store that I have previously created in geoserver.
The tomcat's logs say :
org.vfny.geoserver.global.ConfigurationException: java.lang.IllegalArgumentException: Incorrect input type!
at org.vfny.geoserver.action.data.DataCoveragesNewAction.execute(DataCoveragesNewAction.java:155)
....
Caused by: java.lang.IllegalArgumentException: Incorrect input type!
at javax.imageio.ImageReader.setInput(Unknown Source)
at fr.geomatys.netCDF.io.FileBasedReader.setInput(FileBasedReader.java:90)
at fr.geomatys.netCDF.io.DefaultReader.setInput(DefaultReader.java:88)
at javax.imageio.ImageReader.setInput(Unknown Source)
at fr.geomatys.netCDF.NetcdfReader.read(NetcdfReader.java:221)
at org.vfny.geoserver.action.data.DataCoveragesNewAction.execute(DataCoveragesNewAction.java:139)
... 24 more
Actually my netCDF coverage store is recognised in geoserver, I can create a coverage store for my netCDF file, the method read(GeneralParameterValue params) is the main problem.
Cheers,
Cédric B.