Index: DefaultJExporttoServicePanel.java
===================================================================
--- DefaultJExporttoServicePanel.java	(revision 42675)
+++ DefaultJExporttoServicePanel.java	(revision 42676)
@@ -43,6 +43,7 @@
 import org.gvsig.exportto.swing.impl.panel.MessagePanel;
 import org.gvsig.exportto.swing.impl.wizard.DefaultWizardContainer;
 import org.gvsig.exportto.swing.impl.wizard.ExportFilterWizard;
+import org.gvsig.exportto.swing.impl.wizard.ExportTargetProjectionWizard;
 import org.gvsig.exportto.swing.impl.wizard.ExporterSelectionWizard;
 import org.gvsig.exportto.swing.impl.wizard.ExporttoProgressWizard;
 import org.gvsig.exportto.swing.spi.ExporttoSwingProvider;
@@ -67,7 +68,7 @@
 
 /**
  * Default implementation for the {@link JExporttoServicePanel}.
- * 
+ *
  * @author gvSIG Team
  * @version $Id$
  */
@@ -97,6 +98,7 @@
     // Wizards used to create the main wizard
     private ExporterSelectionWizard exporterSelectionWizard = null;
     private ExportFilterWizard exportFilterWizard = null;
+    private ExportTargetProjectionWizard exportTargetProjectionWizard  = null;
     private ExporttoProgressWizard exporttoProgressWizard = null;
 
     // Listener for the finish and cancell button
@@ -113,7 +115,7 @@
         FLyrVect vlayer,
         ExporttoServiceFinishAction exporttoServiceFinishAction,
         int[] providerTypes) {
-        
+
         this(
             uimanager,
             vlayer.getFeatureStore(),
@@ -122,7 +124,7 @@
             providerTypes);
         vectorLayer = vlayer;
     }
-    
+
     public DefaultJExporttoServicePanel(DefaultExporttoSwingManager uimanager,
         FeatureStore featureStore, IProjection projection,
         ExporttoServiceFinishAction exporttoServiceFinishAction,
@@ -134,12 +136,13 @@
         this.providerTypes = providerTypes;
         this.status = JOptionPane.UNDEFINED_CONDITION;
 
-        ImageIcon ii = IconThemeHelper.getImageIcon("wizard-export-to"); 
+        ImageIcon ii = IconThemeHelper.getImageIcon("wizard-export-to");
         wizardPanelWithLogo = new WizardPanelWithLogo(ii);
 
         // Initialize the wizards
         exporterSelectionWizard =
             new ExporterSelectionWizard(this, providerTypes);
+        exportTargetProjectionWizard = new ExportTargetProjectionWizard(this);
         exportFilterWizard = new ExportFilterWizard(this);
         exporttoProgressWizard = new ExporttoProgressWizard(this);
 
@@ -165,7 +168,7 @@
     public FeatureStore getFeatureStore() {
         return this.featureStore;
     }
-    
+
     public void setNextButtonEnabled(boolean isEnabled) {
         wizardPanelWithLogo.setNextButtonEnabled(isEnabled);
     }
@@ -193,7 +196,7 @@
     public void selectExporttoSwingProvider(
         ExporttoSwingProviderFactory provider)
         throws ServiceException {
-        
+
         if (vectorLayer == null) {
             exporttoSwingProvider =
                 EXPORTTO_SWING_PROVIDER_MANAGER.createExporttoSwingProvider(
@@ -213,6 +216,10 @@
             wizardPanelWithLogo.addOptionPanel(new DefaultWizardContainer(
                 exporttoSwingProvider.getPanelAt(i)));
         }
+        exportTargetProjectionWizard.setVectorLayer(vectorLayer);
+        if (exporttoSwingProvider.needsPanelTargetProjection()){
+            wizardPanelWithLogo.addOptionPanel(exportTargetProjectionWizard);
+        }
         wizardPanelWithLogo.addOptionPanel(exportFilterWizard);
         wizardPanelWithLogo.addOptionPanel(exporttoProgressWizard);
     }
@@ -220,7 +227,7 @@
     public Dimension getPreferredSize() {
         return new Dimension(800, 550);
     }
-    
+
     public void export() throws DataException, ExporttoServiceException {
         this.lastWizard();
 
@@ -228,10 +235,10 @@
         FeatureSet featureSet = null;
         if ( exportFilterWizard.isFullLayerSelected() ) {
             featureSet = featureStore.getFeatureSet();
-            
+
         } else if ( exportFilterWizard.isSelectedFeaturesSelected() ) {
             featureSet = (FeatureSet) featureStore.getSelection();
-            
+
         } else {
             Evaluator filter = exportFilterWizard.getFilter();
             if( filter!=null ) {
@@ -240,6 +247,9 @@
                 featureSet = featureStore.getFeatureSet(featureQuery);
             }
         }
+        if( exporttoSwingProvider.needsPanelTargetProjection()) {
+            exporttoSwingProvider.setTargetProjection(exportTargetProjectionWizard.getTargetProjection());
+        }
 
         Export export = new Export(featureSet);
         export.start();
@@ -284,9 +294,9 @@
     private void showError(ExporttoServiceException e) {
         I18nManager i18nManager = ToolsLocator.getI18nManager();
         MessagePanel.showMessage(
-                i18nManager.getTranslation("_Warning"), 
-                i18nManager.getTranslation("_There_have_been_problems_exporting_data"), 
-                e, 
+                i18nManager.getTranslation("_Warning"),
+                i18nManager.getTranslation("_There_have_been_problems_exporting_data"),
+                e,
                 e.getFeature()
         );
     }
