KickJava   Java API By Example, From Geeks To Geeks.

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


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_topics extends Jbb_Convert {
15     
16     public void convert() throws ClassNotFoundException JavaDoc, SQLException JavaDoc {
17         sql = "select t.topic_id, t.forum_id, t.topic_title, t.topic_poster, t.topic_time, t.topic_views, " +
18               "t.topic_replies, t.topic_status, p.post_time from "+phpbb_prefix+"topics as t, "+phpbb_prefix+"posts as p " +
19               "where t.topic_last_post_id = p.post_id";
20         
21         System.out.println("TABLE JBB_TOPICS.");
22         Connection JavaDoc phpConn = this.getPhpBBConnection();
23         Statement JavaDoc stm = phpConn.createStatement();
24         System.out.println("\tReading data");
25         ResultSet JavaDoc rs = stm.executeQuery(sql);
26         String JavaDoc sqlInsert = "";
27         long i = 0;
28
29         Connection JavaDoc javaConn = this.getJavaBBConnection();
30         
31         javaConn.createStatement().executeUpdate("delete from jbb_topics");
32         System.out.println("delete from jbb_topics is OK!");
33         
34         PreparedStatement JavaDoc ps = javaConn.prepareStatement("insert into jbb_topics (id_topic, id_user, " +
35                 "id_forum, title_topic, data_topico, visualizacoes, respostas, topic_status) " +
36                 "values (?,?,?,?,?,?,?,?);");
37
38         System.out.println("\tInserting data ");
39         while (rs.next()) {
40             ps.setInt (1, rs.getInt("topic_id"));
41             ps.setInt (2, (rs.getInt("topic_poster") == -1 ? 0 : rs.getInt("topic_poster")));
42             ps.setInt (3, rs.getInt("forum_id"));
43             ps.setString (4, rs.getString("topic_title"));
44             ps.setTimestamp (5, new Timestamp JavaDoc(rs.getLong("topic_time")*1000));
45             ps.setInt (6, rs.getInt("topic_views"));
46             ps.setInt (7, rs.getInt("topic_replies"));
47             ps.setInt (8, rs.getInt("topic_status"));
48             //ps.setTimestamp (9, new Timestamp(rs.getLong("post_time")*1000));
49

50             ps.addBatch();
51             
52             if(i%7000==0)
53                 ps.executeBatch();
54             
55             System.out.print(".");
56         }
57         System.out.println("\n");
58         
59         ps.executeBatch();
60         ps.close();
61         stm.close();
62         rs.close();
63         phpConn.close();
64         javaConn.close();
65         System.out.print("Done!\n\n");
66     }
67 }
68
Popular Tags