diff --git a/src/main/java/osm/surveyor/task/city/DataLoader.java b/src/main/java/osm/surveyor/task/city/DataLoader.java index 27d63f7..ae2fce8 100644 --- a/src/main/java/osm/surveyor/task/city/DataLoader.java +++ b/src/main/java/osm/surveyor/task/city/DataLoader.java @@ -2,6 +2,7 @@ import java.io.IOException; import java.io.InputStream; +import java.util.List; import org.springframework.boot.CommandLineRunner; import org.springframework.core.io.ClassPathResource; @@ -14,13 +15,18 @@ import osm.surveyor.task.city.model.CitiesJson; import osm.surveyor.task.city.model.City; import osm.surveyor.task.city.model.CityJson; +import osm.surveyor.task.city.model.Task; import osm.surveyor.task.util.Geojson; +import osm.surveyor.task.util.JsonFeature; +import osm.surveyor.task.util.JsonGeometryPoint; +import osm.surveyor.task.util.JsonProperties; import osm.surveyor.task.util.Point; @RequiredArgsConstructor @Component public class DataLoader implements CommandLineRunner { private final CityRepository repository; + private final TaskRepository taskRepository; @Override public void run(String... args) throws Exception { @@ -55,6 +61,30 @@ Geojson geojson = new Geojson(); geojson.parse(node); + List features = geojson.getFeatures(); + for (JsonFeature f : features) { + JsonGeometryPoint geometryPoint = f.getGeometryPoint(); + if (geometryPoint != null) { + if (geometryPoint.getType().equals("Point")) { + JsonProperties prop = f.getProperties(); + if (prop != null) { + String meshcode = prop.getId(); + if (meshcode != null) { + Task task = new Task(); + task.setCitycode(city.getCitycode()); + task.setMeshcode(meshcode); + task.setVersion(prop.getVersion()); + task.setPath(prop.getPath()); + task.setPoint(geometryPoint.getCoordinates().toString()); + taskRepository.save(task); + } + } + } + + // TODO: + } + } + // TODO: System.out.println("["+ path + "] " + geojson.toString()); } diff --git a/src/main/java/osm/surveyor/task/city/model/Task.java b/src/main/java/osm/surveyor/task/city/model/Task.java index fc98316..6ad8554 100644 --- a/src/main/java/osm/surveyor/task/city/model/Task.java +++ b/src/main/java/osm/surveyor/task/city/model/Task.java @@ -35,10 +35,6 @@ private String line; - public void setPoint(Point p) { - this.point = p.toString(); - } - public void setLine(JsonGeometryLine p) { this.line = p.toString(); }