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
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