[jboss-svn-commits] JBL Code SVN: r25664 - labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/java/org/jboss/labs/clearspace/plugin/hfurl/dao.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Mar 16 11:00:42 EDT 2009
Author: lkrzyzanek
Date: 2009-03-16 11:00:42 -0400 (Mon, 16 Mar 2009)
New Revision: 25664
Modified:
labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/java/org/jboss/labs/clearspace/plugin/hfurl/dao/DbHFURLDAOImpl.java
labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/java/org/jboss/labs/clearspace/plugin/hfurl/dao/HFURLDAO.java
Log:
added implementation of updateIndex
Modified: labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/java/org/jboss/labs/clearspace/plugin/hfurl/dao/DbHFURLDAOImpl.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/java/org/jboss/labs/clearspace/plugin/hfurl/dao/DbHFURLDAOImpl.java 2009-03-16 14:59:59 UTC (rev 25663)
+++ labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/java/org/jboss/labs/clearspace/plugin/hfurl/dao/DbHFURLDAOImpl.java 2009-03-16 15:00:42 UTC (rev 25664)
@@ -26,6 +26,12 @@
import java.util.HashMap;
import java.util.List;
+import org.apache.log4j.LogManager;
+import org.apache.log4j.Logger;
+import org.jboss.labs.clearspace.plugin.hfurl.DbHFURLManager;
+import org.springframework.dao.DataAccessException;
+import org.springframework.dao.EmptyResultDataAccessException;
+import org.springframework.jdbc.core.ResultSetExtractor;
import org.springframework.jdbc.core.simple.ParameterizedRowMapper;
import org.springframework.transaction.annotation.Transactional;
@@ -41,10 +47,16 @@
*/
public class DbHFURLDAOImpl extends JiveJdbcDaoSupport implements HFURLDAO {
+ private static final Logger log = LogManager.getLogger(DbHFURLDAOImpl.class);
+
public static final int HFURL_MAP_SEQ = 5000;
private static final String SELECT_FIELDS = "SELECT id, hfTitle, documentID ";
+ private static final String SELECT_ALL_DOCUMENTS = "SELECT d.documentID, v.title "
+ + "FROM jiveDocument d, jiveDocVersion v "
+ + "WHERE d.internalDocID = v.internalDocID AND v.state='published'";
+
private static final String COUNT_ROWS = "SELECT COUNT(*) FROM humanFriendlyURLMap";
private static final String LOAD_HFURL_BY_HFTITLE = SELECT_FIELDS
@@ -57,39 +69,74 @@
private static final String UPDATE_HFURL_ENTRY = "UPDATE humanFriendlyURLMap SET hfTitle=?, documentID=? WHERE id=?";
+ private static final String DELETE_HFURL_ALL = "DELETE FROM humanFriendlyURLMap";
+
private static final String DELETE_HFURL_ENTRY_BY_ID = "DELETE FROM humanFriendlyURLMap WHERE id=?";
private static final String DELETE_HFURL_ENTRY_BY_DOCUMENT_ID = "DELETE FROM humanFriendlyURLMap WHERE documentID=?";
private static final HfURLMapMapper mapper = new HfURLMapMapper();
+ @Transactional
+ public void updateIndex() {
+ log.debug("update index called");
+
+ log.debug("Delete all HF URL entries");
+ getJdbcTemplate().update(DELETE_HFURL_ALL);
+
+ log.debug("Go throw each document and create new HF URL entry");
+ getJdbcTemplate().query(SELECT_ALL_DOCUMENTS, new ResultSetExtractor() {
+ public Object extractData(ResultSet rs) throws SQLException,
+ DataAccessException {
+
+ while (rs.next()) {
+ String documentId = rs.getString(1);
+ String documentTitle = rs.getString(2);
+
+ String hfTitle = DbHFURLManager.createHFURLTitle(documentTitle);
+
+ HFURLBean bean = new HFURLBean(documentId, hfTitle);
+ createHFURL(bean);
+ }
+ return null;
+ }
+ });
+
+ }
+
@SuppressWarnings("unchecked")
public long getIndexedURLsCount() {
return this.getSimpleJdbcTemplate().queryForLong(COUNT_ROWS, new HashMap());
}
- public List<HFURLBean> getByHfURLTitle(String hfURLTitle) throws DAOException {
+ public List<HFURLBean> getByHfURLTitle(String hfURLTitle)
+ throws EmptyResultDataAccessException {
return this.getSimpleJdbcTemplate().query(LOAD_HFURL_BY_HFTITLE, mapper,
hfURLTitle);
}
- public HFURLBean getByDocumentId(String documentId) throws DAOException {
+ public HFURLBean getByDocumentId(String documentId)
+ throws EmptyResultDataAccessException {
return this.getSimpleJdbcTemplate().queryForObject(
LOAD_HFURL_BY_DOCUMENT_ID, mapper, documentId);
}
- @Transactional
public HFURLBean createHFURL(HFURLBean bean) throws DAOException {
+ log.debug("Create HF URL map");
bean.setId(SequenceManager.nextID(HFURL_MAP_SEQ));
+ if (log.isDebugEnabled()) {
+ log.debug("bean: " + bean);
+ }
+
getSimpleJdbcTemplate().update(INSERT_HFURL_ENTRY, bean.getId(),
bean.getHfTitle(), bean.getDocumentID());
return bean;
}
- @Transactional
public HFURLBean updateHFURL(HFURLBean bean) throws DAOException {
+ log.debug("Update HF URL map");
getSimpleJdbcTemplate().update(UPDATE_HFURL_ENTRY, bean.getHfTitle(),
bean.getDocumentID(), bean.getId());
@@ -97,6 +144,7 @@
}
public void deleteHFURL(Long id) throws DAOException {
+ log.debug("Delete HF URL map");
getSimpleJdbcTemplate().update(DELETE_HFURL_ENTRY_BY_ID, id);
}
Modified: labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/java/org/jboss/labs/clearspace/plugin/hfurl/dao/HFURLDAO.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/java/org/jboss/labs/clearspace/plugin/hfurl/dao/HFURLDAO.java 2009-03-16 14:59:59 UTC (rev 25663)
+++ labs/jbosslabs/labs-3.0-build/integration/cs-hfurl/src/main/java/org/jboss/labs/clearspace/plugin/hfurl/dao/HFURLDAO.java 2009-03-16 15:00:42 UTC (rev 25664)
@@ -35,6 +35,11 @@
public interface HFURLDAO {
/**
+ * Update index of HF URLs. Go through articles and add missing HF URLs
+ */
+ public void updateIndex();
+
+ /**
* Get count of indexed URLs
*
* @return
More information about the jboss-svn-commits
mailing list