Index: trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.csv.app/org.gvsig.csv.app.mainplugin/src/main/resources-plugin/i18n/text.properties
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.csv.app/org.gvsig.csv.app.mainplugin/src/main/resources-plugin/i18n/text.properties	(revision 0)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.csv.app/org.gvsig.csv.app.mainplugin/src/main/resources-plugin/i18n/text.properties	(revision 44395)
@@ -0,0 +1,7 @@
+_Profile=Perfil
+_Quote_Policy=Pol\u00edtica de entrecomillado
+_Locale=C\u00f3digo
+_Record_separator=Separador entre registros
+_Delimiter=Delimitador
+_Quote_character=Car\u00e1cter de entrecomillado
+_Charset=Codificaci\u00f3n
\ No newline at end of file

Property changes on: trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.csv.app/org.gvsig.csv.app.mainplugin/src/main/resources-plugin/i18n/text.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.csv.app/org.gvsig.csv.app.mainplugin/src/main/resources-plugin/i18n/text_en.properties
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.csv.app/org.gvsig.csv.app.mainplugin/src/main/resources-plugin/i18n/text_en.properties	(revision 0)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.csv.app/org.gvsig.csv.app.mainplugin/src/main/resources-plugin/i18n/text_en.properties	(revision 44395)
@@ -0,0 +1,7 @@
+_Profile=Perfil
+_Quote_Policy=Quote Policy
+_Locale=Locale
+_Record_separator=Record separator
+_Delimiter=Delimiter
+_Quote_character=Quote character
+_Charset=Charset
\ No newline at end of file

Property changes on: trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.csv.app/org.gvsig.csv.app.mainplugin/src/main/resources-plugin/i18n/text_en.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.exportto.app/org.gvsig.exportto.app.mainplugin/src/main/resources-plugin/i18n/text.properties
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.exportto.app/org.gvsig.exportto.app.mainplugin/src/main/resources-plugin/i18n/text.properties	(revision 44394)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.exportto.app/org.gvsig.exportto.app.mainplugin/src/main/resources-plugin/i18n/text.properties	(revision 44395)
@@ -77,8 +77,8 @@
 _Target_projection=Projecci\u00f3n de destino
 select_target_projection=Seleccione proyecci\u00f3n destino
 _Use_the_same_projection_as_the_origin=Usar la misma proyecci\u00f3n que el origen
-_Use_the_same_projection_of_the_context_usually_the_View=Usar la misma proteccion del contexto (normalmente la Vista)
+_Use_the_same_projection_of_the_context_usually_the_View=Usar la misma proyecci\u00f3n del contexto (normalmente la Vista)
 _Select_a_projection=Seleccionar una proyecci\u00f3n
 _Select_simplified_export=Selecci\u00f3n de exportaci\u00f3n simplificada
 _Use_simplified_export=Usar exportaci\u00f3n simplificada
-_Use_simplified_export_description=Usar exportaci\u00f3n simplificada permite exportar rapidamente un shape indicando \u00fanicamente el fichero de destino.\nSi desea seleccionar la codificaci\u00f3n o el campo geometria a usar, desactive el check de 'Usar exportaci\u00f3n simplificada'.
+_Use_simplified_export_description=Usar exportaci\u00f3n simplificada permite exportar rapidamente un shape indicando \u00fanicamente el fichero de destino.\nSi desea seleccionar la codificaci\u00f3n o el campo geometria a usar, desactive el check de 'Usar exportaci\u00f3n simplificada'.
\ No newline at end of file
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.exportto.app/org.gvsig.exportto.app.mainplugin/src/main/resources-plugin/i18n/text_en.properties
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.exportto.app/org.gvsig.exportto.app.mainplugin/src/main/resources-plugin/i18n/text_en.properties	(revision 44394)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.exportto.app/org.gvsig.exportto.app.mainplugin/src/main/resources-plugin/i18n/text_en.properties	(revision 44395)
@@ -83,4 +83,4 @@
 _Select_a_projection=Select a projection
 _Select_simplified_export=Select simplified export
 _Use_simplified_export=Use simplified export
