Index: MemoryRasterProvider.java
===================================================================
--- MemoryRasterProvider.java	(revision 4180)
+++ MemoryRasterProvider.java	(revision 4181)
@@ -24,14 +24,17 @@
 import java.awt.geom.AffineTransform;
 import java.awt.geom.Point2D;
 import java.awt.geom.Rectangle2D;
+import java.io.File;
 
 import org.cresques.cts.ICoordTrans;
+
 import org.gvsig.fmap.dal.coverage.dataset.Buffer;
 import org.gvsig.fmap.dal.coverage.datastruct.BandList;
 import org.gvsig.fmap.dal.coverage.datastruct.Extent;
 import org.gvsig.fmap.dal.coverage.exception.BandAccessException;
 import org.gvsig.fmap.dal.coverage.exception.FileNotOpenException;
 import org.gvsig.fmap.dal.coverage.exception.InvalidSetViewException;
+import org.gvsig.fmap.dal.coverage.exception.InvalidSourceException;
 import org.gvsig.fmap.dal.coverage.exception.NotSupportedExtensionException;
 import org.gvsig.fmap.dal.coverage.exception.ProcessInterruptedException;
 import org.gvsig.fmap.dal.coverage.exception.RasterDriverException;
@@ -57,19 +60,19 @@
 	public static String        NAME                     = "Gdal Store";
 	public static String        DESCRIPTION              = "Gdal Raster file";
 	public static final String  METADATA_DEFINITION_NAME = "GdalStore";
-	
+
 	private Extent              v                        = null;
 	protected Buffer            buffer                   = null;
 	private Extent 		        extent                   = null;
 	private boolean             open                     = false;
-	
+
 	public static void register() {
 	}
-	
+
 	public void registerTileProviderFormats(Class<RasterProvider> c) {
-		
+
 	}
-	
+
 	/**
 	 * Mandatory constructor to instantiate an empty provider
 	 */
@@ -118,7 +121,7 @@
 	public RasterProvider load() {
 		return this;
 	}
-	
+
 	public boolean isOpen() {
 		return open;
 	}
@@ -246,8 +249,8 @@
 		if(end.getX() > buffer.getWidth())
 			begin.setLocation(buffer.getWidth(), begin.getY());
 	}
-	
-	public void loadBuffer(SpiRasterQuery q) 
+
+	public void loadBuffer(SpiRasterQuery q)
 			throws ProcessInterruptedException, RasterDriverException {
 		getWindow(q.getAdjustedRequestBoundingBox(), q.getBandList(), q.getBufferForProviders(), q.getTaskStatus());
 	}
@@ -269,7 +272,7 @@
 		return rasterBuf;
 	}
 
