Author: echatellier Date: 2010-04-26 15:17:55 +0200 (Mon, 26 Apr 2010) New Revision: 25 Log: Implements solr reindexing Modified: trunk/wikitty-jdbc-impl/src/main/java/org/sharengo/wikitty/jdbc/WikittyJDBCUtil.java trunk/wikitty-jdbc-impl/src/main/java/org/sharengo/wikitty/jdbc/WikittyStorageJDBC.java trunk/wikitty-jdbc-impl/src/main/resources/wikitty-jdbc-query.properties Modified: trunk/wikitty-jdbc-impl/src/main/java/org/sharengo/wikitty/jdbc/WikittyJDBCUtil.java =================================================================== --- trunk/wikitty-jdbc-impl/src/main/java/org/sharengo/wikitty/jdbc/WikittyJDBCUtil.java 2010-04-23 14:05:56 UTC (rev 24) +++ trunk/wikitty-jdbc-impl/src/main/java/org/sharengo/wikitty/jdbc/WikittyJDBCUtil.java 2010-04-26 13:17:55 UTC (rev 25) @@ -77,6 +77,8 @@ /** basic selection without where clause query property name */ static final public String QUERY_SELECT = "jdbc.queries.select"; + /** basic selection without where clause query property name */ + static final public String QUERY_SELECT_NOTDELETED = "jdbc.queries.select.notdeleted"; /** basic selection with where clause query property name */ static final public String QUERY_SELECT_WHERE = "jdbc.queries.select.where"; /** not dleeted data selection with where clause query property name */ @@ -120,7 +122,7 @@ /** JDBC_PASSWORD property name */ static protected String JDBC_PASSWORD = "jdbc.con.password"; - /** admin table name */ + /** admin table name */ static protected String TABLE_WIKITTY_ADMIN = "wikitty_admin"; /** data table name */ static protected String TABLE_WIKITTY_DATA = "wikitty_data"; @@ -182,8 +184,8 @@ * Get a new connection instance (i.e. it opens a new transaction) plug on * JTA. * + * @param conf configuration * @return a new Connection (db transaction) - * @throws SQLException if the connection fails */ public static synchronized Connection getConnection(Properties conf) { try { Modified: trunk/wikitty-jdbc-impl/src/main/java/org/sharengo/wikitty/jdbc/WikittyStorageJDBC.java =================================================================== --- trunk/wikitty-jdbc-impl/src/main/java/org/sharengo/wikitty/jdbc/WikittyStorageJDBC.java 2010-04-23 14:05:56 UTC (rev 24) +++ trunk/wikitty-jdbc-impl/src/main/java/org/sharengo/wikitty/jdbc/WikittyStorageJDBC.java 2010-04-26 13:17:55 UTC (rev 25) @@ -33,6 +33,7 @@ import static org.sharengo.wikitty.jdbc.WikittyJDBCUtil.QUERY_DELETE_WIKITTY_DATA; import static org.sharengo.wikitty.jdbc.WikittyJDBCUtil.QUERY_INSERT_WIKITTY_ADMIN; import static org.sharengo.wikitty.jdbc.WikittyJDBCUtil.QUERY_INSERT_WIKITTY_DATA; +import static org.sharengo.wikitty.jdbc.WikittyJDBCUtil.QUERY_SELECT_NOTDELETED; import static org.sharengo.wikitty.jdbc.WikittyJDBCUtil.QUERY_SELECT_WHERE; import static org.sharengo.wikitty.jdbc.WikittyJDBCUtil.QUERY_SELECT_WHERE_NOTDELETED; import static org.sharengo.wikitty.jdbc.WikittyJDBCUtil.QUERY_UPDATE_WIKITTY_ADMIN; @@ -408,7 +409,27 @@ @Override public void scanWikitties(WikittyTransaction transaction, Scanner scanner) { - throw new UnsupportedOperationException("Not supported yet."); + Connection connection = getConnection(conf); + try { + Statement statement = connection.createStatement(); + + // get all wikitties + // fails with QUERY_SELECT + ResultSet resultSet = statement.executeQuery( + String.format(conf.getProperty(QUERY_SELECT_NOTDELETED), + COL_ID, TABLE_WIKITTY_ADMIN)); + + resultSet.beforeFirst(); + while (resultSet.next()) { + String id = resultSet.getString(COL_ID); + Wikitty wikitty = restore(transaction, id); + scanner.scan(wikitty); + } + } catch (SQLException eee) { + throw new WikittyException(eee); + } finally { + WikittyJDBCUtil.closeQuietly(connection); + } } /** Modified: trunk/wikitty-jdbc-impl/src/main/resources/wikitty-jdbc-query.properties =================================================================== --- trunk/wikitty-jdbc-impl/src/main/resources/wikitty-jdbc-query.properties 2010-04-23 14:05:56 UTC (rev 24) +++ trunk/wikitty-jdbc-impl/src/main/resources/wikitty-jdbc-query.properties 2010-04-26 13:17:55 UTC (rev 25) @@ -36,6 +36,8 @@ #basic selection query without where clause jdbc.queries.select=SELECT %s FROM %s; +#not deleted data selection query without where clause +jdbc.queries.select.notdeleted=SELECT %s FROM %s WHERE deletionDate IS NULL; #basic selection query with where clause jdbc.queries.select.where=SELECT %s FROM %s WHERE %s = ?; #not deleted data selection query with where clause