Revision 44411 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/CutAttributeNamesTranslator.java

View differences:

CutAttributeNamesTranslator.java
7 7
import org.apache.commons.lang3.StringUtils;
8 8
import org.gvsig.export.ExportAttributes;
9 9
import org.gvsig.export.ExportAttributes.ExportAttribute;
10
import org.gvsig.tools.ToolsLocator;
11
import org.gvsig.tools.dynobject.DynStruct;
12
import org.gvsig.tools.persistence.PersistenceManager;
13
import org.gvsig.tools.persistence.PersistentState;
14
import org.gvsig.tools.persistence.exception.PersistenceException;
10 15

  
11 16
public class CutAttributeNamesTranslator implements AttributeNamesTranslator {
12 17

  
13
    public final int maxNameLen;
18
    public int maxNameLen;
14 19

  
15 20
    public CutAttributeNamesTranslator(int maxNameLen) {
16 21
        this.maxNameLen = maxNameLen;
17 22
    }
18 23

  
24
    public CutAttributeNamesTranslator() {
25

  
26
    }
27

  
19 28
    private String buildTranslatedName(String source_name, Collection<String> current_names) {
20 29

  
21 30
        int len = source_name.length();
......
50 59
                        target_name = source_name + i;
51 60
                    }
52 61
                } else {
53
                    if (len == this.maxNameLen-1) {
62
                    if (len == this.maxNameLen - 1) {
54 63
                        target_name = source_name.substring(0, 7) + i;;
55 64
                    } else {
56 65
                        target_name = source_name + i;
......
123 132
        String target_name = buildTranslatedName(name, names);
124 133
        return target_name;
125 134
    }
126
    
135

  
127 136
    @Override
128 137
    public CutAttributeNamesTranslator clone() {
129 138
        CutAttributeNamesTranslator clone = null;
130 139
        try {
131
            clone = ( CutAttributeNamesTranslator)super.clone();
140
            clone = (CutAttributeNamesTranslator) super.clone();
132 141
        } catch (CloneNotSupportedException ex) {
133 142
            Logger.getLogger(CutAttributeNamesTranslator.class.getName()).log(Level.SEVERE, null, ex);
134 143
        }
135
        
144

  
136 145
        return clone;
137
        
146

  
138 147
    }
139 148

  
140 149
    @Override
......
142 151
        String s = StringUtils.left(name, maxNameLen);
143 152
        return s;
144 153
    }
154

  
155
    public static void registerPersistence() {
156
        PersistenceManager manager = ToolsLocator.getPersistenceManager();
157
        if (manager.getDefinition("CutAttributeNamesTranslator") == null) {
158
            DynStruct definition = manager.addDefinition(CutAttributeNamesTranslator.class,
159
                    "CutAttributeNamesTranslator", "CutAttributeNamesTranslator persistence definition", null, null);
160
            definition.addDynFieldInt("maxNameLen");
161
        }
162
    }
163

  
164
    @Override
165
    public void saveToState(PersistentState state) throws PersistenceException {
166
        state.set("maxNameLen", this.maxNameLen);
167
    }
168

  
169
    @Override
170
    public void loadFromState(PersistentState state) throws PersistenceException {
171
        this.maxNameLen = state.getInt("maxNameLen");
172
    }
145 173
}

Also available in: Unified diff