KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > javabb > migration > phpbb > Jbb_posts


1 /**
2  * Script de migração phpBB -> JavaBB
3  * @author Lucas Teixeira - lucas@javabb.org
4  */

5
6 package org.javabb.migration.phpbb;
7 import java.sql.Connection JavaDoc;
8 import java.sql.PreparedStatement JavaDoc;
9 import java.sql.ResultSet JavaDoc;
10 import java.sql.SQLException JavaDoc;
11 import java.sql.Statement JavaDoc;
12 import java.sql.Timestamp JavaDoc;
13
14 public class Jbb_posts extends Jbb_Convert {
15     
16     public void convert() throws ClassNotFoundException JavaDoc, SQLException JavaDoc {
17         sql = "select p.post_id, p.topic_id, p.poster_id, p.post_time, p.poster_ip, p.enable_sig, pt.post_subject, " +
18                 "pt.post_text from "+phpbb_prefix+"posts as p, "+phpbb_prefix+"posts_text as pt where p.post_id = " +
19                 "pt.post_id;";
20         System.out.println("TABLE JBB_POSTS.");
21         Connection JavaDoc phpConn = this.getPhpBBConnection();
22         Statement JavaDoc stm = phpConn.createStatement();
23         System.out.println("\tReading data");
24         ResultSet JavaDoc rs = stm.executeQuery(sql);
25         long i = 0;
26
27         Connection JavaDoc javaConn = this.getJavaBBConnection();
28         
29         javaConn.createStatement().executeUpdate("delete from jbb_posts");
30         System.out.println("delete from jbb_posts is OK!");
31         
32         PreparedStatement JavaDoc ps = javaConn.prepareStatement("insert into jbb_posts (id_post, id_user, id_topic, " +
33                 "data_post, assunto, post_body, sig, ip, post_state) values (?,?,?,?,?,?,?,?,?)");
34
35         System.out.println("\tInserting data ");
36         while (rs.next()) {
37             ps.setInt (1, rs.getInt("post_id"));
38             ps.setInt (2, rs.getInt("poster_id") == -1 ? 0 : rs.getInt("poster_id"));
39             ps.setInt (3, rs.getInt("topic_id"));
40             ps.setTimestamp (4, new Timestamp JavaDoc(rs.getLong("post_time")*1000));
41             ps.setString (5, toJbbCode(rs.getString("post_subject")));
42             ps.setString (6, toJbbCode(rs.getString("post_text")));
43             ps.setInt (7, rs.getInt("enable_sig"));
44             ps.setString (8, convertIP(rs.getString("poster_ip")));
45             ps.setInt (9, 0); //TODO não usado
46

47             ps.addBatch();
48             
49             if (i%10000 == 0){
50                 try {
51                     ps.executeBatch();
52                 } catch (SQLException JavaDoc e) {
53                     System.out.println("\n\n" + e.getNextException().getMessage());
54                 };
55             }
56
57             System.out.print(".");
58         }
59         System.out.println("\n");
60         
61         try {
62             ps.executeBatch();
63         } catch (SQLException JavaDoc e) {
64             System.out.println("\n\n" + e.getNextException().getMessage());
65         }
66         
67         ps.close();
68         stm.close();
69         rs.close();
70         phpConn.close();
71         javaConn.close();
72         System.out.print("Done!\n\n");
73     }
74 }
Popular Tags