Revision 2438 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

View differences:

CacheDataFromDriverServer.java
24 24
import java.io.IOException;
25 25

  
26 26
import org.gvsig.fmap.dal.coverage.RasterLocator;
27
import org.gvsig.fmap.dal.coverage.datastruct.BandList;
28
import org.gvsig.fmap.dal.coverage.datastruct.DatasetBand;
29 27
import org.gvsig.fmap.dal.coverage.datastruct.Extent;
30
import org.gvsig.fmap.dal.coverage.exception.BandNotFoundInListException;
31 28
import org.gvsig.fmap.dal.coverage.exception.NotSupportedExtensionException;
32 29
import org.gvsig.fmap.dal.coverage.exception.ProcessInterruptedException;
30
import org.gvsig.fmap.dal.coverage.exception.QueryException;
33 31
import org.gvsig.fmap.dal.coverage.exception.RasterDriverException;
34
import org.gvsig.raster.impl.buffer.DefaultRasterQuery;
35
import org.gvsig.raster.impl.datastruct.BandListImpl;
36
import org.gvsig.raster.impl.datastruct.DatasetBandImpl;
37
import org.gvsig.raster.impl.provider.DefaultRasterProvider;
32
import org.gvsig.fmap.dal.coverage.store.RasterQuery;
33
import org.gvsig.raster.impl.buffer.SpiRasterQuery;
34
import org.gvsig.raster.impl.provider.AbstractRasterProvider;
38 35
import org.gvsig.raster.impl.provider.RasterProvider;
36
import org.gvsig.raster.impl.store.DefaultRasterStore;
37
import org.slf4j.Logger;
38
import org.slf4j.LoggerFactory;
39 39

  
40 40

  
41 41
/** 
......
49 49
 *
50 50
 */
51 51
public class CacheDataFromDriverServer implements ICacheDataSource {
52
	private Logger                          log           = LoggerFactory.getLogger(CacheDataFromDriverServer.class);
53
	private AbstractRasterProvider          provider      = null;
54
	private Extent                          pageExtent    = null; 
52 55
	
53
	private DefaultRasterProvider           dataset    = null;
54
	private Extent                          pageExtent = null; 
55
	
56 56
	/**
57 57
	 * Constructor. 
58 58
	 * Crea el identificador para todos los trozos de cach? que se guardar?n en disco. 
......
63 63
	 * @throws NotSupportedExtensionException 
64 64
	 */
65 65
	public CacheDataFromDriverServer(RasterProvider provider, int numPag, Extent extent) {
66
		if(provider instanceof DefaultRasterProvider)
67
			this.dataset = (DefaultRasterProvider)dataset;
66
		if(provider instanceof AbstractRasterProvider)
67
			this.provider = (AbstractRasterProvider)provider;
68 68
		pageExtent = extent;
69 69
	}
70 70

  
71
	/* (non-Javadoc)
72
	 * @see org.gvsig.fmap.dataaccess.cache.ICacheDataSource#loadPage(int, org.gvsig.fmap.dataaccess.cache.PageBuffer)
73
	 */
74 71
	public void loadPage(PageBandBuffer pageBuffer) throws ProcessInterruptedException {
75 72
		//Creamos un BandList con todas las bandas del fichero
76
		BandList bandList = new BandListImpl();
77
		for(int i = 0; i < dataset.getBandCount();i++) {
73
		/*BandList bandList = new BandListImpl();
74
		for(int i = 0; i < provider.getBandCount();i++) {
78 75
			try {
79
				DatasetBand band = new DatasetBandImpl(dataset.getURIByBand(i), i, dataset.getDataType()[i], dataset.getBandCount());
76
				DatasetBand band = new DatasetBandImpl(provider.getURIByBand(i), i, provider.getDataType()[i], provider.getBandCount());
80 77
				bandList.addBand(band, i);
81 78
			} catch(BandNotFoundInListException ex) {
82 79
				//No a?adimos la banda
83 80
			}
84
		}
81
		}*/
85 82
		try {
86
			DefaultRasterQuery q = (DefaultRasterQuery)RasterLocator.getManager().createQuery();
87
			q.setBBox(pageExtent);
88
			q.setType(DefaultRasterQuery.TYPE_COORDS);
89
			q.setBandList(bandList);
90
			q.setBuffer(pageBuffer);
91
			q.setAdjustToExtent(true);
92
			dataset.getDataSet(q);
83
			DefaultRasterStore store = new DefaultRasterStore();
84
			store.setProvider(provider);
85
			
86
			RasterQuery q = RasterLocator.getManager().createQuery();
87
			q.setAreaOfInterest(pageExtent, pageBuffer.getWidth(), pageBuffer.getHeight());
88
			q.setAllDrawableBands();
89
			q.setBufferForProviders(pageBuffer);
90
			
91
			provider.getDataSet((SpiRasterQuery)q);
93 92
			//dataset.getWindow(pageExtent, bandList, pageBuffer);
94 93
		} catch (RasterDriverException e) {
94
			log.debug("Error loading the PageBandBuffer", e);
95
		} catch (QueryException e) {
96
			log.debug("Error loading the PageBandBuffer", e);
95 97
		}
96 98
	}
97 99

  
98
	/* (non-Javadoc)
99
	 * @see org.gvsig.fmap.dataaccess.cache.ICacheDataSource#savePage(int, org.gvsig.fmap.dataaccess.cache.PageBuffer)
100
	 */
101 100
	public void savePage(PageBandBuffer pageBuffer) throws IOException {
102 101
		//Read Only		
103 102
	}
104 103

  
105
	/*
106
	 * (non-Javadoc)
107
	 * @see org.gvsig.raster.dataaccess.cache.ICacheDataSource#delete()
108
	 */
109 104
	public void delete() {
110 105
		//Read Only
111 106
	}
112 107
	
113
	/*
114
	 *  (non-Javadoc)
115
	 * @see org.gvsig.raster.dataaccess.cache.ICacheDataSource#getPath()
116
	 */
117 108
	public String getPath() {
118
		if(dataset != null)
119
			return dataset.getURIOfFirstProvider();
109
		if(provider != null)
110
			return provider.getURIOfFirstProvider();
120 111
		return null;
121 112
	}
122 113
}

Also available in: Unified diff