Guest User

Untitled

a guest
Dec 18th, 2018
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.31 KB | None | 0 0
  1. /*
  2.  * To change this template, choose Tools | Templates
  3.  * and open the template in the editor.
  4.  */
  5. package wgsqltoyaml;
  6.  
  7. import java.io.File;
  8. import java.io.FileNotFoundException;
  9. import java.io.IOException;
  10. import java.sql.Connection;
  11. import java.sql.DriverManager;
  12. import java.sql.ResultSet;
  13. import java.sql.SQLException;
  14. import java.sql.Statement;
  15. import java.util.ArrayList;
  16. import java.util.List;
  17. import java.util.logging.Level;
  18. import java.util.logging.Logger;
  19. import org.ho.yaml.Yaml;
  20. import pyaml.Pyaml;
  21. import pyaml.UsePyaml;
  22.  
  23. /**
  24.  *
  25.  * @author Punga
  26.  */
  27. public class WGSQLtoYAML {
  28.     static List yaml = new ArrayList(1);
  29.     static int temp = 0;
  30.     public static void main(String[] args) throws FileNotFoundException, IOException {
  31.         List regions=new ArrayList(20);
  32.         regions.add(new Region());
  33.         yaml.add(regions);
  34.         Pyaml p = new Pyaml();
  35.         p.addWordDoubleDot("regions");
  36.         p.levelUp();
  37.         String dbtime;
  38.         String dbUrl = "jdbc:mysql://maturin.clanwars.cz/mc41";
  39.         String dbClass = "com.mysql.jdbc.Driver";
  40.         String regionQuery = "Select * FROM region ORDER BY id ASC";
  41.         String regionCuboidQuery = "Select * FROM region_cuboid ORDER BY region_id ASC";
  42.         String regionFlagQuery = "Select * FROM region_flag ORDER BY region_id ASC";
  43.         //String regionQuery = "Select * FROM region ORDER BY id ASC";
  44.  
  45.         try {
  46.  
  47.             Class.forName("com.mysql.jdbc.Driver");
  48.            
  49.             Connection con = DriverManager.getConnection (dbUrl,"mc41","Asn301mxS");
  50.             Statement stmt = con.createStatement();
  51.             Statement stmt2 = con.createStatement();
  52.             Statement stmt3 = con.createStatement();
  53.             Statement stmt4 = con.createStatement();
  54.            
  55.             ResultSet rs = stmt.executeQuery(regionQuery);
  56.             System.out.println("rs htv");
  57.             ResultSet rs2 = stmt2.executeQuery(regionCuboidQuery);
  58.             System.out.println("rs2 htv");
  59.             ResultSet rs3 = stmt3.executeQuery(regionFlagQuery);
  60.             System.out.println("rs3 htv");
  61.             rs3.next();
  62.             int i=0;
  63.             while (rs.next()&&rs2.next()) {
  64.                 System.out.println("rs.");
  65.                 p.addWordDoubleDot(rs.getString(1));
  66.                 p.levelUp();
  67.                 p.addWordDoubleDot("type");
  68.                 p.addValue(rs.getString(3));
  69.                 p.addWordDoubleDot("min");
  70.                 p.addValue("{x:"+rs2.getString(3)+".0, y:"+rs2.getString(4)+".0, z:"+rs2.getString(5)+".0}");
  71.                 p.addWordDoubleDot("max");
  72.                 p.addValue("{x:"+rs2.getString(6)+".0, y:"+rs2.getString(7)+".0, z:"+rs2.getString(8)+".0}");
  73.                 p.addWordDoubleDot("priority");
  74.                 p.addValue(rs.getString(2));
  75.                 p.addWordDoubleDot("flags");
  76.                 System.out.println(rs.getString(1)+":");
  77.                 Statement stmttemp = con.createStatement();
  78.                 ResultSet rstemp = stmttemp.executeQuery("Select * FROM region_flag WHERE region_id LIKE '"+rs.getString(1) +"' ORDER BY region_id ASC");
  79.                 p.levelUp();    
  80.                 while(rstemp.next()){
  81.                     System.out.println(p.tab+"+flag");
  82.                     p.addWordDoubleDot(rstemp.getString(4));
  83.                     p.addValue(rstemp.getString(5));
  84.                     i++;
  85.                 }
  86.                 if(i==0){
  87.                     p.addValue("{}");
  88.                 }else{
  89.                     i=0;
  90.                 }
  91.                 p.levelDown();
  92.                 p.addWordDoubleDot("owners");
  93.                 ResultSet rstemp2 = stmttemp.executeQuery("Select * FROM region_players WHERE region_id LIKE '"+rs.getString(1) +"' AND owner = 1 ORDER BY region_id ASC");
  94.                 if(rstemp2.next()){
  95.                     String strii="[";
  96.                     Boolean s=true;
  97.                     strii=owner(strii,con,rstemp,rstemp2,s);
  98.                     while(rstemp2.next()){
  99.                         strii=owner(strii,con,rstemp,rstemp2,false);
  100.                         s=false;
  101.                     }
  102.                     strii=strii+"]";
  103.                     if(temp!=0){
  104.                         p.levelUp();
  105.                         p.addWordDoubleDot("players");
  106.                         p.addValue(strii);
  107.                         p.levelDown();
  108.                         temp=0;
  109.                     }else{
  110.                         p.addValue("{}");
  111.                     }
  112.                 }
  113.                     p.addWordDoubleDot("members");
  114.                     Statement stmttemp2 = con.createStatement();
  115.                 ResultSet rstemp4 = stmttemp2.executeQuery("Select * FROM region_players WHERE region_id LIKE '"+rs.getString(1) +"' AND owner = 0 ORDER BY region_id ASC");
  116.                 if(rstemp4.next()){
  117.                     String striii="[";
  118.                     striii=member(striii,con,rstemp,rstemp4,true);
  119.                     while(rstemp4.next()){
  120.                         striii=member(striii,con,rstemp,rstemp4,false);
  121.                     }
  122.                     striii=striii+"]";
  123.                     if(temp!=0){
  124.                         p.levelUp();
  125.                         p.addWordDoubleDot("players");
  126.                         p.addValue(striii);
  127.                         p.levelDown();
  128.                         temp=0;
  129.                     }else{
  130.                         p.addValue('{'+'}'+"");
  131.                     }
  132.                  
  133.  
  134.                 }
  135.                 p.levelDown();
  136.             } //end while
  137.  
  138.             con.close();
  139.         } //end try
  140.  
  141.         catch(ClassNotFoundException e) {
  142.             e.printStackTrace();
  143.         }
  144.         catch(SQLException e) {
  145.             e.printStackTrace();
  146.         }
  147.         UsePyaml.save(p,new File("regions.yml"));
  148.       }
  149.  
  150.     private static String owner(String strii, Connection con, ResultSet rstemp, ResultSet rstemp2,boolean first) throws SQLException {
  151.                     System.out.println(new Pyaml().tab+"+owner");
  152.                     Statement stmttemp2 = con.createStatement();
  153.                     ResultSet rstemp3 = stmttemp2.executeQuery("Select * FROM user WHERE id = "+rstemp2.getString(3) +" ORDER BY id ASC");
  154.                     rstemp3.next();
  155.                     if(!first){
  156.                         strii=strii+", "+rstemp3.getString(2);
  157.                         temp++;
  158.                     }else{
  159.                         strii=strii+rstemp3.getString(2);
  160.                         temp++;
  161.                     }
  162.                     return strii;
  163.     }
  164.  
  165.     private static String member(String striii, Connection con, ResultSet rstemp, ResultSet rstemp2, boolean b) throws SQLException {
  166.                     System.out.println(new Pyaml().tab+"+member");
  167.                     Statement stmttemp2 = con.createStatement();
  168.                     ResultSet rstemp3 = stmttemp2.executeQuery("Select * FROM user WHERE id = "+rstemp2.getString(3) +" ORDER BY id ASC");
  169.                     rstemp3.next();
  170.                     if(!b){
  171.                         striii=striii+", "+rstemp3.getString(2);
  172.                         temp++;
  173.                     }else{
  174.                         striii=striii+rstemp3.getString(2);
  175.                         temp++;
  176.                     }
  177.                     return striii;
  178.     }
  179.     }
Add Comment
Please, Sign In to add comment