Skip to content

Commit 7c7f217

Browse files
author
Devon Tucker
committed
Update default granule acceptor to use coverage name to ensure compatibility with things like NetCDF
1 parent affa7b0 commit 7c7f217

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

modules/plugin/imagemosaic/src/main/java/org/geotools/gce/imagemosaic/acceptors/DefaultGranuleAcceptor.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public boolean accepts(GridCoverage2DReader coverage, String coverageName,
4848
if (config != null) {
4949
RasterManager rasterManager =
5050
mosaicConfigHandler.getRasterManagerForTargetCoverage(targetCoverageName);
51-
return checkCRS(coverage, config) && checkColorModel(coverage, config, rasterManager);
51+
return checkCRS(coverage, config, coverageName) && checkColorModel(coverage, config, rasterManager, coverageName);
5252
}
5353
else {
5454
//can't validate with empty configuration. usually this means we have a brand new mosaic
@@ -59,12 +59,12 @@ public boolean accepts(GridCoverage2DReader coverage, String coverageName,
5959
}
6060

6161
private boolean checkColorModel(GridCoverage2DReader coverage, MosaicConfigurationBean config,
62-
RasterManager rasterManager)
62+
RasterManager rasterManager, String inputCoverageName)
6363
throws IOException
6464
{
6565
byte[][] palette = config.getPalette();
6666
ColorModel colorModel = config.getColorModel();
67-
ColorModel actualCM = coverage.getImageLayout().getColorModel(null);
67+
ColorModel actualCM = coverage.getImageLayout(inputCoverageName).getColorModel(null);
6868
if (colorModel == null) {
6969
colorModel = rasterManager.getDefaultCM();
7070
}
@@ -74,9 +74,9 @@ private boolean checkColorModel(GridCoverage2DReader coverage, MosaicConfigurati
7474
return !Utils.checkColorModels(colorModel, palette, actualCM);
7575
}
7676

77-
private boolean checkCRS(GridCoverage2DReader coverage, MosaicConfigurationBean config) {
77+
private boolean checkCRS(GridCoverage2DReader coverage, MosaicConfigurationBean config, String inputCoverageName) {
7878
CoordinateReferenceSystem expectedCRS = config.getCrs();
79-
CoordinateReferenceSystem actualCRS = coverage.getCoordinateReferenceSystem();
79+
CoordinateReferenceSystem actualCRS = coverage.getCoordinateReferenceSystem(inputCoverageName);
8080

8181
return CRS.equalsIgnoreMetadata(expectedCRS, actualCRS);
8282
}

0 commit comments

Comments
 (0)