Revision 6220 org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.buffer/org.gvsig.raster.lib.buffer.impl/src/main/java/org/gvsig/raster/lib/buffer/impl/PaginatedBandShort.java

View differences:

PaginatedBandShort.java
15 15
 */
16 16
public class PaginatedBandShort extends AbstractPaginatedBand implements BandShort {
17 17

  
18
    private ShortBuffer specificData;
19 18

  
20 19
    /**
21 20
     * @param rows
......
26 25
     */
27 26
    public PaginatedBandShort(int rows, int columns, NoData noData, BandPageManager pageManager) {
28 27
        super(rows, columns, noData, pageManager);
29
        specificData = data.asShortBuffer();
28
        data = ShortBuffer.allocate(rowsPerPage * columns);
30 29
    }
31 30

  
32 31
    @Override
......
57 56

  
58 57
        for(int row=0; row<this.rows; row+=this.rowsPerPage){
59 58
            loadPage(row);
60
            Arrays.fill(specificData.array(), (short) value);
59
            Arrays.fill((short[])data.array(), (short) value);
61 60
        }
62 61
    }
63 62

  
64 63
    @Override
65 64
    public short getValue(int row, int column) {
66 65
        loadPage(row);
67
        return specificData.get( ((row-firstRowOfPage)*this.columns) + column);
66
        return ((ShortBuffer) data).get( ((row-firstRowOfPage)*this.columns) + column);
68 67
    }
69 68

  
70 69
    @Override
......
75 74

  
76 75
    protected void doSetValue(int row, int column, short value) {
77 76
        loadPage(row);
78
        specificData.put(((row-firstRowOfPage)*this.columns) + column, value);
77
        ((ShortBuffer) data).put(((row-firstRowOfPage)*this.columns) + column, value);
79 78
    }
80 79

  
81 80
    @Override
......
86 85
    @Override
87 86
    public void fetchRow(int row, Object rowBuffer) {
88 87
        loadPage(row);
89
        short[] source = (short[]) ((java.nio.Buffer)specificData).array();
88
        short[] source = (short[]) data.array();
90 89
        short[] target = (short[]) rowBuffer;
91 90
        System.arraycopy(source, (row-firstRowOfPage)*this.columns, target, 0, this.columns);
92 91
    }
......
95 94
    protected void doPutRow(int row, Object rowBuffer) {
96 95
        loadPage(row);
97 96
        short[] source = (short[]) rowBuffer;
98
        short[] target = (short[]) ((java.nio.Buffer)specificData).array();
97
        short[] target = (short[]) data.array();
99 98
        System.arraycopy(source, 0, target, (row-firstRowOfPage)*this.columns, this.columns);
100 99
    }
101 100
}

Also available in: Unified diff