-_Use_simplified_export_description=Using simplified export allows you to quickly export a shape indicating only the destination file.\nIf you want to select the encoding or the geometry field to be used, uncheck the 'Use simplified export' check.
+_Use_simplified_export_description=Using simplified export allows you to quickly export a shape indicating only the destination file.\nIf you want to select the encoding or the geometry field to be used, uncheck the 'Use simplified export' check.
\ No newline at end of file
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.exportto.app/org.gvsig.exportto.app.mainplugin/src/main/java/org/gvsig/export/app/extension/ExportTable.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.exportto.app/org.gvsig.exportto.app.mainplugin/src/main/java/org/gvsig/export/app/extension/ExportTable.java	(revision 44394)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.exportto.app/org.gvsig.exportto.app.mainplugin/src/main/java/org/gvsig/export/app/extension/ExportTable.java	(revision 44395)
@@ -84,7 +84,9 @@
     private void doAddTable(ExportProcess process) {
         ApplicationManager application = ApplicationLocator.getManager();
         I18nManager i18n = ToolsLocator.getI18nManager();
-
+        if (process.getTargetOpenStoreParameters()==null) {
+            return;
+        }
         int n = application.confirmDialog(
                 i18n.getTranslation("_Add_new_table_to_current_project"), 
                 i18n.getTranslation("_Export"), 
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.exportto.app/org.gvsig.exportto.app.mainplugin/src/main/java/org/gvsig/export/app/extension/ExportLayerExtension.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.exportto.app/org.gvsig.exportto.app.mainplugin/src/main/java/org/gvsig/export/app/extension/ExportLayerExtension.java	(revision 44394)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.exportto.app/org.gvsig.exportto.app.mainplugin/src/main/java/org/gvsig/export/app/extension/ExportLayerExtension.java	(revision 44395)
@@ -202,6 +202,10 @@
         
         ApplicationManager application = ApplicationLocator.getManager();
         I18nManager i18n = ToolsLocator.getI18nManager();
+        
+        if (process.getTargetOpenStoreParameters()==null) {
+            return;
+        }
 
         int n = application.confirmDialog(
                 i18n.getTranslation("_Add_new_layer_to_current_view"), 
Index: trunk/org.gvsig.desktop/pom.xml
===================================================================
--- trunk/org.gvsig.desktop/pom.xml	(revision 44394)
+++ trunk/org.gvsig.desktop/pom.xml	(revision 44395)
@@ -2537,7 +2537,7 @@
 
         <jython.artifactId>jython-standalone</jython.artifactId>
         <!-- External project versions -->
-        <gvsig.tools.version>3.0.194</gvsig.tools.version>
+        <gvsig.tools.version>3.0.195-SNAPSHOT</gvsig.tools.version>
         <gvsig.proj.version>1.0.4</gvsig.proj.version>
         <gvsig.projection.api.version>2.0.25</gvsig.projection.api.version>
 
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/resources/org/gvsig/exportto/swing/impl/i18n/text.properties
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/resources/org/gvsig/exportto/swing/impl/i18n/text.properties	(revision 44394)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/resources/org/gvsig/exportto/swing/impl/i18n/text.properties	(revision 44395)
@@ -31,4 +31,5 @@
 _Change_field_name=Cambiar nombre
 _Change_field_type=Cambiar tipo
 _Check_export=Exportar
-_Change_field_size=Tama\u00f1o
\ No newline at end of file
+_Change_field_size=Tama\u00f1o
+_Charset=Codificaci\u00f3n de caracteres
\ No newline at end of file
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/resources/org/gvsig/exportto/swing/impl/i18n/text_en.properties
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/resources/org/gvsig/exportto/swing/impl/i18n/text_en.properties	(revision 44394)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/resources/org/gvsig/exportto/swing/impl/i18n/text_en.properties	(revision 44395)
@@ -31,4 +31,5 @@
 _Change_field_name=Change name
 _Change_field_type=Change type
 _Check_export=Export
-_Change_field_size=Size
\ No newline at end of file
+_Change_field_size=Size
+_Charset=Charset
\ No newline at end of file
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/java/org/gvsig/export/swing/impl/DefaultJExportProcessPanel.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/java/org/gvsig/export/swing/impl/DefaultJExportProcessPanel.java	(revision 44394)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/java/org/gvsig/export/swing/impl/DefaultJExportProcessPanel.java	(revision 44395)
@@ -27,6 +27,7 @@
 import java.awt.Dimension;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
+import java.util.Date;
 import java.util.HashSet;
 import java.util.Set;
 import javax.swing.JButton;
@@ -133,12 +134,11 @@
         try {
             removePreviousPanels();
             if (this.process.getParameters() != null) {
-                if ( StringUtils.equals(this.process.getParameters().getServiceName(),serviceFactory.getName())) {
-                    this.process.setParameters(null);
+                // Check parameters are for the actual serviceFactory, if not, reset.
+                if ( !StringUtils.equals(this.process.getParameters().getServiceName(),serviceFactory.getName())) {
+                    this.process.setOutputFormat(serviceFactory.getName());
                 }
-            }
-            
-            if (this.process.getParameters()==null) {
+            } else if (this.process.getParameters()==null) {
                 this.process.setOutputFormat(serviceFactory.getName());
             }
             
@@ -293,6 +293,7 @@
         ExportParameters copyParams = null;
         try {
             copyParams = (ExportParameters) params.clone();
+            copyParams.setCreationDate(new Date());
             History<ExportParameters> h = exportManager.getHistory();
             h.add(copyParams);
         } catch (Exception ex) {
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/java/org/gvsig/export/swing/impl/panels/SelectAttributesPanelView.xml
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/java/org/gvsig/export/swing/impl/panels/SelectAttributesPanelView.xml	(revision 44394)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/java/org/gvsig/export/swing/impl/panels/SelectAttributesPanelView.xml	(revision 44395)
@@ -74,8 +74,8 @@
              </object>
             </at>
             <at name="name">lblHeader</at>
-            <at name="width">838</at>
-            <at name="text">_select_attributes_to_export_and_its_name</at>
+            <at name="width">652</at>
+            <at name="text">_Select_name_type_size_and_attributes_to_export</at>
             <at name="fill">
              <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
               <at name="name">fill</at>
@@ -115,7 +115,7 @@
            <object classname="com.jeta.forms.store.support.PropertyMap">
             <at name="autoscrolls">true</at>
             <at name="name">jplAttributes</at>
-            <at name="width">810</at>
+            <at name="width">624</at>
             <at name="height">12</at>
            </object>
           </at>
@@ -169,12 +169,32 @@
              </object>
             </at>
             <at name="name">tblAttributes</at>
-            <at name="width">808</at>
+            <at name="width">622</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>
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/java/org/gvsig/export/swing/impl/panels/SelectCharsetPanelView.xml
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/java/org/gvsig/export/swing/impl/panels/SelectCharsetPanelView.xml	(revision 0)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/java/org/gvsig/export/swing/impl/panels/SelectCharsetPanelView.xml	(revision 44395)
@@ -0,0 +1,270 @@
+<?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/osc/devel/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/java/org/gvsig/export/swing/impl/panels/SelectCharsetPanelView.xml</at>
+   <at name="rowspecs">CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,FILL:DEFAULT:GROW(1.0),CENTER:DEFAULT:NONE</at>
+   <at name="colspecs">FILL:DEFAULT:NONE,FILL:8DLU:NONE,FILL:DEFAULT:GROW(1.0),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">2</at>
+           <at name="row">2</at>
+           <at name="colspan">2</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.label.JETALabel</at>
+        <at name="beanproperties">
+         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+          <at name="classname">com.jeta.forms.components.label.JETALabel</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">lblCharset</at>
+            <at name="width">634</at>
+            <at name="text">_Charset</at>
+            <at name="fill">
+             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
+              <at name="name">fill</at>
+             </object>
+            </at>
+            <at name="height">14</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">3</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.JList</at>
+        <at name="beanproperties">
+         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+          <at name="classname">javax.swing.JList</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="scrollableTracksViewportHeight">true</at>
+            <at name="scrollableTracksViewportWidth">true</at>
+            <at name="name">lstCharset</at>
+            <at name="width">618</at>
+            <at name="items">
+             <object classname="com.jeta.forms.store.properties.ItemsProperty">
+              <at name="name">items</at>
+             </object>
+            </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">402</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="4">
+       <at name="item" index="0">
+        <object classname="[Ljava.lang.Object;" size="4"/>
+       </at>
+       <at name="item" index="1">
+        <object classname="[Ljava.lang.Object;" size="4"/>
+       </at>
+       <at name="item" index="2">
+        <object classname="[Ljava.lang.Object;" size="4"/>
+       </at>
+       <at name="item" index="3">
+        <object classname="[Ljava.lang.Object;" size="4"/>
+       </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.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/java/org/gvsig/export/swing/impl/panels/ExportProgressPanel.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/java/org/gvsig/export/swing/impl/panels/ExportProgressPanel.java	(revision 44394)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/java/org/gvsig/export/swing/impl/panels/ExportProgressPanel.java	(revision 44395)
@@ -3,6 +3,7 @@
 import java.awt.BorderLayout;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
+import java.util.Date;
 import javax.swing.JComponent;
 import org.gvsig.export.ExportLocator;
 import org.gvsig.export.ExportParameters;
@@ -13,7 +14,7 @@
 import org.gvsig.tools.bookmarksandhistory.Bookmarks;
 import org.gvsig.tools.i18n.I18nManager;
 import org.gvsig.tools.swing.api.ToolsSwingLocator;
-import static org.gvsig.tools.swing.api.bookmarkshistory.ActionEventWithCurrentValue.ID_GETVALUE;
+import org.gvsig.tools.swing.api.bookmarkshistory.ActionEventWithCurrentValue;
 import org.gvsig.tools.swing.api.bookmarkshistory.BookmarksController;
 import org.gvsig.tools.swing.api.bookmarkshistory.BookmarksController.BookmarkEvent;
 import org.gvsig.tools.swing.api.task.JTaskStatus;
@@ -30,7 +31,7 @@
         implements ExportPanel {
 
     private final static Logger LOGGER = LoggerFactory.getLogger(ExportProgressPanel.class);
-    
+
     private final JExportProcessPanel processPanel;
     private final ExportParameters parameters;
     private JTaskStatus jTaskStatus;
@@ -53,7 +54,6 @@
         this.jpnMain.add(jTaskStatus, BorderLayout.NORTH);
         this.jTaskStatus.bind(this.processPanel.getProcess().getTaskStatus());
 
-//        I18nManager i18nManager = ToolsLocator.getI18nManager();
         Bookmarks<ExportParameters> bookmarks = ExportLocator.getManager().getBookmarks();
         this.bookmarksController = ToolsSwingLocator.getToolsSwingManager().createBookmarksController(bookmarks, this.btnBookmark);
         this.bookmarksController.setAllowAddBookmarks(true);
@@ -62,9 +62,11 @@
             @Override
             public void actionPerformed(ActionEvent e) {
                 try {
-                    if (e.getID() == ID_GETVALUE) {
-                        BookmarkEvent b = (BookmarkEvent) e;
-                        b.setCurrentValue(parameters.clone());
+                    if (e.getID() == ActionEventWithCurrentValue.ID_GETVALUE) {
+                        BookmarkEvent bookmarkEvent = (BookmarkEvent) e;
+                        ExportParameters clone = parameters.clone();
+                        clone.setCreationDate(new Date());
+                        bookmarkEvent.setCurrentValue(clone);
                     }
                 } catch (CloneNotSupportedException ex) {
                     LOGGER.warn("Can't clone export parameters.", ex);
@@ -91,6 +93,7 @@
 
     @Override
     public void enterPanel() {
+//        this.jTaskStatus.setCurValue(0);
 
     }
 
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/java/org/gvsig/export/swing/impl/panels/SelectAttributesPanelView.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/java/org/gvsig/export/swing/impl/panels/SelectAttributesPanelView.java	(revision 44394)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/java/org/gvsig/export/swing/impl/panels/SelectAttributesPanelView.java	(revision 44395)
@@ -1,5 +1,5 @@
 package org.gvsig.export.swing.impl.panels;
-
+import com.jeta.open.i18n.I18NUtils;
 import com.jgoodies.forms.layout.CellConstraints;
 import com.jgoodies.forms.layout.FormLayout;
 import java.awt.BorderLayout;
@@ -15,148 +15,155 @@
 import javax.swing.JPanel;
 import javax.swing.JScrollPane;
 import javax.swing.JTable;
-import javax.swing.table.DefaultTableModel;
-import javax.swing.table.TableModel;
 
-public class SelectAttributesPanelView extends JPanel {
 
-    JLabel lblHeader = new JLabel();
-//    JPanel jplAttributes = new JPanel();
-    JTable tblAttributes = new JTable();
+public class SelectAttributesPanelView extends JPanel
+{
+   JLabel lblHeader = new JLabel();
+   JPanel jplAttributes = new JPanel();
+   JTable tblAttributes = new JTable();
 
-    /**
-     * Default constructor
-     */
-    public SelectAttributesPanelView() {
-        initializePanel();
-    }
+   /**
+    * Default constructor
+    */
+   public SelectAttributesPanelView()
+   {
+      initializePanel();
+   }
 
-    /**
-     * Main method for panel
-     */
-    public static void main(String[] args) {
-        JFrame frame = new JFrame();
-        frame.setSize(600, 400);
-        frame.setLocation(100, 100);
-        frame.getContentPane().add(new SelectAttributesPanelView());
-        frame.setVisible(true);
+   /**
+    * Main method for panel
+    */
+   public static void main(String[] args)
+   {
+      JFrame frame = new JFrame();
+      frame.setSize(600, 400);
+      frame.setLocation(100, 100);
+      frame.getContentPane().add(new SelectAttributesPanelView());
+      frame.setVisible(true);
 
-        frame.addWindowListener(new WindowAdapter() {
-            public void windowClosing(WindowEvent evt) {
-                System.exit(0);
-            }
-        });
-    }
+      frame.addWindowListener( new WindowAdapter()
+      {
+         public void windowClosing( WindowEvent evt )
+         {
+            System.exit(0);
+         }
+      });
+   }
 
-    /**
-     * 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);
+   /**
+    * 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;
-            }
-        }
+      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 < 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]));
-        }
+      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);
-    }
+   /**
+    * 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);
-    }
+   /**
+    * 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:8DLU:NONE,FILL:8DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE", "CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:53DLU:NONE,CENTER:2DLU:NONE");
-        CellConstraints cc = new CellConstraints();
-        jpanel1.setLayout(formlayout1);
+   public JPanel createPanel()
+   {
+      JPanel jpanel1 = new JPanel();
+      FormLayout formlayout1 = new FormLayout("FILL:4DLU:NONE,FILL:8DLU:NONE,FILL:8DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE","CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:53DLU:NONE,CENTER:2DLU:NONE");
+      CellConstraints cc = new CellConstraints();
+      jpanel1.setLayout(formlayout1);
 
-        lblHeader.setName("lblHeader");
-        lblHeader.setText("_select_attributes_to_export_and_its_name");
-        jpanel1.add(lblHeader, cc.xywh(2, 2, 3, 1));
+      lblHeader.setName("lblHeader");
+      lblHeader.setText("_Select_name_type_size_and_attributes_to_export");
+      jpanel1.add(lblHeader,cc.xywh(2,2,3,1));
 
-//        jplAttributes.setAutoscrolls(true);
-//        jplAttributes.setName("jplAttributes");
-//        jpanel1.add(jplAttributes, cc.xy(4, 5));
+      jplAttributes.setAutoscrolls(true);
+      jplAttributes.setName("jplAttributes");
+      jpanel1.add(jplAttributes,cc.xy(4,5));
 
-        tblAttributes.setName("tblAttributes");
-        JScrollPane jscrollpane1 = new JScrollPane();
-        jscrollpane1.setViewportView(tblAttributes);
-        jscrollpane1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
-        jscrollpane1.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
-        jpanel1.add(jscrollpane1, cc.xy(4, 4));
-//        Object data = null;
-//TODO translate
+      tblAttributes.setName("tblAttributes");
+      JScrollPane jscrollpane1 = new JScrollPane();
+      jscrollpane1.setViewportView(tblAttributes);
+      jscrollpane1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
+      jscrollpane1.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
+      jpanel1.add(jscrollpane1,cc.xy(4,4));
 
+      addFillComponents(jpanel1,new int[]{ 1,2,3,4,5 },new int[]{ 1,2,3,4,5,6 });
+      return jpanel1;
+   }
 
-        addFillComponents(jpanel1, new int[]{1, 2, 3, 4, 5}, new int[]{1, 2, 3, 4, 5, 6});
-        return jpanel1;
-    }
+   /**
+    * Initializer
+    */
+   protected void initializePanel()
+   {
+      setLayout(new BorderLayout());
+      add(createPanel(), BorderLayout.CENTER);
+   }
 
-    /**
-     * Initializer
-     */
-    protected void initializePanel() {
-        setLayout(new BorderLayout());
-        add(createPanel(), BorderLayout.CENTER);
-    }
 
 }
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/java/org/gvsig/export/swing/impl/panels/SelectTargetProjectionPanel.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/java/org/gvsig/export/swing/impl/panels/SelectTargetProjectionPanel.java	(revision 44394)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/java/org/gvsig/export/swing/impl/panels/SelectTargetProjectionPanel.java	(revision 44395)
@@ -71,7 +71,7 @@
             this.projectionController.set(this.parameters.getSourceProjection());
         } else {
             this.projectionController.set(this.parameters.getTargetProjection());
-        }       
+        }
         this.rdbtnOriginalProjection.addItemListener(new ItemListener() {
             @Override
             public void itemStateChanged(ItemEvent e) {
@@ -90,11 +90,11 @@
                 doRadioButonsStateChanged();
             }
         });
-        if( this.parameters.getSourceProjection()==null ) {
+        if (this.parameters.getSourceProjection() == null) {
             this.rdbtnUserProjection.setSelected(true);
-        } else if (this.parameters.getTargetProjection()==this.parameters.getSourceProjection()) {
+        } else if (this.parameters.getTargetProjection() == this.parameters.getSourceProjection()) {
             this.rdbtnOriginalProjection.setSelected(true);
-        } else if (this.parameters.getTargetProjection()==this.parameters.getContextProjection()) {
+        } else if (this.parameters.getTargetProjection() == this.parameters.getContextProjection()) {
             this.rdbtnViewProjection.setSelected(true);
         } else {
             this.rdbtnUserProjection.setSelected(true);
@@ -151,22 +151,29 @@
 
     @Override
     public void enterPanel() {
-//        IProjection targetProjection = this.parameters.getTargetProjection();
-//        IProjection contextProjection = this.parameters.getContextProjection();
-//        IProjection sourceProjection = this.parameters.getSourceProjection();
-//        
-//        ICoordTrans trans = this.parameters.getTargetTransformation();
-//        
-//        
-//        if (targetProjection != null) {
-//            
-//            this.projectionController.set(targetProjection);
-//        }
-//        IProjection actualProjection = this.parameters.getContextProjection();
-//
-//        if (targetProjection != actualProjection) {
-//            rdbtnUserProjection.setEnabled(true);
-//        }
+        IProjection targetProjection = this.parameters.getTargetProjection();
+        IProjection contextProjection = this.parameters.getContextProjection();
+        IProjection sourceProjection = this.parameters.getSourceProjection();
+
+        ICoordTrans trans = this.parameters.getTargetTransformation();
+
+        if (targetProjection != null) {
+            this.projectionController.set(targetProjection);
+        } else if (contextProjection != null) {
+            this.projectionController.set(contextProjection);
+        } else if (sourceProjection != null) {
+            this.projectionController.set(sourceProjection);
+        }
+
+        if (targetProjection != contextProjection) {
+            rdbtnUserProjection.setSelected(true);
+        } else {
+            if (targetProjection == sourceProjection) {
+                rdbtnOriginalProjection.setSelected(true);
+            } else if (targetProjection == contextProjection) {
+                rdbtnViewProjection.setSelected(true);
+            }
+        }
     }
 
     @Override
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/java/org/gvsig/export/swing/impl/panels/SelectCharsetPanelView.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/java/org/gvsig/export/swing/impl/panels/SelectCharsetPanelView.java	(revision 0)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/java/org/gvsig/export/swing/impl/panels/SelectCharsetPanelView.java	(revision 44395)
@@ -0,0 +1,164 @@
+package org.gvsig.export.swing.impl.panels;
+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 java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+import javax.swing.Box;
+import javax.swing.ImageIcon;
+import javax.swing.JFrame;
+import javax.swing.JLabel;
+import javax.swing.JList;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+
+
+public class SelectCharsetPanelView extends JPanel
+{
+   JLabel lblCharset = new JLabel();
+   JList lstCharset = new JList();
+
+   /**
+    * Default constructor
+    */
+   public SelectCharsetPanelView()
+   {
+      initializePanel();
+   }
+
+   /**
+    * Main method for panel
+    */
+   public static void main(String[] args)
+   {
+      JFrame frame = new JFrame();
+      frame.setSize(600, 400);
+      frame.setLocation(100, 100);
+      frame.getContentPane().add(new SelectCharsetPanelView());
+      frame.setVisible(true);
+
+      frame.addWindowListener( new WindowAdapter()
+      {
+         public void windowClosing( WindowEvent evt )
+         {
+            System.exit(0);
+         }
+      });
+   }
+
+   /**
+    * 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:DEFAULT:NONE,FILL:8DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:DEFAULT:NONE","CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,FILL:DEFAULT:GROW(1.0),CENTER:DEFAULT:NONE");
+      CellConstraints cc = new CellConstraints();
+      jpanel1.setLayout(formlayout1);
+
+      lblCharset.setName("lblCharset");
+      lblCharset.setText("_Charset");
+      jpanel1.add(lblCharset,cc.xywh(2,2,2,1));
+
+      lstCharset.setName("lstCharset");
+      JScrollPane jscrollpane1 = new JScrollPane();
+      jscrollpane1.setViewportView(lstCharset);
+      jscrollpane1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
+      jscrollpane1.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
+      jpanel1.add(jscrollpane1,cc.xy(3,3));
+
+      addFillComponents(jpanel1,new int[]{ 1,2,3,4 },new int[]{ 1,2,3,4 });
+      return jpanel1;
+   }
+
+   /**
+    * Initializer
+    */
+   protected void initializePanel()
+   {
+      setLayout(new BorderLayout());
+      add(createPanel(), BorderLayout.CENTER);
+   }
+
+
+}
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/java/org/gvsig/export/swing/impl/panels/SelectAttributesPanel.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/java/org/gvsig/export/swing/impl/panels/SelectAttributesPanel.java	(revision 44394)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/java/org/gvsig/export/swing/impl/panels/SelectAttributesPanel.java	(revision 44395)
@@ -17,8 +17,8 @@
 import javax.swing.ListCellRenderer;
 import javax.swing.table.DefaultTableModel;
 import javax.swing.table.TableModel;
+import org.apache.commons.lang.StringUtils;
 import org.gvsig.export.ExportAttributes;
-import org.gvsig.export.ExportLocator;
 import org.gvsig.export.ExportParameters;
 import org.gvsig.export.swing.JExportProcessPanel;
 import org.gvsig.export.swing.spi.ExportPanel;
@@ -29,6 +29,8 @@
 import org.gvsig.tools.dataTypes.DataTypesManager;
 import org.gvsig.tools.i18n.I18nManager;
 import org.gvsig.tools.swing.api.ListElement;
+import org.gvsig.tools.swing.api.ToolsSwingLocator;
+import org.gvsig.tools.swing.api.ToolsSwingManager;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -58,6 +60,7 @@
     ) {
         this.processPanel = processPanel;
         this.parameters = parameters;
+        this.parameters.getExportAttributes().setActive(true);
         this.initComponents();
     }
 
@@ -267,7 +270,7 @@
                             this.setText(value.toString());
                         }
                         Font f = this.getFont();
-                        if (value.toString() == initialType) {
+                        if (StringUtils.equals(value.toString(), initialType)) {
                             this.setFont(f.deriveFont(f.getStyle() | Font.BOLD));
                         } else {
                             this.setFont(f.deriveFont(f.getStyle() & ~Font.BOLD));
@@ -297,9 +300,8 @@
     }
 
     private void translate() {
-        I18nManager i18nManager = ToolsLocator.getI18nManager();
-        this.lblHeader.setText(i18nManager.getTranslation("_Select_attributes_to_export_and_its_name"));
-
+        ToolsSwingManager manager = ToolsSwingLocator.getToolsSwingManager();
+        manager.translate(this.lblHeader);
     }
 
 }
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/java/org/gvsig/export/swing/impl/panels/SelectFormatPanel.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/java/org/gvsig/export/swing/impl/panels/SelectFormatPanel.java	(revision 44394)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/java/org/gvsig/export/swing/impl/panels/SelectFormatPanel.java	(revision 44395)
@@ -18,6 +18,7 @@
 import org.gvsig.export.swing.spi.ExportPanel;
 import org.gvsig.export.swing.spi.ExportPanelValidationException;
 import org.gvsig.tools.ToolsLocator;
+import org.gvsig.tools.bookmarksandhistory.Bookmark;
 import org.gvsig.tools.bookmarksandhistory.Bookmarks;
 import org.gvsig.tools.bookmarksandhistory.History;
 import org.gvsig.tools.i18n.I18nManager;
@@ -28,7 +29,6 @@
 import static org.gvsig.tools.swing.api.bookmarkshistory.ActionEventWithCurrentValue.ID_SETVALUE;
 import org.gvsig.tools.swing.api.bookmarkshistory.BookmarksController;
 import org.gvsig.tools.swing.api.bookmarkshistory.HistoryController;
-import org.gvsig.tools.swing.api.bookmarkshistory.HistoryController.HistoryEvent;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -86,30 +86,29 @@
                     return;
                 }
                 doUpdateDescription();
-//                doUpdateFilter();
             }
         });
-        
+
         Predicate<ExportParameters> filter = new Predicate<ExportParameters>() {
             @Override
             public boolean test(ExportParameters params) {
                 if (params == null) {
                     return false;
                 }
-                ExportServiceFactory selectedService = SelectFormatPanel.this.getSelectedService();
+                ExportServiceFactory selectedService = getSelectedService();
                 if (selectedService == null) {
                     return false;
                 }
                 String selectedServiceName = selectedService.getName();
                 String paramsServiceName = params.getServiceName();
-                return StringUtils.equals(paramsServiceName,selectedServiceName);
+                return StringUtils.equals(paramsServiceName, selectedServiceName);
             }
         };
         ActionListener historyAndBookmarkListener = new ActionListener() {
             @Override
             public void actionPerformed(ActionEvent e) {
                 ActionEventWithCurrentValue<ExportParameters> b = (ActionEventWithCurrentValue<ExportParameters>) e;
-                switch(b.getID()) {
+                switch (b.getID()) {
                     case ID_GETVALUE:
                         // Esta deshabilitado esta opcion
                         break;
@@ -136,7 +135,22 @@
         Bookmarks<ExportParameters> bookmarks = ExportLocator.getManager().getBookmarks();
         this.bookmarksController = ToolsSwingLocator.getToolsSwingManager().createBookmarksController(bookmarks, this.btnBookmark);
         this.bookmarksController.setAllowAddBookmarks(false);
-        this.bookmarksController.setFilter(filter);
+        this.bookmarksController.setFilter(new Predicate<Bookmark<ExportParameters>>() {
+            @Override
+            public boolean test(Bookmark<ExportParameters> bookmark) {
+                ExportParameters params = bookmark.getValue();
+                if (params == null) {
+                    return false;
+                }
+                ExportServiceFactory selectedService = getSelectedService();
+                if (selectedService == null) {
+                    return true;
+                }
+                String selectedServiceName = selectedService.getName();
+                String paramsServiceName = params.getServiceName();
+                return StringUtils.equals(paramsServiceName, selectedServiceName);
+            }
+        });       
         this.bookmarksController.addActionListener(historyAndBookmarkListener);
         History<ExportParameters> history = ExportLocator.getManager().getHistory();
         this.historyController = ToolsSwingLocator.getToolsSwingManager().createHistoryController(history, this.btnHistory);
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/java/org/gvsig/export/swing/impl/panels/SelectCharsetPanel.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/java/org/gvsig/export/swing/impl/panels/SelectCharsetPanel.java	(revision 0)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/java/org/gvsig/export/swing/impl/panels/SelectCharsetPanel.java	(revision 44395)
@@ -0,0 +1,125 @@
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package org.gvsig.export.swing.impl.panels;
+
+import java.nio.charset.Charset;
+import java.util.Map;
+import java.util.SortedMap;
+import javax.swing.DefaultListModel;
+import javax.swing.JComponent;
+import org.apache.commons.lang3.StringUtils;
+import org.gvsig.export.ExportCharsetParameters;
+import org.gvsig.export.ExportParameters;
+import org.gvsig.export.swing.JExportProcessPanel;
+import org.gvsig.export.swing.spi.ExportPanel;
+import org.gvsig.export.swing.spi.ExportPanelValidationException;
+import org.gvsig.tools.ToolsLocator;
+import org.gvsig.tools.dynobject.DynField;
+import org.gvsig.tools.dynobject.DynStruct;
+import org.gvsig.tools.dynobject.exception.DynFieldNotFoundException;
+import org.gvsig.tools.i18n.I18nManager;
+import org.gvsig.tools.swing.api.ListElement;
+import org.gvsig.tools.swing.api.ToolsSwingLocator;
+import org.gvsig.tools.swing.api.ToolsSwingManager;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ *
+ * @author osc
+ */
+public class SelectCharsetPanel extends SelectCharsetPanelView
+        implements ExportPanel {
+
+    private static final Logger LOG = LoggerFactory.getLogger(SelectCharsetPanel.class);
+
+    private final JExportProcessPanel processPanel;
+    private final ExportParameters parameters;
+
+    public SelectCharsetPanel(JExportProcessPanel processPanel, ExportParameters parameters) {
+        super();
+        this.processPanel = processPanel;
+        this.parameters = parameters;
+        this.initComponents();
+    }
+
+    private void initComponents() {
+        DynStruct parametersDefinition = ToolsLocator.getPersistenceManager().getDefinition("DBFStoreParameters");
+        DynField dynField = parametersDefinition.getDynField("Encoding");
+
+        DefaultListModel model = new DefaultListModel();
+        SortedMap<String, Charset> availableCharsets = Charset.availableCharsets();
+        for (Map.Entry<String, Charset> charset : availableCharsets.entrySet()) {
+            model.addElement(charset.getKey());
+        }
+
+        this.lstCharset.setModel(model);
+        this.lstCharset.setSelectedIndex(0);
+
+        this.translate();
+    }
+
+    private void translate() {
+        ToolsSwingManager i18nc = ToolsSwingLocator.getToolsSwingManager();
+        i18nc.translate(this.lblCharset);
+    }
+
+    @Override
+    public JComponent asJComponent() {
+        return this;
+    }
+
+    @Override
+    public String getIdPanel() {
+        return this.getClass().getSimpleName();
+    }
+
+    @Override
+    public String getTitlePanel() {
+        I18nManager i18nManager = ToolsLocator.getI18nManager();
+        return i18nManager.getTranslation("_Select_encoding");
+    }
+
+    @Override
+    public boolean validatePanel() throws ExportPanelValidationException {
+        return true;
+    }
+
+    @Override
+    public void enterPanel() {
+        ExportCharsetParameters params = (ExportCharsetParameters) this.parameters;
+        if (!StringUtils.isEmpty(params.getCharset())) {
+            String charset = params.getCharset();
+            ListElement.setSelected(this.lstCharset, charset);
+            return;
+        }
+        try {
+            // TODO ?
+            //CSVStoreParameters;
+            String sourceCharset = (String) this.parameters.getSourceFeatureStore().getParameters().getDynValue("charset");
+            if (sourceCharset != null) {
+                this.lstCharset.setSelectedValue(sourceCharset, true);
+                return;
+            }
+        } catch (DynFieldNotFoundException e) {
+            LOG.info("Can't find charset dyn value from source store");
+        }
+
+        this.lstCharset.setSelectedValue(Charset.forName("UTF-8").displayName(), true);
+
+    }
+
+    @Override
+    public void previousPanel() {
+
+    }
+
+    @Override
+    public void nextPanel() {
+        ExportCharsetParameters params = (ExportCharsetParameters) this.parameters;
+        params.setCharset((String) this.lstCharset.getSelectedValue());
+    }
+}
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/java/org/gvsig/export/swing/impl/DefaultExportPanelsManager.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/java/org/gvsig/export/swing/impl/DefaultExportPanelsManager.java	(revision 44394)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/java/org/gvsig/export/swing/impl/DefaultExportPanelsManager.java	(revision 44395)
@@ -12,6 +12,7 @@
 import org.gvsig.export.swing.impl.panels.SelectTargetProjectionPanel;
 import org.gvsig.export.swing.impl.panels.SelectGeometryFieldPanel;
 import org.gvsig.export.swing.impl.panels.SelectAttributesPanel;
+import org.gvsig.export.swing.impl.panels.SelectCharsetPanel;
 import org.gvsig.export.swing.spi.ExportPanel;
 import org.gvsig.export.swing.spi.ExportPanelsFactory;
 import org.gvsig.export.swing.spi.ExportPanelsManager;
@@ -35,6 +36,7 @@
         this.factories = new HashMap<>();
         this.stdPanels = new HashMap();
         this.stdPanels.put(PANEL_CHECK_GEOMETRIES, CheckGeometriesPanel.class);
+        this.stdPanels.put(PANEL_SELECT_CHARSET, SelectCharsetPanel.class );
         this.stdPanels.put(PANEL_SELECT_FILTER, SelectFilterPanel.class);
         this.stdPanels.put(PANEL_ATTRIBUTES_SELECTION, SelectAttributesPanel.class);
         this.stdPanels.put(PANEL_SELECT_GEOMETRY_TYPE, SelectGeometryTypePanel.class);
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.prov/org.gvsig.exportto.swing.prov.csv/src/main/java/org/gvsig/export/csv/service/ExportCSVService.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.prov/org.gvsig.exportto.swing.prov.csv/src/main/java/org/gvsig/export/csv/service/ExportCSVService.java	(revision 44394)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.prov/org.gvsig.exportto.swing.prov.csv/src/main/java/org/gvsig/export/csv/service/ExportCSVService.java	(revision 44395)
@@ -106,6 +106,7 @@
             newStoreParameters.setDynValue("quoteCharacter", this.getParameters().getQuoteCharacter());
             newStoreParameters.setDynValue("commentStartMarker", this.getParameters().getCommentStartMarker());
             newStoreParameters.setDynValue("escapeCharacter", this.getParameters().getEscapeCharacter());
+            newStoreParameters.setDynValue("charset", this.getParameters().getCharset());
 
             FeatureType ft = this.getParameters().getExportAttributes().getTargetFeatureType();
             if (ft == null) {
@@ -143,6 +144,7 @@
             openStoreParameters.setDynValue("commentStartMarker", checkEmptyStringParam(this.getParameters().getCommentStartMarker()));
             openStoreParameters.setDynValue("escapeCharacter", checkEmptyStringParam(this.getParameters().getEscapeCharacter()));
             openStoreParameters.setDynValue("firstLineHeader", true);
+            openStoreParameters.setDynValue("charset", checkEmptyStringParam(this.getParameters().getCharset()));
 
             return openStoreParameters;
         } catch (DataException ex) {
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.prov/org.gvsig.exportto.swing.prov.csv/src/main/java/org/gvsig/export/csv/service/ExportCSVParameters.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.prov/org.gvsig.exportto.swing.prov.csv/src/main/java/org/gvsig/export/csv/service/ExportCSVParameters.java	(revision 44394)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.prov/org.gvsig.exportto.swing.prov.csv/src/main/java/org/gvsig/export/csv/service/ExportCSVParameters.java	(revision 44395)
@@ -1,5 +1,6 @@
 package org.gvsig.export.csv.service;
 
+import org.gvsig.export.ExportCharsetParameters;
 import org.gvsig.tools.util.HasAFile;
 import org.gvsig.export.ExportParameters;
 
@@ -7,7 +8,7 @@
  *
  * @author jjdelcerro
  */
-public interface ExportCSVParameters extends ExportParameters, HasAFile {
+public interface ExportCSVParameters extends ExportCharsetParameters, ExportParameters, HasAFile {
     
     public String getProfile();
     
@@ -41,8 +42,4 @@
     
     public void setEscapeCharacter(String escapeCharacter);
     
-    public String getCharset();
-    
-    public void setCharset(String charset);
-    
 }
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.prov/org.gvsig.exportto.swing.prov.csv/src/main/java/org/gvsig/export/csv/service/ExportCSVParametersImpl.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.prov/org.gvsig.exportto.swing.prov.csv/src/main/java/org/gvsig/export/csv/service/ExportCSVParametersImpl.java	(revision 44394)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.prov/org.gvsig.exportto.swing.prov.csv/src/main/java/org/gvsig/export/csv/service/ExportCSVParametersImpl.java	(revision 44395)
@@ -3,7 +3,7 @@
 import java.io.File;
 import org.apache.commons.io.FilenameUtils;
 import org.apache.commons.lang3.StringUtils;
-import org.gvsig.export.spi.AbstractExportParameters;
+import org.gvsig.export.spi.AbstractExportParametersGeometry;
 import org.gvsig.fmap.dal.feature.FeatureType;
 
 /**
@@ -11,7 +11,7 @@
  * @author jjdelcerro
  */
 public class ExportCSVParametersImpl
-        extends AbstractExportParameters
+        extends AbstractExportParametersGeometry
         implements ExportCSVParameters {
 
     private String encoding;
@@ -117,7 +117,7 @@
 
     @Override
     public void setCommentStartMarker(String commentStartMarker) {
-        this.commentStartMarker  = commentStartMarker;
+        this.commentStartMarker = commentStartMarker;
     }
 
     @Override
@@ -139,10 +139,10 @@
     public void setCharset(String charset) {
         this.charset = charset;
     }
-    
+
     @Override
     public String toString() {
-        String label = StringUtils.join(super.getLabel(),",", this.getProfile());
+        String label = StringUtils.join(super.getLabel(), ",", this.getProfile());
         return label;
     }
 
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.prov/org.gvsig.exportto.swing.prov.csv/src/main/java/org/gvsig/export/csv/service/ExportCSVServiceFactory.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.prov/org.gvsig.exportto.swing.prov.csv/src/main/java/org/gvsig/export/csv/service/ExportCSVServiceFactory.java	(revision 44394)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.prov/org.gvsig.exportto.swing.prov.csv/src/main/java/org/gvsig/export/csv/service/ExportCSVServiceFactory.java	(revision 44395)
@@ -38,7 +38,7 @@
 
     @Override
     public boolean hasVectorialSupport() {
-        return false;
+        return true;
     }
     
 }
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.prov/org.gvsig.exportto.swing.prov.csv/src/main/java/org/gvsig/export/csv/swing/ExportCSVPanels.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.prov/org.gvsig.exportto.swing.prov.csv/src/main/java/org/gvsig/export/csv/swing/ExportCSVPanels.java	(revision 44394)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.prov/org.gvsig.exportto.swing.prov.csv/src/main/java/org/gvsig/export/csv/swing/ExportCSVPanels.java	(revision 44395)
@@ -13,44 +13,84 @@
 import org.gvsig.export.swing.spi.ExportPanels;
 import org.gvsig.export.swing.spi.ExportPanelsFactory;
 import org.gvsig.export.swing.spi.ExportPanelsManager;
+import org.gvsig.fmap.geom.Geometry;
 
 /**
  *
  * @author jjdelcerro
  */
-public class ExportCSVPanels 
+public class ExportCSVPanels
         extends AbstractExportPanels
-        implements ExportPanels
-    {
+        implements ExportPanels {
 
     ExportCSVPanels(
-            ExportPanelsFactory factory, 
-            JExportProcessPanel processPanel, 
+            ExportPanelsFactory factory,
+            JExportProcessPanel processPanel,
             ExportParameters parameters
-        ) {
+    ) {
         super(factory, processPanel, parameters);
         this.initPanels();
     }
-    
+
     private void initPanels() {
         ExportPanelsManager manager = ExportSwingLocator.getExportPanelsManager();
-        
-        this.add( new CSVExportParametersPanel(
-                this.getProcessPanel(), 
+
+        this.add(new CSVExportParametersPanel(
+                this.getProcessPanel(),
                 this.getParameters()
-            )
+        )
         );
-        this.add( manager.createStandardPanel(
-                ExportPanelsManager.PANEL_SELECT_OUTPUT_FILE, 
-                this.getProcessPanel(), 
+        this.add(manager.createStandardPanel(
+                ExportPanelsManager.PANEL_SELECT_OUTPUT_FILE,
+                this.getProcessPanel(),
                 this.getParameters()
-            )
+        )
         );
         this.add(manager.createStandardPanel(
+                ExportPanelsManager.PANEL_SELECT_CHARSET,
+                this.getProcessPanel(),
+                this.getParameters()
+        )
+        );
+
+        this.add(manager.createStandardPanel(
+                ExportPanelsManager.PANEL_SELECT_GEOMETRY_FIELD,
+                this.getProcessPanel(),
+                this.getParameters()
+        )
+        );
+        this.add(manager.createStandardPanel(
+                ExportPanelsManager.PANEL_SELECT_GEOMETRY_TYPE,
+                this.getProcessPanel(),
+                this.getParameters(),
+                new int[]{
+                    Geometry.TYPES.GEOMETRY,
+                    Geometry.TYPES.POINT,
+                    Geometry.TYPES.LINE,
+                    Geometry.TYPES.POLYGON,
+                    Geometry.TYPES.MULTIPOINT,
+                    Geometry.TYPES.MULTILINE,
+                    Geometry.TYPES.MULTIPOLYGON
+                },
+                new int[]{
+                    Geometry.SUBTYPES.GEOM2D,
+                    Geometry.SUBTYPES.GEOM3D,
+                    Geometry.SUBTYPES.GEOM3DM
+                }
+        )
+        );
+        this.add(manager.createStandardPanel(
+                ExportPanelsManager.PANEL_CHECK_GEOMETRIES,
+                this.getProcessPanel(),
+                this.getParameters()
+        )
+        );
+
+        this.add(manager.createStandardPanel(
                 ExportPanelsManager.PANEL_ATTRIBUTES_SELECTION,
                 this.getProcessPanel(),
                 this.getParameters()
-            )
+        )
         );
     }
 }
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.prov/org.gvsig.exportto.swing.prov.csv/src/main/java/org/gvsig/export/csv/swing/panels/CSVExportParametersPanel.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.prov/org.gvsig.exportto.swing.prov.csv/src/main/java/org/gvsig/export/csv/swing/panels/CSVExportParametersPanel.java	(revision 44394)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.prov/org.gvsig.exportto.swing.prov.csv/src/main/java/org/gvsig/export/csv/swing/panels/CSVExportParametersPanel.java	(revision 44395)
@@ -107,33 +107,10 @@
         DynStruct parametersDefinition = ToolsLocator.getPersistenceManager().getDefinition("CSVNewStoreParameters");
         this.cmbProfile.setModel(this.fillComboBoxWithAvaibleParameters("profile"));
         this.cmbProfile.setSelectedIndex(0);
-//        this.cmbProfile.addActionListener(new ActionListener() {
-//            @Override
-//            public void actionPerformed(ActionEvent e) {
-//                JComboBox combo = (JComboBox) e.getSource();
-//                ComboItem item = (ComboItem) combo.getSelectedItem();
-//                String s = item.getValue();
-//                CsvPreference pref = null;
-//                if ("STANDARD_PREFERENCE".equalsIgnoreCase(s)) {
-//                    pref = CsvPreference.STANDARD_PREFERENCE;
-//                }
-//                if ("EXCEL_PREFERENCE".equalsIgnoreCase(s)) {
-//                    pref = CsvPreference.EXCEL_PREFERENCE;
-//                }
-//                if ("EXCEL_NORTH_EUROPE_PREFERENCE".equalsIgnoreCase(s)) {
-//                    pref = CsvPreference.EXCEL_NORTH_EUROPE_PREFERENCE;
-//                }
-//                if ("TAB_PREFERENCE".equalsIgnoreCase(s)) {
-//                    pref = CsvPreference.TAB_PREFERENCE;
-//                }
-//                txtQuoteCharacter.setText(String.valueOf(pref.getQuoteChar()));
-//                txtDelimiter.setText(String.valueOf(pref.getDelimiterChar()));
-//                txtRecordSeparator.setText(String.valueOf(pref.getEndOfLineSymbols()));
-//                txtCommentStartMarker.setText(pref.getCommentMatcher().toString());
-//            }
-//        });
-        // Si viene de otro csv coger sus parametros
-        DataStoreParameters params = this.parameters.getSourceFeatureStore().getParameters();
+        
+        //TODO: set params from previous source store in case of null values
+        //it can be null
+        //DataStoreParameters params = this.parameters.getSourceFeatureStore().getParameters();
 //        if (params instanceof CSVStoreParameters) {
 //            CSVStoreParameters sparams = (CSVStoreParameters) params;
 //            CsvPreference profile = CSVStoreParameters.getPredefinedCSVPreferences(sparams);
@@ -166,13 +143,6 @@
         this.cmbLocale.setModel(this.fillComboBoxWithAvaibleParameters("locale"));
         this.cmbLocale.setSelectedIndex(0);
 
-//        String sourceProviderName = this.parameters.getSourceFeatureStore().getProviderName();
-//        if (sourceProviderName.equalsIgnoreCase("Shape") || sourceProviderName.equalsIgnoreCase("CSV")) {
-//            DataStoreParameters params = this.parameters.getSourceFeatureStore().getParameters();
-//            String encoding = (String) params.getDynValue("Encoding");
-//            ListElement.setSelected(this.lstEncoding, encoding);
-//        }
-
         this.translate();
     }
 
@@ -185,8 +155,6 @@
         i18nc.translate(this.lblDelimiter);
         i18nc.translate(this.lblQuoteCharacter);
         i18nc.translate(this.lblCommentStartMarker);
-        i18nc.translate(this.lblEscapeCharacter);
-        i18nc.translate(this.lblCharset);
 
     }
 
@@ -230,14 +198,6 @@
         return this.txtCommentStartMarker.getText();
     }
 
-    public String getParameterEscapeCharacter() {
-        return this.txtEscapeCharacter.getText();
-    }
-
-    public String getParameterCharset() {
-        return this.txtCharset.getText();
-    }
-
     @Override
     public JComponent asJComponent() {
         return this;
@@ -272,8 +232,6 @@
         this.txtDelimiter.setText(this.parameters.getDelimiter());
         this.txtQuoteCharacter.setText(this.parameters.getQuoteCharacter());
         this.txtCommentStartMarker.setText(this.parameters.getCommentStartMarker());
-        this.txtEscapeCharacter.setText(this.parameters.getRecordSeparator());
-        this.txtCharset.setText(this.parameters.getCharset());
     }
 
     @Override
@@ -304,17 +262,11 @@
         if (this.getParameterDelimiter() != null) {
             this.parameters.setDelimiter(this.getParameterDelimiter());
         }
-        if (this.getParameterCharset() != null) {
-            this.parameters.setQuoteCharacter(this.getParameterQuoteCharacter());
-        }
         if (this.getParameterCommentStartMarker() != null) {
             this.parameters.setCommentStartMarker(this.getParameterCommentStartMarker());
         }
-        if (this.getParameterEscapeCharacter() != null) {
-            this.parameters.setEscapeCharacter(this.getParameterEscapeCharacter());
+        if (this.getParameterQuoteCharacter()!=null) {
+            this.parameters.setQuoteCharacter(this.getParameterQuoteCharacter());
         }
-        if (this.getParameterCharset() != null) {
-            this.parameters.setCharset(this.getParameterCharset());
-        }
     }
 }
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.prov/org.gvsig.exportto.swing.prov.csv/src/main/java/org/gvsig/export/csv/swing/panels/CSVExportParametersPanelView.xml
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.prov/org.gvsig.exportto.swing.prov.csv/src/main/java/org/gvsig/export/csv/swing/panels/CSVExportParametersPanelView.xml	(revision 44394)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.prov/org.gvsig.exportto.swing.prov.csv/src/main/java/org/gvsig/export/csv/swing/panels/CSVExportParametersPanelView.xml	(revision 44395)
@@ -24,8 +24,8 @@
     </at>
     <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
    </super>
-   <at name="id">/home/osc/devel/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.prov/org.gvsig.exportto.swing.prov.csv/src/main/java/org/gvsig/export/csv/swing/panels/EncodingPanelView.xml</at>
-   <at name="rowspecs">CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:4PX:NONE,CENTER:DEFAULT:NONE,CENTER:4PX:NONE,CENTER:DEFAULT:NONE,CENTER:4PX:NONE,CENTER:DEFAULT:NONE,CENTER:4PX:NONE,CENTER:DEFAULT:NONE,CENTER:4PX:NONE,CENTER:DEFAULT:NONE,CENTER:4PX:NONE,CENTER:DEFAULT:NONE,CENTER:4PX:NONE,CENTER:DEFAULT:NONE,CENTER:4PX:NONE,CENTER:DEFAULT:NONE,CENTER:4PX:NONE,CENTER:DEFAULT:NONE</at>
+   <at name="id">/home/osc/devel/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.prov/org.gvsig.exportto.swing.prov.csv/src/main/java/org/gvsig/export/csv/swing/panels/CSVExportParametersPanelView.xml</at>
+   <at name="rowspecs">CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:4PX:NONE,CENTER:DEFAULT:NONE,CENTER:4PX:NONE,CENTER:DEFAULT:NONE,CENTER:4PX:NONE,CENTER:DEFAULT:NONE,CENTER:4PX:NONE,CENTER:DEFAULT:NONE,CENTER:4PX:NONE,CENTER:DEFAULT:NONE,CENTER:4PX:NONE,CENTER:DEFAULT:NONE,CENTER:4PX:NONE,CENTER:DEFAULT:NONE</at>
    <at name="colspecs">FILL:DEFAULT:NONE,FILL:106DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:DEFAULT:NONE</at>
    <at name="components">
     <object classname="java.util.LinkedList">
@@ -455,126 +455,6 @@
         <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">16</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.label.JETALabel</at>
-        <at name="beanproperties">
-         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
-          <at name="classname">com.jeta.forms.components.label.JETALabel</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">lblEscapeCharacter</at>
-            <at name="width">182</at>
-            <at name="text">_Escape_character</at>
-            <at name="fill">
-             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
-              <at name="name">fill</at>
-             </object>
-            </at>
-            <at name="height">14</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">18</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.label.JETALabel</at>
-        <at name="beanproperties">
-         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
-          <at name="classname">com.jeta.forms.components.label.JETALabel</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">lblCharset</at>
-            <at name="width">182</at>
-            <at name="text">_Charset</at>
-            <at name="fill">
-             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
-              <at name="name">fill</at>
-             </object>
-            </at>
-            <at name="height">14</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">3</at>
            <at name="row">2</at>
            <at name="colspan">1</at>
@@ -614,7 +494,7 @@
              </object>
             </at>
             <at name="name">cmbProfile</at>
-            <at name="width">429</at>
+            <at name="width">448</at>
             <at name="items">
              <object classname="com.jeta.forms.store.properties.ItemsProperty">
               <at name="name">items</at>
@@ -673,7 +553,7 @@
              </object>
             </at>
             <at name="name">cmbQuotePolicy</at>
-            <at name="width">429</at>
+            <at name="width">448</at>
             <at name="items">
              <object classname="com.jeta.forms.store.properties.ItemsProperty">
               <at name="name">items</at>
@@ -732,7 +612,7 @@
              </object>
             </at>
             <at name="name">cmbLocale</at>
-            <at name="width">429</at>
+            <at name="width">448</at>
             <at name="items">
              <object classname="com.jeta.forms.store.properties.ItemsProperty">
               <at name="name">items</at>
@@ -791,7 +671,7 @@
              </object>
             </at>
             <at name="name">txtRecordSeparator</at>
-            <at name="width">429</at>
+            <at name="width">448</at>
             <at name="height">20</at>
            </object>
           </at>
@@ -845,7 +725,7 @@
              </object>
             </at>
             <at name="name">txtDelimiter</at>
-            <at name="width">429</at>
+            <at name="width">448</at>
             <at name="height">20</at>
            </object>
           </at>
@@ -899,7 +779,7 @@
              </object>
             </at>
             <at name="name">txtQuoteCharacter</at>
-            <at name="width">429</at>
+            <at name="width">448</at>
             <at name="height">20</at>
            </object>
           </at>
@@ -953,7 +833,7 @@
              </object>
             </at>
             <at name="name">txtCommentStartMarker</at>
-            <at name="width">429</at>
+            <at name="width">448</at>
             <at name="height">20</at>
            </object>
           </at>
@@ -962,114 +842,6 @@
        </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">3</at>
-           <at name="row">16</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.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">txtEscapeCharacter</at>
-            <at name="width">429</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">3</at>
-           <at name="row">18</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.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">txtCharset</at>
-            <at name="width">429</at>
-            <at name="height">20</at>
-           </object>
-          </at>
-         </object>
-        </at>
-       </object>
-      </at>
-     </item>
     </object>
    </at>
    <at name="properties">
@@ -1127,7 +899,7 @@
    <at name="cellpainters">
     <object classname="com.jeta.forms.store.support.Matrix">
      <at name="rows">
-      <object classname="[Ljava.lang.Object;" size="20">
+      <object classname="[Ljava.lang.Object;" size="16">
        <at name="item" index="0">
         <object classname="[Ljava.lang.Object;" size="4"/>
        </at>
@@ -1176,18 +948,6 @@
        <at name="item" index="15">
         <object classname="[Ljava.lang.Object;" size="4"/>
        </at>
-       <at name="item" index="16">
-        <object classname="[Ljava.lang.Object;" size="4"/>
-       </at>
-       <at name="item" index="17">
-        <object classname="[Ljava.lang.Object;" size="4"/>
-       </at>
-       <at name="item" index="18">
-        <object classname="[Ljava.lang.Object;" size="4"/>
-       </at>
-       <at name="item" index="19">
-        <object classname="[Ljava.lang.Object;" size="4"/>
-       </at>
       </object>
      </at>
     </object>
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.prov/org.gvsig.exportto.swing.prov.csv/src/main/java/org/gvsig/export/csv/swing/panels/CSVExportParametersPanelView.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.prov/org.gvsig.exportto.swing.prov.csv/src/main/java/org/gvsig/export/csv/swing/panels/CSVExportParametersPanelView.java	(revision 44394)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.prov/org.gvsig.exportto.swing.prov.csv/src/main/java/org/gvsig/export/csv/swing/panels/CSVExportParametersPanelView.java	(revision 44395)
@@ -1,5 +1,4 @@
 package org.gvsig.export.csv.swing.panels;
-
 import com.jeta.open.i18n.I18NUtils;
 import com.jgoodies.forms.layout.CellConstraints;
 import com.jgoodies.forms.layout.FormLayout;
@@ -27,8 +26,6 @@
    JLabel lblDelimiter = new JLabel();
    JLabel lblQuoteCharacter = new JLabel();
    JLabel lblCommentStartMarker = new JLabel();
-   JLabel lblEscapeCharacter = new JLabel();
-   JLabel lblCharset = new JLabel();
    JComboBox cmbProfile = new JComboBox();
    JComboBox cmbQuotePolicy = new JComboBox();
    JComboBox cmbLocale = new JComboBox();
@@ -36,8 +33,6 @@
    JTextField txtDelimiter = new JTextField();
    JTextField txtQuoteCharacter = new JTextField();
    JTextField txtCommentStartMarker = new JTextField();
-   JTextField txtEscapeCharacter = new JTextField();
-   JTextField txtCharset = new JTextField();
 
    /**
     * Default constructor
@@ -149,7 +144,7 @@
    public JPanel createPanel()
    {
       JPanel jpanel1 = new JPanel();
-      FormLayout formlayout1 = new FormLayout("FILL:DEFAULT:NONE,FILL:106DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:DEFAULT:NONE","CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:4PX:NONE,CENTER:DEFAULT:NONE,CENTER:4PX:NONE,CENTER:DEFAULT:NONE,CENTER:4PX:NONE,CENTER:DEFAULT:NONE,CENTER:4PX:NONE,CENTER:DEFAULT:NONE,CENTER:4PX:NONE,CENTER:DEFAULT:NONE,CENTER:4PX:NONE,CENTER:DEFAULT:NONE,CENTER:4PX:NONE,CENTER:DEFAULT:NONE,CENTER:4PX:NONE,CENTER:DEFAULT:NONE,CENTER:4PX:NONE,CENTER:DEFAULT:NONE");
+      FormLayout formlayout1 = new FormLayout("FILL:DEFAULT:NONE,FILL:106DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:DEFAULT:NONE","CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:4PX:NONE,CENTER:DEFAULT:NONE,CENTER:4PX:NONE,CENTER:DEFAULT:NONE,CENTER:4PX:NONE,CENTER:DEFAULT:NONE,CENTER:4PX:NONE,CENTER:DEFAULT:NONE,CENTER:4PX:NONE,CENTER:DEFAULT:NONE,CENTER:4PX:NONE,CENTER:DEFAULT:NONE,CENTER:4PX:NONE,CENTER:DEFAULT:NONE");
       CellConstraints cc = new CellConstraints();
       jpanel1.setLayout(formlayout1);
 
@@ -181,14 +176,6 @@
       lblCommentStartMarker.setText("_Comment_start_marker");
       jpanel1.add(lblCommentStartMarker,cc.xy(2,14));
 
-      lblEscapeCharacter.setName("lblEscapeCharacter");
-      lblEscapeCharacter.setText("_Escape_character");
-      jpanel1.add(lblEscapeCharacter,cc.xy(2,16));
-
-      lblCharset.setName("lblCharset");
-      lblCharset.setText("_Charset");
-      jpanel1.add(lblCharset,cc.xy(2,18));
-
       cmbProfile.setName("cmbProfile");
       jpanel1.add(cmbProfile,cc.xy(3,2));
 
@@ -210,13 +197,7 @@
       txtCommentStartMarker.setName("txtCommentStartMarker");
       jpanel1.add(txtCommentStartMarker,cc.xy(3,14));
 
-      txtEscapeCharacter.setName("txtEscapeCharacter");
-      jpanel1.add(txtEscapeCharacter,cc.xy(3,16));
-
-      txtCharset.setName("txtCharset");
-      jpanel1.add(txtCharset,cc.xy(3,18));
-
-      addFillComponents(jpanel1,new int[]{ 1,2,3,4 },new int[]{ 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 });
+      addFillComponents(jpanel1,new int[]{ 1,2,3,4 },new int[]{ 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 });
       return jpanel1;
    }
 
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.prov/org.gvsig.exportto.swing.prov.shape/src/main/java/org/gvsig/export/shape/service/ExportShapeParametersImpl.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.prov/org.gvsig.exportto.swing.prov.shape/src/main/java/org/gvsig/export/shape/service/ExportShapeParametersImpl.java	(revision 44394)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.prov/org.gvsig.exportto.swing.prov.shape/src/main/java/org/gvsig/export/shape/service/ExportShapeParametersImpl.java	(revision 44395)
@@ -25,7 +25,7 @@
         AttributeNamesTranslator attr = new CutAttributeNamesTranslator(ExportDBFService.MAX_FIELD_NAME_LENGTH);
         this.exportAttributes.setNamesTranslator(attr);
     }
-    
+
     @Override
     public String getServiceName() {
         return ExportShapeServiceFactory.SERVICE_NAME;
@@ -56,6 +56,7 @@
         return this.useSimplifiedExport;
     }
 
+    @Override
     public void setUseSimplifiedExport(boolean useSimplifiedExport) {
         this.useSimplifiedExport = useSimplifiedExport;
     }
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.prov/org.gvsig.exportto.swing.prov.jdbc/src/main/java/org/gvsig/export/jdbc/service/ExportJDBCParametersImpl.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.prov/org.gvsig.exportto.swing.prov.jdbc/src/main/java/org/gvsig/export/jdbc/service/ExportJDBCParametersImpl.java	(revision 44394)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.prov/org.gvsig.exportto.swing.prov.jdbc/src/main/java/org/gvsig/export/jdbc/service/ExportJDBCParametersImpl.java	(revision 44395)
@@ -41,6 +41,13 @@
     public ExportJDBCParametersImpl(ExportJDBCServiceFactory factory) {
         super(factory);
         this.exportAttributes.setNamesTranslator(new ExportJDBCAttributeNamesTranslator(this));
+        
+        this.canCreatetable = true;
+        this.translateIdentifiersToLowerCase = true;
+        this.removeSpacesInIdentifiers = true;
+        this.translateHyphens = true;
+        this.createIndexInGeometryRow = true;
+        this.updateTableStatistics = true;
     }
 
     @Override
@@ -387,8 +394,8 @@
 
     public ExportJDBCParameters clone() throws CloneNotSupportedException {
         ExportJDBCParameters clone = (ExportJDBCParameters) super.clone();
+        clone.setExplorerParameters((JDBCServerExplorerParameters) this.explorerParameters.getCopy());
         clone.getExportAttributes().setNamesTranslator(new ExportJDBCAttributeNamesTranslator(clone));
-//        clone.setExplorerParameters(this.explorerParameters.clone());
         return clone;
     }
 
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.api/src/main/java/org/gvsig/export/swing/spi/ExportPanelsManager.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.api/src/main/java/org/gvsig/export/swing/spi/ExportPanelsManager.java	(revision 44394)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.api/src/main/java/org/gvsig/export/swing/spi/ExportPanelsManager.java	(revision 44395)
@@ -10,6 +10,7 @@
 public interface ExportPanelsManager {
 
     public static final String PANEL_CHECK_GEOMETRIES = "PANEL_CHECK_GEOMETRIES";
+    public static final String PANEL_SELECT_CHARSET = "PANEL_SELECT_CHARSET";
     public static final String PANEL_SELECT_FILTER = "PANEL_SELECT_EXPORT_FILTER";
     public static final String PANEL_SELECT_GEOMETRY_TYPE = "PANEL_SELECT_GEOMETRY_TYPE";
     public static final String PANEL_SELECT_OUTPUT_FILE = "PANEL_SELECT_OUTPUT_FILE";
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.lib/org.gvsig.exportto.lib.api/src/main/java/org/gvsig/export/ExportAttributes.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.lib/org.gvsig.exportto.lib.api/src/main/java/org/gvsig/export/ExportAttributes.java	(revision 44394)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.lib/org.gvsig.exportto.lib.api/src/main/java/org/gvsig/export/ExportAttributes.java	(revision 44395)
@@ -20,6 +20,10 @@
 
     public ExportAttributes clone() throws CloneNotSupportedException;
 
+    public void setActive(boolean b);
+    
+    public boolean isActive();
+
     public interface ExportAttribute extends Cloneable {
 
         public FeatureAttributeDescriptor getDescriptor();
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.lib/org.gvsig.exportto.lib.api/src/main/java/org/gvsig/export/spi/AbstractExportService.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.lib/org.gvsig.exportto.lib.api/src/main/java/org/gvsig/export/spi/AbstractExportService.java	(revision 44394)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.lib/org.gvsig.exportto.lib.api/src/main/java/org/gvsig/export/spi/AbstractExportService.java	(revision 44395)
@@ -110,7 +110,6 @@
 //        }
 //        return this.attributeNamesTranslator;
 //    }
-
     @Override
     public List<OpenDataStoreParameters> getTargetOpenStoreParameters() throws ExportException {
         List<OpenDataStoreParameters> r = new ArrayList<>();
@@ -151,7 +150,12 @@
             dataManager.newStore(explorerName, providerName, newStoreParameters, true);
             target = (FeatureStore) dataManager.openStore(providerName, openStoreParameters);
 
-            FeatureType theTargetFeatureType = this.getParameters().getExportAttributes().getTargetFeatureType();//target.getDefaultFeatureType();
+            FeatureType theTargetFeatureType;
+            if (this.getParameters().getExportAttributes().isActive()) {
+                theTargetFeatureType = this.getParameters().getExportAttributes().getTargetFeatureType();
+            } else {
+                theTargetFeatureType = target.getDefaultFeatureType();
+            }
             FeatureType theSourceFeatureType = featureSet.getDefaultFeatureType();
 
             ExportGeometryHelper geomHelper = null;
@@ -170,7 +174,7 @@
             target.edit(FeatureStore.MODE_APPEND);
             it = featureSet.fastIterator();
 
-            long featureCount = 0;
+            long featureCount = 1;
             while (it.hasNext()) {
                 this.getTaskStatus().setCurValue(featureCount);
 
@@ -214,21 +218,29 @@
     protected void copyValues(Feature source, EditableFeature target) {
         FeatureType sourceType = source.getType();
         FeatureType targetType = target.getType();
+        ExportAttributes exp = this.getParameters().getExportAttributes();
+        boolean isActive = exp.isActive();
         for (FeatureAttributeDescriptor targetAttr : targetType) {
             if (targetAttr.isReadOnly() || targetAttr.isComputed()) {
                 continue;
             }
             String targetAttrName = targetAttr.getName();
             //translate field
-            String sourceAttrName = getParameters().getExportAttributes().getSourceName(targetAttrName);
-            ExportAttributes exp = this.getParameters().getExportAttributes();
-            for (ExportAttributes.ExportAttribute exportAttribute : exp) {
-                if (StringUtils.equals(exportAttribute.getNewName(),targetAttrName)) {
-                    sourceAttrName = exportAttribute.getName();
+            FeatureAttributeDescriptor sourceAttr;
+            String sourceAttrName;
+            if (isActive) {
+                sourceAttrName = exp.getSourceName(targetAttrName);
+                for (ExportAttributes.ExportAttribute exportAttribute : exp) {
+                    if (StringUtils.equals(exportAttribute.getNewName(), targetAttrName)) {
+                        sourceAttrName = exportAttribute.getName();
+                    }
                 }
+
+                sourceAttr = sourceType.getAttributeDescriptor(sourceAttrName);
+            } else {
+                sourceAttrName = targetAttrName;
+                sourceAttr = sourceType.getAttributeDescriptor(targetAttrName);
             }
-
-            FeatureAttributeDescriptor sourceAttr = sourceType.getAttributeDescriptor(sourceAttrName);
             if (sourceAttr != null) {
                 Object value = source.get(sourceAttrName);
                 if (value == null) {
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.lib/org.gvsig.exportto.lib.api/src/main/java/org/gvsig/export/spi/AbstractExportParameters.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.lib/org.gvsig.exportto.lib.api/src/main/java/org/gvsig/export/spi/AbstractExportParameters.java	(revision 44394)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.lib/org.gvsig.exportto.lib.api/src/main/java/org/gvsig/export/spi/AbstractExportParameters.java	(revision 44395)
@@ -3,7 +3,6 @@
 import java.text.DateFormat;
 import java.text.SimpleDateFormat;
 import java.util.Date;
-import org.apache.commons.lang3.StringUtils;
 import org.gvsig.export.ExportAttributes;
 import org.gvsig.export.ExportLocator;
 import org.gvsig.fmap.dal.exception.DataException;
@@ -109,7 +108,6 @@
     @Override
     public ExportParameters clone() throws CloneNotSupportedException {
         ExportParameters clone = (ExportParameters) super.clone();
-        clone.setContext(new Date());
 
         if (this.filterExpression != null) {
             clone.setFilterExpresion(this.filterExpression.clone());
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.lib/org.gvsig.exportto.lib.api/src/main/java/org/gvsig/export/ExportCharsetParameters.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.lib/org.gvsig.exportto.lib.api/src/main/java/org/gvsig/export/ExportCharsetParameters.java	(revision 0)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.lib/org.gvsig.exportto.lib.api/src/main/java/org/gvsig/export/ExportCharsetParameters.java	(revision 44395)
@@ -0,0 +1,9 @@
+package org.gvsig.export;
+
+public interface ExportCharsetParameters {
+
+    public void setCharset(String charset);
+    
+    public String getCharset();
+    
+}
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.lib/org.gvsig.exportto.lib.impl/src/main/java/org/gvsig/export/impl/DefaultExportProcess.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.lib/org.gvsig.exportto.lib.impl/src/main/java/org/gvsig/export/impl/DefaultExportProcess.java	(revision 44394)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.lib/org.gvsig.exportto.lib.impl/src/main/java/org/gvsig/export/impl/DefaultExportProcess.java	(revision 44395)
@@ -1,16 +1,13 @@
 package org.gvsig.export.impl;
 
 import java.util.List;
-import org.apache.commons.lang3.StringUtils;
 import org.cresques.cts.ICoordTrans;
 import org.cresques.cts.IProjection;
-import org.gvsig.export.ExportAttributes;
 import org.gvsig.export.ExportException;
 import org.gvsig.export.ExportLocator;
 import org.gvsig.export.ExportParameters;
 import org.gvsig.export.ExportParametersGeometry;
 import org.gvsig.export.ExportProcess;
-import org.gvsig.export.spi.AttributeNamesTranslator;
 import org.gvsig.export.spi.ExportService;
 import org.gvsig.export.spi.ExportServiceFactory;
 import org.gvsig.export.spi.ExportServiceManager;
@@ -46,10 +43,7 @@
 
     @Override
     public void setOutputFormat(String serviceName) throws ExportException {
-        
-        if (this.factory != null && StringUtils.equalsIgnoreCase(serviceName, this.factory.getName())) {
-            return;
-        }
+
         ExportServiceManager serviceManager = ExportLocator.getServiceManager();
         this.factory = serviceManager.getServiceFactory(serviceName);
         this.parameters = this.factory.createParameters();
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.lib/org.gvsig.exportto.lib.impl/src/main/java/org/gvsig/export/impl/service/DefaultExportAttributes.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.lib/org.gvsig.exportto.lib.impl/src/main/java/org/gvsig/export/impl/service/DefaultExportAttributes.java	(revision 44394)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.lib/org.gvsig.exportto.lib.impl/src/main/java/org/gvsig/export/impl/service/DefaultExportAttributes.java	(revision 44395)
@@ -8,19 +8,14 @@
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
-import java.util.logging.Level;
-import org.apache.commons.collections.ListUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.gvsig.export.ExportAttributes;
-import org.gvsig.export.ExportLocator;
 import org.gvsig.export.spi.AttributeNamesTranslator;
 import org.gvsig.export.spi.DummyAttributeNamesTranslator;
 import org.gvsig.fmap.dal.feature.EditableFeatureAttributeDescriptor;
 import org.gvsig.fmap.dal.feature.EditableFeatureType;
 import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor;
 import org.gvsig.fmap.dal.feature.FeatureType;
-import org.gvsig.tools.dataTypes.DataType;
-import org.gvsig.tools.util.UnmodifiableBasicListAdapter;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -30,10 +25,12 @@
     private AttributeNamesTranslator namesTranslator = null;
     private FeatureType sourceFeatureType;
     static final Logger LOGGER = LoggerFactory.getLogger(DefaultExportAttributes.class);
+    private boolean active;
 
     public DefaultExportAttributes() { //FeatureType ftype) {
 //        this.setSourceFeatureType(ftype);
         this.namesTranslator = new DummyAttributeNamesTranslator();
+        this.active = false;
     }
 
     public void fillExportAttributes(FeatureType ftype) {
@@ -257,4 +254,16 @@
     public void setExportAttributes(List<ExportAttribute> exportAttributes) {
         this.exportAttributes = exportAttributes;
     }
+
+    @Override
+    public void setActive(boolean active) {
+        this.active = active;
+    }
+
+    @Override
+    public boolean isActive() {
+        return this.active;
+    }
+    
+    
 }
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.file/org.gvsig.fmap.dal.file.csv/src/main/java/org/gvsig/fmap/dal/store/csv/CSVFilesystemServerProvider.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.file/org.gvsig.fmap.dal.file.csv/src/main/java/org/gvsig/fmap/dal/store/csv/CSVFilesystemServerProvider.java	(revision 44394)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.file/org.gvsig.fmap.dal.file.csv/src/main/java/org/gvsig/fmap/dal/store/csv/CSVFilesystemServerProvider.java	(revision 44395)
@@ -160,7 +160,7 @@
 
                     CSVNewStoreParameters newparams = (CSVNewStoreParameters) params;
                     CsvPreference defaultPreference = CSVStoreParameters.getPredefinedCSVPreferences(newparams);
-
+                    
                     s = CSVStoreParameters.getQuoteCharacter(params);
                     if (StringUtils.isBlank(s)) {
                         quoteChar = (char) defaultPreference.getQuoteChar();
@@ -188,15 +188,17 @@
                         builder.skipComments(cs);
                     }
 
-                    builder.surroundingSpacesNeedQuotes(CSVStoreParameters
-                            .getSurroundingSpacesNeedQuotes(newparams));
+                    //builder.surroundingSpacesNeedQuotes(CSVStoreParameters
+                    //        .getSurroundingSpacesNeedQuotes(newparams));
+                    builder.surroundingSpacesNeedQuotes(true);
+                    
                     QuoteMode quoteMode = CSVStoreParameters.getQuoteMode(newparams);
                     if (quoteMode != null) {
                         builder.useQuoteMode(quoteMode);
                     }
 
                     CsvPreference csvpreferences = builder.build();
-
+                    
                     writer.initialize(params, file.getAbsoluteFile(), params.getDefaultFeatureType(), csvpreferences);
                     writer.begin();
 
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.file/org.gvsig.fmap.dal.file.csv/src/main/java/org/gvsig/fmap/dal/store/csv/CSVFeatureWriter.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.file/org.gvsig.fmap.dal.file.csv/src/main/java/org/gvsig/fmap/dal/store/csv/CSVFeatureWriter.java	(revision 44394)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.file/org.gvsig.fmap.dal.file.csv/src/main/java/org/gvsig/fmap/dal/store/csv/CSVFeatureWriter.java	(revision 44395)
@@ -6,11 +6,13 @@
 package org.gvsig.fmap.dal.store.csv;
 
 import java.io.File;
+import java.io.FileOutputStream;
 import java.io.FileWriter;
 import java.io.IOException;
+import java.io.OutputStreamWriter;
+import java.io.Writer;
 import java.util.Locale;
 import org.gvsig.fmap.dal.DataTypes;
-import org.gvsig.fmap.dal.feature.Feature;
 import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor;
 import org.gvsig.fmap.dal.feature.FeatureType;
 import org.gvsig.fmap.dal.feature.exception.PerformEditingException;
@@ -35,7 +37,7 @@
     private boolean calculate_envelope = false;
     private CsvListWriter listWriter = null;
     private CsvPreference csvpreferences = null;
-    private FileWriter fwriter = null;
+    private Writer writer = null;
     private FeatureType ftype;
     private File file;
     private String[] values;
@@ -46,6 +48,7 @@
     private Locale locale = null;
     private CSVStoreParameters storeParameters;
     private static final Logger logger = LoggerFactory.getLogger(CSVFeatureWriter.class);
+    private String charset = null;
 
     public void initialize(CSVStoreParameters storeParameters, File file, FeatureType ftype, CsvPreference csvpreferences) {
         this.file = file;
@@ -66,12 +69,18 @@
         }
         this.convert = ToolsLocator.getDataTypesManager().getCoercion(org.gvsig.tools.dataTypes.DataTypes.STRING);
         this.errorcounts = 0;
+        this.charset = CSVStoreParameters.getCharset(storeParameters);
     }
 
     public void beginAppend() {
         try {
-            this.fwriter = new FileWriter(file, true);
-            this.listWriter = new CsvListWriter(this.fwriter, this.csvpreferences);
+            FileOutputStream fos = new FileOutputStream(file, true);
+            if (this.charset != null) {
+                this.writer = new OutputStreamWriter(fos, this.charset);
+            } else {
+                this.writer = new OutputStreamWriter(fos);
+            }
+            this.listWriter = new CsvListWriter(this.writer, this.csvpreferences);
             if (ftype != null) {
                 this.descriptors = ftype.getAttributeDescriptors();
                 int n = 0;
@@ -91,12 +100,12 @@
 
     public void begin() {
         try {
-            this.fwriter = new FileWriter(file);
+            this.writer = new FileWriter(file);
         } catch (IOException e) {
             logger.warn("Can't open file for write (" + file.getAbsolutePath() + ").", e);
             throw new RuntimeException(e);
         }
-        this.listWriter = new CsvListWriter(this.fwriter, this.csvpreferences);
+        this.listWriter = new CsvListWriter(this.writer, this.csvpreferences);
         int n = 0;
         for (FeatureAttributeDescriptor descriptor : descriptors) {
             if (descriptor.getEvaluator() == null) {
@@ -195,13 +204,13 @@
             }
             listWriter = null;
         }
-        if (fwriter != null) {
+        if (writer != null) {
             try {
-                fwriter.close();
+                writer.close();
             } catch (Exception ex) {
                 // Ignore error
             }
-            fwriter = null;
+            writer = null;
         }
     }
 
