[jboss-svn-commits] JBL Code SVN: r32301 - in labs/jbosslabs/labs-3.0-build/integration/sbs-blogs-migration/trunk/src/main: java/org/jboss/labs/sbs/plugin/bm/dao and 2 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Mar 30 05:49:38 EDT 2010
Author: lkrzyzanek
Date: 2010-03-30 05:49:37 -0400 (Tue, 30 Mar 2010)
New Revision: 32301
Added:
labs/jbosslabs/labs-3.0-build/integration/sbs-blogs-migration/trunk/src/main/java/org/jboss/labs/sbs/plugin/bm/struts/RedirectOldBlogPostToSBSAction.java
Modified:
labs/jbosslabs/labs-3.0-build/integration/sbs-blogs-migration/trunk/src/main/java/org/jboss/labs/sbs/plugin/bm/DbOldBlogsManager.java
labs/jbosslabs/labs-3.0-build/integration/sbs-blogs-migration/trunk/src/main/java/org/jboss/labs/sbs/plugin/bm/OldBlogsManager.java
labs/jbosslabs/labs-3.0-build/integration/sbs-blogs-migration/trunk/src/main/java/org/jboss/labs/sbs/plugin/bm/dao/DbOldBlogsMappingDAO.java
labs/jbosslabs/labs-3.0-build/integration/sbs-blogs-migration/trunk/src/main/java/org/jboss/labs/sbs/plugin/bm/dao/OldBlogsMappingDAO.java
labs/jbosslabs/labs-3.0-build/integration/sbs-blogs-migration/trunk/src/main/plugin/cache-config.xml
labs/jbosslabs/labs-3.0-build/integration/sbs-blogs-migration/trunk/src/main/plugin/spring.xml
labs/jbosslabs/labs-3.0-build/integration/sbs-blogs-migration/trunk/src/main/plugin/struts.xml
Log:
Added action for backward compatibility.
Mappings are loaded one by one instead of all caches in one request.
Modified: labs/jbosslabs/labs-3.0-build/integration/sbs-blogs-migration/trunk/src/main/java/org/jboss/labs/sbs/plugin/bm/DbOldBlogsManager.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs-blogs-migration/trunk/src/main/java/org/jboss/labs/sbs/plugin/bm/DbOldBlogsManager.java 2010-03-30 08:57:12 UTC (rev 32300)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs-blogs-migration/trunk/src/main/java/org/jboss/labs/sbs/plugin/bm/DbOldBlogsManager.java 2010-03-30 09:49:37 UTC (rev 32301)
@@ -35,6 +35,7 @@
import org.apache.log4j.Logger;
import org.jboss.labs.sbs.plugin.bm.dao.OldBlogEntryBean;
import org.jboss.labs.sbs.plugin.bm.dao.OldBlogsMappingDAO;
+import org.springframework.dao.EmptyResultDataAccessException;
import org.w3c.dom.Document;
import com.jivesoftware.base.User;
@@ -77,6 +78,9 @@
private Properties oldBlogUsersMap = null;
+ /** Cache for old blog posts to SBS URL mapping */
+ private com.jivesoftware.community.cache.Cache<String, String> oldBlogPostsMappings;
+
/**
* Filter only directories
*/
@@ -106,6 +110,20 @@
}
@Override
+ public String getSBSURL(String oldBlogCode) {
+ String url = oldBlogPostsMappings.get(oldBlogCode);
+ if (url == null) {
+ try {
+ url = oldBlogsMappingDAO.getBlogPostMapping(oldBlogCode);
+ } catch (EmptyResultDataAccessException e) {
+ return null;
+ }
+ oldBlogPostsMappings.put(oldBlogCode, url);
+ }
+ return url;
+ }
+
+ @Override
public String getSBSUsername(String oldBlogUser) {
return oldBlogUsersMap.getProperty(oldBlogUser);
}
@@ -317,4 +335,12 @@
this.oldBlogsMappingDAO = oldBlogsMappingDAO;
}
+ public void setOldBlogPostsMappings(com.jivesoftware.community.cache.Cache<String, String> oldBlogPostsMappings) {
+ this.oldBlogPostsMappings = oldBlogPostsMappings;
+ }
+
+ public com.jivesoftware.community.cache.Cache<String, String> getOldBlogPostsMappings() {
+ return oldBlogPostsMappings;
+ }
+
}
Modified: labs/jbosslabs/labs-3.0-build/integration/sbs-blogs-migration/trunk/src/main/java/org/jboss/labs/sbs/plugin/bm/OldBlogsManager.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs-blogs-migration/trunk/src/main/java/org/jboss/labs/sbs/plugin/bm/OldBlogsManager.java 2010-03-30 08:57:12 UTC (rev 32300)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs-blogs-migration/trunk/src/main/java/org/jboss/labs/sbs/plugin/bm/OldBlogsManager.java 2010-03-30 09:49:37 UTC (rev 32301)
@@ -59,4 +59,12 @@
*/
public String getSBSUsername(String oldBlogUser);
+ /**
+ * Gets SBS URL to old blog code
+ *
+ * @param oldBlogCode
+ * @return
+ */
+ public String getSBSURL(String oldBlogCode);
+
}
Modified: labs/jbosslabs/labs-3.0-build/integration/sbs-blogs-migration/trunk/src/main/java/org/jboss/labs/sbs/plugin/bm/dao/DbOldBlogsMappingDAO.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs-blogs-migration/trunk/src/main/java/org/jboss/labs/sbs/plugin/bm/dao/DbOldBlogsMappingDAO.java 2010-03-30 08:57:12 UTC (rev 32300)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs-blogs-migration/trunk/src/main/java/org/jboss/labs/sbs/plugin/bm/dao/DbOldBlogsMappingDAO.java 2010-03-30 09:49:37 UTC (rev 32301)
@@ -27,6 +27,7 @@
import java.util.Map;
import org.springframework.dao.DataAccessException;
+import org.springframework.dao.EmptyResultDataAccessException;
import org.springframework.jdbc.core.ResultSetExtractor;
import com.jivesoftware.base.database.dao.JiveJdbcDaoSupport;
@@ -38,15 +39,13 @@
*/
public class DbOldBlogsMappingDAO extends JiveJdbcDaoSupport implements OldBlogsMappingDAO {
- private static final String SELECT_ALL_POSTS_MAPPINGS = "SELECT post_code, sbs_url FROM oldBlogsPostsMapping";
+ private static final String SELECT_POST_MAPPING = "SELECT sbs_url FROM oldBlogsPostsMapping WHERE post_code = ?";
private static final String INSERT_POST_MAPPING = "INSERT INTO oldBlogsPostsMapping (post_code, sbs_url) VALUES (?, ?)";
- @SuppressWarnings("unchecked")
@Override
- public Map<String, String> getAllBlogsMappings() {
- return (Map<String, String>) this.getJdbcTemplate()
- .query(SELECT_ALL_POSTS_MAPPINGS, new TwoColumnsAsMapExtractor());
+ public String getBlogPostMapping(String blogPostCode) throws EmptyResultDataAccessException {
+ return this.getSimpleJdbcTemplate().queryForObject(SELECT_POST_MAPPING, String.class, blogPostCode);
}
@Override
Modified: labs/jbosslabs/labs-3.0-build/integration/sbs-blogs-migration/trunk/src/main/java/org/jboss/labs/sbs/plugin/bm/dao/OldBlogsMappingDAO.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs-blogs-migration/trunk/src/main/java/org/jboss/labs/sbs/plugin/bm/dao/OldBlogsMappingDAO.java 2010-03-30 08:57:12 UTC (rev 32300)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs-blogs-migration/trunk/src/main/java/org/jboss/labs/sbs/plugin/bm/dao/OldBlogsMappingDAO.java 2010-03-30 09:49:37 UTC (rev 32301)
@@ -21,7 +21,7 @@
*/
package org.jboss.labs.sbs.plugin.bm.dao;
-import java.util.Map;
+import org.springframework.dao.EmptyResultDataAccessException;
import com.jivesoftware.community.util.BlogUtils;
@@ -34,11 +34,13 @@
public interface OldBlogsMappingDAO {
/**
- * Get all blog posts mappings
+ * Gets blog post mapping
*
- * @return map where key is Blog post code and value is URL
+ * @param blogPostCode
+ * @return URL in SBS
+ * @throws EmptyResultDataAccessException
*/
- public Map<String, String> getAllBlogsMappings();
+ public String getBlogPostMapping(String blogPostCode) throws EmptyResultDataAccessException;
/**
* Insert new blog post mapping
Added: labs/jbosslabs/labs-3.0-build/integration/sbs-blogs-migration/trunk/src/main/java/org/jboss/labs/sbs/plugin/bm/struts/RedirectOldBlogPostToSBSAction.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs-blogs-migration/trunk/src/main/java/org/jboss/labs/sbs/plugin/bm/struts/RedirectOldBlogPostToSBSAction.java (rev 0)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs-blogs-migration/trunk/src/main/java/org/jboss/labs/sbs/plugin/bm/struts/RedirectOldBlogPostToSBSAction.java 2010-03-30 09:49:37 UTC (rev 32301)
@@ -0,0 +1,81 @@
+/*
+ * JBoss.org http://jboss.org/
+ *
+ * Copyright (c) 2010 Red Hat Middleware, LLC. All rights reserved.
+ *
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT A WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License, v.2.1 along with this distribution; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
+ *
+ * Red Hat Author(s): Libor Krzyzanek
+ */
+package org.jboss.labs.sbs.plugin.bm.struts;
+
+import org.jboss.labs.sbs.plugin.bm.OldBlogsManager;
+
+import com.jivesoftware.community.action.JiveActionSupport;
+
+/**
+ * Action redirects from Old Blogs to SBS based on mapping between those systems
+ *
+ * @author <a href="mailto:lkrzyzan at redhat.com">Libor Krzyzanek</a>
+ *
+ */
+public class RedirectOldBlogPostToSBSAction extends JiveActionSupport {
+
+ /** URL to redirect */
+ private String urlToRedirect = null;
+
+ /** Old Blog code */
+ private String blogCode = null;
+
+ private OldBlogsManager oldBlogsManager;
+
+ public static final String URL_NOT_DEFINED = "urlNotDefined";
+
+ @Override
+ public String execute() {
+ if (blogCode == null || blogCode.length() == 0) {
+ return URL_NOT_DEFINED;
+ }
+
+ urlToRedirect = oldBlogsManager.getSBSURL(blogCode);
+
+ if (urlToRedirect == null) {
+ return NOTFOUND;
+ }
+
+ return SUCCESS;
+ }
+
+ public String getUrlToRedirect() {
+ return urlToRedirect;
+ }
+
+ public void setUrlToRedirect(String urlToRedirect) {
+ this.urlToRedirect = urlToRedirect;
+ }
+
+ public String getBlogCode() {
+ return blogCode;
+ }
+
+ public void setBlogCode(String blogCode) {
+ this.blogCode = blogCode;
+ }
+
+ public void setOldBlogsManager(OldBlogsManager oldBlogsManager) {
+ this.oldBlogsManager = oldBlogsManager;
+ }
+
+}
Property changes on: labs/jbosslabs/labs-3.0-build/integration/sbs-blogs-migration/trunk/src/main/java/org/jboss/labs/sbs/plugin/bm/struts/RedirectOldBlogPostToSBSAction.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: labs/jbosslabs/labs-3.0-build/integration/sbs-blogs-migration/trunk/src/main/plugin/cache-config.xml
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs-blogs-migration/trunk/src/main/plugin/cache-config.xml 2010-03-30 08:57:12 UTC (rev 32300)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs-blogs-migration/trunk/src/main/plugin/cache-config.xml 2010-03-30 09:49:37 UTC (rev 32301)
@@ -1,6 +1,6 @@
<cache-config>
<cache-mapping>
- <cache-name>Old Blogs mapping</cache-name>
+ <cache-name>Old Blogs posts mapping</cache-name>
<scheme-name>default-near</scheme-name>
<init-params>
<init-param>
Modified: labs/jbosslabs/labs-3.0-build/integration/sbs-blogs-migration/trunk/src/main/plugin/spring.xml
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs-blogs-migration/trunk/src/main/plugin/spring.xml 2010-03-30 08:57:12 UTC (rev 32300)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs-blogs-migration/trunk/src/main/plugin/spring.xml 2010-03-30 09:49:37 UTC (rev 32301)
@@ -6,14 +6,15 @@
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.5.xsd">
- <bean id="blogMappings" parent="cacheBean" depends-on="cacheFactoryManager">
- <constructor-arg value="Old Blogs mapping" />
+ <bean id="oldBlogPostsMappings" parent="cacheBean" depends-on="cacheFactoryManager">
+ <constructor-arg value="Old Blogs posts mapping" />
</bean>
<bean id="oldBlogsManager" class="org.jboss.labs.sbs.plugin.bm.DbOldBlogsManager">
<property name="userManager" ref="userManager" />
<property name="blogManager" ref="blogManager" />
<property name="oldBlogsMappingDAO" ref="oldBlogsMappingDAO" />
+ <property name="oldBlogPostsMappings" ref="oldBlogPostsMappings" />
<property name="oldBlogUsersMap">
<bean
Modified: labs/jbosslabs/labs-3.0-build/integration/sbs-blogs-migration/trunk/src/main/plugin/struts.xml
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs-blogs-migration/trunk/src/main/plugin/struts.xml 2010-03-30 08:57:12 UTC (rev 32300)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs-blogs-migration/trunk/src/main/plugin/struts.xml 2010-03-30 09:49:37 UTC (rev 32301)
@@ -25,4 +25,18 @@
</action>
</package>
+ <package name="bm-actions" namespace="/bm" extends="community-actions">
+ <action name="redirect-to-sbs"
+ class="org.jboss.labs.sbs.plugin.bm.struts.RedirectOldBlogPostToSBSAction">
+ <result name="success" type="httpheader">
+ <param name="status">301</param>
+ <param name="headers.Location">${urlToRedirect}</param>
+ <param name="parse">true</param>
+ </result>
+ <result name="input" type="redirect">/blogs</result>
+ <result name="urlNotDefined" type="redirect">/blogs</result>
+ </action>
+ </package>
+
+
</struts>
More information about the jboss-svn-commits
mailing list