import java.io.IOException;
import java.io.Reader;
+import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.ArrayList;
public static Map<String, Integer> readCSVHeader(Path source, CSVFormat format, boolean firstAsHeader) throws IOException {
if (firstAsHeader)
format = format.withFirstRecordAsHeader();
- try (CSVParser parser = format.parse(Files.newBufferedReader(source))) {
+ try (CSVParser parser = format.parse(Files.newBufferedReader(source, Charset.defaultCharset()))) {
return parser.getHeaderMap();
}
}
int detailedGeometryIndex = model.getDetailedGeometryIndex();
int regionIndex = model.getRegionIndex();
int pipeTypeIndex = model.getPipeTypeIndex();
+ int pipeCodeIndex = model.getPipeCodeIndex();
+ int installationYearIndex = model.getInstallationYearIndex();
+ int wallThicknessIndex = model.getWallThicknessIndex();
+ int insulationConductivityIndex = model.getInsulationConductivityIndex();
+ int pipeSizeDNIndex = model.getPipeSizeDNIndex();
+ int roughnessIndex = model.getRoughnessIndex();
+ int structureIndex = model.getStructureIndex();
int mappingColumn = model.getComponentMappingIndex();
int idColumn = model.getIdIndex();
writeStringValue(graph, row, regionIndex, edge, DN.HasRegion);
writeStringValue(graph, row, pipeTypeIndex, edge, DN.Edge_HasType);
writeDoubleArrayFromString(graph, row, detailedGeometryIndex, edge, DN.Edge_HasGeometry, actualTransform);
+ writeStringValue(graph, row, pipeCodeIndex, edge, DN.Edge_HasPipeCode);
+ writeIntegerValue(graph, row, installationYearIndex, edge, DN.Edge_HasInstallationYear);
+ writeValue(graph, row, wallThicknessIndex, edge, DN.Edge_HasWallThickness);
+ writeValue(graph, row, insulationConductivityIndex, edge, DN.Edge_HasInsulationConductivity);
+ writeIntegerValue(graph, row, pipeSizeDNIndex, edge, DN.Edge_HasPipeSizeDN);
+ writeValue(graph, row, roughnessIndex, edge, DN.Edge_HasRoughness);
+ writeStringValue(graph, row, structureIndex, edge, DN.Edge_HasStructure);
}
}
return true;
}
}
+ private static void writeIntegerValue(WriteGraph graph, CSVRecord row, int index, Resource subject, Resource relation) throws DatabaseException {
+ if (index != -1) {
+ String stringValue = row.get(index);
+ if (!stringValue.isEmpty()) {
+ try {
+ if (stringValue.startsWith("\"") && stringValue.endsWith("\"")) {
+ stringValue = stringValue.substring(1, stringValue.length() - 1);
+ }
+ graph.claimLiteral(subject, relation, Integer.parseInt(stringValue), Bindings.INTEGER);
+ } catch (NumberFormatException e) {
+ LOGGER.error("Could not parse {} {} {} {}", row, index, subject, relation, e);
+ //throw new DatabaseException(e);
+ }
+ }
+ }
+ }
+
private static void writeStringValue(WriteGraph graph, CSVRecord row, int index, Resource subject, Resource relation) throws DatabaseException {
if (index != -1) {
String stringValue = row.get(index);