Index: trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.api/src/test/java/org/gvsig/fmap/dal/feature/DummyFetureStore.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.api/src/test/java/org/gvsig/fmap/dal/feature/DummyFetureStore.java	(revision 43151)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.api/src/test/java/org/gvsig/fmap/dal/feature/DummyFetureStore.java	(revision 43152)
@@ -5,11 +5,16 @@
 import java.util.Iterator;
 import java.util.List;
 import java.util.Set;
+
 import org.cresques.cts.IProjection;
+
+import org.gvsig.fmap.dal.DALLocator;
+import org.gvsig.fmap.dal.DataManager;
 import org.gvsig.fmap.dal.DataQuery;
 import org.gvsig.fmap.dal.DataServerExplorer;
 import org.gvsig.fmap.dal.DataSet;
 import org.gvsig.fmap.dal.DataStoreParameters;
+import org.gvsig.fmap.dal.DataStoreProviderFactory;
 import org.gvsig.fmap.dal.ExpressionBuilder;
 import org.gvsig.fmap.dal.ExpressionEvaluator;
 import org.gvsig.fmap.dal.exception.DataException;
@@ -582,7 +587,7 @@
     @Override
     public List<Feature> getFeatures() {
         return null;
-    }  
+    }
 
     @Override
     public void createCache(String name, DynObject parameters) throws DataException {
@@ -594,4 +599,14 @@
         return null;
     }
 
+    @Override
+    public void useCache(String providerName, DynObject parameters) throws DataException {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public DataStoreProviderFactory getFactory() {
+        return null;
+    }
+
 }
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.api/src/main/java/org/gvsig/fmap/dal/DataStore.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.api/src/main/java/org/gvsig/fmap/dal/DataStore.java	(revision 43151)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.api/src/main/java/org/gvsig/fmap/dal/DataStore.java	(revision 43152)
@@ -32,6 +32,7 @@
 import org.gvsig.timesupport.Interval;
 import org.gvsig.timesupport.Time;
 import org.gvsig.tools.dispose.Disposable;
+import org.gvsig.tools.dynobject.DynObject;
 import org.gvsig.tools.exception.BaseException;
 import org.gvsig.tools.observer.ComplexWeakReferencingObservable;
 import org.gvsig.tools.observer.Observer;
@@ -69,7 +70,7 @@
 
 	/**
 	 * Metadata property name for the provider name provided by the data provider.
-	 * 
+	 *
 	 * This metadata is provided by all data providers.
 	 */
 	public static final String METADATA_PROVIDER = "ProviderName";
@@ -77,30 +78,30 @@
 	/**
 	 * Metadata property name for Container name provided by the data provider.
 	 * By explample, in a dbf file, this is the name of dbf.
-	 * 
+	 *
 	 * This metadata is provided by all data providers.
 	 */
 	public static final String METADATA_CONTAINERNAME = "ContainerName";
 
 	/**
 	 * Metadata property name for the feature type provided by the data provider.
-	 * 
+	 *
 	 * This metadata is provided by all tabular data providers.
 	 */
 	public static final String METADATA_FEATURETYPE = "FeatureType";
 
 	/**
 	 * Metadata property name for CRS provided by the data provider.
-	 * 
-	 * This metadata is only provided by data provider with spatial 
+	 *
+	 * This metadata is only provided by data provider with spatial
 	 * information.
 	 */
 	public static final String METADATA_CRS = "CRS";
 
 	/**
 	 * Metadata property name for Envelope provided by the data provider
-	 * 
-	 * This metadata is only provided by data provider with spatial 
+	 *
+	 * This metadata is only provided by data provider with spatial
 	 * information.
 	 */
 	public static final String METADATA_ENVELOPE = "Envelope";
@@ -109,28 +110,28 @@
 	 * Returns the name associated to the store.
 	 * This name is provided for informational purposes only.
 	 * Explamples:
-	 * 
+	 *
 	 * In a dbf the filename without the path
-	 * 
+	 *
 	 * In a DDBB table the name of the table
-	 * 
+	 *
 	 * In a WFS layer the name of the layer.
 	 *
 	 * @return String containing this store's name.
 	 */
 	public String getName();
-	
+
 	/**
 	 * Returns a more descriptive name for the store that getName.
 	 * This name is provided for informational purposes only.
 	 * Explamples:
-	 * 
+	 *
 	 * In a file based store may return the full name of the filename, path and filename.
-	 * 
+	 *
 	 * In a data base based store may return "server:dbname:tablename"
-	 * 
+	 *
 	 * In a WFS layer based store may return "server:layername"
-	 * 
+	 *
 	 * @return String Containing the full name of the store
 	 */
 	public String getFullName();
@@ -144,11 +145,11 @@
 
 	/**
 	 * Return the provider name that use this store.
-	 * 
+	 *
 	 * @return provider name of this store
 	 */
 	public String getProviderName();
-	
+
 	/**
 	 * Refreshes this store state.
 	 *
@@ -182,11 +183,11 @@
      * The values received through the {@link Visitor#visit(Object)} method
      * may be transient, reused or externally modifiable, so they can't
      * be used to be stored in any external form out of the visit method.
-     * 
+     *
      * If you need to store any of the values out of the
      * {@link Visitor#visit(Object)} method execution, create a copy or clone
      * the received value in order to be stored.
-     * 
+     *
      * @param visitor
      *            the visitor to apply to each value.
      * @exception BaseException
@@ -199,11 +200,11 @@
      * The values received through the {@link Visitor#visit(Object)} method
      * may be transient, reused or externally modifiable, so they can't
      * be used to be stored in any external form out of the visit method.
-     * 
+     *
      * If you need to store any of the values out of the
      * {@link Visitor#visit(Object)} method execution, create a copy or clone
      * the received value in order to be stored.
-     * 
+     *
      * @param visitor
      *            the visitor to apply to each value.
      * @param dataQuery
@@ -274,11 +275,11 @@
 	/**
 	 * Returns the DataServerExplorer to which this DataStore belongs, if there
 	 * is any.
-	 * 
+	 *
 	 * @return DataServerExplorer to which this DataStore belongs, or
 	 *         <code>null</code> if this was not accessed through any
 	 *         DataServerExplorer.
-	 * 
+	 *
 	 * @throws DataException
 	 * @throws ValidateDataParametersException
 	 */
@@ -294,7 +295,7 @@
 	 * @throws DataException
 	 */
 	public DataQuery createQuery();
-	
+
 	/**
 	 * Gets the {@link Interval} of the store, that means the temporal
 	 * interval where the store has valid data.
@@ -302,14 +303,14 @@
 	 *         a time interval or null if there is not time support
 	 */
 	public Interval getInterval();
-	
+
 	/**
-	 * Gets all the possible values of time for which the store has data.  
+	 * Gets all the possible values of time for which the store has data.
 	 * @return
 	 *         a collection of {@link Time} objects.
 	 */
 	public Collection getTimes();
-	
+
 	/**
 	 * Gets all the possible values of time for which the store has data
 	 * and intersects with an interval.
@@ -319,5 +320,14 @@
 	 *         a collection of {@link Time} objects.
 	 */
 	public Collection getTimes(Interval interval);
+
+	/**
+	 * @param providerName
+	 * @param parameters
+	 * @throws DataException
+	 */
+	public void useCache(String providerName, DynObject parameters) throws DataException;
+
+	public DataStoreProviderFactory getFactory();
 }
 
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/main/java/org/gvsig/fmap/dal/raster/impl/DefaultCoverageStore.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/main/java/org/gvsig/fmap/dal/raster/impl/DefaultCoverageStore.java	(revision 43151)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/main/java/org/gvsig/fmap/dal/raster/impl/DefaultCoverageStore.java	(revision 43152)
@@ -34,6 +34,7 @@
 import org.gvsig.fmap.dal.DataStore;
 import org.gvsig.fmap.dal.DataStoreNotification;
 import org.gvsig.fmap.dal.DataStoreParameters;
+import org.gvsig.fmap.dal.DataStoreProviderFactory;
 import org.gvsig.fmap.dal.exception.CloseException;
 import org.gvsig.fmap.dal.exception.DataException;
 import org.gvsig.fmap.dal.exception.InitializeException;
@@ -109,7 +110,7 @@
 		DynObjectManager dynManager = ToolsLocator.getDynObjectManager();
 
 		this.metadata = (DelegatedDynObject) dynManager
-				.createDynObject( 
+				.createDynObject(
 						MetadataLocator.getMetadataManager().getDefinition(DataStore.SPATIAL_METADATA_DEFINITION_NAME)
 				);
 		this.dataManager = (DefaultDataManager)dataManager;
@@ -481,7 +482,7 @@
 	public String getProviderName() {
 		return this.provider.getProviderName();
 	}
-	
+
 	public String getName() {
 		return this.provider.getName();
 	}
@@ -494,7 +495,7 @@
         // TODO Auto-generated method stub
         return null;
     }
-    
+
     public Collection getTimes() {
         // TODO Auto-generated method stub
         return null;
@@ -503,5 +504,16 @@
     public Collection getTimes(Interval interval) {
         // TODO Auto-generated method stub
         return null;
-    }   
+    }
+
+    @Override
+    public void useCache(String providerName, DynObject parameters) throws DataException {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public DataStoreProviderFactory getFactory() {
+        DataStoreProviderFactory factory = dataManager.getStoreProviderFactory(parameters.getDataStoreName());
+        return factory;
+    }
 }
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/main/java/org/gvsig/fmap/dal/feature/impl/DefaultFeatureStore.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/main/java/org/gvsig/fmap/dal/feature/impl/DefaultFeatureStore.java	(revision 43151)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/main/java/org/gvsig/fmap/dal/feature/impl/DefaultFeatureStore.java	(revision 43152)
@@ -25,6 +25,7 @@
 package org.gvsig.fmap.dal.feature.impl;
 
 import org.gvsig.fmap.dal.feature.spi.SQLBuilderBase;
+
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
@@ -38,6 +39,7 @@
 import java.util.logging.Level;
 
 import org.cresques.cts.IProjection;
+
 import org.gvsig.fmap.dal.DALLocator;
 import org.gvsig.fmap.dal.DataManager;
 import org.gvsig.fmap.dal.DataQuery;
@@ -46,6 +48,7 @@
 import org.gvsig.fmap.dal.DataStore;
 import org.gvsig.fmap.dal.DataStoreNotification;
 import org.gvsig.fmap.dal.DataStoreParameters;
+import org.gvsig.fmap.dal.DataStoreProviderFactory;
 import org.gvsig.fmap.dal.ExpressionEvaluator;
 import org.gvsig.fmap.dal.exception.CloneException;
 import org.gvsig.fmap.dal.exception.CloseException;
@@ -150,6 +153,7 @@
 import org.gvsig.tools.undo.UndoException;
 import org.gvsig.tools.undo.command.Command;
 import org.gvsig.tools.visitor.Visitor;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -220,7 +224,7 @@
         DynObjectManager dynManager = ToolsLocator.getDynObjectManager();
 
         this.metadata = (DelegatedDynObject) dynManager.createDynObject(
-            FeatureStore.METADATA_DEFINITION_NAME, 
+            FeatureStore.METADATA_DEFINITION_NAME,
             MetadataManager.METADATA_NAMESPACE
         );
 
@@ -475,11 +479,11 @@
         try {
             this.intialize(this.dataManager, params);
             prov = this.dataManager.createProvider(
-                    (DataStoreProviderServices) this, 
+                    (DataStoreProviderServices) this,
                     params
             );
             this.setProvider(prov);
-            
+
             this.selection = (FeatureSelection) state.get("selection");
             this.transforms =
                 (DefaultFeatureStoreTransforms) state.get("transforms");
@@ -533,7 +537,7 @@
                 ftype = getFeatureType(defFTypeid);
                 if (ftype == null) {
                 	/*
-                	 * Un error en el m�todo de PostgresQL getName(), hace que 
+                	 * Un error en el m�todo de PostgresQL getName(), hace que
                 	 * el nombre del featureType sea valor retornado por el getProviderName()
                 	 * De momento se pone este parche para apa�arlo y poder mantener compatibilidad
                 	 * con proyectos antiguos (2.1 y 2.2)
@@ -1501,7 +1505,7 @@
     public List<Feature> getFeatures() {
         return this.getFeatures(null, 500);
     }
-    
+
     public void accept(Visitor visitor) throws BaseException {
         FeatureSet set = getFeatureSet();
         try {
@@ -2257,10 +2261,10 @@
         attr2.setIsTime(true);
         attr2.setFeatureAttributeEmulator(timeSupport);
         ft.add(attr2);
-        
+
         this.timeSupport = timeSupport;
     }
-    
+
     /* (non-Javadoc)
      * @see java.lang.Object#clone()
      */
@@ -2307,12 +2311,22 @@
         }
         return new SQLBuilderBase();
     }
- 
 
+
     public FeatureSet features() throws DataException {
         // This is to avoid jython to create a property with this name
         // to access method getFeatures.
         return this.getFeatureSet();
     }
-    
+
+    @Override
+    public DataStoreProviderFactory getFactory() {
+        DataStoreProviderFactory factory = dataManager.getStoreProviderFactory(parameters.getDataStoreName());
+        return factory;
+    }
+
+    @Override
+    public void useCache(String providerName, DynObject parameters) throws DataException {
+        throw new UnsupportedOperationException();
+    }
 }
\ No newline at end of file
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.mapcontext/org.gvsig.fmap.mapcontext.api/src/main/java/org/gvsig/fmap/mapcontext/layers/DefaultLayerInformationBuilder.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.mapcontext/org.gvsig.fmap.mapcontext.api/src/main/java/org/gvsig/fmap/mapcontext/layers/DefaultLayerInformationBuilder.java	(revision 43151)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.mapcontext/org.gvsig.fmap.mapcontext.api/src/main/java/org/gvsig/fmap/mapcontext/layers/DefaultLayerInformationBuilder.java	(revision 43152)
@@ -92,6 +92,10 @@
             if (s == null) {
                 s = proj.getAbrev();
             }
+            if (s != null) {
+                s = s.replaceAll("\\[", "[\n  ");
+                s = s.replaceAll("]", "\n]");
+            }
             return value(s);
         }
 
@@ -117,7 +121,7 @@
         public String build() {
             String color = ((propertyCount++ % 2) == 0) ? backgroundColorPropertyValue1 : backgroundColorPropertyValue2;
             String content = "<tr valign=\"top\">\n";
-            content += "<td bgcolor=" + color + "align=\"left\" colspan=\"2\"><font face=\"Arial\" size=\"3\"><div>" + value + "</div></font></td>\n";
+            content += "<td bgcolor=" + color + "align=\"left\" colspan=\"2\"><font face=\"Arial\" size=\"3\"><div>" + value.replace("\\n",  "<br>\n") + "</div></font></td>\n";
             content += "</tr>\n";
             return content;
         }
@@ -169,7 +173,7 @@
         public String build() {
             String color = ((propertyCount++ % 2) == 0) ? backgroundColorPropertyValue1 : backgroundColorPropertyValue2;
             String content = "<tr valign=\"top\">\n";
-            content += "<td bgcolor=" + color + "align=\"left\" colspan=\"2\"><font face=\"Arial\" size=\"3\">" + value + "</font></td>\n";
+            content += "<td bgcolor=" + color + "align=\"left\" colspan=\"2\"><font face=\"Arial\" size=\"3\">" + value.replace("\n",  "<br>\n") + "</font></td>\n";
             content += "</tr>\n";
             return content;
         }
@@ -210,9 +214,9 @@
                 content += "<td nowrap bgcolor=" + backgroundColorPropertyLabel + "align=\"right\" width=\"140\"><font face=\"Arial\" size=\"3\">" + label + ":&nbsp;</font></td>\n";
             }
             if( this.monospace ) {
-                content += "<td bgcolor=" + color + "align=\"left\"><font face=\"Monospaced\" size=\"3\">" + value + "</font></td>";
+                content += "<td bgcolor=" + color + "align=\"left\"><font face=\"Monospaced\" size=\"3\">" + value.replace("\\n",  "<br>\n") + "</font></td>";
             } else {
-                content += "<td bgcolor=" + color + "align=\"left\"><font face=\"Arial\" size=\"3\">" + value + "</font></td>";
+                content += "<td bgcolor=" + color + "align=\"left\"><font face=\"Arial\" size=\"3\">" + value.replace("\\n",  "<br>\n") + "</font></td>";
             }
             content += "</tr>\n";
             return content;
@@ -267,6 +271,8 @@
 
         @Override
         public String build() {
+            //FIXME:
+
             PropertyElement p1 = new DefaultPropertyElement();
             p1.labelkey("ul");
             p1.value("%+f, %+f", value.getUpperCorner().getX(), value.getUpperCorner().getY());
@@ -286,7 +292,7 @@
             p4.labelkey("ll");
             p4.value("%+f, %+f", value.getUpperCorner().getX(), value.getLowerCorner().getY());
             p4.monospace();
-            
+
             return p1.build() + p2.build() + p3.build() + p4.build();
         }
 
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/extension/BasicSymbologyExtension.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/extension/BasicSymbologyExtension.java	(revision 43151)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/extension/BasicSymbologyExtension.java	(revision 43152)
@@ -40,16 +40,13 @@
 import org.gvsig.app.project.documents.view.legend.gui.AttrInTableLabeling;
 import org.gvsig.app.project.documents.view.legend.gui.Categories;
 import org.gvsig.app.project.documents.view.legend.gui.Features;
-import org.gvsig.app.project.documents.view.legend.gui.General;
 import org.gvsig.app.project.documents.view.legend.gui.GeneralLayerPropertiesPage.GeneralLayerPropertiesPageFactory;
-import org.gvsig.app.project.documents.view.legend.gui.InformationLayerPropertiesPageFactory;
 import org.gvsig.app.project.documents.view.legend.gui.LabelingManager;
 import org.gvsig.app.project.documents.view.legend.gui.LegendManager;
 import org.gvsig.app.project.documents.view.legend.gui.MultipleAttributes;
 import org.gvsig.app.project.documents.view.legend.gui.Quantities;
 import org.gvsig.app.project.documents.view.legend.gui.SingleSymbol;
 import org.gvsig.app.project.documents.view.legend.gui.ThemeManagerWindow;
-import static org.gvsig.app.project.documents.view.legend.gui.ThemeManagerWindow.addPage;
 import org.gvsig.app.project.documents.view.legend.gui.VectorialInterval;
 import org.gvsig.app.project.documents.view.legend.gui.VectorialUniqueValue;
 import org.gvsig.fmap.geom.Geometry;
@@ -77,7 +74,7 @@
         symbologySwingManager.registerSymbolEditor(SimpleMarker.class, Geometry.TYPES.MULTIPOINT);
         symbologySwingManager.registerSymbolEditor(SimpleLine.class, Geometry.TYPES.MULTICURVE);
 
-        //FIXME 
+        //FIXME
         symbologySwingManager.registerSymbolEditor(PictureMarker.class, Geometry.TYPES.POINT);
         symbologySwingManager.registerSymbolEditor(PictureLine.class, Geometry.TYPES.CURVE);
         symbologySwingManager.registerSymbolEditor(PictureFill.class, Geometry.TYPES.SURFACE);
@@ -88,7 +85,7 @@
         symbologySwingManager.registerSymbolEditor(PictureFill.class, Geometry.TYPES.MULTISURFACE);
         symbologySwingManager.registerSymbolEditor(MarkerFill.class, Geometry.TYPES.MULTISURFACE);
 
-        // legends available 
+        // legends available
         symbologySwingManager.registerLegendEditor(Quantities.class);
         symbologySwingManager.registerLegendEditor(Features.class);
         symbologySwingManager.registerLegendEditor(Categories.class);
@@ -104,8 +101,7 @@
         // Registry property page of layers
         PropertiesPageManager propertiesPageManager = MapControlLocator.getPropertiesPageManager();
         propertiesPageManager.registerFactory(new GeneralLayerPropertiesPageFactory());
-        propertiesPageManager.registerFactory(new InformationLayerPropertiesPageFactory());
-        
+
         // Registry old style property page of layers
         // These must be updated to use "PropertiesPage" instead of "ThemeManagerWindow"
         // Do not use this procedure more!!!
@@ -121,7 +117,7 @@
 	@Override
 	public void postInitialize() {
 		super.postInitialize();
-		
+
 		SymbologySwingLocator.getSwingManager().setColorTablesFactory(
 				ApplicationLocator.getManager().getColorTablesFactory());
 	}
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/extension/AddLayer.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/extension/AddLayer.java	(revision 43151)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/extension/AddLayer.java	(revision 43152)
@@ -29,11 +29,12 @@
 import java.util.List;
 
 import javax.swing.JOptionPane;
-import org.apache.commons.collections.ListUtils;
-import org.apache.commons.lang3.ArrayUtils;
 
 import org.cresques.cts.ICoordTrans;
 import org.cresques.cts.IProjection;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 import org.gvsig.andami.IconThemeHelper;
 import org.gvsig.andami.PluginServices;
 import org.gvsig.andami.plugins.Extension;
@@ -43,7 +44,6 @@
 import org.gvsig.app.gui.WizardPanel;
 import org.gvsig.app.project.documents.view.ViewDocument;
 import org.gvsig.app.project.documents.view.gui.IView;
-import org.gvsig.fmap.dal.serverexplorer.filesystem.swing.FilesystemExplorerAddLayerWizardPanel;
 import org.gvsig.fmap.dal.serverexplorer.filesystem.swing.FilesystemExplorerWizardPanel;
 import org.gvsig.fmap.mapcontext.MapContext;
 import org.gvsig.fmap.mapcontext.ViewPort;
@@ -52,13 +52,8 @@
 import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect;
 import org.gvsig.fmap.mapcontrol.MapControl;
 import org.gvsig.tools.ToolsLocator;
