[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