KickJava   Java API By Example, From Geeks To Geeks.

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


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.DriverManager JavaDoc;
9 import java.sql.SQLException JavaDoc;
10 import java.text.DateFormat JavaDoc;
11 import java.text.SimpleDateFormat JavaDoc;
12 import java.util.Date JavaDoc;
13
14 import org.springframework.web.util.HtmlUtils;
15
16 public abstract class Jbb_Convert {
17     
18     //TODO Get all this references from an external resource
19
private static String JavaDoc phpbb_url = "jdbc:mysql://localhost:3306/javabb07?unicode=true";
20     private static String JavaDoc phpbb_user = "root";
21     private static String JavaDoc phpbb_pass = "";
22     protected static String JavaDoc phpbb_prefix = "forumjf_";
23     
24     /* MYSQL*/
25     /*private static String javabb_url = "jdbc:mysql://localhost:3306/javafreebb?unicode=true";
26     private static String javabb_user = "root";
27     private static String javabb_pass = "";
28     private static String javabb_driver = "com.mysql.jdbc.Driver";
29     */

30     
31     /* POSTGRESQL */
32     private static String JavaDoc javabb_url = "jdbc:postgresql://localhost/javabb";
33     private static String JavaDoc javabb_user = "postgres";
34     private static String JavaDoc javabb_pass = "";
35     private static String JavaDoc javabb_driver = "org.postgresql.Driver";
36     
37     protected String JavaDoc sql = "";
38         
39     private static DateFormat JavaDoc df = new SimpleDateFormat JavaDoc("yyyyMMddHHmmss");
40         
41     /**
42      * Retrieves a phpBB Connection
43      * @return the phpBB Connection
44      * @throws ClassNotFoundException
45      * @throws SQLException
46      */

47     protected Connection JavaDoc getPhpBBConnection() throws ClassNotFoundException JavaDoc, SQLException JavaDoc {
48         Class.forName("com.mysql.jdbc.Driver");
49         System.out.println("Retrieving phpBB connection");
50         return DriverManager.getConnection(phpbb_url, phpbb_user, phpbb_pass);
51     }
52
53     /**
54      * Retrieves a javaBB Connection
55      * @return the javaBB Connection
56      * @throws ClassNotFoundException
57      * @throws SQLException
58      */

59     protected Connection JavaDoc getJavaBBConnection() throws ClassNotFoundException JavaDoc, SQLException JavaDoc {
60         Class.forName(javabb_driver);
61         System.out.println("Retrieving javaBB connection");
62         return DriverManager.getConnection(javabb_url, javabb_user, javabb_pass);
63     }
64     
65     /**
66      * Convert the table data
67      * @return
68      */

69     public abstract void convert() throws Exception JavaDoc;
70     
71     /**
72      * Convert the hashed bbcode from phpbb to an clean bbcode to javaBB
73      * @param phpBBCode the dirty bbcode
74      * @return the bbcode w/out hashes
75      * @author Ronald Tetsuo Miura - ronald.tetsuo@gmail.com
76      */

77     public String JavaDoc toJbbCode(String JavaDoc phpBBCode) {
78         phpBBCode = phpBBCode == null ? "": phpBBCode;
79         phpBBCode = HtmlUtils.htmlUnescape(phpBBCode);
80         String JavaDoc ret = phpBBCode.replaceAll(
81                         "\\[(/)?(b|u|i|list|quote|code|img|url)(?::\\w+)?(=\"?[^\":]+\"?)?(:\\w)?(?::\\w+)?\\]",
82                         "[$1$2$3]"
83                      );
84         return ret;
85     }
86     
87     /**
88      * Convert the hashed ip from phpbb to an clean ip
89      * @param hexCode the phpbb ip representation
90      * @return the ip well formatted
91      * @author Flávio Bianchi - flavio@javafree.com.br
92      */

93     public String JavaDoc convertIP(String JavaDoc hexCode) {
94         
95         if (hexCode.length() != 8)
96             return "127.0.0.1";
97         
98         StringBuffer JavaDoc ip = new StringBuffer JavaDoc();
99         
100         ip.append(Integer.parseInt(hexCode.substring(0,2), 16));
101         ip.append(".");
102         ip.append(Integer.parseInt(hexCode.substring(2,4), 16));
103         ip.append(".");
104         ip.append(Integer.parseInt(hexCode.substring(4,6), 16));
105         ip.append(".");
106         ip.append(Integer.parseInt(hexCode.substring(6,8), 16));
107         
108         return ip.toString();
109     }
110     
111     private static final String JavaDoc JBB_TIMESTAMP_FORMAT = "yyyyMMddHHmmss";
112     public String JavaDoc long2timestamp(long pre) {
113         if (df == null)
114             df = new SimpleDateFormat JavaDoc(JBB_TIMESTAMP_FORMAT);
115         
116         return df.format(new Date JavaDoc(pre));
117     }
118     
119     public static void convertJbb_badwords() throws ClassNotFoundException JavaDoc, SQLException JavaDoc {
120         new Jbb_badwords().convert();
121     }
122     
123     public static void convertJbb_category() throws ClassNotFoundException JavaDoc, SQLException JavaDoc {
124         new Jbb_category().convert();
125     }
126     
127     public static void convertJbb_emoticon() throws ClassNotFoundException JavaDoc, SQLException JavaDoc {
128         new Jbb_emoticon().convert();
129     }
130     
131     public static void convertJbb_forum() throws ClassNotFoundException JavaDoc, SQLException JavaDoc {
132         new Jbb_forum().convert();
133     }
134     
135     public static void convertJbb_posts() throws ClassNotFoundException JavaDoc, SQLException JavaDoc {
136         new Jbb_posts().convert();
137     }
138     
139     public static void convertJbb_topics() throws ClassNotFoundException JavaDoc, SQLException JavaDoc {
140         new Jbb_topics().convert();
141     }
142     
143     public static void convertJbb_users() throws ClassNotFoundException JavaDoc, SQLException JavaDoc {
144         new Jbb_users().convert();
145     }
146 }
147
Popular Tags