-	public Buffer getWindow(double x, double y, double w, double h, 
+	public Buffer getWindow(double x, double y, double w, double h,
 			BandList bandList, Buffer rasterBuf, boolean adjustToExtent, TaskStatus status) {
 		Point2D begin = worldToRaster(new Point2D.Double(x, y));
 		Point2D end = worldToRaster(new Point2D.Double(x + w, y - h));
@@ -287,7 +290,7 @@
 		return rasterBuf;
 	}
 
-	public Buffer getWindow(Extent extent, int bufWidth, int bufHeight, 
+	public Buffer getWindow(Extent extent, int bufWidth, int bufHeight,
 			BandList bandList, Buffer rasterBuf, boolean adjustToExtent, TaskStatus status) {
 		Point2D begin = worldToRaster(new Point2D.Double(extent.getMin().getX(), extent.getMax().getY()));
 		Point2D end = worldToRaster(new Point2D.Double(extent.getMax().getX(), extent.getMin().getY()));
@@ -348,7 +351,7 @@
 	private void writeByteBuffer(Buffer rasterBuf, double stepX, double stepY, Point2D begin, BandList bandList) {
 		int xPx = 0, yPx = 0;
 		for (int iBand = 0; iBand < buffer.getBandCount(); iBand++) {
-			int[] drawableBands = bandList.getBufferBandToDraw(this.getURIOfFirstProvider(), iBand);
+			int[] drawableBands = bandList.getBufferBandToDraw(this.getURIOfFirstProvider().getPath(), iBand);
 			if(drawableBands == null || (drawableBands.length == 1 && drawableBands[0] == -1))
 				continue;
 			for(int drawBands = 0; drawBands < drawableBands.length; drawBands++) {
@@ -380,7 +383,7 @@
 	private void writeShortBuffer(Buffer rasterBuf, double stepX, double stepY, Point2D begin, BandList bandList) {
 		int xPx = 0, yPx = 0;
 		for (int iBand = 0; iBand < buffer.getBandCount(); iBand++) {
-			int[] drawableBands = bandList.getBufferBandToDraw(this.getURIOfFirstProvider(), iBand);
+			int[] drawableBands = bandList.getBufferBandToDraw(this.getURIOfFirstProvider().getPath(), iBand);
 			if(drawableBands == null || (drawableBands.length == 1 && drawableBands[0] == -1))
 				continue;
 			for(int drawBands = 0; drawBands < drawableBands.length; drawBands++) {
@@ -412,7 +415,7 @@
 	private void writeIntBuffer(Buffer rasterBuf, double stepX, double stepY, Point2D begin, BandList bandList) {
 		int xPx = 0, yPx = 0;
 		for (int iBand = 0; iBand < buffer.getBandCount(); iBand++) {
-			int[] drawableBands = bandList.getBufferBandToDraw(this.getURIOfFirstProvider(), iBand);
+			int[] drawableBands = bandList.getBufferBandToDraw(this.getURIOfFirstProvider().getPath(), iBand);
 			if(drawableBands == null || (drawableBands.length == 1 && drawableBands[0] == -1))
 				continue;
 			for(int drawBands = 0; drawBands < drawableBands.length; drawBands++) {
@@ -444,7 +447,7 @@
 	private void writeFloatBuffer(Buffer rasterBuf, double stepX, double stepY, Point2D begin, BandList bandList) {
 		int xPx = 0, yPx = 0;
 		for (int iBand = 0; iBand < buffer.getBandCount(); iBand++) {
-			int[] drawableBands = bandList.getBufferBandToDraw(this.getURIOfFirstProvider(), iBand);
+			int[] drawableBands = bandList.getBufferBandToDraw(this.getURIOfFirstProvider().getPath(), iBand);
 			if(drawableBands == null || (drawableBands.length == 1 && drawableBands[0] == -1))
 				continue;
 			for(int drawBands = 0; drawBands < drawableBands.length; drawBands++) {
@@ -476,7 +479,7 @@
 	private void writeDoubleBuffer(Buffer rasterBuf, double stepX, double stepY, Point2D begin, BandList bandList) {
 		int xPx = 0, yPx = 0;
 		for (int iBand = 0; iBand < buffer.getBandCount(); iBand++) {
-			int[] drawableBands = bandList.getBufferBandToDraw(this.getURIOfFirstProvider(), iBand);
+			int[] drawableBands = bandList.getBufferBandToDraw(this.getURIOfFirstProvider().getPath(), iBand);
 			if(drawableBands == null || (drawableBands.length == 1 && drawableBands[0] == -1))
 				continue;
 			for(int drawBands = 0; drawBands < drawableBands.length; drawBands++) {
@@ -546,7 +549,7 @@
 //		return rasterBuf;
 //	}
 
-	public Buffer getWindow(int x, int y, int w, int h, 
+	public Buffer getWindow(int x, int y, int w, int h,
 			BandList bandList, Buffer rasterBuf, TaskStatus status) {
 		setView(
 				new ExtentImpl( rasterUtil.getMapRectFromPxRect(getExtent().toRectangle2D(),
@@ -661,7 +664,7 @@
 	public boolean isOverviewsSupported() {
 		return false;
 	}
-	
+
 	public String getProviderName() {
 		return NAME;
 	}
@@ -669,19 +672,27 @@
         public String getName() {
 		return "buffer"+this.hashCode();
 	}
-	
+
         public String getFullName() {
 		return this.getName();
 	}
-        
+
 	public void setStatus(RasterProvider provider) {
 		if(provider instanceof MemoryRasterProvider) {
 			//Not implemented yet
 		}
 	}
-	
+
 	public TileServer getTileServer() {
 		return null;
 	}
 
+    public void addFile(File file) throws InvalidSourceException {
+        // Do nothing
+    }
+
+    public void removeFile(File file) {
+        // Do nothing
+    }
+
 }
\ No newline at end of file