-import org.gvsig.tools.dataTypes.CoercionException;
-import org.gvsig.tools.dataTypes.DataType;
-import org.gvsig.tools.dataTypes.DataTypesManager;
 import org.gvsig.tools.dispose.DisposeUtils;
 import org.gvsig.tools.i18n.I18nManager;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 /**
  * Extensi�n que abre un di�logo para seleccionar la capa o capas que se
@@ -73,8 +68,8 @@
 
     static {
         AddLayer.wizardStack = new ArrayList<>();
-        // Anadimos el panel al wizard de cargar capa. 
-        AddLayer.addWizard(FilesystemExplorerAddLayerWizardPanel.class);
+        // Anadimos el panel al wizard de cargar capa.
+        AddLayer.addWizard(FilesystemExplorerWizardPanel.class);
     }
 
     public static void addWizard(Class<? extends WizardPanel> wpClass) {
@@ -150,7 +145,7 @@
     }
 
     public static class ArrayUtils {
-        
+
         // FIXME: Use the class in org.gvsig.tools when this is available and remove this.
 
         /**
@@ -218,7 +213,7 @@
     @Override
     public void execute(String command, Object[] args) {
         List<File> files = ArrayUtils.getListOf(args,0,File.class);
-        
+
         ApplicationManager application = ApplicationLocator.getManager();
 
         IView view = (IView) application.getActiveComponent(ViewDocument.class);
@@ -254,7 +249,7 @@
                 wp = wpClass.getConstructor()
                         .newInstance(params);
                 application.message(
-                        i18nManager.getTranslation("Adding tab...") + wp.getTabName(), 
+                        i18nManager.getTranslation("Adding tab...") + wp.getTabName(),
                         JOptionPane.INFORMATION_MESSAGE
                 );
                 wp.setMapCtrl(mapControl);
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/project/documents/view/legend/gui/InformationPanelController.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/project/documents/view/legend/gui/InformationPanelController.java	(revision 43151)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/project/documents/view/legend/gui/InformationPanelController.java	(revision 43152)
@@ -1,101 +0,0 @@
-/* gvSIG. Desktop Geographic Information System.
- *
- * Copyright � 2007-2017 gvSIG Association
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA  02110-1301, USA.
- *
- * For any additional information, do not hesitate to contact us
- * at info AT gvsig.com, or visit our website www.gvsig.com.
- */
-package org.gvsig.app.project.documents.view.legend.gui;
-
-import java.util.Locale;
-
-import javax.swing.JComponent;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.gvsig.fmap.mapcontext.layers.FLayer;
-import org.gvsig.tools.ToolsLocator;
-import org.gvsig.tools.i18n.I18nManager;
-import org.gvsig.tools.swing.api.Component;
-
-
-/**
- * @author fdiaz
- *
- */
-public class InformationPanelController extends InformationPanelView implements Component {
-
-    /**
-     *
-     */
-    private static final long serialVersionUID = 2386492505441108866L;
-
-    @SuppressWarnings("unused")
-    private static final Logger LOG = LoggerFactory.getLogger(InformationPanelController.class);
-
-
-    public InformationPanelController() {
-        translate();
-    }
-
-    private void translate() {
-        I18nManager i18nManager = ToolsLocator.getI18nManager();
-        txtFieldName.setToolTipText(i18nManager.getTranslation(txtFieldName.getToolTipText()));
-        nameLabel.setText(i18nManager.getTranslation(nameLabel.getText()));
-        txtAreaInformation.setToolTipText(i18nManager.getTranslation(txtAreaInformation.getToolTipText()));
-        informationLabel.setText(i18nManager.getTranslation(informationLabel.getText()));
-    }
-
-    /**
-     * @param locale
-    *
-    */
-    public void setLocate(Locale locale) {
-        Locale l = super.getLocale();
-        if (!l.equals(locale)) {
-            translate();
-        }
-        super.setLocale(locale);
-    }
-
-    /**
-     * @param layer
-     */
-    public void set(FLayer layer){
-//        this.layer = layer;
-        txtFieldName.setText(layer.getName());
-        txtAreaInformation.setText(layer.getInfoString());
-    }
-
-    /**
-     * @param layer
-     * @return 
-     */
-    public boolean fetch(FLayer layer){
-        layer.setName(txtFieldName.getText());
-        layer.getMapContext().invalidate();
-        return true;
-    }
-
-    @Override
-    public JComponent asJComponent() {
-        return this;
-    }
-
-}
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/project/documents/view/legend/gui/InformationPanelView.xml
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/project/documents/view/legend/gui/InformationPanelView.xml	(revision 43151)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/project/documents/view/legend/gui/InformationPanelView.xml	(revision 43152)
@@ -1,401 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<object classname="com.jeta.forms.store.memento.FormPackage">
- <at name="fileversion">
-  <object classname="com.jeta.forms.store.memento.FormsVersion2">
-   <at name="major">2</at>
-   <at name="minor">0</at>
-   <at name="sub">0</at>
-  </object>
- </at>
- <at name="form">
-  <object classname="com.jeta.forms.store.memento.FormMemento">
-   <super classname="com.jeta.forms.store.memento.ComponentMemento">
-    <at name="cellconstraints">
-     <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
-      <at name="column">1</at>
-      <at name="row">1</at>
-      <at name="colspan">1</at>
-      <at name="rowspan">1</at>
-      <at name="halign">default</at>
-      <at name="valign">default</at>
-      <at name="insets" object="insets">0,0,0,0</at>
-     </object>
-    </at>
-    <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
-   </super>
-   <at name="id">/home/jjdelcerro/datos/devel/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/project/documents/view/legend/gui/InformationPanelView.xml</at>
-   <at name="rowspecs">CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:GROW(1.0),CENTER:2DLU:NONE</at>
-   <at name="colspecs">FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE</at>
-   <at name="components">
-    <object classname="java.util.LinkedList">
-     <item >
-      <at name="value">
-       <object classname="com.jeta.forms.store.memento.BeanMemento">
-        <super classname="com.jeta.forms.store.memento.ComponentMemento">
-         <at name="cellconstraints">
-          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
-           <at name="column">2</at>
-           <at name="row">4</at>
-           <at name="colspan">1</at>
-           <at name="rowspan">1</at>
-           <at name="halign">fill</at>
-           <at name="valign">fill</at>
-           <at name="insets" object="insets">0,0,0,0</at>
-          </object>
-         </at>
-         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
-        </super>
-        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
-        <at name="beanclass">javax.swing.JTextField</at>
-        <at name="beanproperties">
-         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
-          <at name="classname">javax.swing.JTextField</at>
-          <at name="properties">
-           <object classname="com.jeta.forms.store.support.PropertyMap">
-            <at name="border">
-             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
-              <super classname="com.jeta.forms.store.properties.BorderProperty">
-               <at name="name">border</at>
-              </super>
-              <at name="borders">
-               <object classname="java.util.LinkedList">
-                <item >
-                 <at name="value">
-                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
-                   <super classname="com.jeta.forms.store.properties.BorderProperty">
-                    <at name="name">border</at>
-                   </super>
-                  </object>
-                 </at>
-                </item>
-               </object>
-              </at>
-             </object>
-            </at>
-            <at name="name">txtFieldName</at>
-            <at name="width">935</at>
-            <at name="toolTipText">_name</at>
-            <at name="height">20</at>
-           </object>
-          </at>
-         </object>
-        </at>
-       </object>
-      </at>
-     </item>
-     <item >
-      <at name="value">
-       <object classname="com.jeta.forms.store.memento.BeanMemento">
-        <super classname="com.jeta.forms.store.memento.ComponentMemento">
-         <at name="cellconstraints">
-          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
-           <at name="column">2</at>
-           <at name="row">9</at>
-           <at name="colspan">1</at>
-           <at name="rowspan">1</at>
-           <at name="halign">fill</at>
-           <at name="valign">fill</at>
-           <at name="insets" object="insets">0,0,0,0</at>
-          </object>
-         </at>
-         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
-        </super>
-        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
-        <at name="beanclass">javax.swing.JEditorPane</at>
-        <at name="beanproperties">
-         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
-          <at name="classname">javax.swing.JEditorPane</at>
-          <at name="properties">
-           <object classname="com.jeta.forms.store.support.PropertyMap">
-            <at name="border">
-             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
-              <super classname="com.jeta.forms.store.properties.BorderProperty">
-               <at name="name">border</at>
-              </super>
-              <at name="borders">
-               <object classname="java.util.LinkedList">
-                <item >
-                 <at name="value">
-                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
-                   <super classname="com.jeta.forms.store.properties.BorderProperty">
-                    <at name="name">border</at>
-                   </super>
-                  </object>
-                 </at>
-                </item>
-               </object>
-              </at>
-             </object>
-            </at>
-            <at name="selectionStart">1</at>
-            <at name="editable">false</at>
-            <at name="scrollableTracksViewportHeight">true</at>
-            <at name="scrollableTracksViewportWidth">true</at>
-            <at name="selectionEnd">1</at>
-            <at name="name">txtAreaInformation</at>
-            <at name="width">933</at>
-            <at name="text">&lt;html&gt;
-  &lt;head&gt;
-    
-  &lt;/head&gt;
-  &lt;body&gt;
-  &lt;/body&gt;
-&lt;/html&gt;
-</at>
-            <at name="contentType">text/html</at>
-            <at name="scollBars">
-             <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
-              <at name="name">scollBars</at>
-              <at name="verticalpolicy">20</at>
-              <at name="horizontalpolicy">30</at>
-              <at name="border">
-               <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
-                <super classname="com.jeta.forms.store.properties.BorderProperty">
-                 <at name="name">border</at>
-                </super>
-                <at name="borders">
-                 <object classname="java.util.LinkedList">
-                  <item >
-                   <at name="value">
-                    <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
-                     <super classname="com.jeta.forms.store.properties.BorderProperty">
-                      <at name="name">border</at>
-                     </super>
-                    </object>
-                   </at>
-                  </item>
-                 </object>
-                </at>
-               </object>
-              </at>
-             </object>
-            </at>
-            <at name="toolTipText">_information</at>
-            <at name="height">477</at>
-           </object>
-          </at>
-         </object>
-        </at>
-       </object>
-      </at>
-     </item>
-     <item >
-      <at name="value">
-       <object classname="com.jeta.forms.store.memento.BeanMemento">
-        <super classname="com.jeta.forms.store.memento.ComponentMemento">
-         <at name="cellconstraints">
-          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
-           <at name="column">2</at>
-           <at name="row">7</at>
-           <at name="colspan">1</at>
-           <at name="rowspan">1</at>
-           <at name="halign">default</at>
-           <at name="valign">default</at>
-           <at name="insets" object="insets">0,0,0,0</at>
-          </object>
-         </at>
-         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
-        </super>
-        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
-        <at name="beanclass">com.jeta.forms.components.separator.TitledSeparator</at>
-        <at name="beanproperties">
-         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
-          <at name="classname">com.jeta.forms.components.separator.TitledSeparator</at>
-          <at name="properties">
-           <object classname="com.jeta.forms.store.support.PropertyMap">
-            <at name="border">
-             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
-              <super classname="com.jeta.forms.store.properties.BorderProperty">
-               <at name="name">border</at>
-              </super>
-              <at name="borders">
-               <object classname="java.util.LinkedList">
-                <item >
-                 <at name="value">
-                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
-                   <super classname="com.jeta.forms.store.properties.BorderProperty">
-                    <at name="name">border</at>
-                   </super>
-                  </object>
-                 </at>
-                </item>
-               </object>
-              </at>
-             </object>
-            </at>
-            <at name="name">informationLabel</at>
-            <at name="width">935</at>
-            <at name="text">_information</at>
-            <at name="height">15</at>
-           </object>
-          </at>
-         </object>
-        </at>
-       </object>
-      </at>
-     </item>
-     <item >
-      <at name="value">
-       <object classname="com.jeta.forms.store.memento.BeanMemento">
-        <super classname="com.jeta.forms.store.memento.ComponentMemento">
-         <at name="cellconstraints">
-          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
-           <at name="column">2</at>
-           <at name="row">2</at>
-           <at name="colspan">1</at>
-           <at name="rowspan">1</at>
-           <at name="halign">default</at>
-           <at name="valign">default</at>
-           <at name="insets" object="insets">0,0,0,0</at>
-          </object>
-         </at>
-         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
-        </super>
-        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
-        <at name="beanclass">com.jeta.forms.components.separator.TitledSeparator</at>
-        <at name="beanproperties">
-         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
-          <at name="classname">com.jeta.forms.components.separator.TitledSeparator</at>
-          <at name="properties">
-           <object classname="com.jeta.forms.store.support.PropertyMap">
-            <at name="border">
-             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
-              <super classname="com.jeta.forms.store.properties.BorderProperty">
-               <at name="name">border</at>
-              </super>
-              <at name="borders">
-               <object classname="java.util.LinkedList">
-                <item >
-                 <at name="value">
-                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
-                   <super classname="com.jeta.forms.store.properties.BorderProperty">
-                    <at name="name">border</at>
-                   </super>
-                  </object>
-                 </at>
-                </item>
-               </object>
-              </at>
-             </object>
-            </at>
-            <at name="name">nameLabel</at>
-            <at name="width">935</at>
-            <at name="text">_name</at>
-            <at name="height">15</at>
-           </object>
-          </at>
-         </object>
-        </at>
-       </object>
-      </at>
-     </item>
-    </object>
-   </at>
-   <at name="properties">
-    <object classname="com.jeta.forms.store.memento.PropertiesMemento">
-     <at name="classname">com.jeta.forms.gui.form.GridView</at>
-     <at name="properties">
-      <object classname="com.jeta.forms.store.support.PropertyMap">
-       <at name="border">
-        <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
-         <super classname="com.jeta.forms.store.properties.BorderProperty">
-          <at name="name">border</at>
-         </super>
-         <at name="borders">
-          <object classname="java.util.LinkedList"/>
-         </at>
-        </object>
-       </at>
-       <at name="name"/>
-       <at name="fill">
-        <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
-         <at name="name">fill</at>
-        </object>
-       </at>
-       <at name="scollBars">
-        <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
-         <at name="name">scollBars</at>
-         <at name="verticalpolicy">21</at>
-         <at name="horizontalpolicy">31</at>
-         <at name="border">
-          <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
-           <super classname="com.jeta.forms.store.properties.BorderProperty">
-            <at name="name">border</at>
-           </super>
-           <at name="borders">
-            <object classname="java.util.LinkedList">
-             <item >
-              <at name="value">
-               <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
-                <super classname="com.jeta.forms.store.properties.BorderProperty">
-                 <at name="name">border</at>
-                </super>
-               </object>
-              </at>
-             </item>
-            </object>
-           </at>
-          </object>
-         </at>
-        </object>
-       </at>
-      </object>
-     </at>
-    </object>
-   </at>
-   <at name="cellpainters">
-    <object classname="com.jeta.forms.store.support.Matrix">
-     <at name="rows">
-      <object classname="[Ljava.lang.Object;" size="10">
-       <at name="item" index="0">
-        <object classname="[Ljava.lang.Object;" size="3"/>
-       </at>
-       <at name="item" index="1">
-        <object classname="[Ljava.lang.Object;" size="3"/>
-       </at>
-       <at name="item" index="2">
-        <object classname="[Ljava.lang.Object;" size="3"/>
-       </at>
-       <at name="item" index="3">
-        <object classname="[Ljava.lang.Object;" size="3"/>
-       </at>
-       <at name="item" index="4">
-        <object classname="[Ljava.lang.Object;" size="3"/>
-       </at>
-       <at name="item" index="5">
-        <object classname="[Ljava.lang.Object;" size="3"/>
-       </at>
-       <at name="item" index="6">
-        <object classname="[Ljava.lang.Object;" size="3"/>
-       </at>
-       <at name="item" index="7">
-        <object classname="[Ljava.lang.Object;" size="3"/>
-       </at>
-       <at name="item" index="8">
-        <object classname="[Ljava.lang.Object;" size="3"/>
-       </at>
-       <at name="item" index="9">
-        <object classname="[Ljava.lang.Object;" size="3"/>
-       </at>
-      </object>
-     </at>
-    </object>
-   </at>
-   <at name="rowgroups">
-    <object classname="com.jeta.forms.store.memento.FormGroupSet">
-     <at name="groups">
-      <object classname="java.util.HashMap"/>
-     </at>
-    </object>
-   </at>
-   <at name="colgroups">
-    <object classname="com.jeta.forms.store.memento.FormGroupSet">
-     <at name="groups">
-      <object classname="java.util.HashMap"/>
-     </at>
-    </object>
-   </at>
-  </object>
- </at>
-</object>
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/project/documents/view/legend/gui/InformationLayerPropertiesPageFactory.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/project/documents/view/legend/gui/InformationLayerPropertiesPageFactory.java	(revision 43151)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/project/documents/view/legend/gui/InformationLayerPropertiesPageFactory.java	(revision 43152)
@@ -1,52 +0,0 @@
-/* gvSIG. Desktop Geographic Information System.
- *
- * Copyright � 2007-2017 gvSIG Association
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA  02110-1301, USA.
- *
- * For any additional information, do not hesitate to contact us
- * at info AT gvsig.com, or visit our website www.gvsig.com.
- */
-package org.gvsig.app.project.documents.view.legend.gui;
-
-import org.gvsig.app.project.documents.view.ViewDocument;
-import org.gvsig.fmap.mapcontext.layers.FLayer;
-import org.gvsig.propertypage.PropertiesPage;
-import org.gvsig.propertypage.PropertiesPageFactory;
-
-
-/**
- * @author fdiaz
- *
- */
-public class InformationLayerPropertiesPageFactory implements PropertiesPageFactory {
-
-    @Override
-    public String getGroupID() {
-        return ViewDocument.LAYER_PROPERTIES_PAGE_GROUP;
-    }
-
-    @Override
-    public boolean isVisible(Object obj) {
-        return obj instanceof FLayer;
-    }
-
-    @Override
-    public PropertiesPage create(Object obj) {
-        return (PropertiesPage) new InformationPropertiesPage((FLayer) obj);
-    }
-
-}
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/project/documents/view/legend/gui/InformationPropertiesPage.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/project/documents/view/legend/gui/InformationPropertiesPage.java	(revision 43151)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/project/documents/view/legend/gui/InformationPropertiesPage.java	(revision 43152)
@@ -1,68 +0,0 @@
-package org.gvsig.app.project.documents.view.legend.gui;
-
-import javax.swing.JComponent;
-
-import org.gvsig.fmap.mapcontext.layers.FLayer;
-import org.gvsig.propertypage.PropertiesPage;
-import org.gvsig.tools.ToolsLocator;
-import org.gvsig.tools.i18n.I18nManager;
-
-
-/**
- * @author fdiaz
- *
- */
-public class InformationPropertiesPage extends javax.swing.JPanel implements PropertiesPage {
-
-    /**
-     *
-     */
-    private static final long serialVersionUID = -912777742097628569L;
-    private InformationPanelController informationPanel;
-    private final FLayer layer;
-
-
-
-    public InformationPropertiesPage(FLayer layer) {
-        this.layer = layer;
-    }
-
-    @Override
-    public JComponent asJComponent() {
-        if (this.informationPanel == null) {
-            informationPanel = new InformationPanelController();
-            informationPanel.set(layer);
-        }
-        return (JComponent) informationPanel;
-    }
-
-    @Override
-    public String getTitle() {
-        I18nManager i18nManager = ToolsLocator.getI18nManager();
-        return i18nManager.getTranslation("_information");
-    }
-
-    @Override
-    public int getPriority() {
-        return 1000;
-    }
-
-    @Override
-    public boolean whenAccept() {
-        this.whenApply();
-        return true;
-    }
-
-    @Override
-    public boolean whenApply() {
-        this.informationPanel.fetch(layer);
-        return true;
-    }
-
-    @Override
-    public boolean whenCancel() {
-        // Do nothing
-        return true;
-    }
-
-}
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/project/documents/view/legend/gui/InformationPanelView.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/project/documents/view/legend/gui/InformationPanelView.java	(revision 43151)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/project/documents/view/legend/gui/InformationPanelView.java	(revision 43152)
@@ -1,160 +0,0 @@
-package org.gvsig.app.project.documents.view.legend.gui;
-
-import com.jeta.forms.components.separator.TitledSeparator;
-import com.jeta.open.i18n.I18NUtils;
-import com.jgoodies.forms.layout.CellConstraints;
-import com.jgoodies.forms.layout.FormLayout;
-import java.awt.BorderLayout;
-import java.awt.ComponentOrientation;
-import java.awt.Container;
-import java.awt.Dimension;
-import javax.swing.Box;
-import javax.swing.ImageIcon;
-import javax.swing.JEditorPane;
-import javax.swing.JFrame;
-import javax.swing.JPanel;
-import javax.swing.JScrollPane;
-import javax.swing.JTextField;
-
-
-public class InformationPanelView extends JPanel
-{
-   JTextField txtFieldName = new JTextField();
-   JEditorPane txtAreaInformation = new JEditorPane();
-   TitledSeparator informationLabel = new TitledSeparator();
-   TitledSeparator nameLabel = new TitledSeparator();
-
-   /**
-    * Default constructor
-    */
-   public InformationPanelView()
-   {
-      initializePanel();
-   }
-
-   /**
-    * Adds fill components to empty cells in the first row and first column of the grid.
-    * This ensures that the grid spacing will be the same as shown in the designer.
-    * @param cols an array of column indices in the first row where fill components should be added.
-    * @param rows an array of row indices in the first column where fill components should be added.
-    */
-   void addFillComponents( Container panel, int[] cols, int[] rows )
-   {
-      Dimension filler = new Dimension(10,10);
-
-      boolean filled_cell_11 = false;
-      CellConstraints cc = new CellConstraints();
-      if ( cols.length > 0 && rows.length > 0 )
-      {
-         if ( cols[0] == 1 && rows[0] == 1 )
-         {
-            /** add a rigid area  */
-            panel.add( Box.createRigidArea( filler ), cc.xy(1,1) );
-            filled_cell_11 = true;
-         }
-      }
-
-      for( int index = 0; index < cols.length; index++ )
-      {
-         if ( cols[index] == 1 && filled_cell_11 )
-         {
-            continue;
-         }
-         panel.add( Box.createRigidArea( filler ), cc.xy(cols[index],1) );
-      }
-
-      for( int index = 0; index < rows.length; index++ )
-      {
-         if ( rows[index] == 1 && filled_cell_11 )
-         {
-            continue;
-         }
-         panel.add( Box.createRigidArea( filler ), cc.xy(1,rows[index]) );
-      }
-
-   }
-
-   /**
-    * Helper method to load an image file from the CLASSPATH
-    * @param imageName the package and name of the file to load relative to the CLASSPATH
-    * @return an ImageIcon instance with the specified image file
-    * @throws IllegalArgumentException if the image resource cannot be loaded.
-    */
-   public ImageIcon loadImage( String imageName )
-   {
-      try
-      {
-         ClassLoader classloader = getClass().getClassLoader();
-         java.net.URL url = classloader.getResource( imageName );
-         if ( url != null )
-         {
-            ImageIcon icon = new ImageIcon( url );
-            return icon;
-         }
-      }
-      catch( Exception e )
-      {
-         e.printStackTrace();
-      }
-      throw new IllegalArgumentException( "Unable to load image: " + imageName );
-   }
-
-   /**
-    * Method for recalculating the component orientation for 
-    * right-to-left Locales.
-    * @param orientation the component orientation to be applied
-    */
-   public void applyComponentOrientation( ComponentOrientation orientation )
-   {
-      // Not yet implemented...
-      // I18NUtils.applyComponentOrientation(this, orientation);
-      super.applyComponentOrientation(orientation);
-   }
-
-   public JPanel createPanel()
-   {
-      JPanel jpanel1 = new JPanel();
-      FormLayout formlayout1 = new FormLayout("FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE","CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:GROW(1.0),CENTER:2DLU:NONE");
-      CellConstraints cc = new CellConstraints();
-      jpanel1.setLayout(formlayout1);
-
-      txtFieldName.setName("txtFieldName");
-      txtFieldName.setToolTipText("_name");
-      jpanel1.add(txtFieldName,new CellConstraints(2,4,1,1,CellConstraints.FILL,CellConstraints.FILL));
-
-      txtAreaInformation.setContentType("text/html");
-      txtAreaInformation.setEditable(false);
-      txtAreaInformation.setName("txtAreaInformation");
-      txtAreaInformation.setSelectionEnd(1);
-      txtAreaInformation.setSelectionStart(1);
-      txtAreaInformation.setText("<html>\n  <head>\n    \n  </head>\n  <body>\n  </body>\n</html>\n");
-      txtAreaInformation.setToolTipText("_information");
-      JScrollPane jscrollpane1 = new JScrollPane();
-      jscrollpane1.setViewportView(txtAreaInformation);
-      jscrollpane1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
-      jscrollpane1.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
-      jpanel1.add(jscrollpane1,new CellConstraints(2,9,1,1,CellConstraints.FILL,CellConstraints.FILL));
-
-      informationLabel.setName("informationLabel");
-      informationLabel.setText("_information");
-      jpanel1.add(informationLabel,cc.xy(2,7));
-
-      nameLabel.setName("nameLabel");
-      nameLabel.setText("_name");
-      jpanel1.add(nameLabel,cc.xy(2,2));
-
-      addFillComponents(jpanel1,new int[]{ 1,2,3 },new int[]{ 1,2,3,4,5,6,7,8,9,10 });
-      return jpanel1;
-   }
-
-   /**
-    * Initializer
-    */
-   protected void initializePanel()
-   {
-      setLayout(new BorderLayout());
-      add(createPanel(), BorderLayout.CENTER);
-   }
-
-
-}
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/fmap/dal/serverexplorer/filesystem/swing/FilesystemExplorerAddLayerWizardPanel.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/fmap/dal/serverexplorer/filesystem/swing/FilesystemExplorerAddLayerWizardPanel.java	(revision 43151)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/fmap/dal/serverexplorer/filesystem/swing/FilesystemExplorerAddLayerWizardPanel.java	(revision 43152)
@@ -1,287 +0,0 @@
-/**
- * gvSIG. Desktop Geographic Information System.
- *
- * Copyright (C) 2007-2013 gvSIG Association.
- *
- * This program is free software; you can redistribute it and/or modify it under
- * the terms of the GNU General Public License as published by the Free Software
- * Foundation; either version 3 of the License, or (at your option) any later
- * version.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- * details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; if not, write to the Free Software Foundation, Inc., 51
- * Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * For any additional information, do not hesitate to contact us at info AT
- * gvsig.com, or visit our website www.gvsig.com.
- */
-package org.gvsig.fmap.dal.serverexplorer.filesystem.swing;
-
-import java.awt.Color;
-import java.awt.Component;
-import java.awt.Font;
-import java.awt.GridLayout;
-import java.awt.Window;
-
-import javax.swing.JLabel;
-import javax.swing.JList;
-import javax.swing.JPanel;
-import javax.swing.ListCellRenderer;
-import javax.swing.ListModel;
-import javax.swing.UIDefaults;
-
-import org.cresques.cts.IProjection;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.gvsig.andami.messages.Messages;
-import org.gvsig.app.ApplicationLocator;
-import org.gvsig.app.prepareAction.PrepareContext;
-import org.gvsig.app.prepareAction.PrepareContextView;
-import org.gvsig.fmap.dal.DataStore;
-import org.gvsig.fmap.dal.DataStoreParameters;
-import org.gvsig.fmap.dal.DataTypes;
-import org.gvsig.fmap.dal.serverexplorer.filesystem.FilesystemStoreParameters;
-import org.gvsig.fmap.mapcontrol.MapControl;
-import org.gvsig.tools.dynobject.DynField;
-import org.gvsig.tools.dynobject.DynObject;
-import org.gvsig.tools.dynobject.exception.DynFieldNotFoundException;
-
-/**
- * @author jmvivo
- *
- */
-public class FilesystemExplorerAddLayerWizardPanel extends
-        FilesystemExplorerWizardPanel {
-
-    private static final long serialVersionUID = -5054057255129168139L;
-
-    private static final Logger LOG = LoggerFactory
-            .getLogger(FilesystemExplorerAddLayerWizardPanel.class);
-
-    private PrepareContext prepareContext;
-
-    @Override
-    public void initWizard() {
-
-        super.initWizard();
-        this.getFileList().setCellRenderer(
-                new TwoColumnFileListCellRenderer(this.getMapCtrl()));
-    }
-
-    @Override
-    public void execute() {
-        if (this.getMapCtrl() == null) {
-            throw new IllegalArgumentException("MapControl need");
-        }
-        String layerName;
-
-        for (DataStoreParameters params : this.getParameters()) {
-            IProjection proj = this.getMapCtrl().getProjection();
-
-            // Buscamos por el parametro de la proyeccion
-            // que sean obligatorios y estén a null
-            // y le ponemos la proyeccion de la vista
-            DynField[] fields = params.getDynClass().getDynFields();
-            for (DynField field : fields) {
-                if (field.getType() == DataTypes.CRS && field.isMandatory()) {
-                    if (params.getDynValue(field.getName()) == null) {
-                        params.setDynValue(field.getName(), proj);
-                    }
-                }
-            }
-
-            layerName
-                    = ((FilesystemStoreParameters) params).getFile().getName();
-
-            this.doAddLayer(this.getMapCtrl(), layerName, params);
-        }
-    }
-
-    protected void showPropertiesDialog(final DynObject parameters) {
-        // For store parameters with a CRS field, add the current view
-        // CRS as default value when null.
-        try {
-            IProjection projection = (IProjection) parameters.getDynValue("CRS");
-            if (projection == null) {
-                projection = getDefaultProjection();
-                parameters.setDynValue("CRS", projection);
-            }
-        } catch (DynFieldNotFoundException e1) {
-            LOG.info("Loading a store whose parameters don't have a CRS field");
-        }
-
-        FilesystemExplorerPropertiesPanelManager manager = ApplicationLocator.getFilesystemExplorerPropertiesPanelManager();
-        FilesystemExplorerPropertiesPanel panel = manager.createPanel(parameters);   
-        panel.setExcludeGeometryOptions(false);
-        manager.showPropertiesDialog(parameters, panel);
-        
-        refreshFileList();
-    }
-
-
-    /**
-     * @return
-     */
-    private IProjection getDefaultProjection() {
-        return getMapCtrl().getViewPort().getProjection();
-    }
-
-    @Override
-    protected PrepareContext getPrepareDataStoreContext() {
-        if (this.prepareContext == null) {
-            this.prepareContext = new PrepareContextView() {
-
-                @Override
-                public Window getOwnerWindow() {
-                    return null;
-                }
-
-                @Override
-                public MapControl getMapControl() {
-                    return FilesystemExplorerAddLayerWizardPanel.this
-                            .getMapCtrl();
-                }
-
-                @Override
-                public IProjection getViewProjection() {
-                    return getMapControl().getProjection();
-                }
-
-            };
-        }
-        return this.prepareContext;
-    }
-
-    // =================
-    private class TwoColumnFileListCellRenderer extends JPanel implements ListCellRenderer {
-
-        private JLabel fileName = null;
-        private JLabel crsName = null;
-
-        private Color selBC = null;
-        private Color selFC = null;
-        private Color unselBC = null;
-        private Color unselFC = null;
-
-        private MapControl mapCtrl = null;
-
-        public TwoColumnFileListCellRenderer(MapControl mct) {
-            // 1 col for name, one for crs
-            setLayout(new GridLayout(0, 2));
-            fileName = new JLabel();
-            crsName = new JLabel();
-
-            Font fnt = crsName.getFont();
-            fnt = fnt.deriveFont((float) (fnt.getSize() - 1));
-            crsName.setFont(fnt);
-
-            add(fileName);
-            add(crsName);
-            mapCtrl = mct;
-
-            UIDefaults defaults = javax.swing.UIManager.getDefaults();
-            selBC = defaults.getColor("List.selectionBackground");
-            selFC = defaults.getColor("List.selectionForeground");
-            unselBC = this.getBackground();
-            unselFC = this.getForeground();
-        }
-
-        @Override
-        public Component getListCellRendererComponent(
-                JList list, Object _value,
-                int index, boolean isSelected, boolean cellHasFocus) {
-
-            if (isSelected) {
-                setBackground(selBC);
-                fileName.setForeground(selFC);
-                crsName.setForeground(selFC);
-            } else {
-                setBackground(unselBC);
-                fileName.setForeground(unselFC);
-                crsName.setForeground(unselFC);
-            }
-
-            // ===========================
-            fileName.setText(_value == null
-                    ? "?" : fixString(_value.toString()));
-
-            ListModel lm = list.getModel();
-            String unkown_tag = Messages.get("_Unknown_CRS_so_assumed");
-            String view_crs = getViewCRS();
-
-            if (lm instanceof FilesystemStoreListModel) {
-
-                FilesystemStoreListModel fsslm = (FilesystemStoreListModel) lm;
-                DynObject dyno = fsslm.getDynObjectAt(index);
-
-                try {
-                    Object crs_obj = dyno.getDynValue(DataStore.METADATA_CRS);
-                    if (crs_obj == null || crs_obj.toString().compareToIgnoreCase("null") == 0) {
-                        crsName.setText(unkown_tag + " " + view_crs);
-                    } else {
-                        if (crs_obj instanceof IProjection) {
-                            IProjection ipr = (IProjection) crs_obj;
-                            if (ipr.getAbrev().compareToIgnoreCase(view_crs) == 0) {
-                                // CRS set but same as view's
-                                crsName.setText(view_crs);
-                            } else {
-                                // CRS set and not same as view's
-                                crsName.setText(ipr.getAbrev()
-                                        + " ("
-                                        + Messages.get("_reprojected_on_the_fly")
-                                        + ")");
-                            }
-                        } else {
-                            // CRS parameter class not expected
-                            crsName.setText(unkown_tag + " " + view_crs);
-                        }
-
-                    }
-                } catch (Exception ex) {
-                    // CRS parameter not found
-                    crsName.setText(unkown_tag + " " + view_crs);
-                }
-
-            } else {
-                // list model not of expected class
-                crsName.setText(unkown_tag + " " + view_crs);
-            }
-
-            return this;
-        }
-
-        /**
-         * @param string
-         * @return
-         */
-        private String fixString(String str) {
-
-            int len = str.length();
-            String resp = str;
-            if (len < 32) {
-                // return str;
-            } else {
-                int cut = len - 14;
-                resp = resp.substring(0, 14)
-                        + "..." + resp.substring(cut);
-            }
-            return resp + "    ";
-        }
-
-        private String getViewCRS() {
-            if (this.mapCtrl == null) {
-                return "CRS?";
-            } else {
-                return mapCtrl.getProjection().getAbrev();
-            }
-        }
-
-    }
-
-}
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/fmap/dal/serverexplorer/filesystem/swing/FilesystemExplorerWizardPanelController.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/fmap/dal/serverexplorer/filesystem/swing/FilesystemExplorerWizardPanelController.java	(revision 0)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/fmap/dal/serverexplorer/filesystem/swing/FilesystemExplorerWizardPanelController.java	(revision 43152)
@@ -0,0 +1,447 @@
+package org.gvsig.fmap.dal.serverexplorer.filesystem.swing;
+
+import java.awt.Component;
+import java.awt.Window;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Locale;
+
+import javax.swing.DefaultListSelectionModel;
+import javax.swing.ListSelectionModel;
+import javax.swing.event.ListSelectionEvent;
+import javax.swing.event.ListSelectionListener;
+
+import org.cresques.cts.IProjection;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import org.gvsig.andami.messages.NotificationManager;
+import org.gvsig.app.ApplicationLocator;
+import org.gvsig.app.ApplicationManager;
+import org.gvsig.app.prepareAction.PrepareContext;
+import org.gvsig.fmap.dal.DataStoreParameters;
+import org.gvsig.fmap.dal.exception.DataException;
+import org.gvsig.fmap.dal.serverexplorer.filesystem.FilesystemServerExplorer;
+import org.gvsig.fmap.dal.serverexplorer.filesystem.FilesystemStoreParameters;
+import org.gvsig.fmap.dal.serverexplorer.filesystem.swing.FilesystemExplorerWizardPanel.MyFileFilter;
+import org.gvsig.fmap.mapcontext.MapContext;
+import org.gvsig.gui.beans.swing.JFileChooser;
+import org.gvsig.tools.ToolsLocator;
+import org.gvsig.tools.dynobject.DynObject;
+import org.gvsig.tools.i18n.I18nManager;
+
+
+/**
+ * @author fdiaz
+ *
+ */
+public class FilesystemExplorerWizardPanelController extends FilesystemExplorerWizardPanelView {
+
+
+    /**
+     *
+     */
+    private static final long serialVersionUID = -2351856603294610783L;
+
+    @SuppressWarnings("unused")
+    private static final Logger LOG = LoggerFactory
+        .getLogger(FilesystemExplorerWizardPanelController.class);
+
+    /**
+     *
+     */
+    public static final String OPEN_LAYER_FILE_CHOOSER_ID = "OPEN_LAYER_FILE_CHOOSER_ID";
+
+    private static final String DEFAULT_FILTER = "All_supported";
+
+    protected FilesystemServerExplorer explorer;
+    private ArrayList<MyFileFilter> filters;
+    protected MapContext mapContext;
+    protected int selectedIndex;
+    private static MyFileFilter lastFilter = null;
+
+    /**
+     * @param mapContext
+     * @param explorer
+     * @param filters
+     */
+    public FilesystemExplorerWizardPanelController(MapContext mapContext, FilesystemServerExplorer explorer, ArrayList<MyFileFilter> filters) {
+        this.mapContext = mapContext;
+        this.explorer = explorer;
+        this.filters = filters;
+        this.selectedIndex = -1;
+
+        initComponents();
+        translate();
+    }
+
+    private void translate() {
+        I18nManager i18nManager = ToolsLocator.getI18nManager();
+        btnAdd.setText(i18nManager.getTranslation(btnAdd.getText()));
+        btnProperties.setText(i18nManager.getTranslation(btnProperties.getText()));
+        btnRemove.setText(i18nManager.getTranslation(btnRemove.getText()));
+        btnUp.setText(i18nManager.getTranslation(btnUp.getText()));
+        btnDown.setText(i18nManager.getTranslation(btnDown.getText()));
+    }
+
+    /**
+     * @param locale
+    *
+    */
+    public void setLocate(Locale locale) {
+        Locale l = super.getLocale();
+        if (!l.equals(locale)) {
+            translate();
+        }
+        super.setLocale(locale);
+    }
+
+    private void initComponents() {
+
+        this.btnAdd.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                doAdd();
+            }
+        });
+
+        this.btnProperties.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                doOpenProperties();
+            }
+        });
+
+        this.btnRemove.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                doRemove();
+            }
+        });
+
+        this.btnUp.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                doUp();
+            }
+        });
+
+        this.btnDown.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                doDown();
+            }
+        });
+
+        I18nManager i18nManager = ToolsLocator.getI18nManager();
+
+        this.tableFiles.setModel(new FilesystemExplorerWizardTableModel());
+        this.tableFiles.getColumn(
+            i18nManager.getTranslation(FilesystemExplorerWizardTableModel.COLUMN_STORE_PARAMETERS_NAME))
+            .setCellRenderer(new FilesystemStoreParameteresCellRenderer(mapContext));
+        this.tableFiles.getColumn(
+            i18nManager.getTranslation(FilesystemExplorerWizardTableModel.COLUMN_TILED_NAME)).setMaxWidth(80);
+        this.tableFiles.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+        this.tableFiles.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
+
+            public void valueChanged(ListSelectionEvent e) {
+                handleSelectionEvent(e);
+            }
+        });
+    }
+
+
+    protected void updateComponents() {
+        btnUp.setEnabled(selectedIndex > 0 && selectedIndex < tableFiles.getRowCount());
+        btnDown.setEnabled(selectedIndex >= 0 && selectedIndex < (tableFiles.getRowCount() - 1));
+        btnProperties.setEnabled(selectedIndex >= 0 && selectedIndex < tableFiles.getRowCount());
+        btnRemove.setEnabled(selectedIndex >= 0 && selectedIndex < tableFiles.getRowCount());
+    }
+
+    protected void handleSelectionEvent(ListSelectionEvent e){
+        if (e.getValueIsAdjusting())
+            return;
+
+        final DefaultListSelectionModel target = (DefaultListSelectionModel)e.getSource();
+        selectedIndex = target.getAnchorSelectionIndex();
+
+        updateComponents();
+    }
+
+    protected void doAdd() {
+
+        List<FilesystemStoreParameters> list = chooseFilesParameters();
+        FilesystemExplorerWizardTableModel model = (FilesystemExplorerWizardTableModel) this.tableFiles.getModel();
+
+        for (FilesystemStoreParameters filesystemStoreParameters : list) {
+            model.add(filesystemStoreParameters, false);
+            updateTable();
+            int index = model.getRowCount()-1;
+            this.tableFiles.getSelectionModel().setSelectionInterval(index, index);
+        }
+    }
+
+    protected void doRemove() {
+        FilesystemExplorerWizardTableModel model = (FilesystemExplorerWizardTableModel)this.tableFiles.getModel();
+        if(selectedIndex>=0 && selectedIndex<model.getRowCount()){
+            int index = selectedIndex;
+            model.remove(index);
+            updateTable();
+            if(index>(model.getRowCount()-1)) {
+                index = model.getRowCount()-1;
+            };
+            this.tableFiles.getSelectionModel().setSelectionInterval(index, index);
+        }
+    }
+
+    protected void doOpenProperties() {
+        FilesystemExplorerWizardTableModel model = (FilesystemExplorerWizardTableModel) this.tableFiles.getModel();
+        if (selectedIndex >= 0 && selectedIndex < model.getRowCount()) {
+            int index = selectedIndex;
+            FilesystemStoreParameters parameters = model.getParams(index);
+            showPropertiesDialog((DynObject) parameters);
+            updateTable();
+            this.tableFiles.getSelectionModel().setSelectionInterval(index, index);
+        }
+    }
+
+    protected void doUp() {
+        FilesystemExplorerWizardTableModel model = (FilesystemExplorerWizardTableModel)this.tableFiles.getModel();
+        if(selectedIndex>0 && selectedIndex<model.getRowCount()){
+            int index = selectedIndex;
+            model.up(index);
+            updateTable();
+
+            this.tableFiles.getSelectionModel().setSelectionInterval(index-1, index-1);
+        }
+    }
+
+    protected void doDown() {
+        FilesystemExplorerWizardTableModel model = (FilesystemExplorerWizardTableModel)this.tableFiles.getModel();
+        if(selectedIndex>=0 && selectedIndex<model.getRowCount()-1){
+            int index = selectedIndex;
+            model.down(index);
+            updateTable();
+            this.tableFiles.getSelectionModel().setSelectionInterval(index+1, index+1);
+        }
+    }
+
+    protected void showPropertiesDialog(final DynObject parameters) {
+        FilesystemExplorerPropertiesPanelManager manager = ApplicationLocator.getFilesystemExplorerPropertiesPanelManager();
+        FilesystemExplorerPropertiesPanel panel = manager.createPanel(parameters);
+        panel.setExcludeGeometryOptions(false);
+        manager.showPropertiesDialog(parameters, panel);
+    }
+
+    private void updateTable(){
+        ((FilesystemExplorerWizardTableModel)this.tableFiles.getModel()).fireTableDataChanged();
+        updateRowHeights();
+    }
+
+    private void updateRowHeights() {
+
+        /*
+         * Auto adjust the height of rows in a JTable.
+         * The only way to know the row height for sure is to render each cell
+         * to determine the rendered height. After your table is populated with
+         * data you can do:
+         *
+         */
+        for (int row = 0; row < this.tableFiles.getRowCount(); row++) {
+            int rowHeight = this.tableFiles.getRowHeight();
+            for (int column = 0; column < this.tableFiles.getColumnCount(); column++)
+            {
+                Component comp = this.tableFiles.prepareRenderer(this.tableFiles.getCellRenderer(row, column), row, column);
+                rowHeight = Math.max(rowHeight, comp.getPreferredSize().height);
+            }
+            this.tableFiles.setRowHeight(row, rowHeight);
+        }
+    }
+
+
+     private List<FilesystemStoreParameters> chooseFilesParameters() {
+
+        JFileChooser fileChooser =
+            new JFileChooser(OPEN_LAYER_FILE_CHOOSER_ID,
+                explorer.getCurrentPath());
+        fileChooser.setMultiSelectionEnabled(true);
+        fileChooser.setAcceptAllFileFilterUsed(false);
+
+        Iterator<MyFileFilter> iter = this.filters.iterator();
+        while (iter.hasNext()) {
+            fileChooser.addChoosableFileFilter(iter.next());
+        }
+
+        if (filters.size() > 0) {
+            MyFileFilter firstf = filters.get(0);
+            // Set first filter
+            fileChooser.setFileFilter(firstf);
+        }
+
+        // If there is a last filter, use it
+        if (lastFilter != null && filters.contains(lastFilter)) {
+            fileChooser.setFileFilter(lastFilter);
+        }
+
+        int result = fileChooser.showOpenDialog(this);
+
+        List<FilesystemStoreParameters> toAdd =
+            new ArrayList<FilesystemStoreParameters>();
+
+        if (result == JFileChooser.APPROVE_OPTION) {
+            lastFilter = (MyFileFilter) fileChooser.getFileFilter();
+            JFileChooser.setLastPath(OPEN_LAYER_FILE_CHOOSER_ID, fileChooser.getCurrentDirectory());
+            String providerName = null;
+            if( lastFilter!=null ) {
+                if( !DEFAULT_FILTER.equalsIgnoreCase(lastFilter.getDescription()) ) {
+                    providerName = lastFilter.getName();
+                }
+            }
+            toAdd = this.getParametersList(
+                    fileChooser.getCurrentDirectory(),
+                    fileChooser.getSelectedFiles(),
+                    providerName
+            );
+        }
+        return toAdd;
+    }
+
+
+    private List<FilesystemStoreParameters> getParametersList(File folder, File[] files, String providerName) {
+        ApplicationManager application = ApplicationLocator.getManager();
+
+        PrepareContext context = this.getPrepareDataStoreContext();
+
+        List<DataStoreParameters> params = new ArrayList<DataStoreParameters>();
+        List<DataStoreParameters> preparedParams = null;
+        List<FilesystemStoreParameters> returnParams = new ArrayList<FilesystemStoreParameters>();
+
+        for ( File aFile : files ) {
+            String currentProvider = providerName;
+            DataStoreParameters param;
+            try {
+                if( folder == null) {
+                    explorer.setCurrentPath(aFile.getParentFile());
+                } else {
+                    explorer.setCurrentPath(folder);
+                }
+                if( currentProvider == null ) {
+                    for( int i=1; i<this.filters.size(); i++) {
+                        MyFileFilter filter = this.filters.get(i);
+                        if( filter.accept(aFile)) {
+                            currentProvider = filter.getName();
+                            break;
+                        }
+                    }
+                }
+                if( currentProvider == null ) {
+                    // TODO: ask user
+                    continue;
+                }
+                param = explorer.createStoreParameters(aFile, currentProvider);
+                if ( param == null ) {
+                    // TODO show warning
+                    continue;
+                }
+                params.add(param);
+
+            } catch (DataException e) {
+                NotificationManager.addError(e);
+                return null;
+            }
+        }
+
+        try {
+            preparedParams
+                    = application.prepareOpenDataStoreParameters(params, context);
+        } catch (Exception e) {
+            NotificationManager.addError(e);
+        }
+
+        if ( preparedParams != null ) {
+            for ( int i = 0; i < preparedParams.size(); i++ ) {
+                returnParams.add((FilesystemStoreParameters) preparedParams.get(i));
+            }
+        }
+        return returnParams;
+    }
+
+    /**
+     * @return
+     */
+    protected PrepareContext getPrepareDataStoreContext() {
+        return new PrepareContext() {
+
+            @Override
+            public IProjection getViewProjection() {
+                return FilesystemExplorerWizardPanelController.this.mapContext.getProjection();
+            }
+
+            @Override
+            public Window getOwnerWindow() {
+                return null;
+            }
+        };
+    }
+
+    /**
+     * @return DataStoreParameters[]
+     */
+    public DataStoreParameters[] getParameters() {
+        return ((FilesystemExplorerWizardTableModel)this.tableFiles.getModel()).getParameters();
+    }
+
+    /**
+     * @param files
+     */
+    public void addFiles(List<File> files) {
+        File[] filesArray = files.toArray(new File[files.size()]);
+        this.addFilesFromParameters(this.getParametersList(null, filesArray, null));
+    }
+
+    private void addFilesFromParameters(List<FilesystemStoreParameters> filesParams) {
+        if ( filesParams.isEmpty() ) {
+            return;
+        }
+        FilesystemExplorerWizardTableModel model = (FilesystemExplorerWizardTableModel)this.tableFiles.getModel();
+        model.add(filesParams, false);
+    }
+
+    /**
+     * @param parameters
+     * @return boolean
+     */
+    public boolean isTiled(DataStoreParameters parameters) {
+        return ((FilesystemExplorerWizardTableModel)this.tableFiles.getModel()).isTiled(parameters);
+    }
+
+    /**
+     * @param explorer
+     */
+    public void setExplorer(FilesystemServerExplorer explorer) {
+        this.explorer = explorer;
+    }
+
+    /**
+     * @param filters
+     */
+    public void setFilters(ArrayList<MyFileFilter> filters) {
+        this.filters=filters;
+    }
+
+    /**
+     * Dispose filters and explorer.
+     *
+     */
+    public void dispose() {
+        if (explorer != null) {
+            explorer.dispose();
+            explorer = null;
+        }
+        if (filters != null) {
+            filters.clear();
+            filters = null;
+        }
+    }
+
+
+}
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/fmap/dal/serverexplorer/filesystem/swing/FilesystemExplorerWizardTableModel.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/fmap/dal/serverexplorer/filesystem/swing/FilesystemExplorerWizardTableModel.java	(revision 0)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/fmap/dal/serverexplorer/filesystem/swing/FilesystemExplorerWizardTableModel.java	(revision 43152)
@@ -0,0 +1,273 @@
+package org.gvsig.fmap.dal.serverexplorer.filesystem.swing;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.swing.table.AbstractTableModel;
+
+import org.gvsig.fmap.dal.DataStoreParameters;
+import org.gvsig.fmap.dal.serverexplorer.filesystem.FilesystemStoreParameters;
+import org.gvsig.tools.ToolsLocator;
+import org.gvsig.tools.i18n.I18nManager;
+
+
+/**
+ * @author fdiaz
+ *
+ */
+public class FilesystemExplorerWizardTableModel extends AbstractTableModel {
+
+    /**
+     *
+     */
+    private static final long serialVersionUID = -1289509561088757725L;
+
+    private static final int COLUMNS = 2;
+
+    private static final int COLUMN_STORE_PARAMETERS = 0;
+    private static final int COLUMN_TILED = 1;
+
+    public static final String COLUMN_STORE_PARAMETERS_NAME = "_file";
+    public static final String COLUMN_TILED_NAME = "_tiled";
+
+    private List<FilesystemStoreParametersToLoad> data = null;
+
+    /**
+     *
+     */
+    public FilesystemExplorerWizardTableModel() {
+        this.data = (List<FilesystemStoreParametersToLoad>) new ArrayList<FilesystemStoreParametersToLoad>();
+    }
+
+    @Override
+    public int getColumnCount() {
+        return COLUMNS;
+    }
+
+    @Override
+    public int getRowCount() {
+        return data.size();
+    }
+
+
+    @Override
+    public Class<?> getColumnClass(int columnIndex) {
+        switch (columnIndex) {
+        case COLUMN_STORE_PARAMETERS:
+            return FilesystemStoreParametersToLoad.class;
+        case COLUMN_TILED:
+            return Boolean.class;
+        }
+        return super.getColumnClass(columnIndex);
+    }
+
+    @Override
+    public Object getValueAt(int i, int j) {
+        if (i < data.size()) {
+            FilesystemStoreParametersToLoad filesystemStoreParametersToLoad = (FilesystemStoreParametersToLoad) data.get(i);
+            switch (j) {
+            case COLUMN_STORE_PARAMETERS:
+                return filesystemStoreParametersToLoad.getParameters();
+            case COLUMN_TILED:
+                return filesystemStoreParametersToLoad.isTiled();
+            }
+        }
+        return null;
+    }
+
+    @Override
+    public String getColumnName(int col) {
+        I18nManager i18nManager = ToolsLocator.getI18nManager();
+        if(col < COLUMNS){
+            switch (col) {
+            case COLUMN_STORE_PARAMETERS:
+                return i18nManager.getTranslation(COLUMN_STORE_PARAMETERS_NAME);
+            case COLUMN_TILED:
+                return i18nManager.getTranslation(COLUMN_TILED_NAME);
+            default:
+                break;
+            }
+        }
+        throw new IndexOutOfBoundsException("Column '"+col+"' > "+COLUMNS);
+    }
+
+    public boolean isCellEditable(int row, int col) {
+        if (col == COLUMN_TILED) {
+            return true;
+        }
+        return false;
+    }
+
+    public void setValueAt(Object value, int row, int col) {
+        if (row < data.size()) {
+            if (col < COLUMNS) {
+                FilesystemStoreParametersToLoad filesystemStoreParametersToLoad = data.get(row);
+                switch (col) {
+                case COLUMN_STORE_PARAMETERS:
+                    if (value == null || !(value instanceof FilesystemStoreParameters)) {
+                        throw new IllegalArgumentException("The object '" + value.toString() + "' must be a FilesystemStoreParameters.");
+                    }
+                    filesystemStoreParametersToLoad.setParameters((FilesystemStoreParameters) value);
+                    break;
+                case COLUMN_TILED:
+                    if (value == null) {
+                        filesystemStoreParametersToLoad.setTiled(false);
+                        break;
+                    }
+                    if (!(value instanceof Boolean)) {
+                        throw new IllegalArgumentException("The object '" + value.toString() + "' must be a Boolean.");
+                    }
+                    filesystemStoreParametersToLoad.setTiled((Boolean) value);
+                    break;
+
+                default:
+                    break;
+                }
+
+            }
+        }
+    }
+
+    /**
+     * @param fileParams
+     * @param projection
+     * @param tiled
+     */
+    public void add(FilesystemStoreParameters fileParams, Boolean tiled){
+        FilesystemStoreParametersToLoad filesystemStoreParametersToLoad = new FilesystemStoreParametersToLoad(fileParams, tiled) ;
+        data.add(filesystemStoreParametersToLoad);
+    }
+
+    /**
+     * @param listFileParams
+     * @param projection
+     * @param tiled
+     */
+    public void add(List<FilesystemStoreParameters> listFileParams, Boolean tiled){
+        for (FilesystemStoreParameters filesystemStoreParameters : listFileParams) {
+            data.add(new FilesystemStoreParametersToLoad(filesystemStoreParameters, tiled));
+
+        }
+    }
+
+    /**
+     * @param row
+     */
+    public void remove(int row){
+        this.data.remove(row);
+    }
+
+    /**
+     * @param row
+     * @return FilesystemStoreParameters
+     */
+    public FilesystemStoreParameters getParams(int row){
+        return this.data.get(row).getParameters();
+    }
+
+    /**
+     * @param row
+     * @return boolean
+     */
+    public boolean isTiled(int row){
+        return this.data.get(row).isTiled();
+    }
+
+    /**
+     * @param row
+     */
+    public void up(int row){
+        if(row>0 && row<this.data.size()){
+            FilesystemStoreParametersToLoad aux = this.data.get(row-1);
+            this.data.set(row-1, this.data.get(row));
+            this.data.set(row, aux);
+        }
+    }
+
+    /**
+     * @param row
+     */
+    public void down(int row){
+        if(row>=0 && row<(this.data.size()-1)){
+            FilesystemStoreParametersToLoad aux = this.data.get(row);
+            this.data.set(row, this.data.get(row+1));
+            this.data.set(row+1, aux);
+        }
+    }
+
+    /**
+     * @return DataStoreParameters[]
+     */
+    public DataStoreParameters[] getParameters() {
+        List<FilesystemStoreParameters> result = new ArrayList<FilesystemStoreParameters>();
+        for (FilesystemStoreParametersToLoad rowData : this.data) {
+            result.add(rowData.getParameters());
+        }
+        return result.toArray(new DataStoreParameters[0]);
+    }
+
+    /**
+     * @param parameters
+     * @return boolean
+     */
+    public boolean isTiled(DataStoreParameters parameters) {
+        for (FilesystemStoreParametersToLoad filesystemStoreParametersToLoad : data) {
+            if(filesystemStoreParametersToLoad.getParameters()==parameters){
+                return filesystemStoreParametersToLoad.isTiled();
+            }
+        }
+        return false;
+    }
+
+    /**
+     * @author fdiaz
+     *
+     */
+    public static class FilesystemStoreParametersToLoad{
+        private FilesystemStoreParameters params;
+        private Boolean tiled;
+
+        /**
+         * @param params
+         */
+        public FilesystemStoreParametersToLoad(FilesystemStoreParameters params) {
+            this.setParameters(params);
+        }
+
+        /**
+         * @param params
+         * @param projection
+         * @param tiled
+         */
+        public FilesystemStoreParametersToLoad(FilesystemStoreParameters params, Boolean tiled) {
+            this.setParameters(params);
+            this.setTiled(tiled);
+        }
+
+        FilesystemStoreParameters getParameters(){
+            return this.params;
+        }
+
+        /**
+         * @param file the file to set
+         */
+        public void setParameters(FilesystemStoreParameters file) {
+            this.params = file;
+        }
+
+        /**
+         * @return the tiled
+         */
+        public boolean isTiled() {
+            return tiled;
+        }
+
+        /**
+         * @param tiled the tiled to set
+         */
+        public void setTiled(Boolean tiled) {
+            this.tiled = tiled;
+        }
+    }
+
+}
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/fmap/dal/serverexplorer/filesystem/swing/FilesystemExplorerWizardPanelView.xml
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/fmap/dal/serverexplorer/filesystem/swing/FilesystemExplorerWizardPanelView.xml	(revision 0)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/fmap/dal/serverexplorer/filesystem/swing/FilesystemExplorerWizardPanelView.xml	(revision 43152)
@@ -0,0 +1,633 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<object classname="com.jeta.forms.store.memento.FormPackage">
+ <at name="fileversion">
+  <object classname="com.jeta.forms.store.memento.FormsVersion2">
+   <at name="major">2</at>
+   <at name="minor">0</at>
+   <at name="sub">0</at>
+  </object>
+ </at>
+ <at name="form">
+  <object classname="com.jeta.forms.store.memento.FormMemento">
+   <super classname="com.jeta.forms.store.memento.ComponentMemento">
+    <at name="cellconstraints">
+     <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+      <at name="column">1</at>
+      <at name="row">1</at>
+      <at name="colspan">1</at>
+      <at name="rowspan">1</at>
+      <at name="halign">default</at>
+      <at name="valign">default</at>
+      <at name="insets" object="insets">0,0,0,0</at>
+     </object>
+    </at>
+    <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
+   </super>
+   <at name="id">/home/paco/projects/externals/gvsig-desktop/RasterRefactoring/org.gvsig.raster.2.4/org.gvsig.raster/org.gvsig.raster.app/org.gvsig.raster.app.mainplugin/src/main/java/org/gvsig/fmap/dal/serverexplorer/filesystem/swing/FilesystemExplorerWizardPanelView.xml</at>
+   <at name="rowspecs">CENTER:2DLU:NONE,FILL:DEFAULT:GROW(1.0),CENTER:2DLU:NONE</at>
+   <at name="colspecs">FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE</at>
+   <at name="components">
+    <object classname="java.util.LinkedList">
+     <item >
+      <at name="value">
+       <object classname="com.jeta.forms.store.memento.BeanMemento">
+        <super classname="com.jeta.forms.store.memento.ComponentMemento">
+         <at name="cellconstraints">
+          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+           <at name="column">2</at>
+           <at name="row">2</at>
+           <at name="colspan">1</at>
+           <at name="rowspan">1</at>
+           <at name="halign">default</at>
+           <at name="valign">fill</at>
+           <at name="insets" object="insets">0,0,0,0</at>
+          </object>
+         </at>
+         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+        </super>
+        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+        <at name="beanclass">javax.swing.JTable</at>
+        <at name="beanproperties">
+         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+          <at name="classname">javax.swing.JTable</at>
+          <at name="properties">
+           <object classname="com.jeta.forms.store.support.PropertyMap">
+            <at name="border">
+             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+              <super classname="com.jeta.forms.store.properties.BorderProperty">
+               <at name="name">border</at>
+              </super>
+              <at name="borders">
+               <object classname="java.util.LinkedList">
+                <item >
+                 <at name="value">
+                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                   <super classname="com.jeta.forms.store.properties.BorderProperty">
+                    <at name="name">border</at>
+                   </super>
+                  </object>
+                 </at>
+                </item>
+               </object>
+              </at>
+             </object>
+            </at>
+            <at name="name">tableFiles</at>
+            <at name="width">402</at>
+            <at name="scollBars">
+             <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
+              <at name="name">scollBars</at>
+              <at name="verticalpolicy">20</at>
+              <at name="horizontalpolicy">30</at>
+              <at name="border">
+               <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                <super classname="com.jeta.forms.store.properties.BorderProperty">
+                 <at name="name">border</at>
+                </super>
+                <at name="borders">
+                 <object classname="java.util.LinkedList">
+                  <item >
+                   <at name="value">
+                    <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                     <super classname="com.jeta.forms.store.properties.BorderProperty">
+                      <at name="name">border</at>
+                     </super>
+                    </object>
+                   </at>
+                  </item>
+                 </object>
+                </at>
+               </object>
+              </at>
+             </object>
+            </at>
+            <at name="height">32</at>
+           </object>
+          </at>
+         </object>
+        </at>
+       </object>
+      </at>
+     </item>
+     <item >
+      <at name="value">
+       <object classname="com.jeta.forms.store.memento.FormMemento">
+        <super classname="com.jeta.forms.store.memento.ComponentMemento">
+         <at name="cellconstraints">
+          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+           <at name="column">4</at>
+           <at name="row">2</at>
+           <at name="colspan">1</at>
+           <at name="rowspan">1</at>
+           <at name="halign">default</at>
+           <at name="valign">top</at>
+           <at name="insets" object="insets">0,0,0,0</at>
+          </object>
+         </at>
+         <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
+        </super>
+        <at name="id">embedded.2038415235</at>
+        <at name="rowspecs">CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:GROW(1.0)</at>
+        <at name="colspecs">FILL:DEFAULT:NONE</at>
+        <at name="components">
+         <object classname="java.util.LinkedList">
+          <item >
+           <at name="value">
+            <object classname="com.jeta.forms.store.memento.BeanMemento">
+             <super classname="com.jeta.forms.store.memento.ComponentMemento">
+              <at name="cellconstraints">
+               <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+                <at name="column">1</at>
+                <at name="row">1</at>
+                <at name="colspan">1</at>
+                <at name="rowspan">1</at>
+                <at name="halign">default</at>
+                <at name="valign">default</at>
+                <at name="insets" object="insets">0,0,0,0</at>
+               </object>
+              </at>
+              <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+             </super>
+             <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+             <at name="beanclass">javax.swing.JButton</at>
+             <at name="beanproperties">
+              <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+               <at name="classname">javax.swing.JButton</at>
+               <at name="properties">
+                <object classname="com.jeta.forms.store.support.PropertyMap">
+                 <at name="border">
+                  <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                   <super classname="com.jeta.forms.store.properties.BorderProperty">
+                    <at name="name">border</at>
+                   </super>
+                   <at name="borders">
+                    <object classname="java.util.LinkedList">
+                     <item >
+                      <at name="value">
+                       <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                        <super classname="com.jeta.forms.store.properties.BorderProperty">
+                         <at name="name">border</at>
+                        </super>
+                       </object>
+                      </at>
+                     </item>
+                    </object>
+                   </at>
+                  </object>
+                 </at>
+                 <at name="actionCommand">JButton</at>
+                 <at name="name">btnAdd</at>
+                 <at name="width">97</at>
+                 <at name="text">_add</at>
+                 <at name="toolTipText">_add</at>
+                 <at name="height">22</at>
+                </object>
+               </at>
+              </object>
+             </at>
+            </object>
+           </at>
+          </item>
+          <item >
+           <at name="value">
+            <object classname="com.jeta.forms.store.memento.BeanMemento">
+             <super classname="com.jeta.forms.store.memento.ComponentMemento">
+              <at name="cellconstraints">
+               <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+                <at name="column">1</at>
+                <at name="row">3</at>
+                <at name="colspan">1</at>
+                <at name="rowspan">1</at>
+                <at name="halign">default</at>
+                <at name="valign">default</at>
+                <at name="insets" object="insets">0,0,0,0</at>
+               </object>
+              </at>
+              <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+             </super>
+             <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+             <at name="beanclass">javax.swing.JButton</at>
+             <at name="beanproperties">
+              <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+               <at name="classname">javax.swing.JButton</at>
+               <at name="properties">
+                <object classname="com.jeta.forms.store.support.PropertyMap">
+                 <at name="border">
+                  <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                   <super classname="com.jeta.forms.store.properties.BorderProperty">
+                    <at name="name">border</at>
+                   </super>
+                   <at name="borders">
+                    <object classname="java.util.LinkedList">
+                     <item >
+                      <at name="value">
+                       <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                        <super classname="com.jeta.forms.store.properties.BorderProperty">
+                         <at name="name">border</at>
+                        </super>
+                       </object>
+                      </at>
+                     </item>
+                    </object>
+                   </at>
+                  </object>
+                 </at>
+                 <at name="actionCommand">JButton</at>
+                 <at name="name">btnProperties</at>
+                 <at name="width">97</at>
+                 <at name="text">_properties</at>
+                 <at name="toolTipText">_properties</at>
+                 <at name="height">22</at>
+                </object>
+               </at>
+              </object>
+             </at>
+            </object>
+           </at>
+          </item>
+          <item >
+           <at name="value">
+            <object classname="com.jeta.forms.store.memento.BeanMemento">
+             <super classname="com.jeta.forms.store.memento.ComponentMemento">
+              <at name="cellconstraints">
+               <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+                <at name="column">1</at>
+                <at name="row">5</at>
+                <at name="colspan">1</at>
+                <at name="rowspan">1</at>
+                <at name="halign">default</at>
+                <at name="valign">default</at>
+                <at name="insets" object="insets">0,0,0,0</at>
+               </object>
+              </at>
+              <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+             </super>
+             <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+             <at name="beanclass">javax.swing.JButton</at>
+             <at name="beanproperties">
+              <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+               <at name="classname">javax.swing.JButton</at>
+               <at name="properties">
+                <object classname="com.jeta.forms.store.support.PropertyMap">
+                 <at name="border">
+                  <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                   <super classname="com.jeta.forms.store.properties.BorderProperty">
+                    <at name="name">border</at>
+                   </super>
+                   <at name="borders">
+                    <object classname="java.util.LinkedList">
+                     <item >
+                      <at name="value">
+                       <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                        <super classname="com.jeta.forms.store.properties.BorderProperty">
+                         <at name="name">border</at>
+                        </super>
+                       </object>
+                      </at>
+                     </item>
+                    </object>
+                   </at>
+                  </object>
+                 </at>
+                 <at name="actionCommand">JButton</at>
+                 <at name="name">btnRemove</at>
+                 <at name="width">97</at>
+                 <at name="text">_remove</at>
+                 <at name="toolTipText">_remove</at>
+                 <at name="height">22</at>
+                </object>
+               </at>
+              </object>
+             </at>
+            </object>
+           </at>
+          </item>
+          <item >
+           <at name="value">
+            <object classname="com.jeta.forms.store.memento.BeanMemento">
+             <super classname="com.jeta.forms.store.memento.ComponentMemento">
+              <at name="cellconstraints">
+               <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+                <at name="column">1</at>
+                <at name="row">7</at>
+                <at name="colspan">1</at>
+                <at name="rowspan">1</at>
+                <at name="halign">default</at>
+                <at name="valign">default</at>
+                <at name="insets" object="insets">0,0,0,0</at>
+               </object>
+              </at>
+              <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+             </super>
+             <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+             <at name="beanclass">javax.swing.JButton</at>
+             <at name="beanproperties">
+              <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+               <at name="classname">javax.swing.JButton</at>
+               <at name="properties">
+                <object classname="com.jeta.forms.store.support.PropertyMap">
+                 <at name="border">
+                  <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                   <super classname="com.jeta.forms.store.properties.BorderProperty">
+                    <at name="name">border</at>
+                   </super>
+                   <at name="borders">
+                    <object classname="java.util.LinkedList">
+                     <item >
+                      <at name="value">
+                       <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                        <super classname="com.jeta.forms.store.properties.BorderProperty">
+                         <at name="name">border</at>
+                        </super>
+                       </object>
+                      </at>
+                     </item>
+                    </object>
+                   </at>
+                  </object>
+                 </at>
+                 <at name="actionCommand">JButton</at>
+                 <at name="name">btnUp</at>
+                 <at name="width">97</at>
+                 <at name="text">_up</at>
+                 <at name="toolTipText">_up</at>
+                 <at name="height">22</at>
+                </object>
+               </at>
+              </object>
+             </at>
+            </object>
+           </at>
+          </item>
+          <item >
+           <at name="value">
+            <object classname="com.jeta.forms.store.memento.BeanMemento">
+             <super classname="com.jeta.forms.store.memento.ComponentMemento">
+              <at name="cellconstraints">
+               <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+                <at name="column">1</at>
+                <at name="row">9</at>
+                <at name="colspan">1</at>
+                <at name="rowspan">1</at>
+                <at name="halign">default</at>
+                <at name="valign">default</at>
+                <at name="insets" object="insets">0,0,0,0</at>
+               </object>
+              </at>
+              <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+             </super>
+             <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+             <at name="beanclass">javax.swing.JButton</at>
+             <at name="beanproperties">
+              <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+               <at name="classname">javax.swing.JButton</at>
+               <at name="properties">
+                <object classname="com.jeta.forms.store.support.PropertyMap">
+                 <at name="border">
+                  <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                   <super classname="com.jeta.forms.store.properties.BorderProperty">
+                    <at name="name">border</at>
+                   </super>
+                   <at name="borders">
+                    <object classname="java.util.LinkedList">
+                     <item >
+                      <at name="value">
+                       <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                        <super classname="com.jeta.forms.store.properties.BorderProperty">
+                         <at name="name">border</at>
+                        </super>
+                       </object>
+                      </at>
+                     </item>
+                    </object>
+                   </at>
+                  </object>
+                 </at>
+                 <at name="actionCommand">JButton</at>
+                 <at name="name">btnDown</at>
+                 <at name="width">97</at>
+                 <at name="text">_down</at>
+                 <at name="toolTipText">_down</at>
+                 <at name="height">22</at>
+                </object>
+               </at>
+              </object>
+             </at>
+            </object>
+           </at>
+          </item>
+         </object>
+        </at>
+        <at name="properties">
+         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+          <at name="classname">com.jeta.forms.gui.form.GridView</at>
+          <at name="properties">
+           <object classname="com.jeta.forms.store.support.PropertyMap">
+            <at name="border">
+             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+              <super classname="com.jeta.forms.store.properties.BorderProperty">
+               <at name="name">border</at>
+              </super>
+              <at name="borders">
+               <object classname="java.util.LinkedList"/>
+              </at>
+             </object>
+            </at>
+            <at name="name"></at>
+            <at name="fill">
+             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
+              <at name="name">fill</at>
+             </object>
+            </at>
+            <at name="scollBars">
+             <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
+              <at name="name">scollBars</at>
+              <at name="verticalpolicy">21</at>
+              <at name="horizontalpolicy">31</at>
+              <at name="border">
+               <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                <super classname="com.jeta.forms.store.properties.BorderProperty">
+                 <at name="name">border</at>
+                </super>
+                <at name="borders">
+                 <object classname="java.util.LinkedList">
+                  <item >
+                   <at name="value">
+                    <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                     <super classname="com.jeta.forms.store.properties.BorderProperty">
+                      <at name="name">border</at>
+                     </super>
+                    </object>
+                   </at>
+                  </item>
+                 </object>
+                </at>
+               </object>
+              </at>
+             </object>
+            </at>
+           </object>
+          </at>
+         </object>
+        </at>
+        <at name="cellpainters">
+         <object classname="com.jeta.forms.store.support.Matrix">
+          <at name="rows">
+           <object classname="[Ljava.lang.Object;" size="10">
+            <at name="item" index="0">
+             <object classname="[Ljava.lang.Object;" size="1"/>
+            </at>
+            <at name="item" index="1">
+             <object classname="[Ljava.lang.Object;" size="1"/>
+            </at>
+            <at name="item" index="2">
+             <object classname="[Ljava.lang.Object;" size="1"/>
+            </at>
+            <at name="item" index="3">
+             <object classname="[Ljava.lang.Object;" size="1"/>
+            </at>
+            <at name="item" index="4">
+             <object classname="[Ljava.lang.Object;" size="1"/>
+            </at>
+            <at name="item" index="5">
+             <object classname="[Ljava.lang.Object;" size="1"/>
+            </at>
+            <at name="item" index="6">
+             <object classname="[Ljava.lang.Object;" size="1"/>
+            </at>
+            <at name="item" index="7">
+             <object classname="[Ljava.lang.Object;" size="1"/>
+            </at>
+            <at name="item" index="8">
+             <object classname="[Ljava.lang.Object;" size="1"/>
+            </at>
+            <at name="item" index="9">
+             <object classname="[Ljava.lang.Object;" size="1"/>
+            </at>
+           </object>
+          </at>
+         </object>
+        </at>
+        <at name="rowgroups">
+         <object classname="com.jeta.forms.store.memento.FormGroupSet">
+          <at name="groups">
+           <object classname="java.util.HashMap"/>
+          </at>
+         </object>
+        </at>
+        <at name="colgroups">
+         <object classname="com.jeta.forms.store.memento.FormGroupSet">
+          <at name="groups">
+           <object classname="java.util.HashMap"/>
+          </at>
+         </object>
+        </at>
+       </object>
+      </at>
+     </item>
+    </object>
+   </at>
+   <at name="properties">
+    <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+     <at name="classname">com.jeta.forms.gui.form.GridView</at>
+     <at name="properties">
+      <object classname="com.jeta.forms.store.support.PropertyMap">
+       <at name="border">
+        <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+         <super classname="com.jeta.forms.store.properties.BorderProperty">
+          <at name="name">border</at>
+         </super>
+         <at name="borders">
+          <object classname="java.util.LinkedList"/>
+         </at>
+        </object>
+       </at>
+       <at name="name"></at>
+       <at name="fill">
+        <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
+         <at name="name">fill</at>
+        </object>
+       </at>
+       <at name="scollBars">
+        <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
+         <at name="name">scollBars</at>
+         <at name="verticalpolicy">21</at>
+         <at name="horizontalpolicy">31</at>
+         <at name="border">
+          <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+           <super classname="com.jeta.forms.store.properties.BorderProperty">
+            <at name="name">border</at>
+           </super>
+           <at name="borders">
+            <object classname="java.util.LinkedList">
+             <item >
+              <at name="value">
+               <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                <super classname="com.jeta.forms.store.properties.BorderProperty">
+                 <at name="name">border</at>
+                </super>
+               </object>
+              </at>
+             </item>
+            </object>
+           </at>
+          </object>
+         </at>
+        </object>
+       </at>
+      </object>
+     </at>
+    </object>
+   </at>
+   <at name="cellpainters">
+    <object classname="com.jeta.forms.store.support.Matrix">
+     <at name="rows">
+      <object classname="[Ljava.lang.Object;" size="3">
+       <at name="item" index="0">
+        <object classname="[Ljava.lang.Object;" size="5"/>
+       </at>
+       <at name="item" index="1">
+        <object classname="[Ljava.lang.Object;" size="5">
+         <at name="item" index="1">
+          <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
+           <at name="name">fill</at>
+           <at name="delegate">
+            <object classname="com.jeta.forms.store.properties.effects.SolidProperty">
+             <at name="color">
+              <object classname="com.jeta.forms.store.properties.ColorProperty">
+               <at name="name">dyncolor</at>
+               <at name="colorkey">constant</at>
+               <at name="constantcolor" object="color">255,255,255</at>
+              </object>
+             </at>
+            </object>
+           </at>
+          </object>
+         </at>
+        </object>
+       </at>
+       <at name="item" index="2">
+        <object classname="[Ljava.lang.Object;" size="5"/>
+       </at>
+      </object>
+     </at>
+    </object>
+   </at>
+   <at name="rowgroups">
+    <object classname="com.jeta.forms.store.memento.FormGroupSet">
+     <at name="groups">
+      <object classname="java.util.HashMap"/>
+     </at>
+    </object>
+   </at>
+   <at name="colgroups">
+    <object classname="com.jeta.forms.store.memento.FormGroupSet">
+     <at name="groups">
+      <object classname="java.util.HashMap"/>
+     </at>
+    </object>
+   </at>
+  </object>
+ </at>
+</object>
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/fmap/dal/serverexplorer/filesystem/swing/FilesystemExplorerWizardPanelView.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/fmap/dal/serverexplorer/filesystem/swing/FilesystemExplorerWizardPanelView.java	(revision 0)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/fmap/dal/serverexplorer/filesystem/swing/FilesystemExplorerWizardPanelView.java	(revision 43152)
@@ -0,0 +1,184 @@
+package org.gvsig.fmap.dal.serverexplorer.filesystem.swing;
+
+import com.jgoodies.forms.layout.CellConstraints;
+import com.jgoodies.forms.layout.FormLayout;
+import java.awt.BorderLayout;
+import java.awt.ComponentOrientation;
+import java.awt.Container;
+import java.awt.Dimension;
+import javax.swing.Box;
+import javax.swing.ImageIcon;
+import javax.swing.JButton;
+import javax.swing.JFrame;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTable;
+
+
+public class FilesystemExplorerWizardPanelView extends JPanel
+{
+   JTable tableFiles = new JTable();
+   JButton btnAdd = new JButton();
+   JButton btnProperties = new JButton();
+   JButton btnRemove = new JButton();
+   JButton btnUp = new JButton();
+   JButton btnDown = new JButton();
+
+   /**
+    * Default constructor
+    */
+   public FilesystemExplorerWizardPanelView()
+   {
+      initializePanel();
+   }
+
+   /**
+    * Adds fill components to empty cells in the first row and first column of the grid.
+    * This ensures that the grid spacing will be the same as shown in the designer.
+    * @param cols an array of column indices in the first row where fill components should be added.
+    * @param rows an array of row indices in the first column where fill components should be added.
+    */
+   void addFillComponents( Container panel, int[] cols, int[] rows )
+   {
+      Dimension filler = new Dimension(10,10);
+
+      boolean filled_cell_11 = false;
+      CellConstraints cc = new CellConstraints();
+      if ( cols.length > 0 && rows.length > 0 )
+      {
+         if ( cols[0] == 1 && rows[0] == 1 )
+         {
+            /** add a rigid area  */
+            panel.add( Box.createRigidArea( filler ), cc.xy(1,1) );
+            filled_cell_11 = true;
+         }
+      }
+
+      for( int index = 0; index < cols.length; index++ )
+      {
+         if ( cols[index] == 1 && filled_cell_11 )
+         {
+            continue;
+         }
+         panel.add( Box.createRigidArea( filler ), cc.xy(cols[index],1) );
+      }
+
+      for( int index = 0; index < rows.length; index++ )
+      {
+         if ( rows[index] == 1 && filled_cell_11 )
+         {
+            continue;
+         }
+         panel.add( Box.createRigidArea( filler ), cc.xy(1,rows[index]) );
+      }
+
+   }
+
+   /**
+    * Helper method to load an image file from the CLASSPATH
+    * @param imageName the package and name of the file to load relative to the CLASSPATH
+    * @return an ImageIcon instance with the specified image file
+    * @throws IllegalArgumentException if the image resource cannot be loaded.
+    */
+   public ImageIcon loadImage( String imageName )
+   {
+      try
+      {
+         ClassLoader classloader = getClass().getClassLoader();
+         java.net.URL url = classloader.getResource( imageName );
+         if ( url != null )
+         {
+            ImageIcon icon = new ImageIcon( url );
+            return icon;
+         }
+      }
+      catch( Exception e )
+      {
+         e.printStackTrace();
+      }
+      throw new IllegalArgumentException( "Unable to load image: " + imageName );
+   }
+
+   /**
+    * Method for recalculating the component orientation for
+    * right-to-left Locales.
+    * @param orientation the component orientation to be applied
+    */
+   public void applyComponentOrientation( ComponentOrientation orientation )
+   {
+      // Not yet implemented...
+      // I18NUtils.applyComponentOrientation(this, orientation);
+      super.applyComponentOrientation(orientation);
+   }
+
+   public JPanel createPanel()
+   {
+      JPanel jpanel1 = new JPanel();
+      FormLayout formlayout1 = new FormLayout("FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE","CENTER:2DLU:NONE,FILL:DEFAULT:GROW(1.0),CENTER:2DLU:NONE");
+      CellConstraints cc = new CellConstraints();
+      jpanel1.setLayout(formlayout1);
+
+      tableFiles.setName("tableFiles");
+      JScrollPane jscrollpane1 = new JScrollPane();
+      jscrollpane1.setViewportView(tableFiles);
+      jscrollpane1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
+      jscrollpane1.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
+      jpanel1.add(jscrollpane1,new CellConstraints(2,2,1,1,CellConstraints.DEFAULT,CellConstraints.FILL));
+
+      jpanel1.add(createPanel1(),new CellConstraints(4,2,1,1,CellConstraints.DEFAULT,CellConstraints.TOP));
+      addFillComponents(jpanel1,new int[]{ 1,2,3,4,5 },new int[]{ 1,2,3 });
+      return jpanel1;
+   }
+
+   public JPanel createPanel1()
+   {
+      JPanel jpanel1 = new JPanel();
+      FormLayout formlayout1 = new FormLayout("FILL:DEFAULT:NONE","CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:GROW(1.0)");
+      CellConstraints cc = new CellConstraints();
+      jpanel1.setLayout(formlayout1);
+
+      btnAdd.setActionCommand("JButton");
+      btnAdd.setName("btnAdd");
+      btnAdd.setText("_add");
+      btnAdd.setToolTipText("_add");
+      jpanel1.add(btnAdd,cc.xy(1,1));
+
+      btnProperties.setActionCommand("JButton");
+      btnProperties.setName("btnProperties");
+      btnProperties.setText("_properties");
+      btnProperties.setToolTipText("_properties");
+      jpanel1.add(btnProperties,cc.xy(1,3));
+
+      btnRemove.setActionCommand("JButton");
+      btnRemove.setName("btnRemove");
+      btnRemove.setText("_remove");
+      btnRemove.setToolTipText("_remove");
+      jpanel1.add(btnRemove,cc.xy(1,5));
+
+      btnUp.setActionCommand("JButton");
+      btnUp.setName("btnUp");
+      btnUp.setText("_up");
+      btnUp.setToolTipText("_up");
+      jpanel1.add(btnUp,cc.xy(1,7));
+
+      btnDown.setActionCommand("JButton");
+      btnDown.setName("btnDown");
+      btnDown.setText("_down");
+      btnDown.setToolTipText("_down");
+      jpanel1.add(btnDown,cc.xy(1,9));
+
+      addFillComponents(jpanel1,new int[0],new int[]{ 2,4,6,8,10 });
+      return jpanel1;
+   }
+
+   /**
+    * Initializer
+    */
+   protected void initializePanel()
+   {
+      setLayout(new BorderLayout());
+      add(createPanel(), BorderLayout.CENTER);
+   }
+
+
+}
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/fmap/dal/serverexplorer/filesystem/swing/FilesystemStoreParameteresCellRenderer.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/fmap/dal/serverexplorer/filesystem/swing/FilesystemStoreParameteresCellRenderer.java	(revision 0)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/fmap/dal/serverexplorer/filesystem/swing/FilesystemStoreParameteresCellRenderer.java	(revision 43152)
@@ -0,0 +1,82 @@
+package org.gvsig.fmap.dal.serverexplorer.filesystem.swing;
+
+import java.io.File;
+
+import javax.swing.table.DefaultTableCellRenderer;
+import javax.swing.table.TableCellRenderer;
+
+import org.cresques.cts.IProjection;
+
+import org.gvsig.fmap.dal.DataStore;
+import org.gvsig.fmap.dal.DataStoreParameters;
+import org.gvsig.fmap.dal.serverexplorer.filesystem.FilesystemStoreParameters;
+import org.gvsig.fmap.mapcontext.MapContext;
+import org.gvsig.tools.ToolsLocator;
+import org.gvsig.tools.i18n.I18nManager;
+
+
+/**
+ * @author fdiaz
+ *
+ */
+public class FilesystemStoreParameteresCellRenderer extends DefaultTableCellRenderer implements TableCellRenderer {
+
+    /**
+     *
+     */
+    private static final long serialVersionUID = 3360312241312140371L;
+
+    MapContext mapContext;
+
+    /**
+     * @param mapContext
+     */
+    public FilesystemStoreParameteresCellRenderer(MapContext mapContext) {
+        super();
+        this.mapContext = mapContext;
+    }
+
+
+    @Override
+    protected void setValue(Object value) {
+        FilesystemStoreParameters params = (FilesystemStoreParameters)value;
+
+        I18nManager i18nManager = ToolsLocator.getI18nManager();
+
+        File file = params.getFile();
+
+        StringBuilder builder = new StringBuilder();
+        builder.append("<html><p>");
+        builder.append("<b>");
+        builder.append(file.getName());
+        builder.append("</b></p>");//<font size=+2>");
+        builder.append("<p>");
+        builder.append("<font size=-2>");
+
+        IProjection projection = null;
+        if(params instanceof DataStoreParameters){
+            DataStoreParameters parameters = (DataStoreParameters)params;
+            if(parameters.hasDynValue(DataStore.METADATA_CRS)){
+                projection = (IProjection) parameters.getDynValue(DataStore.METADATA_CRS);
+            };
+        }
+        String crsText;
+        if(projection==null) {
+            crsText = i18nManager.getTranslation("_Unknown_CRS_so_assumed") + " "
+                + mapContext.getProjection().getAbrev();
+
+        } else {
+            if(!projection.equals(mapContext.getProjection())){
+                crsText = projection.getAbrev() + " ("+i18nManager.getTranslation("_reprojected_on_the_fly") + ") ";
+            } else {
+                crsText = projection.getAbrev();
+            }
+        }
+        builder.append(crsText);
+        builder.append("</font></p>");
+        builder.append("</html>");
+
+        super.setValue(builder.toString());
+    }
+
+}
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/fmap/dal/serverexplorer/filesystem/swing/FilesystemExplorerWizardPanel.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/fmap/dal/serverexplorer/filesystem/swing/FilesystemExplorerWizardPanel.java	(revision 43151)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/fmap/dal/serverexplorer/filesystem/swing/FilesystemExplorerWizardPanel.java	(revision 43152)
@@ -1,124 +1,90 @@
-/**
- * gvSIG. Desktop Geographic Information System.
- *
- * Copyright (C) 2007-2013 gvSIG Association.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA  02110-1301, USA.
- *
- * For any additional information, do not hesitate to contact us
- * at info AT gvsig.com, or visit our website www.gvsig.com.
- */
 package org.gvsig.fmap.dal.serverexplorer.filesystem.swing;
 
