Index: AbstractRasterDataParameters.java
===================================================================
--- AbstractRasterDataParameters.java	(revision 4180)
+++ AbstractRasterDataParameters.java	(revision 4181)
@@ -23,9 +23,11 @@
 package org.gvsig.raster.impl.store;
 
 import java.io.File;
+import java.net.URI;
 
 import org.cresques.DataTypes;
 import org.cresques.cts.IProjection;
+
 import org.gvsig.fmap.crs.CRSFactory;
 import org.gvsig.fmap.dal.coverage.store.RasterDataServerExplorer;
 import org.gvsig.fmap.dal.coverage.store.parameter.RasterDataParameters;
@@ -35,26 +37,26 @@
 /**
  * Base class for all kind of parameters in raster
  * TODO: Now it only accepts files. Maybe in the future other kind of sources could be accepted like remote services (URL)
- * 
+ *
  * @author Nacho Brodin (nachobrodin@gmail.com)
  */
 public abstract class AbstractRasterDataParameters extends AbstractDataParameters implements
 		RasterDataParameters {
 	public static final String     PERSISTENT_NAME        = "AbstractRasterDataParameters_Persistent";
     public static final String     PERSISTENT_DESCRIPTION = "AbstractRasterDataParameters Persistent";
-    
+
 	private static final String    FIELD_FRAME            = "frame";
 	private static final String    FIELD_ALPHABAND        = "alphaband";
 	private static final String    FIELD_VISIBLE          = "visible";
 	private static final String    FIELD_REPROJ_OPTION    = "selected_option";
-	
+
 	protected IProjection          crs                    = null;
-	
 
+
 	public static void registerDynClass(DynStruct definition) {
 		definition.addDynFieldString(FIELD_URI)
 		.setDescription("Uniform Resource Identifier (File name or URL)")
-		.setType(DataTypes.STRING)
+		.setType(DataTypes.URI)
 		.setMandatory(false);
 
 		definition.addDynFieldInt(FIELD_FRAME)
@@ -68,30 +70,31 @@
 		.setType(DataTypes.INT)
 		.setMandatory(false)
 		.setHidden(true);
-		
+
 		definition.addDynFieldBoolean(FIELD_VISIBLE)
         .setDescription("If the boolean in i position is true, that means that the i provider is visible")
         .setMandatory(false)
         .setHidden(true);
-        
+
         definition.addDynFieldInt(FIELD_REPROJ_OPTION)
 		.setDescription("Reprojection option")
 		.setType(DataTypes.INT)
 		.setDefaultFieldValue(new Integer(0))
 		.setMandatory(false)
 		.setHidden(true);
-		
+
 		definition.addDynFieldString(FIELD_RMF_FOLDER)
 		.setDescription("Folder to store the RMF file")
+        .setType(DataTypes.FILE)
 		.setMandatory(false)
 		.setHidden(true);
-		
+
 		/*definition.addDynFieldObject(FIELD_CRS)
 		.setDescription("CRS")
 		.setMandatory(false)
 		.setHidden(true);*/
 	}
-	
+
 	public void assignFields(RasterDataParameters par, RasterDataServerExplorer explorer) {
 		setRMFFolder(par.getRMFFolder());
 		setReprojectionOption(par.getReprojectionOption());
@@ -104,41 +107,36 @@
 	public AbstractRasterDataParameters() {
 		super();
 	}
-	
+
 	public void setReprojectionOption(int option) {
 		this.setDynValue(FIELD_REPROJ_OPTION, option);
 	}
-	
+
 	public int getReprojectionOption() {
 		Integer b = (Integer)getDynValue(FIELD_REPROJ_OPTION);
 		if(b != null)
 			return ((Integer)b).intValue();
 		return 0;
 	}
-	
+
 	public boolean isValid() {
 		return (this.getURI() != null);
 	}
 
-	public String getURI() {
-		return (String) this.getDynValue(FIELD_URI);
+	public URI getURI() {
+		return (URI) this.getDynValue(FIELD_URI);
 	}
 
-	public void setURI(String uri) {
+	public void setURI(URI uri) {
 		this.setDynValue(FIELD_URI, uri);
 	}
-	
-	public void setRMFFolder(File rmfFolder) {
-		if(rmfFolder != null)
-			this.setDynValue(FIELD_RMF_FOLDER, rmfFolder.getAbsolutePath());
-	}
-	
+
+    public void setRMFFolder(File rmfFolder) {
+        this.setDynValue(FIELD_RMF_FOLDER, rmfFolder);
+    }
+
 	public File getRMFFolder() {
-		String s = (String)this.getDynValue(FIELD_RMF_FOLDER);
-		if(s != null)
-			return new File(s);
-		else
-			return null;
+		return (File)this.getDynValue(FIELD_RMF_FOLDER);
 	}
 
 	public String getSRSID() {
@@ -174,7 +172,7 @@
 	public void setAlphaBand(int alphaBand) {
 		this.setDynValue(FIELD_ALPHABAND, new Integer(alphaBand));
 	}
-	
+
 	/**
 	 * Sets the frame width
 	 * @param frame
@@ -182,7 +180,7 @@
 	public void setFrame(int frame) {
 		this.setDynValue(FIELD_FRAME, new Integer(frame));
 	}
-	
+
 	/**
 	 * Gets the number of alpha band
 	 * @param alphaBand
@@ -193,7 +191,7 @@
 			return ((Integer)b).intValue();
 		return 0;
 	}
-	
+
 	/**
 	 * Gets the frame width
 	 * @param frame
@@ -204,18 +202,18 @@
 			return ((Integer)b).intValue();
 		return 0;
 	}
-	
+
 	public boolean isVisible() {
 		Boolean b = (Boolean)getDynValue(FIELD_VISIBLE);
 		if(b != null)
 			return ((Boolean)b).booleanValue();
 		return true;
 	}
-	
+
 	public void setVisible(boolean visible) {
 		this.setDynValue(FIELD_VISIBLE, new Boolean(visible));
 	}
-	
+
 	public boolean isSourceTiled() {
 		return false;
 	}
