/Prototipo/wsConsume/src/wsconsume/Main.java

http://prototipomemoria.googlecode.com/ · Java · 145 lines · 86 code · 27 blank · 32 comment · 3 complexity · 8c5f3695e15597ae54a3927e31728dd4 MD5 · raw file

  1. /*
  2. * To change this template, choose Tools | Templates
  3. * and open the template in the editor.
  4. */
  5. package wsconsume;
  6. import java.io.BufferedWriter;
  7. import java.io.FileWriter;
  8. import java.io.IOException;
  9. import java.util.Date;
  10. import java.util.logging.Level;
  11. import java.util.logging.Logger;
  12. import javax.xml.namespace.QName;
  13. import javax.xml.transform.Source;
  14. import javax.xml.ws.Dispatch;
  15. import javax.xml.transform.stream.StreamSource;
  16. import javax.xml.ws.Service;
  17. import java.io.StringReader;
  18. import java.util.ArrayList;
  19. import java.util.List;
  20. import memoria.commons.dataAccess.RepoConfig;
  21. import memoria.commons.dataAccess.RepositoriesMetadata;
  22. import memoria.commons.dataAccess.query.VisualQuery;
  23. import memoria.commons.dataAccess.query.filtro.RectangleFilter;
  24. import memoria.commons.entities.Escuela;
  25. import memoria.commons.structures.GeoReferenced;
  26. import memoria.commons.structures.Point;
  27. import memoria.commons.structures.coordinates.LatLonCoordinate;
  28. import memoria.commons.xml.XStreamInstance;
  29. /**
  30. *
  31. * @author diego
  32. */
  33. public class Main {
  34. /**
  35. * @param args the command line arguments
  36. */
  37. public static void main(String[] args) {
  38. long sum = 0;
  39. int times = 100;
  40. for (int i = 0; i <times; i++) {
  41. long uno = new Date().getTime();
  42. getData(args);
  43. long dos = new Date().getTime();
  44. System.out.println(dos - uno);
  45. sum+= dos - uno;
  46. //System.out.println(da.getDataAccessPort().getData(null));
  47. }
  48. System.out.println("Suma: "+sum);
  49. System.out.println("Ejecuciones: "+times);
  50. System.out.println("Promedio: "+sum/times);
  51. }
  52. public static void getData(String[] args){
  53. WsTransformadorService servicio = new WsTransformadorService();
  54. String capa = "Industria";
  55. // double SWlat = Double.valueOf(args[0]);
  56. // double SWlon = Double.valueOf(args[1]);
  57. // double NElat = Double.valueOf(args[2]);
  58. // double NElon = Double.valueOf(args[3]);
  59. // double SWlat = -34.92577121781642;
  60. // double SWlon = -56.204938888549805;
  61. // double NElat = -34.89057762229523;
  62. // double NElon = -56.1276912689209;
  63. double SWlat = -36.92577121781642;
  64. double SWlon = -58.204938888549805;
  65. double NElat = -30.89057762229523;
  66. double NElon = -50.1276912689209;
  67. // RepositoriesMetadata meta = new RepositoriesMetadata();
  68. // meta.setEntity("Escuela");
  69. // RepoConfig config = new RepoConfig("memoria.dataAccess.dao.ExcelDao");
  70. // config.getAttributes().put("URL", "D:/facu/Memoria/prototipo-googlecode/Prototipo/PrototipoMemoria/src/java/memoria/resources/industri.xls");
  71. // meta.getRepositories().add(config);
  72. // List<RepositoriesMetadata> repositoriesMetadata = new ArrayList<RepositoriesMetadata>();
  73. // repositoriesMetadata.add(meta);
  74. // System.out.println(XStreamInstance.toXml(repositoriesMetadata));
  75. VisualQuery consulta = new VisualQuery(capa);
  76. String xmlResponse = servicio.getWsTransformadorPort().getDataFiltro
  77. (capa,SWlat,SWlon,NElat,NElon);
  78. //String xmlResponse = servicio.getWsTransformadorPort().getData(consulta.toXml());
  79. //createMap(xmlResponse);
  80. }
  81. public static void createMap(String xml){
  82. writeToFile(xml);
  83. try {
  84. Process p = Runtime.getRuntime().exec("python pymap.py");
  85. //Process p2 = Runtime.getRuntime().exec("C:/Program Files (x86)/SlikSvn/bin/svn commit MyFirstMap.html -m=\"Subo mapa generado\"");
  86. } catch (IOException ex) {
  87. Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
  88. }
  89. }
  90. public static void writeToFile(String xml){
  91. try{
  92. // Create file
  93. List<GeoReferenced> data = (List<GeoReferenced>) XStreamInstance.toObject(xml);
  94. FileWriter fstream = new FileWriter("data.csv");
  95. BufferedWriter out = new BufferedWriter(fstream);
  96. int i = 0;
  97. for (GeoReferenced geoReferenced : data) {
  98. for (Point punto : geoReferenced.getSpatialRepresentation().getPoints()){
  99. out.write(punto.getCoordiante().getX());
  100. out.write(" ; ");
  101. out.write(punto.getCoordiante().getY());
  102. out.write(" ; ");
  103. out.write(geoReferenced.getNombre());
  104. out.write(" ; ");
  105. out.write(geoReferenced.getDescripcion());
  106. out.write(" ; ");
  107. out.write(geoReferenced.getIconName());
  108. out.write("\n");
  109. i+=1;
  110. }
  111. }
  112. System.out.println("Procesando mapa para "+i+ " puntos");
  113. out.close();
  114. }catch (Exception e){//Catch exception if any
  115. System.err.println("Error: " + e.getMessage());
  116. }
  117. }
  118. }