Revision 6317 org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.raster/org.gvsig.fmap.dal.file.jimi/src/main/java/org/gvsig/fmap/dal/file/jimi/JimiRasterStoreProvider.java

View differences:

JimiRasterStoreProvider.java
174 174
    private JimiRasterStoreProviderParameters getJimiParameters() {
175 175
        return (JimiRasterStoreProviderParameters) this.getParameters();
176 176
    }
177
    
177

  
178 178
    @Override
179 179
    public BandDescriptor getBandDescriptor(int band) {
180 180
        if(band > this.getBands()){
......
183 183
        return getStoreServices().createBandDescriptor(band,
184 184
            new ArrayList<BandAttributeDescriptor>());
185 185
    }
186
    
186

  
187 187
    @Override
188 188
    public int getBands() {
189 189
        return image.bands;
......
191 191

  
192 192
    @Override
193 193
    public Buffer createBuffer(RasterQuery rasterQuery) throws BufferException {
194
        
194

  
195 195
        BufferManager bufferManager = BufferLocator.getBufferManager();
196
        List<BandQuery> bands = rasterQuery.getBands();
197
        int[] bandDataTypes = new int[bands.size()];
198
        NoData[] bandNoData = new NoData[bands.size()];
199
        
196
        int[] bandDataTypes;
200 197
        List<PageManager> pageManagers = new ArrayList<PageManager>();
201
        for (BandQuery bandQuery : bands) {
202
            int band = bandQuery.getBand();
203
            bandDataTypes[band] = image.dataType;
204
            bandNoData[band] = null;
205
            pageManagers.add(new MemoryImageBandPageManager(image, band));
198
        NoData[] bandNoData;
199
        if (rasterQuery != null) {
200
            List<BandQuery> bands;
201
            bands = rasterQuery.getBands();
202
            bandDataTypes = new int[bands.size()];
203
            bandNoData = new NoData[bands.size()];
204

  
205
            for (BandQuery bandQuery : bands) {
206
                int band = bandQuery.getBand();
207
                bandDataTypes[band] = image.dataType;
208
                bandNoData[band] = null;
209
                pageManagers.add(new MemoryImageBandPageManager(image, band));
210
            }
211
        } else {
212
            int bands = getBands();
213
            bandDataTypes = new int[bands];
214
            bandNoData = new NoData[bands];
215
            for (int i = 0; i < bands; i++) {
216
                bandDataTypes[i] = image.dataType;
217
                bandNoData[i] = null;
218
                pageManagers.add(new MemoryImageBandPageManager(image, i));
219
            }
206 220
        }
207 221

  
208 222
        Buffer buffer =
......
211 225

  
212 226
        return buffer;
213 227
    }
214
    
228

  
215 229
    @Override
216 230
    public BandInfo getBandInfo(int band) {
217 231
        return null;

Also available in: Unified diff