-import java.awt.Component;
 import java.awt.GridBagConstraints;
 import java.awt.GridBagLayout;
-import java.awt.Insets;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
+import java.awt.Window;
 import java.io.File;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
 import java.util.prefs.Preferences;
 
-import javax.swing.AbstractListModel;
-import javax.swing.JButton;
-import javax.swing.JList;
-import javax.swing.JPanel;
-import javax.swing.JScrollPane;
-import javax.swing.ListModel;
-import javax.swing.ScrollPaneConstants;
-import javax.swing.SwingUtilities;
+import javax.swing.JOptionPane;
 import javax.swing.event.AncestorEvent;
 import javax.swing.event.AncestorListener;
-import javax.swing.event.ListSelectionEvent;
-import javax.swing.event.ListSelectionListener;
 import javax.swing.filechooser.FileFilter;
 
-import org.gvsig.andami.PluginServices;
-import org.gvsig.andami.messages.Messages;
-import org.gvsig.andami.messages.NotificationManager;
+import org.cresques.cts.IProjection;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import org.gvsig.andami.Launcher;
 import org.gvsig.app.ApplicationLocator;
 import org.gvsig.app.ApplicationManager;
 import org.gvsig.app.gui.WizardPanel;
 import org.gvsig.app.prepareAction.PrepareContext;
+import org.gvsig.app.prepareAction.PrepareContextView_v1;
+import org.gvsig.app.project.documents.view.toc.actions.LayerErrorsPanel;
 import org.gvsig.fmap.dal.DALLocator;
 import org.gvsig.fmap.dal.DataManager;
+import org.gvsig.fmap.dal.DataStore;
 import org.gvsig.fmap.dal.DataStoreParameters;
+import org.gvsig.fmap.dal.DataStoreProviderFactory;
+import org.gvsig.fmap.dal.DataTypes;
 import org.gvsig.fmap.dal.exception.DataException;
 import org.gvsig.fmap.dal.serverexplorer.filesystem.FilesystemFileFilter;
 import org.gvsig.fmap.dal.serverexplorer.filesystem.FilesystemServerExplorer;
 import org.gvsig.fmap.dal.serverexplorer.filesystem.FilesystemServerExplorerParameters;
 import org.gvsig.fmap.dal.serverexplorer.filesystem.FilesystemStoreParameters;
-import org.gvsig.gui.beans.swing.JFileChooser;
+import org.gvsig.fmap.mapcontext.MapContext;
+import org.gvsig.fmap.mapcontext.MapContextLocator;
+import org.gvsig.fmap.mapcontext.MapContextManager;
+import org.gvsig.fmap.mapcontext.layers.FLayer;
+import org.gvsig.fmap.mapcontrol.MapControl;
 import org.gvsig.tools.ToolsLocator;
