Revision 4181 org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.impl/src/main/java/org/gvsig/raster/impl/buffer/cache/CacheDataFromDriverServer.java
CacheDataFromDriverServer.java | ||
---|---|---|
38 | 38 |
import org.slf4j.LoggerFactory; |
39 | 39 |
|
40 | 40 |
|
41 |
/**
|
|
41 |
/** |
|
42 | 42 |
* Servidor de datos de cach?. Esta clase es la encargada de recuperar las p?ginas |
43 | 43 |
* cuando le son solicitadas. Implementar? el interfaz ICacheDataSource, aunque esta |
44 | 44 |
* clase se encargar? de servir p?ginas de solo lectura. Las p?ginas son servidas directamente desde |
45 | 45 |
* un RasterDataset y un objeto de este tipo representa a una sola p?gina, por lo que tendr? asociado |
46 | 46 |
* el extent correspondiente al trozo de p?gina que sirve. |
47 |
*
|
|
47 |
* |
|
48 | 48 |
* @author Nacho Brodin (nachobrodin@gmail.com) |
49 | 49 |
* |
50 | 50 |
*/ |
51 | 51 |
public class CacheDataFromDriverServer implements ICacheDataSource { |
52 | 52 |
private Logger log = LoggerFactory.getLogger(CacheDataFromDriverServer.class); |
53 | 53 |
private AbstractRasterProvider provider = null; |
54 |
private Extent pageExtent = null;
|
|
55 |
|
|
54 |
private Extent pageExtent = null; |
|
55 |
|
|
56 | 56 |
/** |
57 |
* Constructor.
|
|
58 |
* Crea el identificador para todos los trozos de cach? que se guardar?n en disco.
|
|
57 |
* Constructor. |
|
58 |
* Crea el identificador para todos los trozos de cach? que se guardar?n en disco. |
|
59 | 59 |
* @param id Identificador de fichero. Si este es null se calcula uno autom?ticamente |
60 | 60 |
* @param numBand N?mero de banda |
61 | 61 |
* @param numPag N?mero de p?gina |
62 |
* @throws RasterDriverException
|
|
63 |
* @throws NotSupportedExtensionException
|
|
62 |
* @throws RasterDriverException |
|
63 |
* @throws NotSupportedExtensionException |
|
64 | 64 |
*/ |
65 | 65 |
public CacheDataFromDriverServer(RasterProvider provider, int numPag, Extent extent) { |
66 | 66 |
if(provider instanceof AbstractRasterProvider) |
... | ... | |
82 | 82 |
try { |
83 | 83 |
DefaultRasterStore store = new DefaultRasterStore(); |
84 | 84 |
store.setProvider(provider); |
85 |
|
|
85 |
|
|
86 | 86 |
RasterQuery q = RasterLocator.getManager().createQuery(); |
87 | 87 |
q.setAreaOfInterest(pageExtent, pageBuffer.getWidth(), pageBuffer.getHeight()); |
88 | 88 |
q.setAllDrawableBands(); |
89 | 89 |
q.setBufferForProviders(pageBuffer); |
90 |
|
|
90 |
|
|
91 | 91 |
provider.getDataSet((SpiRasterQuery)q); |
92 | 92 |
//dataset.getWindow(pageExtent, bandList, pageBuffer); |
93 | 93 |
} catch (RasterDriverException e) { |
... | ... | |
98 | 98 |
} |
99 | 99 |
|
100 | 100 |
public void savePage(PageBandBuffer pageBuffer) throws IOException { |
101 |
//Read Only
|
|
101 |
//Read Only |
|
102 | 102 |
} |
103 | 103 |
|
104 | 104 |
public void delete() { |
105 | 105 |
//Read Only |
106 | 106 |
} |
107 |
|
|
107 |
|
|
108 | 108 |
public String getPath() { |
109 | 109 |
if(provider != null) |
110 |
return provider.getURIOfFirstProvider(); |
|
110 |
return provider.getURIOfFirstProvider().getPath();
|
|
111 | 111 |
return null; |
112 | 112 |
} |
113 | 113 |
} |
Also available in: Unified diff