Index: ExportJDBCAttributeNamesTranslator.java
===================================================================
--- ExportJDBCAttributeNamesTranslator.java	(revision 44385)
+++ ExportJDBCAttributeNamesTranslator.java	(revision 44386)
@@ -7,6 +7,7 @@
 
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.List;
 import org.apache.commons.lang3.StringUtils;
 import org.gvsig.export.ExportAttributes;
 import org.gvsig.export.spi.AttributeNamesTranslator;
@@ -17,33 +18,18 @@
  */
 public class ExportJDBCAttributeNamesTranslator implements AttributeNamesTranslator {
 
-    private boolean removeSpacesInIdentifiers;
-    private boolean translateIdentifiersToLowerCase;
-    private boolean translateHyphens;
+    private final ExportJDBCParameters parameters;
 
-    public ExportJDBCAttributeNamesTranslator() {
+    public ExportJDBCAttributeNamesTranslator(ExportJDBCParameters parameters) {
+        this.parameters = parameters;
     }
 
     private String buildTranslatedName(String source_name, Collection<String> current_names) {
 
-        String target_name = source_name;
-        if (this.removeSpacesInIdentifiers) {
-            //target_name = target_name.replaceAll("\\s","");
-            target_name = StringUtils.normalizeSpace(target_name).replace(" ", "_");
-        }
-        if (this.translateHyphens) {
-            target_name = target_name.replace("-", "_");
-        }
-        if (this.translateIdentifiersToLowerCase) {
-            target_name = target_name.toLowerCase();
-        }
+        String target_name = this.getNameSuggestion(source_name);
         if (!current_names.contains(target_name)) {
             return target_name;
         }
-        
-        if (!current_names.contains(target_name)) {
-            return target_name;
-        }
 
         for (int i = 0; i < 255; i++) {
             target_name = source_name + i;
@@ -80,19 +66,19 @@
             if (newName.isEmpty()) {
                 return false;
             }
-            if (this.removeSpacesInIdentifiers) {
+            if (this.parameters.getRemoveSpacesInIdentifiers()) {
                 //if (newName.replaceAll("\\s","") != newName) {
                 String s = StringUtils.normalizeSpace(newName).replace(" ", "_");
                 if (!newName.equals(s)) {
                     return false;
                 }
             }
-            if (this.translateHyphens) {
+            if (this.parameters.getTranslateHyphens()) {
                 if (newName.contains("-")) {
                     return false;
                 }
             }
-            if (this.translateIdentifiersToLowerCase) {
+            if (this.parameters.getTranslateIdentifiersToLowerCase()) {
                 if (newName.toLowerCase() != newName) {
                     return false;
                 }
@@ -103,7 +89,7 @@
 
     @Override
     public String getNameSuggestion(ExportAttributes attributes, int index, String name) {
-        ArrayList names = new ArrayList();
+        List names = new ArrayList();
         boolean oneTime = true;
         for (ExportAttributes.ExportAttribute attribute : attributes) {
             if (attribute.getNewName().equals(name) && oneTime) {
@@ -116,28 +102,28 @@
         return target_name;
     }
 
-    
-    public boolean getRemoveSpacesInIdentifiers() {
-        return this.removeSpacesInIdentifiers;
+
+    @Override
+    public AttributeNamesTranslator clone() throws CloneNotSupportedException {
+        ExportJDBCAttributeNamesTranslator clone = (ExportJDBCAttributeNamesTranslator) super.clone();
+        return clone;
     }
-    
-    public void setRemoveSpacesInIdentifiers(boolean selected) {
-        this.removeSpacesInIdentifiers = selected;
+
+    @Override
+    public String getNameSuggestion(String name) {
+        String target_name = name;
+        if (this.parameters.getRemoveSpacesInIdentifiers()) {
+            //target_name = target_name.replaceAll("\\s","");
+            target_name = StringUtils.normalizeSpace(target_name).replace(" ", "_");
+        }
+        if (this.parameters.getTranslateHyphens()) {
+            target_name = target_name.replace("-", "_");
+        }
+        if (this.parameters.getTranslateIdentifiersToLowerCase()) {
+            target_name = target_name.toLowerCase();
+        }
+        return target_name;
+        
     }
-    
-    public boolean getTranslateIdentifiersToLowerCase() {
-        return this.translateIdentifiersToLowerCase;
-    }
-    
-    public void setTranslateIdentifiersToLowerCase(boolean selected) {
-        this.translateIdentifiersToLowerCase = selected;
-    }
-    
-    public boolean getTranslateHyphens() {
-        return this.translateHyphens;
-    }
-    public void setTranslateHyphens(boolean selected) {
-        this.translateHyphens = selected;
-    }
 
 }
