Index: branches/v2_0_0_prep/libraries/libFMap_controls/src/org/gvsig/fmap/mapcontrol/dal/feature/swing/table/ConfigurationTableModel.java
===================================================================
--- branches/v2_0_0_prep/libraries/libFMap_controls/src/org/gvsig/fmap/mapcontrol/dal/feature/swing/table/ConfigurationTableModel.java	(revision 38408)
+++ branches/v2_0_0_prep/libraries/libFMap_controls/src/org/gvsig/fmap/mapcontrol/dal/feature/swing/table/ConfigurationTableModel.java	(revision 38409)
@@ -131,4 +131,20 @@
 	public static int getVisibilityColumn() {
 		return VISIBILITY_COLUMN;
 	}
+	
+    /**
+     * Make current changes in configuration (visible columns and aliases)
+     * as definitive.
+     */
+	public void acceptChanges() {
+		configurable.acceptChanges();
+	}
+	
+    /**
+     * Cancel current changes in configuration (visible columns and aliases)
+     * and return to previous status.
+     */
+	public void cancelChanges() {
+		configurable.cancelChanges();
+	}
 }
\ No newline at end of file
Index: branches/v2_0_0_prep/libraries/libFMap_controls/src/org/gvsig/fmap/mapcontrol/dal/feature/swing/table/ConfigurableFeatureTableModel.java
===================================================================
--- branches/v2_0_0_prep/libraries/libFMap_controls/src/org/gvsig/fmap/mapcontrol/dal/feature/swing/table/ConfigurableFeatureTableModel.java	(revision 38408)
+++ branches/v2_0_0_prep/libraries/libFMap_controls/src/org/gvsig/fmap/mapcontrol/dal/feature/swing/table/ConfigurableFeatureTableModel.java	(revision 38409)
@@ -61,8 +61,12 @@
 
     private List<String> visibleColumnNames;
 
+    private List<String> visibleColumnNamesOriginal;
+
     private Map<String, String> name2Alias;
 
+    private Map<String, String> name2AliasOriginal;
+
     /**
      * @see FeatureTableModel#FeatureTableModel(FeatureStore, FeatureQuery)
      */
@@ -168,14 +172,17 @@
             if (!visibleColumnNames.contains(colName) && newColumns.contains(colName)) {
                 // Add new columns
                 visibleColumnNames.add(colName);
+                visibleColumnNamesOriginal.add(colName);
             }
         }
 
         // remove from visible columns removed columns
         visibleColumnNames.retainAll(columnNames);
+        visibleColumnNamesOriginal.retainAll(columnNames);
 
         // remove from alias map removed columns
-        name2Alias.keySet().retainAll(visibleColumnNames);
+        name2Alias.keySet().retainAll(columnNames);
+        name2AliasOriginal.keySet().retainAll(columnNames);
 
         super.setFeatureType(featureType);
 
@@ -260,6 +267,7 @@
     private void initializeAliases() {
         int columns = super.getColumnCount();
         name2Alias = new HashMap<String, String>(columns);
+        name2AliasOriginal = new HashMap<String, String>(columns);
         //
         // for (int i = 0; i < columns; i++) {
         // String columnName = super.getColumnName(i);
@@ -286,6 +294,8 @@
                 visibleColumnNames.add(columnName);
             }
         }
+        
+        visibleColumnNamesOriginal = new ArrayList<String>(visibleColumnNames);
     }
 
     /**
@@ -324,4 +334,23 @@
         int realColumnIndex = getOriginalColumnIndex(columnIndex);
         return super.setFeatureValue(feature, realColumnIndex, value);
     }
+    
+    /**
+     * Make current changes in configuration (visible columns and aliases)
+     * as definitive.
+     */
+    public void acceptChanges() {
+    	visibleColumnNamesOriginal = new ArrayList<String>(visibleColumnNames);
+    	name2AliasOriginal = new HashMap<String, String>(name2Alias);
+    }
+    
+    /**
+     * Cancel current changes in configuration (visible columns and aliases)
+     * and return to previous status.
+     */
+    public void cancelChanges() {
+    	visibleColumnNames = new ArrayList<String>(visibleColumnNamesOriginal);
+    	name2Alias = new HashMap<String, String>(name2AliasOriginal);
+    	fireTableStructureChanged();
+    }
 }
Index: branches/v2_0_0_prep/libraries/libFMap_controls/src/org/gvsig/fmap/mapcontrol/dal/feature/swing/table/FeatureTableConfigurationPanel.java
===================================================================
--- branches/v2_0_0_prep/libraries/libFMap_controls/src/org/gvsig/fmap/mapcontrol/dal/feature/swing/table/FeatureTableConfigurationPanel.java	(revision 38408)
+++ branches/v2_0_0_prep/libraries/libFMap_controls/src/org/gvsig/fmap/mapcontrol/dal/feature/swing/table/FeatureTableConfigurationPanel.java	(revision 38409)
@@ -86,4 +86,20 @@
         setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
         add(scrollPane);
     }
+    
+    /**
+     * Make current changes in configuration (visible columns and aliases)
+     * as definitive.
+     */
+    public void accept() {
+    	tableModel.acceptChanges();
+    }
+    
+    /**
+     * Cancel current changes in configuration (visible columns and aliases)
+     * and return to previous status.
+     */
+    public void cancel() {
+    	tableModel.cancelChanges();
+    }
 }
\ No newline at end of file