-import org.gvsig.tools.dispose.Disposable;
+import org.gvsig.tools.dispose.DisposeUtils;
+import org.gvsig.tools.dynobject.DynField;
 import org.gvsig.tools.dynobject.DynObject;
 import org.gvsig.tools.i18n.I18nManager;
+import org.gvsig.tools.identitymanagement.UnauthorizedException;
 import org.gvsig.tools.swing.api.ToolsSwingLocator;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.gvsig.tools.swing.api.windowmanager.WindowManager;
 
+
 /**
- * @author jmvivo
- * 
+ * @author fdiaz
+ *
  */
-public abstract class FilesystemExplorerWizardPanel extends WizardPanel
-    implements ActionListener, ListSelectionListener, Disposable {
+public class FilesystemExplorerWizardPanel extends WizardPanel {
 
     /**
-	 *
-	 */
-    private static final long serialVersionUID = -3371957786521876903L;
+     *
+     */
+    private static final long serialVersionUID = 788115220334290212L;
 
-    private static final Logger LOG = LoggerFactory
-        .getLogger(FilesystemExplorerWizardPanel.class);
+    private static final Logger logger = LoggerFactory.getLogger(FilesystemExplorerWizardPanel.class);
 
+    private static final String DEFAULT_FILTER = "All_supported";
+
     public static final String OPEN_LAYER_FILE_CHOOSER_ID =
         "OPEN_LAYER_FILE_CHOOSER_ID";
 
-    protected static final String ADD_COMMAND = "ADD";
-    protected static final String EDIT_COMMAND = "PROPERTIES";
-    protected static final String REMOVE_COMMAND = "REMOVE";
-    protected static final String UP_COMMAND = "UP";
-    protected static final String DOWN_COMMAND = "DOWN";
+    protected FilesystemServerExplorer explorer;
+    private ArrayList<MyFileFilter> filters;
 
     private static String lastPath = null;
-    private static MyFileFilter lastFilter = null;
-    private static final String DEFAULT_FILTER = "All_supported";
+    private FilesystemExplorerWizardPanelController panel = null;
 
-    private JList fileList;
-    private JScrollPane fileListScroll;
-    private JPanel buttonsPanel;
-    private JButton addButton;
-    private JButton propertiesButton;
-    private JButton removeButton;
-    private JButton upButton;
-    private JButton downButton;
-
-    protected FilesystemServerExplorer explorer;
-    private ArrayList<MyFileFilter> filters;
-    
+    /**
+     *
+     */
     public FilesystemExplorerWizardPanel() {
         super();
         this.addAncestorListener(new AncestorListener() {
             public void ancestorAdded(AncestorEvent ae) {
                 initExplorer();
                 initFilters();
+                updatePanel();
             }
             public void ancestorRemoved(AncestorEvent ae) {
                 dispose();
@@ -127,18 +93,16 @@
             }
         });
     }
-    
-    public void setTabName(String name) {
-        super.setTabName(name);
-    }
 
-    public DataStoreParameters[] getParameters() {
-        return ((FilesystemStoreListModel) getFileList().getModel())
-            .getParameters();
+    protected void updatePanel() {
+        this.panel.setExplorer(this.explorer);
+        this.panel.setFilters(this.filters);
     }
 
+    @Override
     public void initWizard() {
-        setTabName(PluginServices.getText(this, "Fichero"));
+        I18nManager i18nManager = ToolsLocator.getI18nManager();
+        setTabName(i18nManager.getTranslation("Fichero"));
         if (lastPath == null) {
             Preferences prefs = Preferences.userRoot().node("gvsig.foldering");
             lastPath = prefs.get("DataFolder", null);
@@ -148,17 +112,89 @@
         initUI();
     }
 
+    private void initUI() {
+
+        setLayout(new GridBagLayout());
+        GridBagConstraints gridBagConstraints = new GridBagConstraints();
+        gridBagConstraints.fill = GridBagConstraints.BOTH;
+        gridBagConstraints.weightx = 1.0;
+        gridBagConstraints.weighty = 1.0;
+
+        panel = new FilesystemExplorerWizardPanelController(getMapContext(),explorer, filters);
+        this.add(panel, gridBagConstraints);
+
+    }
+
+    @Override
+    public void execute() {
+        if (this.getMapCtrl() == null) {
+            throw new IllegalArgumentException("MapControl need");
+        }
+        String layerName;
+
+        for (DataStoreParameters params : this.getParameters()) {
+            IProjection proj = this.getMapCtrl().getProjection();
+
+            // Buscamos por el parametro de la proyeccion
+            // que sean obligatorios y est�n a null
+            // y le ponemos la proyeccion de la vista
+            DynField[] fields = params.getDynClass().getDynFields();
+            for (DynField field : fields) {
+                if (field.getType() == DataTypes.CRS && field.isMandatory()) {
+                    if (params.getDynValue(field.getName()) == null) {
+                        params.setDynValue(field.getName(), proj);
+                    }
+                }
+            }
+
+            layerName = ((FilesystemStoreParameters) params).getFile().getName();
+
+            this.doAddLayer(layerName, params);
+        }
+    }
+
+    @Override
+    public void close() {
+        this.dispose();
+    }
+
+    /**
+     * Dispose filters and explorer
+     */
+    public void dispose() {
+        if (explorer != null) {
+            explorer.dispose();
+            explorer = null;
+        }
+        if (filters != null) {
+            filters.clear();
+            filters = null;
+        }
+        panel.dispose();
+    }
+
+    @Override
+    public DataStoreParameters[] getParameters() {
+        return this.panel.getParameters();
+    }
+
+    /**
+     * @param files
+     */
+    public void addFiles(List<File> files) {
+        this.panel.addFiles(files);
+    }
+
+
     private void initExplorer() {
         if (this.explorer == null) {
             DataManager dm = DALLocator.getDataManager();
             FilesystemServerExplorerParameters param;
             try {
-                param
-                        = (FilesystemServerExplorerParameters) dm
+                param = (FilesystemServerExplorerParameters) dm
                         .createServerExplorerParameters(FilesystemServerExplorer.NAME);
                 param.setInitialpath(lastPath);
-                explorer
-                        = (FilesystemServerExplorer) dm.openServerExplorer(
+                explorer = (FilesystemServerExplorer) dm.openServerExplorer(
                                 FilesystemServerExplorer.NAME, param);
             } catch (Exception e) {
                 throw new RuntimeException(e);
@@ -173,14 +209,15 @@
             if (this.getMapCtrl() == null) {
                 mode = FilesystemServerExplorer.MODE_FEATURE;
             } else {
-                mode
-                        = FilesystemServerExplorer.MODE_GEOMETRY
+                mode = FilesystemServerExplorer.MODE_GEOMETRY
                         | FilesystemServerExplorer.MODE_RASTER;
             }
 
+            I18nManager i18nManager = ToolsLocator.getI18nManager();
+
             // First filter in list will be 'All formats' filter
             this.filters.add(new MyFileFilter(explorer.getFilter(mode,
-                    Messages.get(DEFAULT_FILTER))));
+                    i18nManager.getTranslation(DEFAULT_FILTER))));
 
             @SuppressWarnings("unchecked")
             Iterator<FilesystemFileFilter> iter = explorer.getFilters(mode);
@@ -190,373 +227,145 @@
         }
     }
 
-    private void initUI() {
-        this.setLayout(new GridBagLayout());
-        GridBagConstraints constr = new GridBagConstraints();
-
-        constr.gridwidth = GridBagConstraints.RELATIVE;
-        constr.gridheight = GridBagConstraints.RELATIVE;
-        constr.fill = GridBagConstraints.BOTH;
-        constr.anchor = GridBagConstraints.FIRST_LINE_START;
-        constr.weightx = 1;
-        constr.weighty = 1;
-        constr.ipadx = 3;
-        constr.ipady = 3;
-
-        this.add(getFileListScroll(), constr);
-
-        constr.gridwidth = GridBagConstraints.REMAINDER;
-        constr.gridheight = GridBagConstraints.RELATIVE;
-        constr.fill = GridBagConstraints.NONE;
-        constr.anchor = GridBagConstraints.FIRST_LINE_END;
-        constr.weightx = 0;
-        constr.weighty = 0;
-        this.add(getButtonsPanel(), constr);
-
-        this.updateButtons();
-        this.updateContainingWizardAcceptButton();
-
+    boolean isTiled(DataStoreParameters parameters){
+        return this.panel.isTiled(parameters);
     }
 
-    protected class FilesystemStoreListModel extends AbstractListModel {
+    @Override
+    protected void doAddLayer(final String layerName, final DataStoreParameters parameters) {
+        final boolean b_isMapControlAvail = this.isMapControlAvailable();
+        final MapControl mapControl = this.getMapCtrl();
+        final MapContext mapContext = this.getMapContext();
+        final ApplicationManager application = ApplicationLocator.getManager();
+        final MapContextManager manager
+                = MapContextLocator.getMapContextManager();
 
-        private static final long serialVersionUID = -726119349962990665L;
-        private ArrayList<FilesystemStoreParameters> theList;
+        logger.info("addLayer('{}',...)", layerName);
+        Thread task = new Thread(new Runnable() {
 
-        public FilesystemStoreListModel() {
-            theList = new ArrayList<FilesystemStoreParameters>();
-        }
+            @Override
+            public void run() {
+                FLayer layer = null;
+                FLayer preparedLayer = null;
+                try {
+                    DataManager dataManager = DALLocator.getDataManager();
+                    DataStore dataStore = dataManager.openStore(parameters.getDataStoreName(), parameters);
+                     DataStoreProviderFactory factory = dataStore.getFactory();
+                    if (factory.isTiledSupported() != DataStoreProviderFactory.NO) {
+                        if (isTiled(parameters)) {
+                            DynObject tileParameters = dataManager.createStoreParameters("TileCache");
 
-        public DataStoreParameters[] getParameters() {
-            return theList.toArray(new DataStoreParameters[0]);
-        }
+                            File rootFolder = new File(Launcher.getAppHomeDir() + File.separator + "gvsig_rcache");
 
-        public Object getElementAt(int index) {
-            return theList.get(index).getFile().getName();
-        }
+                            if (tileParameters.getDynClass().getDynField("rootFolder") != null) {
+                                tileParameters.setDynValue("rootFolder", rootFolder);
+                            }
 
-        public FilesystemStoreParameters getStoreParameterAt(int index) {
-            return theList.get(index);
-        }
+                            try {
+                                dataStore.useCache("TileCache", tileParameters);
+                            } catch (DataException e) {
+                                logger.warn("Can't cache the layer.", e);
+                            }
 
-        public int getSize() {
-            return theList.size();
-        }
+                        }
+                    }
 
-        public DynObject getDynObjectAt(int index) {
-            return (DynObject) theList.get(index);
-        }
+                    String layerName = dataStore.getName();
+                    layer = manager.createLayer(layerName, dataStore);
+                    DisposeUtils.disposeQuietly(dataStore);
+                    preparedLayer
+                            = application.prepareOpenLayer(layer,
+                                    new PrepareContextView_v1() {
 
-        public void add(DynObject dynObject) {
-            this.theList.add((FilesystemStoreParameters) dynObject);
-            this.fireIntervalAdded(this, this.theList.size() - 1,
-                this.theList.size() - 1);
-        }
+                                        @Override
+                                        public Window getOwnerWindow() {
+                                            return null;
+                                        }
 
-        public void addAll(List<FilesystemStoreParameters> toAdd) {
-            int index0 = this.getSize() - 1;
-            if (index0 < 0) {
-                index0 = 0;
-            }
-            this.theList.addAll(toAdd);
-            this.fireIntervalAdded(this, index0, this.theList.size() - 1);
-        }
+                                        @Override
+                                        public MapControl getMapControl() {
+                                            return mapControl;
+                                        }
 
-        public void remove(int i) {
-            this.theList.remove(i);
-            this.fireIntervalRemoved(this, i, i);
+                                        @Override
+                                        public IProjection getViewProjection() {
+                                            return mapContext.getProjection();
+                                        }
 
-        }
+                                        @Override
+                                        public MapContext getMapContext() {
+                                            return mapContext;
+                                        }
 
-        public void up(FilesystemStoreParameters item) {
-            int curIndex = this.theList.indexOf(item);
-            if (curIndex < 1) {
-                return;
-            }
-            this.theList.remove(item);
-            this.theList.add(curIndex - 1, item);
-            this.fireContentsChanged(this, curIndex, curIndex - 1);
-        }
+                                        @Override
+                                        public boolean isMapControlAvailable() {
+                                            return b_isMapControlAvail;
+                                        }
+                                    });
+                    if (preparedLayer != null) {
+                        mapContext.getLayers().addLayer(preparedLayer);
+                    }
+                } catch (UnauthorizedException e) {
+                    I18nManager i18nManager = ToolsLocator.getI18nManager();
+                    ApplicationManager application = ApplicationLocator.getManager();
+                    String resource = "";
+                    if (e.getResource() instanceof FilesystemStoreParameters) {
+                        resource = ((FilesystemStoreParameters) e.getResource()).getFile().getPath();
+                    }
+                    application.messageDialog(
+                            i18nManager.getTranslation("_User_0_is_not_authorized_to_1_on_resource_2_3",
+                                    new String[]{
+                                        e.getIdentity().getID(),
+                                        e.getActionName(),
+                                        e.getResourceName(),
+                                        resource
+                                    }),
+                            i18nManager.getTranslation("_Unauthorized_access"),
+                            JOptionPane.WARNING_MESSAGE
+                    );
+                    logger.warn("Unauthorized access to layer '" + layerName + "'.", e);
 
-        public void down(FilesystemStoreParameters item) {
-            int curIndex = this.theList.indexOf(item);
-            if (curIndex < 0) {
-                return;
-            } else
-                if (curIndex == this.theList.size() - 1) {
-                    return;
-                }
-            this.theList.remove(item);
-            this.theList.add(curIndex + 1, item);
-            this.fireContentsChanged(this, curIndex, curIndex + 1);
-        }
-        
-        public void forceUpdate(int index) {
-            this.fireContentsChanged(this, index, index);
-        }
+                } catch (Exception e) {
+                    LayerErrorsPanel panel = new LayerErrorsPanel(layerName, e);
+                    if (preparedLayer != null) {
+                        panel.setLayer(preparedLayer);
+                    } else if(layer!=null){
+                        panel.setLayer(layer);
+                    }
+                    I18nManager i18nManager = ToolsLocator.getI18nManager();
+                    ToolsSwingLocator.getWindowManager().showWindow(
+                        panel,
+                        i18nManager.getTranslation("_Problems_loading_the_layer"),
+                        WindowManager.MODE.WINDOW
+                    );
+                    logger.warn("Can't load layer '" + layerName + "'.", e);
 
-    }
-
-    protected JList getFileList() {
-        if (fileList == null) {
-            fileList = new JList(new FilesystemStoreListModel());
-
-            fileList.addListSelectionListener(this);
-        }
-        return fileList;
-    }
-
-    private JScrollPane getFileListScroll() {
-        if (fileListScroll == null) {
-            fileListScroll = new JScrollPane();
-            fileListScroll.setViewportView(getFileList());
-            fileListScroll
-                .setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED);
-            fileListScroll
-                .setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
-
-        }
-        return fileListScroll;
-    }
-
-    private Component getButtonsPanel() {
-        if (buttonsPanel == null) {
-            buttonsPanel = new JPanel();
-
-            buttonsPanel.setLayout(new GridBagLayout());
-
-            GridBagConstraints constr = new GridBagConstraints();
-
-            constr.anchor = GridBagConstraints.CENTER;
-            constr.fill = GridBagConstraints.NONE;
-            constr.ipadx = 3;
-            constr.ipady = 3;
-            constr.insets = new Insets(3, 3, 3, 3);
-            constr.gridwidth = GridBagConstraints.REMAINDER;
-
-            buttonsPanel.add(getAddButton(), constr);
-            buttonsPanel.add(getPropertiesButton(), constr);
-            buttonsPanel.add(getRemoveButton(), constr);
-            buttonsPanel.add(getUpButton(), constr);
-            buttonsPanel.add(getDownButton(), constr);
-            // buttonsPanel.add(new JLabel(), constrLbl);
-        }
-        return buttonsPanel;
-    }
-
-    private JButton getAddButton() {
-        if (addButton == null) {
-            addButton =
-                ToolsSwingLocator.getUsabilitySwingManager().createJButton();
-            addButton.setText(getLocalizedText("add"));
-            addButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
-            addButton.setActionCommand(ADD_COMMAND);
-            addButton.addActionListener(this);
-        }
-        return addButton;
-    }
-
-    private JButton getPropertiesButton() {
-        if (propertiesButton == null) {
-            propertiesButton =
-                ToolsSwingLocator.getUsabilitySwingManager().createJButton();
-            propertiesButton.setText(getLocalizedText("properties"));
-            propertiesButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
-            propertiesButton.setActionCommand(EDIT_COMMAND);
-            propertiesButton.addActionListener(this);
-        }
-        return propertiesButton;
-    }
-
-    private JButton getRemoveButton() {
-        if (removeButton == null) {
-            removeButton =
-                ToolsSwingLocator.getUsabilitySwingManager().createJButton();
-            removeButton.setText(getLocalizedText("remove"));
-            removeButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
-            removeButton.setActionCommand(REMOVE_COMMAND);
-            removeButton.addActionListener(this);
-        }
-        return removeButton;
-    }
-
-    private JButton getUpButton() {
-        if (upButton == null) {
-            upButton =
-                ToolsSwingLocator.getUsabilitySwingManager().createJButton();
-            upButton.setText(getLocalizedText("up"));
-            upButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
-            upButton.setActionCommand(UP_COMMAND);
-            upButton.addActionListener(this);
-        }
-        return upButton;
-    }
-
-    private JButton getDownButton() {
-        if (downButton == null) {
-            downButton =
-                ToolsSwingLocator.getUsabilitySwingManager().createJButton();
-            downButton.setText(getLocalizedText("down"));
-            downButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
-            downButton.setActionCommand(DOWN_COMMAND);
-            downButton.addActionListener(this);
-        }
-        return downButton;
-    }
-
-    private String getLocalizedText(String txt) {
-        try {
-            return PluginServices.getText(this, txt);
-        } catch (Exception e) {
-            return txt;
-        }
-    }
-
-    public void actionPerformed(ActionEvent e) {
-        String command = e.getActionCommand();
-        FilesystemStoreListModel model =
-            (FilesystemStoreListModel) getFileList().getModel();
-
-        if (command == ADD_COMMAND) {
-            this.addFilesFromParameters(this.chooseFilesParameters());
-        } else
-            if (command == EDIT_COMMAND) {
-                showPropertiesDialog(model.getDynObjectAt(getFileList().getSelectedIndex()));
-
-            } else
-                if (command == REMOVE_COMMAND) {
-                    int[] selecteds = getFileList().getSelectedIndices();
-                    for (int i = selecteds.length - 1; i > -1; i--) {
-                        model.remove(selecteds[i]);
+                } finally {
+                    if (preparedLayer != layer) {
+                        DisposeUtils.disposeQuietly(preparedLayer);
                     }
-                    getFileList().setSelectedIndex(-1);
-                    
-                    this.updateContainingWizardAcceptButton();
+                    DisposeUtils.disposeQuietly(layer);
+                }
+            }
+        });
+        task.start();
 
-                } else
-                    if (command == UP_COMMAND) {
-                        List<FilesystemStoreParameters> items =
-                            new ArrayList<FilesystemStoreParameters>();
-                        int[] selecteds = getFileList().getSelectedIndices();
-                        if (selecteds.length == 0 || selecteds[0] == 0) {
-                            return;
-                        }
-                        for (int i = 0; i < selecteds.length; i++) {
-                            items.add(model.getStoreParameterAt(selecteds[i]));
-                            selecteds[i]--;
-                        }
-                        Iterator<FilesystemStoreParameters> iter =
-                            items.iterator();
-                        while (iter.hasNext()) {
-                            model.up(iter.next());
-                        }
-                        getFileList().setSelectedIndices(selecteds);
-
-                    } else
-                        if (command == DOWN_COMMAND) {
-                            List<FilesystemStoreParameters> items =
-                                new ArrayList<FilesystemStoreParameters>();
-                            int[] selecteds =
-                                getFileList().getSelectedIndices();
-                            if (selecteds.length == 0
-                                || selecteds[selecteds.length - 1] == model
-                                    .getSize() - 1) {
-                                return;
-                            }
-                            for (int i = selecteds.length - 1; i > -1; i--) {
-                                items.add(model
-                                    .getStoreParameterAt(selecteds[i]));
-                                selecteds[i]++;
-                            }
-                            Iterator<FilesystemStoreParameters> iter =
-                                items.iterator();
-                            while (iter.hasNext()) {
-                                model.down(iter.next());
-                            }
-                            getFileList().setSelectedIndices(selecteds);
-
-                        } else {
-                            throw new IllegalArgumentException(command);
-                        }
-
     }
 
-    protected void showPropertiesDialog(final DynObject parameters) {
-        FilesystemExplorerPropertiesPanelManager manager = ApplicationLocator.getFilesystemExplorerPropertiesPanelManager();
-        FilesystemExplorerPropertiesPanel panel = manager.createPanel(parameters);
-        manager.showPropertiesDialog(parameters,panel);
-        
-        refreshFileList();
-    }
 
-    protected void refreshFileList() {
-        // force repaint
-        ListModel lm = this.getFileList().getModel();
-        if (lm instanceof FilesystemStoreListModel) {
-            FilesystemStoreListModel mm = (FilesystemStoreListModel) lm;
-            mm.forceUpdate(getFileList().getSelectedIndex());
-        }
-    }
-    
-    public void addFiles(List<File> files) {
-        File[] filesArray = files.toArray(new File[files.size()]);
-        this.addFilesFromParameters(this.getParametersList(null, filesArray, null));
-    }
-
-    private void addFilesFromParameters(List<FilesystemStoreParameters> filesParams) {
-        if ( filesParams.isEmpty() ) {
-            return;
-        }
-        FilesystemStoreListModel model = (FilesystemStoreListModel) getFileList().getModel();
-        model.addAll(filesParams);
-        getFileList().setModel(model);
-
-        this.updateContainingWizardAcceptButton();
-        try {
-            fileList.setSelectedIndex(fileList.getModel().getSize() - 1);
-        } catch (Exception ex) {
-            // Ignore errors
-        }
-    }
-
     /**
-     * check number of files already selected for adding
+     * @author fdiaz
+     *
      */
-    private void updateContainingWizardAcceptButton() {
-        int curr_add_file_count = getFileList().getModel().getSize();
-        this.callStateChanged(curr_add_file_count > 0);
-    }
-
-    
-    public boolean areSettingsValid() {
-        int curr_add_file_count = getFileList().getModel().getSize();
-        boolean r = curr_add_file_count > 0;
-        return r;
-    }
-
-    public List<DynObject> getSelecteds() {
-        ArrayList<DynObject> list = new ArrayList<DynObject>();
-        JList fList = this.getFileList();
-        int[] selecteds = fList.getSelectedIndices();
-        FilesystemStoreListModel model =
-            (FilesystemStoreListModel) fList.getModel();
-
-        for (int index : selecteds) {
-            list.add((DynObject) model.getStoreParameterAt(index));
-        }
-        return list;
-    }
-
-    public void valueChanged(ListSelectionEvent e) {
-        this.updateButtons();
-    }
-
     public class MyFileFilter extends FileFilter {
 
-        public FilesystemFileFilter filter = null;
+        private FilesystemFileFilter filter = null;
 
+        /**
+         * @param params
+         */
         public MyFileFilter(FilesystemFileFilter params) {
-            this.filter = params;
+            this.setFilter(params);
         }
 
         /**
@@ -566,7 +375,7 @@
             if (f.isDirectory()) {
                 return true;
             }
-            return filter.accept(f);
+            return getFilter().accept(f);
 
         }
 
@@ -574,206 +383,37 @@
          * @see javax.swing.filechooser.FileFilter#getDescription()
          */
         public String getDescription() {
-            return filter.getDescription();
+            return getFilter().getDescription();
         }
 
+        /**
+         * @return
+         */
         public String getName() {
-            return filter.getDataStoreProviderName();
+            return getFilter().getDataStoreProviderName();
         }
-    }
 
-    private List<FilesystemStoreParameters> chooseFilesParameters() {
-        
-        // this.callStateChanged(true);
-        
-        JFileChooser fileChooser =
-            new JFileChooser(OPEN_LAYER_FILE_CHOOSER_ID,
-                explorer.getCurrentPath());
-        fileChooser.setMultiSelectionEnabled(true);
-        fileChooser.setAcceptAllFileFilterUsed(false);
-
-        Iterator<MyFileFilter> iter = this.filters.iterator();
-        while (iter.hasNext()) {
-            fileChooser.addChoosableFileFilter(iter.next());
+        /**
+         * @return the filter
+         */
+        public FilesystemFileFilter getFilter() {
+            return filter;
         }
-        
-        if (filters.size() > 0) {
-            MyFileFilter firstf = filters.get(0);
-            // Set first filter
-            fileChooser.setFileFilter(firstf);
-        }
 
-        // If there is a last filter, use it
-        if (lastFilter != null && filters.contains(lastFilter)) {
-            fileChooser.setFileFilter(lastFilter);
+        /**
+         * @param filter the filter to set
+         */
+        public void setFilter(FilesystemFileFilter filter) {
+            this.filter = filter;
         }
-
-        int result = fileChooser.showOpenDialog(this);
-
-        List<FilesystemStoreParameters> toAdd = 
-            new ArrayList<FilesystemStoreParameters>();
-
-        if (result == JFileChooser.APPROVE_OPTION) {
-            lastFilter = (MyFileFilter) fileChooser.getFileFilter();
-            lastPath = fileChooser.getCurrentDirectory().getAbsolutePath();
-            JFileChooser.setLastPath(OPEN_LAYER_FILE_CHOOSER_ID, fileChooser.getCurrentDirectory());
-            String providerName = null;
-            if( lastFilter!=null ) {
-                if( !DEFAULT_FILTER.equalsIgnoreCase(lastFilter.getDescription()) ) {
-                    providerName = lastFilter.getName();
-                }
-            }
-            toAdd = this.getParametersList(
-                    fileChooser.getCurrentDirectory(), 
-                    fileChooser.getSelectedFiles(), 
-                    providerName
-            );
-        }
-        return toAdd;
     }
 
-    private List<FilesystemStoreParameters> getParametersList(File folder, File[] files, String providerName) {
-        ApplicationManager application = ApplicationLocator.getManager();
-        
-        PrepareContext context = this.getPrepareDataStoreContext();
-        
-        List<DataStoreParameters> params = new ArrayList<DataStoreParameters>();
-        List<DataStoreParameters> preparedParams = null;
-        List<FilesystemStoreParameters> returnParams = new ArrayList<FilesystemStoreParameters>();
-        
-        for ( File aFile : files ) {
-            String currentProvider = providerName;
-            DataStoreParameters param;
-            try {
-                if( folder == null) {
-                    explorer.setCurrentPath(aFile.getParentFile());
-                } else {
-                    explorer.setCurrentPath(folder);
-                }
-                if( currentProvider == null ) {
-                    for( int i=1; i<this.filters.size(); i++) {
-                        MyFileFilter filter = this.filters.get(i);
-                        if( filter.accept(aFile)) {
-                            currentProvider = filter.getName();
-                            break;
-                        }
-                    }
-                }
-                if( currentProvider == null ) {
-                    // TODO: ask user
-                    continue;
-                }
-                param = explorer.createStoreParameters(aFile, currentProvider);
-                if ( param == null ) {
-                    // TODO show warning
-                    continue;
-                }
-                params.add(param);
-
-            } catch (DataException e) {
-                NotificationManager.addError(e);
-                return null;
-            }
-        }
-
-        try {
-            preparedParams
-                    = application.prepareOpenDataStoreParameters(params, context);
-        } catch (Exception e) {
-            NotificationManager.addError(e);
-        }
-
-        if ( preparedParams != null ) {
-            for ( int i = 0; i < preparedParams.size(); i++ ) {
-                returnParams.add((FilesystemStoreParameters) preparedParams.get(i));
-            }
-        }
-        return returnParams;
+    protected void showPropertiesDialog(DynObject parameters) {
+        panel.showPropertiesDialog(parameters);
     }
 
-    protected abstract PrepareContext getPrepareDataStoreContext();
-
-    /**
-     * Refers to up/down/remove buttons etc. Called when selection changes
-     */
-    private void updateButtons() {
-        int selectedIndex = this.getFileList().getSelectedIndex();
-        int size = this.getFileList().getModel().getSize();
-        int[] selecteds = this.getFileList().getSelectedIndices();
-        if (size < 1) {
-            this.getPropertiesButton().setEnabled(false);
-            this.getRemoveButton().setEnabled(false);
-            this.getUpButton().setEnabled(false);
-            this.getDownButton().setEnabled(false);
-            return;
-        } else
-            if (size == 1) {
-                this.getUpButton().setEnabled(false);
-                this.getDownButton().setEnabled(false);
-            } else {
-                this.getUpButton().setEnabled(selectedIndex > 0);
-
-                this.getDownButton().setEnabled(
-                    selectedIndex > -1
-                        && selecteds[selecteds.length - 1] < size - 1);
-            }
-        this.getPropertiesButton().setEnabled(
-            selectedIndex > -1
-                && this.getFileList().getSelectedIndices().length == 1);
-        this.getRemoveButton().setEnabled(selectedIndex > -1);
+    protected PrepareContext getPrepareDataStoreContext() {
+        return panel.getPrepareDataStoreContext();
     }
 
-    public void close() {
-        this.dispose();
-    }
-
-    public void dispose() {
-        if (explorer != null) {
-            explorer.dispose();
-            explorer = null;
-        }
-        if (filters != null) {
-            filters.clear();
-            filters = null;
-        }
-    }
-    
-    class RefreshThread extends Thread {
-        
-        private int waitt = 0;
-        private JList comp = null;
-        
-        public RefreshThread(JList c, int t) {
-            waitt = t;
-            comp = c;
-        }
-        public void run() {
-            
-            try {
-                /*
-                 * We might need to wait a bit because the GUI thread needs
-                 * some time to update (this is because we have used a modal dialog
-                 * and we refresh after that dialog is closed)
-                 */
-                Thread.sleep(waitt);
-            } catch (Exception exc) {
-                
-            }
-            
-            SwingUtilities.invokeLater(new Runnable() {
-                public void run() {
-                    try {
-                        // System.out.println("REFRESH");
-                        comp.clearSelection();
-                    } catch (Exception exc) {
-                        LOG.info("Error while refreshing components.", exc);
-                    }
-                }
-            });
-        }
-    }    
-    
-    protected void fixParametersFromContext(final DynObject parameters) {
-        // By default do nothing
-    }
 }
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app.document.table.app/org.gvsig.app.document.table.app.mainplugin/src/main/java/org/gvsig/fmap/dal/serverexplorer/filesystem/swing/FilesystemExplorerTableWizardPanel.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app.document.table.app/org.gvsig.app.document.table.app.mainplugin/src/main/java/org/gvsig/fmap/dal/serverexplorer/filesystem/swing/FilesystemExplorerTableWizardPanel.java	(revision 43151)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app.document.table.app/org.gvsig.app.document.table.app.mainplugin/src/main/java/org/gvsig/fmap/dal/serverexplorer/filesystem/swing/FilesystemExplorerTableWizardPanel.java	(revision 43152)
@@ -81,12 +81,12 @@
         DataStoreParameters[] parameters = this.getParameters();
         List<TableDocument> tabledocs =
             new ArrayList<>(parameters.length);
-        
+
         Set<String> not_valid = new HashSet<>();
-        
+
         for (DataStoreParameters params : parameters) {
             store = null;
-            
+
             /*
              * Try to validate.
              */
@@ -104,7 +104,7 @@
                             }
                             buffer.append(exx.getMessage());
                         }
-                        
+
                     }
                 }
                 String msg = params.getDataStoreName();
@@ -115,7 +115,7 @@
                 not_valid.add(msg);
                 continue;
             }
-            
+
             try {
 
                 DataManager dataManager = DALLocator.getDataManager();
@@ -140,7 +140,7 @@
             }
 
         }
-        
+
         if (not_valid.size() > 0) {
             String not_str = not_valid.toString();
             JOptionPane.showMessageDialog(
@@ -162,7 +162,7 @@
                 public Window getOwnerWindow() {
                     return null;
                 }
-                
+
                 @Override
                 public IProjection getViewProjection() {
                 	return null;
@@ -182,11 +182,10 @@
     @Override
     protected void showPropertiesDialog(final DynObject parameters) {
         FilesystemExplorerPropertiesPanelManager manager = ApplicationLocator.getFilesystemExplorerPropertiesPanelManager();
-        FilesystemExplorerPropertiesPanel panel = manager.createPanel(parameters);        
+        FilesystemExplorerPropertiesPanel panel = manager.createPanel(parameters);
         panel.setExcludeGeometryOptions(true);
         manager.showPropertiesDialog(parameters, panel);
-        
-        refreshFileList();
     }
-    
+
+
 }
Index: trunk/org.gvsig.desktop/pom.xml
===================================================================
--- trunk/org.gvsig.desktop/pom.xml	(revision 43151)
+++ trunk/org.gvsig.desktop/pom.xml	(revision 43152)
@@ -494,7 +494,7 @@
                 <groupId>org.gnu</groupId>
                 <artifactId>jel</artifactId>
                 <version>2.0.1</version>
-            </dependency>            
+            </dependency>
             <dependency>
                 <groupId>org.nfunk</groupId>
                 <artifactId>jep</artifactId>
@@ -2599,7 +2599,7 @@
 
         <jython.artifactId>jython-standalone</jython.artifactId>
         <!-- External project versions -->
-        <gvsig.tools.version>3.0.102</gvsig.tools.version>
+        <gvsig.tools.version>3.0.103</gvsig.tools.version>
         <gvsig.proj.version>1.0.4</gvsig.proj.version>
         <gvsig.projection.api.version>2.0.22</gvsig.projection.api.version>
 
