[jboss-svn-commits] JBL Code SVN: r12863 - in labs/jbosslabs/trunk/portal-extensions/jboss-forums-redirect: lib and 6 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Jun 26 08:48:54 EDT 2007
Author: adamw
Date: 2007-06-26 08:48:54 -0400 (Tue, 26 Jun 2007)
New Revision: 12863
Added:
labs/jbosslabs/trunk/portal-extensions/jboss-forums-redirect/build.xml
labs/jbosslabs/trunk/portal-extensions/jboss-forums-redirect/lib/
labs/jbosslabs/trunk/portal-extensions/jboss-forums-redirect/lib/javax.servlet.jar
labs/jbosslabs/trunk/portal-extensions/jboss-forums-redirect/lib/mysql-connector-java-5.0.5-bin.jar
labs/jbosslabs/trunk/portal-extensions/jboss-forums-redirect/src/
labs/jbosslabs/trunk/portal-extensions/jboss-forums-redirect/src/java/
labs/jbosslabs/trunk/portal-extensions/jboss-forums-redirect/src/java/org/
labs/jbosslabs/trunk/portal-extensions/jboss-forums-redirect/src/java/org/jboss/
labs/jbosslabs/trunk/portal-extensions/jboss-forums-redirect/src/java/org/jboss/forums/
labs/jbosslabs/trunk/portal-extensions/jboss-forums-redirect/src/java/org/jboss/forums/redirect/
labs/jbosslabs/trunk/portal-extensions/jboss-forums-redirect/src/java/org/jboss/forums/redirect/DataGenerator.java
labs/jbosslabs/trunk/portal-extensions/jboss-forums-redirect/src/java/org/jboss/forums/redirect/RedirectFilter.java
Modified:
labs/jbosslabs/trunk/portal-extensions/jboss-forums-redirect/
Log:
Data generation
Property changes on: labs/jbosslabs/trunk/portal-extensions/jboss-forums-redirect
___________________________________________________________________
Name: svn:ignore
+ bin
.classpath
.project
target
build
data
.settings
Added: labs/jbosslabs/trunk/portal-extensions/jboss-forums-redirect/build.xml
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jboss-forums-redirect/build.xml (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions/jboss-forums-redirect/build.xml 2007-06-26 12:48:54 UTC (rev 12863)
@@ -0,0 +1,56 @@
+<?xml version='1.0' encoding='UTF-8'?>
+
+<project name="Forums redirect" default="run" basedir=".">
+ <!-- ====================================== -->
+ <!-- ====================================== -->
+ <!-- ====================================== -->
+
+ <!-- Fill in appropriate values for these properties -->
+ <property name="gen-username" value="root" />
+ <property name="gen-password" value="" />
+ <property name="gen-dburl" value="jdbc:mysql://localhost:3306/jbossportalforums" />
+ <property name="gen-jdbcdriver" value="com.mysql.jdbc.Driver" />
+ <!-- A comma-separated lists of forum ids for which should be redirected -->
+ <property name="gen-forumids" value="62,91" />
+
+ <!-- ====================================== -->
+ <!-- ====================================== -->
+ <!-- ====================================== -->
+
+ <property name="gen-data" value="data" />
+
+ <property name="src" value="src" />
+ <property name="src.java" value="${src}/java" />
+ <property name="build" value="build" />
+
+ <fileset id="lib.jars" dir="lib">
+ <include name="**/*.jar" />
+ </fileset>
+
+ <path id="base.jars">
+ <fileset refid="lib.jars" />
+ </path>
+
+ <target name="clean">
+ <delete dir="${build}" />
+ </target>
+
+ <target name="build" depends="clean">
+ <mkdir dir="${build}" />
+ <!-- Compiling the source -->
+ <javac srcdir="${src.java}" destdir="${build}" target="1.5" source="1.5">
+ <classpath refid="base.jars" />
+ </javac>
+ </target>
+
+ <target name="run" depends="build">
+ <mkdir dir="${gen-data}" />
+ <java classname="org.jboss.forums.redirect.DataGenerator">
+ <classpath refid="base.jars" />
+ <classpath path="${build}" />
+ <syspropertyset>
+ <propertyref prefix="gen-" />
+ </syspropertyset>
+ </java>
+ </target>
+</project>
\ No newline at end of file
Added: labs/jbosslabs/trunk/portal-extensions/jboss-forums-redirect/lib/javax.servlet.jar
===================================================================
(Binary files differ)
Property changes on: labs/jbosslabs/trunk/portal-extensions/jboss-forums-redirect/lib/javax.servlet.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbosslabs/trunk/portal-extensions/jboss-forums-redirect/lib/mysql-connector-java-5.0.5-bin.jar
===================================================================
(Binary files differ)
Property changes on: labs/jbosslabs/trunk/portal-extensions/jboss-forums-redirect/lib/mysql-connector-java-5.0.5-bin.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbosslabs/trunk/portal-extensions/jboss-forums-redirect/src/java/org/jboss/forums/redirect/DataGenerator.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jboss-forums-redirect/src/java/org/jboss/forums/redirect/DataGenerator.java (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions/jboss-forums-redirect/src/java/org/jboss/forums/redirect/DataGenerator.java 2007-06-26 12:48:54 UTC (rev 12863)
@@ -0,0 +1,54 @@
+package org.jboss.forums.redirect;
+
+import java.io.PrintWriter;
+import java.sql.*;
+
+public class DataGenerator {
+ public static void main(String[] argv) throws Exception {
+ Class.forName(System.getProperty("gen-jdbcdriver"));
+ Connection conn = DriverManager.getConnection(
+ System.getProperty("gen-dburl"),
+ System.getProperty("gen-username"),
+ System.getProperty("gen-password"));
+
+ String forumIds = System.getProperty("gen-forumids");
+ String dataDir = System.getProperty("gen-data");
+
+ Statement stmt = conn.createStatement();
+
+ // Creating forum id list
+ PrintWriter forumsWriter = new PrintWriter(dataDir + "/forums.dat");
+
+ for (String forumId : forumIds.split(",")) {
+ forumsWriter.println(forumId);
+ }
+
+ forumsWriter.close();
+
+ // Creating the topic id -> forum id map
+ ResultSet rs = stmt.executeQuery(
+ "SELECT topic_id, forum_id FROM phpbb_topics WHERE " +
+ "forum_id IN (" + forumIds + ")");
+
+ PrintWriter topicsWriter = new PrintWriter(dataDir + "/topics.dat");
+
+ while (rs.next()) {
+ topicsWriter.println(rs.getString(1) + " " + rs.getString(2));
+ }
+
+ topicsWriter.close();
+
+ // Creating the post id -> forum id map
+ rs = stmt.executeQuery(
+ "SELECT post_id, forum_id FROM phpbb_posts WHERE " +
+ "forum_id IN (" + forumIds + ")");
+
+ PrintWriter postsWriter = new PrintWriter(dataDir + "/posts.dat");
+
+ while (rs.next()) {
+ postsWriter.println(rs.getString(1) + " " + rs.getString(2));
+ }
+
+ postsWriter.close();
+ }
+}
Added: labs/jbosslabs/trunk/portal-extensions/jboss-forums-redirect/src/java/org/jboss/forums/redirect/RedirectFilter.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/jboss-forums-redirect/src/java/org/jboss/forums/redirect/RedirectFilter.java (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions/jboss-forums-redirect/src/java/org/jboss/forums/redirect/RedirectFilter.java 2007-06-26 12:48:54 UTC (rev 12863)
@@ -0,0 +1,68 @@
+package org.jboss.forums.redirect;
+
+import java.io.IOException;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import javax.servlet.Filter;
+import javax.servlet.FilterChain;
+import javax.servlet.FilterConfig;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * A filter which redirects old nukes forums requests to new portal forums.
+ * @author Adam Warski (adamw at aster.pl)
+ */
+public class RedirectFilter implements Filter {
+ /**
+ * A set of forum ids that are redirected.
+ */
+ private Set<String> supportedForums;
+
+ /**
+ * Translation table: op -> v
+ */
+ private final static Map<String, String> OP_TO_V = new HashMap<String, String>();
+ static {
+ OP_TO_V.put("viewforum", "f");
+ OP_TO_V.put("viewtopic", "t");
+ OP_TO_V.put("posting", "p");
+ }
+
+ public void init(FilterConfig config) throws ServletException {
+ String supportedForumsStr = config.getInitParameter("supportedForums");
+ supportedForums = new HashSet<String>();
+ if (supportedForumsStr != null) {
+ for (String forumId : supportedForumsStr.split(",")) {
+ supportedForums.add(forumId);
+ }
+ }
+
+ // No possibility to modify the set after it has been initialized.
+ supportedForums = Collections.unmodifiableSet(supportedForums);
+ }
+
+ public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse,
+ FilterChain chain) throws IOException, ServletException {
+ if (servletRequest instanceof HttpServletRequest) {
+ HttpServletRequest request = (HttpServletRequest) servletRequest;
+ System.out.println(request.getPathInfo() + "; " + request.getParameter("module"));
+
+ if (("/index.html".equals(request.getPathInfo())) && ("bb".equals(request.getParameter("module")))) {
+ // We now know it's a forums request.
+
+
+ }
+ }
+ }
+
+ public void destroy() {
+
+ }
+}
More information about the jboss-svn-commits
mailing list