Revision 44386 trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.prov/org.gvsig.exportto.swing.prov.jdbc/src/main/java/org/gvsig/export/jdbc/service/ExportJDBCService.java
ExportJDBCService.java | ||
---|---|---|
53 | 53 |
import org.gvsig.export.ExportLocator; |
54 | 54 |
import org.gvsig.export.spi.ExportService; |
55 | 55 |
import org.gvsig.export.spi.AbstractExportService; |
56 |
import org.gvsig.export.spi.AttributeNamesTranslator; |
|
57 | 56 |
import org.gvsig.export.spi.ExportServiceFactory; |
58 | 57 |
import org.gvsig.export.spi.ExportServiceManager; |
59 | 58 |
import org.gvsig.export.spi.ExportServiceManager.FixGeometryStatus; |
... | ... | |
107 | 106 |
boolean preferNotToUseNonNullRestrictions = factory.preferNotToUseNonNullRestrictions(); |
108 | 107 |
ExportAttributes exportAttributes = getParameters().getExportAttributes(); |
109 | 108 |
|
110 |
AttributeNamesTranslator nameTranslator = this.getFactory().createAttributeNamesTranslator(); |
|
111 |
ExportAttributes exportAttr = this.getParameters().getExportAttributes(); |
|
112 |
exportAttr.setNamesTranslator(nameTranslator); |
|
113 | 109 |
|
114 | 110 |
targetTempFeatureType = exportAttributes.getTargetFeatureType().getCopy(); |
115 | 111 |
targetEditableFeatureType = targetTempFeatureType.getEditable(); |
... | ... | |
124 | 120 |
} |
125 | 121 |
} |
126 | 122 |
|
127 |
if (this.getParameters().getPrimaryKey() != null) { |
|
128 |
EditableFeatureAttributeDescriptor pk = (EditableFeatureAttributeDescriptor) targetEditableFeatureType.get(getTranslatedIdentifier(getParameters().getPrimaryKey())); |
|
123 |
|
|
124 |
String pkname = getParameters().getPrimaryKey(); |
|
125 |
if (pkname != null) { |
|
126 |
// pkname it's not part of exportattributes list. |
|
127 |
pkname = getParameters().getExportAttributes().getNamesTranslator().getNameSuggestion(pkname); |
|
128 |
EditableFeatureAttributeDescriptor pk = (EditableFeatureAttributeDescriptor) targetEditableFeatureType.get(pkname); |
|
129 | 129 |
if (pk == null) { |
130 |
pk = targetEditableFeatureType.add( |
|
131 |
getTranslatedIdentifier(this.getParameters().getPrimaryKey()), |
|
132 |
DataTypes.LONG |
|
133 |
); |
|
130 |
pk = targetEditableFeatureType.add(pkname, DataTypes.LONG); |
|
134 | 131 |
pk.setIsPrimaryKey(true); |
135 | 132 |
pk.setIsAutomatic(true); |
136 | 133 |
} else { |
... | ... | |
204 | 201 |
} |
205 | 202 |
} |
206 | 203 |
|
207 |
protected String getTranslatedIdentifier(String identifier) { |
|
208 |
String s = identifier; |
|
209 |
ExportJDBCAttributeNamesTranslator nameTranslator = (ExportJDBCAttributeNamesTranslator) this.getParameters().getExportAttributes().getNamesTranslator(); |
|
210 |
if (nameTranslator.getTranslateIdentifiersToLowerCase()) { |
|
211 |
s = s.toLowerCase(); |
|
212 |
} |
|
213 |
if (nameTranslator.getTranslateHyphens()) { |
|
214 |
s = s.replace("-", "_"); |
|
215 |
} |
|
216 |
if (nameTranslator.getRemoveSpacesInIdentifiers()) { |
|
217 |
s = StringUtils.normalizeSpace(s).replace(" ", "_"); |
|
218 |
} |
|
219 |
return s; |
|
220 |
} |
|
221 | 204 |
|
205 |
|
|
222 | 206 |
private int getGeometryColumnCount(FeatureType featureType) { |
223 | 207 |
int count = 0; |
224 | 208 |
for (int i = 0; i < featureType.size(); i++) { |
Also available in: Unified diff