Advertisement
Guest User

Untitled

a guest
Apr 25th, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.63 KB | None | 0 0
  1. public String parseShape(ResultSet resultSet) throws SQLException, IOException, SchemaException {
  2.  
  3. if (drawnShapesId.contains(resultSet.getObject(1))) {
  4. return null;
  5. } else {
  6. drawnShapesId.add((Integer) resultSet.getObject(1));
  7. }
  8.  
  9. StringBuilder sb = new StringBuilder();
  10.  
  11. List<Object> values = new ArrayList<>();
  12. ResultSetMetaData md = resultSet.getMetaData();
  13. int columns = md.getColumnCount();
  14.  
  15. for (int i = 3; i <= columns; i++) {
  16.  
  17. // temporary getting rid of the problem with BigDecimal convertion
  18. // should be resolved somehow
  19. if (resultSet.getObject(i) == null || resultSet.getObject(i).getClass().getSimpleName().equals("BigDecimal")) {
  20. continue;
  21. }
  22. sb.append(String.format("%s:%s,", md.getColumnName(i), resultSet.getObject(i).getClass().getSimpleName()));
  23. values.add(resultSet.getObject(i));
  24. }
  25. InputStream inputStream = resultSet.getBinaryStream("SHAPE");
  26.  
  27. Geometry geometry = parseGeometry(inputStream);
  28. sb.append("shape:");
  29. sb.append("Polygon");
  30. values.add(geometry);
  31.  
  32. SimpleFeatureType type = DataUtilities.createType("shape", sb.toString());
  33. SimpleFeatureBuilder builder = new SimpleFeatureBuilder(type);
  34. builder.addAll(values);
  35. SimpleFeature feature = builder.buildFeature("fid");
  36. FeatureJSON fJson = new FeatureJSON();
  37. StringWriter writer = new StringWriter();
  38. fJson.writeFeature(feature, writer);
  39.  
  40. return writer.toString();
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement