OODT-927 Values passed to SQL commands should be sanitized in CAS DataSourceIngestMapper.java
Project: http://git-wip-us.apache.org/repos/asf/oodt/repo Commit: http://git-wip-us.apache.org/repos/asf/oodt/commit/1a1cdf1a Tree: http://git-wip-us.apache.org/repos/asf/oodt/tree/1a1cdf1a Diff: http://git-wip-us.apache.org/repos/asf/oodt/diff/1a1cdf1a Branch: refs/heads/avrorpc Commit: 1a1cdf1ac8e3dc48187f66923ffd6baa92ced3c3 Parents: a54207f Author: Lewis John McGibbney <[email protected]> Authored: Thu May 26 14:25:25 2016 -0700 Committer: Lewis John McGibbney <[email protected]> Committed: Thu May 26 14:25:25 2016 -0700 ---------------------------------------------------------------------- .../catalog/mapping/DataSourceIngestMapper.java | 303 +++++++------------ .../mapping/DataSourceIngestMapperFactory.java | 9 +- .../oodt/cas/catalog/mapping/IngestMapper.java | 38 ++- .../cas/catalog/mapping/LuceneIngestMapper.java | 41 +-- .../mapping/LuceneIngestMapperFactory.java | 1 + .../mapping/MemoryBasedIngestMapper.java | 26 +- .../mapping/MemoryBasedIngestMapperFactory.java | 1 + core/pom.xml | 11 +- 8 files changed, 180 insertions(+), 250 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/oodt/blob/1a1cdf1a/catalog/src/main/java/org/apache/oodt/cas/catalog/mapping/DataSourceIngestMapper.java ---------------------------------------------------------------------- diff --git a/catalog/src/main/java/org/apache/oodt/cas/catalog/mapping/DataSourceIngestMapper.java b/catalog/src/main/java/org/apache/oodt/cas/catalog/mapping/DataSourceIngestMapper.java index a17bfab..3548570 100644 --- a/catalog/src/main/java/org/apache/oodt/cas/catalog/mapping/DataSourceIngestMapper.java +++ b/catalog/src/main/java/org/apache/oodt/cas/catalog/mapping/DataSourceIngestMapper.java @@ -18,13 +18,15 @@ package org.apache.oodt.cas.catalog.mapping; //JDK imports import java.sql.Connection; +import java.sql.PreparedStatement; import java.sql.ResultSet; +import java.sql.SQLException; import java.sql.Statement; +import java.text.ParseException; import java.util.Calendar; import java.util.Date; import java.util.HashSet; import java.util.Set; - //SQL imports import javax.sql.DataSource; @@ -50,299 +52,200 @@ public class DataSourceIngestMapper implements IngestMapper { private DataSource dataSource; + private static final String CATALOG_ID = "' AND CATALOG_ID = '"; + + private static final String CAT_TRANS_FACTORY = "CAT_TRANS_FACTORY"; + + private static final String CAT_TRANS_ID = "CAT_TRANS_ID"; + public DataSourceIngestMapper(String user, String pass, String driver, String jdbcUrl) { this.dataSource = DatabaseConnectionBuilder.buildDataSource(user, pass, driver, jdbcUrl); } + @Override public synchronized void deleteAllMappingsForCatalog(String catalogId) - throws CatalogRepositoryException { - Connection conn = null; - Statement stmt = null; - try { - conn = this.dataSource.getConnection(); - stmt = conn.createStatement(); + throws CatalogRepositoryException, SQLException { + try (Connection conn = this.dataSource.getConnection(); + Statement stmt = conn.createStatement()) { stmt.execute("DELETE FROM CatalogServiceMapper WHERE CATALOG_ID = '" + catalogId + "'"); - }catch (Exception e) { - throw new CatalogRepositoryException(e.getMessage(), e); - }finally { - try { - conn.close(); - }catch(Exception ignored) {} - try { - stmt.close(); - }catch(Exception ignored) {} } } + @Override public synchronized void deleteAllMappingsForCatalogServiceTransactionId( TransactionId<?> catalogServiceTransactionId) - throws CatalogRepositoryException { - Connection conn = null; - Statement stmt = null; - try { - conn = this.dataSource.getConnection(); - stmt = conn.createStatement(); + throws CatalogRepositoryException, SQLException { + try (Connection conn = this.dataSource.getConnection(); + Statement stmt = conn.createStatement()){ stmt.execute("DELETE FROM CatalogServiceMapper WHERE CAT_SERV_TRANS_ID = '" + catalogServiceTransactionId + "'"); conn.commit(); - }catch (Exception e) { - throw new CatalogRepositoryException(e.getMessage(), e); - }finally { - try { - conn.close(); - }catch(Exception ignored) {} - try { - stmt.close(); - }catch(Exception ignored) {} } } + @Override public synchronized void deleteTransactionIdMapping( TransactionId<?> catalogTransactionId, String catalogId) - throws CatalogRepositoryException { - Connection conn = null; - Statement stmt = null; - try { - conn = this.dataSource.getConnection(); - stmt = conn.createStatement(); - stmt.execute("DELETE FROM CatalogServiceMapper WHERE CAT_TRANS_ID = '" + catalogTransactionId + "' AND CATALOG_ID = '" + catalogId + "'"); + throws CatalogRepositoryException, SQLException { + try (Connection conn = this.dataSource.getConnection(); + Statement stmt = conn.createStatement()){ + stmt.execute("DELETE FROM CatalogServiceMapper WHERE CAT_TRANS_ID = '" + catalogTransactionId + CATALOG_ID + catalogId + "'"); conn.commit(); - }catch (Exception e) { - throw new CatalogRepositoryException(e.getMessage(), e); - }finally { - try { - conn.close(); - }catch(Exception ignored) {} - try { - stmt.close(); - }catch(Exception ignored) {} } } + @Override public synchronized TransactionId<?> getCatalogServiceTransactionId( TransactionId<?> catalogTransactionId, String catalogId) - throws CatalogRepositoryException { - Connection conn = null; - Statement stmt = null; + throws CatalogRepositoryException, SQLException, InstantiationException, IllegalAccessException, ClassNotFoundException { ResultSet rs = null; - try { - conn = this.dataSource.getConnection(); - stmt = conn.createStatement(); - rs = stmt.executeQuery("SELECT CAT_SERV_TRANS_ID,CAT_SERV_TRANS_FACTORY FROM CatalogServiceMapper WHERE CAT_TRANS_ID = '"+ catalogTransactionId + "' AND CATALOG_ID = '" + catalogId + "'"); - + String query = "SELECT CAT_SERV_TRANS_ID,CAT_SERV_TRANS_FACTORY FROM CatalogServiceMapper WHERE CAT_TRANS_ID = '"+ catalogTransactionId + CATALOG_ID + catalogId + "'"; + try (Connection conn = this.dataSource.getConnection(); + PreparedStatement pstmt = conn.prepareStatement(query)){ + rs = pstmt.executeQuery(); while(rs.next()) { return ((TransactionIdFactory) Class.forName(rs.getString("CAT_SERV_TRANS_FACTORY")).newInstance()) .createTransactionId(rs.getString("CAT_SERV_TRANS_ID")); } - return null; - }catch (Exception e) { - throw new CatalogRepositoryException(e.getMessage(), e); }finally { - try { - conn.close(); - }catch(Exception ignored) {} - try { - stmt.close(); - }catch(Exception ignored) {} - try { - rs.close(); - }catch(Exception ignored) {} + if (rs != null && !rs.isClosed()) { + rs.close(); + } } } + @Override public synchronized TransactionId<?> getCatalogTransactionId( TransactionId<?> catalogServiceTransactionId, String catalogId) - throws CatalogRepositoryException { - Connection conn = null; - Statement stmt = null; + throws CatalogRepositoryException, SQLException, InstantiationException, IllegalAccessException, ClassNotFoundException { ResultSet rs = null; - try { - conn = this.dataSource.getConnection(); - stmt = conn.createStatement(); - rs = stmt.executeQuery("SELECT CAT_TRANS_ID,CAT_TRANS_FACTORY FROM CatalogServiceMapper WHERE CAT_SERV_TRANS_ID = '"+ catalogServiceTransactionId + "' AND CATALOG_ID = '" + catalogId + "'"); - + String query = "SELECT CAT_TRANS_ID,CAT_TRANS_FACTORY FROM CatalogServiceMapper WHERE CAT_SERV_TRANS_ID = '"+ catalogServiceTransactionId + CATALOG_ID + catalogId + "'"; + try (Connection conn = this.dataSource.getConnection(); + PreparedStatement pstmt = conn.prepareStatement(query)){ + rs = pstmt.executeQuery(); while(rs.next()) { - return ((TransactionIdFactory) Class.forName(rs.getString("CAT_TRANS_FACTORY")).newInstance()) - .createTransactionId(rs.getString("CAT_TRANS_ID")); + return ((TransactionIdFactory) Class.forName(rs.getString(CAT_TRANS_FACTORY)).newInstance()) + .createTransactionId(rs.getString(CAT_TRANS_ID)); } - return null; - }catch (Exception e) { - throw new CatalogRepositoryException(e.getMessage(), e); }finally { - try { - conn.close(); - }catch(Exception ignored) {} - try { - stmt.close(); - }catch(Exception ignored) {} - try { - rs.close(); - }catch(Exception ignored) {} + if (rs != null && !rs.isClosed()) { + rs.close(); + } } } + @Override public synchronized Set<String> getCatalogIds( TransactionId<?> catalogServiceTransactionId) - throws CatalogRepositoryException { - Connection conn = null; - Statement stmt = null; + throws CatalogRepositoryException, SQLException { ResultSet rs = null; - try { - conn = this.dataSource.getConnection(); - stmt = conn.createStatement(); - rs = stmt.executeQuery("SELECT CATALOG_ID FROM CatalogServiceMapper WHERE CAT_SERV_TRANS_ID = '"+ catalogServiceTransactionId + "'"); - - Set<String> catalogIds = new HashSet<String>(); + String query = "SELECT CATALOG_ID FROM CatalogServiceMapper WHERE CAT_SERV_TRANS_ID = '"+ catalogServiceTransactionId + "'"; + try (Connection conn = this.dataSource.getConnection(); + PreparedStatement pstmt = conn.prepareStatement(query)){ + rs = pstmt.executeQuery(); + Set<String> catalogIds = new HashSet<>(); while(rs.next()) { catalogIds.add(rs.getString("CATALOG_ID")); } - return catalogIds; - }catch (Exception e) { - throw new CatalogRepositoryException(e.getMessage(), e); }finally { - try { - conn.close(); - }catch(Exception ignored) {} - try { - stmt.close(); - }catch(Exception ignored) {} - try { - rs.close(); - }catch(Exception ignored) {} + if (rs != null && !rs.isClosed()) { + rs.close(); + } } } + @Override public synchronized Set<TransactionId<?>> getPageOfCatalogTransactionIds( IndexPager indexPager, String catalogId) - throws CatalogRepositoryException { - Connection conn = null; - Statement stmt = null; + throws CatalogRepositoryException, SQLException, InstantiationException, IllegalAccessException, ClassNotFoundException { ResultSet rs = null; - try { - conn = this.dataSource.getConnection(); - stmt = conn.createStatement(); - rs = stmt.executeQuery( - "SELECT * FROM " - +"( SELECT a.*, ROWNUM r FROM " - + "( SELECT CAT_TRANS_FACTORY,CAT_TRANS_ID FROM CatalogServiceMapper WHERE CatalogServiceMapper.CATALOG_ID = '" + catalogId + "' ORDER BY CatalogServiceMapper.CAT_SERV_TRANS_ID DESC ) a " - + "WHERE ROWNUM <= " + (indexPager.getPageSize() * (indexPager.getPageNum() + 1)) + " ) " - + "WHERE r >= " + ((indexPager.getPageSize() * indexPager.getPageNum()) + 1)); - - Set<TransactionId<?>> transactionIds = new HashSet<TransactionId<?>>(); + String query = "SELECT * FROM " + +"( SELECT a.*, ROWNUM r FROM " + + "( SELECT CAT_TRANS_FACTORY,CAT_TRANS_ID FROM CatalogServiceMapper WHERE CatalogServiceMapper.CATALOG_ID = '" + + catalogId + "' ORDER BY CatalogServiceMapper.CAT_SERV_TRANS_ID DESC ) a " + + "WHERE ROWNUM <= " + (indexPager.getPageSize() * (indexPager.getPageNum() + 1)) + " ) " + + "WHERE r >= " + ((indexPager.getPageSize() * indexPager.getPageNum()) + 1); + try (Connection conn = this.dataSource.getConnection(); + PreparedStatement pstmt = conn.prepareStatement(query)){ + rs = pstmt.executeQuery(); + Set<TransactionId<?>> transactionIds = new HashSet<>(); while(rs.next()) { - transactionIds.add(((TransactionIdFactory) Class.forName(rs.getString("CAT_TRANS_FACTORY")).newInstance()) - .createTransactionId(rs.getString("CAT_TRANS_ID"))); + transactionIds.add(((TransactionIdFactory) Class.forName(rs.getString(CAT_TRANS_FACTORY)).newInstance()) + .createTransactionId(rs.getString(CAT_TRANS_ID))); } - return transactionIds; - }catch (Exception e) { - throw new CatalogRepositoryException(e.getMessage(), e); }finally { - try { - conn.close(); - }catch(Exception ignored) {} - try { - stmt.close(); - }catch(Exception ignored) {} - try { - rs.close(); - }catch(Exception ignored) {} + if (rs != null && !rs.isClosed()) { + rs.close(); + } } } + @Override public synchronized boolean hasCatalogServiceTransactionId( TransactionId<?> catalogServiceTransactionId) - throws CatalogRepositoryException { - Connection conn = null; - Statement stmt = null; + throws CatalogRepositoryException, SQLException { ResultSet rs = null; - try { - conn = this.dataSource.getConnection(); - stmt = conn.createStatement(); - rs = stmt.executeQuery("SELECT CAT_SERV_TRANS_ID FROM CatalogServiceMapper WHERE CAT_SERV_TRANS_ID = '"+ catalogServiceTransactionId + "'"); + String query = "SELECT CAT_SERV_TRANS_ID FROM CatalogServiceMapper WHERE CAT_SERV_TRANS_ID = '"+ catalogServiceTransactionId + "'"; + try (Connection conn = this.dataSource.getConnection(); + PreparedStatement pstmt = conn.prepareStatement(query)){ + rs = pstmt.executeQuery(); return rs.next(); - }catch (Exception e) { - throw new CatalogRepositoryException(e.getMessage(), e); }finally { - try { - conn.close(); - }catch(Exception ignored) {} - try { - stmt.close(); - }catch(Exception ignored) {} - try { - rs.close(); - }catch(Exception ignored) {} + if (rs != null && !rs.isClosed()) { + rs.close(); + } } } + @Override public synchronized void storeTransactionIdMapping( TransactionId<?> catalogServiceTransactionId, TransactionIdFactory catalogServiceTransactionIdFactory, CatalogReceipt catalogReceipt, TransactionIdFactory catalogTransactionIdFactory) - throws CatalogRepositoryException { - Connection conn = null; - Statement stmt = null; - try { - conn = this.dataSource.getConnection(); - stmt = conn.createStatement(); - Calendar calTime = DateUtils.getCurrentUtcTime(); - calTime.setTime(catalogReceipt.getTransactionDate()); - stmt.execute("INSERT INTO CatalogServiceMapper (CAT_SERV_TRANS_ID, CAT_SERV_TRANS_FACTORY, CAT_TRANS_ID, CAT_TRANS_FACTORY, CAT_TRANS_DATE, CATALOG_ID) VALUES ('" - + catalogServiceTransactionId + "', '" - + catalogServiceTransactionIdFactory.getClass().getName() + "', '" - + catalogReceipt.getTransactionId() + "', '" - + catalogTransactionIdFactory.getClass().getName() + "', '" - + DateUtils.toString(calTime) + "', '" - + catalogReceipt.getCatalogId() + "')"); + throws CatalogRepositoryException, SQLException { + Calendar calTime = DateUtils.getCurrentUtcTime(); + calTime.setTime(catalogReceipt.getTransactionDate()); + String query = "INSERT INTO CatalogServiceMapper (CAT_SERV_TRANS_ID, CAT_SERV_TRANS_FACTORY, CAT_TRANS_ID, CAT_TRANS_FACTORY," + + " CAT_TRANS_DATE, CATALOG_ID) VALUES ('" + + catalogServiceTransactionId + "', '" + + catalogServiceTransactionIdFactory.getClass().getName() + "', '" + + catalogReceipt.getTransactionId() + "', '" + + catalogTransactionIdFactory.getClass().getName() + "', '" + + DateUtils.toString(calTime) + "', '" + + catalogReceipt.getCatalogId() + "')"; + try (Connection conn = this.dataSource.getConnection(); + PreparedStatement pstmt = conn.prepareStatement(query)){ + pstmt.execute(); conn.commit(); - }catch (Exception e) { - throw new CatalogRepositoryException(e.getMessage(), e); - }finally { - try { - conn.close(); - }catch(Exception ignored) {} - try { - stmt.close(); - }catch(Exception ignored) {} } } + @Override public CatalogReceipt getCatalogReceipt( TransactionId<?> catalogServiceTransactionId, String catalogId) - throws CatalogRepositoryException { - Connection conn = null; - Statement stmt = null; + throws CatalogRepositoryException, SQLException, InstantiationException, IllegalAccessException, ClassNotFoundException, ParseException { ResultSet rs = null; - try { - conn = this.dataSource.getConnection(); - stmt = conn.createStatement(); - rs = stmt.executeQuery("SELECT CAT_TRANS_ID, CAT_TRANS_FACTORY, CAT_TRANS_DATE FROM CatalogServiceMapper WHERE CAT_SERV_TRANS_ID = '"+ catalogServiceTransactionId + "' AND CATALOG_ID = '" + catalogId + "'"); - + String query = "SELECT CAT_TRANS_ID, CAT_TRANS_FACTORY, CAT_TRANS_DATE FROM CatalogServiceMapper WHERE CAT_SERV_TRANS_ID = '"+ catalogServiceTransactionId + CATALOG_ID + catalogId + "'"; + try (Connection conn = this.dataSource.getConnection(); + PreparedStatement pstmt = conn.prepareStatement(query)){ + rs = pstmt.executeQuery(); if(rs.next()) { - TransactionId<?> catalogTransactionId = ((TransactionIdFactory) Class.forName(rs.getString("CAT_TRANS_FACTORY")).newInstance()).createTransactionId(rs.getString("CAT_TRANS_ID")); + TransactionId<?> catalogTransactionId = ((TransactionIdFactory) Class.forName(rs.getString(CAT_TRANS_FACTORY)).newInstance()).createTransactionId(rs.getString(CAT_TRANS_ID)); Date transactionDate = DateUtils.toCalendar(rs.getString("CAT_TRANS_DATE"), DateUtils.FormatType.UTC_FORMAT).getTime(); return new CatalogReceipt(new IngestReceipt(catalogTransactionId, transactionDate), catalogId); }else { return null; } - }catch (Exception e) { - throw new CatalogRepositoryException(e.getMessage(), e); }finally { - try { - conn.close(); - }catch(Exception ignored) {} - try { - stmt.close(); - }catch(Exception ignored) {} - try { - rs.close(); - }catch(Exception ignored) {} + if (rs != null && !rs.isClosed()) { + rs.close(); + } } } http://git-wip-us.apache.org/repos/asf/oodt/blob/1a1cdf1a/catalog/src/main/java/org/apache/oodt/cas/catalog/mapping/DataSourceIngestMapperFactory.java ---------------------------------------------------------------------- diff --git a/catalog/src/main/java/org/apache/oodt/cas/catalog/mapping/DataSourceIngestMapperFactory.java b/catalog/src/main/java/org/apache/oodt/cas/catalog/mapping/DataSourceIngestMapperFactory.java index 2a7981f..901915b 100644 --- a/catalog/src/main/java/org/apache/oodt/cas/catalog/mapping/DataSourceIngestMapperFactory.java +++ b/catalog/src/main/java/org/apache/oodt/cas/catalog/mapping/DataSourceIngestMapperFactory.java @@ -16,12 +16,12 @@ */ package org.apache.oodt.cas.catalog.mapping; -//Spring imports -import org.springframework.beans.factory.annotation.Required; - import java.util.logging.Level; import java.util.logging.Logger; +//Spring imports +import org.springframework.beans.factory.annotation.Required; + /** * @author bfoster * @version $Revision$ @@ -77,12 +77,13 @@ public class DataSourceIngestMapperFactory implements IngestMapperFactory { this.driver = driver; } + @Override public IngestMapper createMapper() { try { return new DataSourceIngestMapper(user, pass, driver, jdbcUrl); }catch (Exception e) { - LOG.log(Level.SEVERE, e.getMessage()); + LOG.log(Level.SEVERE, e.getMessage(), e); return null; } } http://git-wip-us.apache.org/repos/asf/oodt/blob/1a1cdf1a/catalog/src/main/java/org/apache/oodt/cas/catalog/mapping/IngestMapper.java ---------------------------------------------------------------------- diff --git a/catalog/src/main/java/org/apache/oodt/cas/catalog/mapping/IngestMapper.java b/catalog/src/main/java/org/apache/oodt/cas/catalog/mapping/IngestMapper.java index 9b00cbe..1c1ecde 100644 --- a/catalog/src/main/java/org/apache/oodt/cas/catalog/mapping/IngestMapper.java +++ b/catalog/src/main/java/org/apache/oodt/cas/catalog/mapping/IngestMapper.java @@ -16,6 +16,8 @@ */ package org.apache.oodt.cas.catalog.mapping; +import java.sql.SQLException; +import java.text.ParseException; //JDK imports import java.util.Set; @@ -44,24 +46,25 @@ public interface IngestMapper { * TransactionId generated by the CatalogService * @throws CatalogRepositoryException * Any error + * @throws SQLException */ void storeTransactionIdMapping( TransactionId<?> catalogServiceTransactionId, TransactionIdFactory catalogServiceTransactionIdFactory, CatalogReceipt catalogReceipt, TransactionIdFactory catalogTransactionIdFactory) - throws CatalogRepositoryException; + throws CatalogRepositoryException, SQLException; Set<TransactionId<?>> getPageOfCatalogTransactionIds(IndexPager indexPager, - String catalogId) throws CatalogRepositoryException; + String catalogId) throws CatalogRepositoryException, SQLException, InstantiationException, IllegalAccessException, ClassNotFoundException; void deleteTransactionIdMapping(TransactionId<?> catalogTransactionId, - String catalogId) throws CatalogRepositoryException; + String catalogId) throws CatalogRepositoryException, SQLException; void deleteAllMappingsForCatalogServiceTransactionId( TransactionId<?> catalogServiceTransactionId) - throws CatalogRepositoryException; + throws CatalogRepositoryException, SQLException; void deleteAllMappingsForCatalog(String catalogId) - throws CatalogRepositoryException; + throws CatalogRepositoryException, SQLException; /** * Verify if the given CatalogService TransactionId has been stored in a @@ -73,10 +76,11 @@ public interface IngestMapper { * @return True is the catalogServiceTransactionId has been used in a used in a mapping * @throws CatalogRepositoryException * Any error + * @throws SQLException */ boolean hasCatalogServiceTransactionId( TransactionId<?> catalogServiceTransactionId) - throws CatalogRepositoryException; + throws CatalogRepositoryException, SQLException; /** * Get the CatalogService TransactionId that was mapped to the given Catalog @@ -90,10 +94,14 @@ public interface IngestMapper { * Catalog TransactionId and Catalog ID * @throws CatalogRepositoryException * Any Error + * @throws SQLException + * @throws ClassNotFoundException + * @throws IllegalAccessException + * @throws InstantiationException */ TransactionId<?> getCatalogServiceTransactionId( TransactionId<?> catalogTransactionId, String catalogId) - throws CatalogRepositoryException; + throws CatalogRepositoryException, SQLException, InstantiationException, IllegalAccessException, ClassNotFoundException; /** * Get the Catalog TransactionId that was mapped to the given Catalog ID @@ -107,10 +115,14 @@ public interface IngestMapper { * Catalog TransactionId and Catalog ID * @throws CatalogRepositoryException * Any Error + * @throws SQLException + * @throws ClassNotFoundException + * @throws IllegalAccessException + * @throws InstantiationException */ TransactionId<?> getCatalogTransactionId( TransactionId<?> catalogServiceTransactionId, String catalogId) - throws CatalogRepositoryException; + throws CatalogRepositoryException, SQLException, InstantiationException, IllegalAccessException, ClassNotFoundException; /** * Get all the Catalog URNs for which the given TransactionId was mapped @@ -120,10 +132,11 @@ public interface IngestMapper { * @return Catalog IDs for which the given TransactionId was mapped * @throws CatalogRepositoryException * Any Error + * @throws SQLException */ Set<String> getCatalogIds( TransactionId<?> catalogServiceTransactionId) - throws CatalogRepositoryException; + throws CatalogRepositoryException, SQLException; /** * @@ -131,9 +144,14 @@ public interface IngestMapper { * @param catalogId * @return * @throws CatalogRepositoryException + * @throws SQLException + * @throws ClassNotFoundException + * @throws IllegalAccessException + * @throws InstantiationException + * @throws ParseException */ CatalogReceipt getCatalogReceipt( TransactionId<?> catalogServiceTransactionId, String catalogId) - throws CatalogRepositoryException; + throws CatalogRepositoryException, SQLException, InstantiationException, IllegalAccessException, ClassNotFoundException, ParseException; } http://git-wip-us.apache.org/repos/asf/oodt/blob/1a1cdf1a/catalog/src/main/java/org/apache/oodt/cas/catalog/mapping/LuceneIngestMapper.java ---------------------------------------------------------------------- diff --git a/catalog/src/main/java/org/apache/oodt/cas/catalog/mapping/LuceneIngestMapper.java b/catalog/src/main/java/org/apache/oodt/cas/catalog/mapping/LuceneIngestMapper.java index 231480c..3b97265 100644 --- a/catalog/src/main/java/org/apache/oodt/cas/catalog/mapping/LuceneIngestMapper.java +++ b/catalog/src/main/java/org/apache/oodt/cas/catalog/mapping/LuceneIngestMapper.java @@ -36,76 +36,77 @@ import org.apache.oodt.cas.catalog.struct.TransactionIdFactory; */ public class LuceneIngestMapper implements IngestMapper { + private static final String UNSUPPORTED = "This operation is currently unsupported. Please report to [email protected]"; + @Override public void deleteAllMappingsForCatalog(String catalogId) throws CatalogRepositoryException { - // TODO Auto-generated method stub - + throw new UnsupportedOperationException(UNSUPPORTED); } + @Override public void deleteAllMappingsForCatalogServiceTransactionId( TransactionId<?> catalogServiceTransactionId) throws CatalogRepositoryException { - // TODO Auto-generated method stub - + throw new UnsupportedOperationException(UNSUPPORTED); } + @Override public void deleteTransactionIdMapping( TransactionId<?> catalogTransactionId, String catalogId) throws CatalogRepositoryException { - // TODO Auto-generated method stub - + throw new UnsupportedOperationException(UNSUPPORTED); } + @Override public CatalogReceipt getCatalogReceipt( TransactionId<?> catalogServiceTransactionId, String catalogId) throws CatalogRepositoryException { - // TODO Auto-generated method stub - return null; + throw new UnsupportedOperationException(UNSUPPORTED); } + @Override public TransactionId<?> getCatalogServiceTransactionId( TransactionId<?> catalogTransactionId, String catalogId) throws CatalogRepositoryException { - // TODO Auto-generated method stub - return null; + throw new UnsupportedOperationException(UNSUPPORTED); } + @Override public TransactionId<?> getCatalogTransactionId( TransactionId<?> catalogServiceTransactionId, String catalogId) throws CatalogRepositoryException { - // TODO Auto-generated method stub - return null; + throw new UnsupportedOperationException(UNSUPPORTED); } + @Override public Set<String> getCatalogIds( TransactionId<?> catalogServiceTransactionId) throws CatalogRepositoryException { - // TODO Auto-generated method stub - return null; + throw new UnsupportedOperationException(UNSUPPORTED); } + @Override public Set<TransactionId<?>> getPageOfCatalogTransactionIds( IndexPager indexPager, String catalogId) throws CatalogRepositoryException { - // TODO Auto-generated method stub - return null; + throw new UnsupportedOperationException(UNSUPPORTED); } + @Override public boolean hasCatalogServiceTransactionId( TransactionId<?> catalogServiceTransactionId) throws CatalogRepositoryException { - // TODO Auto-generated method stub - return false; + throw new UnsupportedOperationException(UNSUPPORTED); } + @Override public void storeTransactionIdMapping( TransactionId<?> catalogServiceTransactionId, TransactionIdFactory catalogServiceTransactionIdFactory, CatalogReceipt catalogReceipt, TransactionIdFactory catalogTransactionIdFactory) throws CatalogRepositoryException { - // TODO Auto-generated method stub - + throw new UnsupportedOperationException(UNSUPPORTED); } http://git-wip-us.apache.org/repos/asf/oodt/blob/1a1cdf1a/catalog/src/main/java/org/apache/oodt/cas/catalog/mapping/LuceneIngestMapperFactory.java ---------------------------------------------------------------------- diff --git a/catalog/src/main/java/org/apache/oodt/cas/catalog/mapping/LuceneIngestMapperFactory.java b/catalog/src/main/java/org/apache/oodt/cas/catalog/mapping/LuceneIngestMapperFactory.java index dee45ce..c736bd9 100644 --- a/catalog/src/main/java/org/apache/oodt/cas/catalog/mapping/LuceneIngestMapperFactory.java +++ b/catalog/src/main/java/org/apache/oodt/cas/catalog/mapping/LuceneIngestMapperFactory.java @@ -27,6 +27,7 @@ package org.apache.oodt.cas.catalog.mapping; public class LuceneIngestMapperFactory implements IngestMapperFactory { + @Override public IngestMapper createMapper() { return new LuceneIngestMapper(); } http://git-wip-us.apache.org/repos/asf/oodt/blob/1a1cdf1a/catalog/src/main/java/org/apache/oodt/cas/catalog/mapping/MemoryBasedIngestMapper.java ---------------------------------------------------------------------- diff --git a/catalog/src/main/java/org/apache/oodt/cas/catalog/mapping/MemoryBasedIngestMapper.java b/catalog/src/main/java/org/apache/oodt/cas/catalog/mapping/MemoryBasedIngestMapper.java index 281c23c..58df519 100644 --- a/catalog/src/main/java/org/apache/oodt/cas/catalog/mapping/MemoryBasedIngestMapper.java +++ b/catalog/src/main/java/org/apache/oodt/cas/catalog/mapping/MemoryBasedIngestMapper.java @@ -50,9 +50,9 @@ public class MemoryBasedIngestMapper implements IngestMapper { protected ConcurrentHashMap<String, List<CatalogReceipt>> catalogIdToCatalogReceiptMapping; public MemoryBasedIngestMapper() { - this.catalogServiceTransactionIdKeyMapping = new ConcurrentHashMap<String, TransactionIdMapping>(); - this.catalogInfoKeyMapping = new ConcurrentHashMap<String, TransactionIdMapping>(); - this.catalogIdToCatalogReceiptMapping = new ConcurrentHashMap<String, List<CatalogReceipt>>(); + this.catalogServiceTransactionIdKeyMapping = new ConcurrentHashMap<>(); + this.catalogInfoKeyMapping = new ConcurrentHashMap<>(); + this.catalogIdToCatalogReceiptMapping = new ConcurrentHashMap<>(); } /* @@ -62,6 +62,7 @@ public class MemoryBasedIngestMapper implements IngestMapper { * getCatalogServiceTransactionId * (org.apache.oodt.cas.catalog.struct.TransactionId, java.lang.String) */ + @Override public synchronized TransactionId<?> getCatalogServiceTransactionId( TransactionId<?> catalogTransactionId, String catalogId) throws CatalogRepositoryException { @@ -82,6 +83,7 @@ public class MemoryBasedIngestMapper implements IngestMapper { * getCatalogTransactionId * (org.apache.oodt.cas.catalog.struct.TransactionId, java.lang.String) */ + @Override public synchronized TransactionId<?> getCatalogTransactionId( TransactionId<?> catalogServiceTransactionId, String catalogId) throws CatalogRepositoryException { @@ -104,9 +106,10 @@ public class MemoryBasedIngestMapper implements IngestMapper { * org.apache.oodt.cas.catalog.mapping.IngestMapper#getPage(org.apache * .oodt.cas.catalog.page.IndexPager, java.lang.String) */ + @Override public synchronized Set<TransactionId<?>> getPageOfCatalogTransactionIds(IndexPager indexPager, String catalogId) throws CatalogRepositoryException { - Set<TransactionId<?>> catalogTransactionIds = new HashSet<TransactionId<?>>(); + Set<TransactionId<?>> catalogTransactionIds = new HashSet<>(); List<CatalogReceipt> catalogReceipts = this.catalogIdToCatalogReceiptMapping.get(catalogId); if (catalogReceipts != null) { for (int i = indexPager.getPageNum() * indexPager.getPageSize(); @@ -121,6 +124,7 @@ public class MemoryBasedIngestMapper implements IngestMapper { * (non-Javadoc) * @see org.apache.oodt.cas.catalog.mapping.IngestMapper#deleteAllMappingsForCatalog(java.lang.String) */ + @Override public synchronized void deleteAllMappingsForCatalog(String catalogId) throws CatalogRepositoryException { List<CatalogReceipt> catalogReceipts = this.catalogIdToCatalogReceiptMapping.remove(catalogId); @@ -138,6 +142,7 @@ public class MemoryBasedIngestMapper implements IngestMapper { * (non-Javadoc) * @see org.apache.oodt.cas.catalog.repository.CatalogRepository#deleteAllMappingsForCatalogServiceTransactionId(org.apache.oodt.cas.catalog.struct.TransactionId) */ + @Override public synchronized void deleteAllMappingsForCatalogServiceTransactionId( TransactionId<?> catalogServiceTransactionId) throws CatalogRepositoryException { @@ -155,6 +160,7 @@ public class MemoryBasedIngestMapper implements IngestMapper { * (non-Javadoc) * @see org.apache.oodt.cas.catalog.repository.CatalogRepository#deleteTransactionIdMapping(org.apache.oodt.cas.catalog.struct.TransactionId, org.apache.oodt.cas.catalog.struct.TransactionId, java.lang.String) */ + @Override public synchronized void deleteTransactionIdMapping( TransactionId<?> catalogTransactionId, String catalogId) throws CatalogRepositoryException { @@ -173,6 +179,7 @@ public class MemoryBasedIngestMapper implements IngestMapper { * (non-Javadoc) * @see org.apache.oodt.cas.catalog.repository.CatalogRepository#hasCatalogServiceTransactionId(org.apache.oodt.cas.catalog.struct.TransactionId) */ + @Override public synchronized boolean hasCatalogServiceTransactionId( TransactionId<?> catalogServiceTransactionId) throws CatalogRepositoryException { @@ -187,6 +194,7 @@ public class MemoryBasedIngestMapper implements IngestMapper { * org.apache.oodt.cas.catalog.struct.TransactionId, * org.apache.oodt.cas.catalog.struct.TransactionId) */ + @Override public synchronized void storeTransactionIdMapping( TransactionId<?> catalogServiceTransactionId, TransactionIdFactory catalogServiceTransactionIdFactory, @@ -217,10 +225,11 @@ public class MemoryBasedIngestMapper implements IngestMapper { * org.apache.oodt.cas.catalog.repository.CatalogRepository#getCatalogs * (org.apache.oodt.cas.catalog.struct.TransactionId) */ + @Override public synchronized Set<String> getCatalogIds( TransactionId<?> catalogServiceTransactionId) throws CatalogRepositoryException { - HashSet<String> catalogs = new HashSet<String>(); + HashSet<String> catalogs = new HashSet<>(); TransactionIdMapping mapping = this.catalogServiceTransactionIdKeyMapping .get(catalogServiceTransactionId.toString()); for (CatalogReceipt catalogReceipt : mapping.getCatalogReceipts()) { @@ -229,6 +238,7 @@ public class MemoryBasedIngestMapper implements IngestMapper { return catalogs; } + @Override public CatalogReceipt getCatalogReceipt( TransactionId<?> catalogServiceTransactionId, String catalogId) throws CatalogRepositoryException { @@ -252,7 +262,7 @@ public class MemoryBasedIngestMapper implements IngestMapper { public TransactionIdMapping(TransactionId<?> catalogServiceTransactionId) { this.catalogServiceTransactionId = catalogServiceTransactionId; - this.catalogReceipts = new Vector<CatalogReceipt>(); + this.catalogReceipts = new Vector<>(); } public void addCatalogReceipt(CatalogReceipt catalogReceipt) { @@ -266,10 +276,6 @@ public class MemoryBasedIngestMapper implements IngestMapper { public TransactionId<?> getCatalogServiceTransactionId() { return catalogServiceTransactionId; } - - public void setCatalogReceipts(List<CatalogReceipt> catalogReceipts) { - this.catalogReceipts = catalogReceipts; - } } } http://git-wip-us.apache.org/repos/asf/oodt/blob/1a1cdf1a/catalog/src/main/java/org/apache/oodt/cas/catalog/mapping/MemoryBasedIngestMapperFactory.java ---------------------------------------------------------------------- diff --git a/catalog/src/main/java/org/apache/oodt/cas/catalog/mapping/MemoryBasedIngestMapperFactory.java b/catalog/src/main/java/org/apache/oodt/cas/catalog/mapping/MemoryBasedIngestMapperFactory.java index d7fe89b..cf691ba 100644 --- a/catalog/src/main/java/org/apache/oodt/cas/catalog/mapping/MemoryBasedIngestMapperFactory.java +++ b/catalog/src/main/java/org/apache/oodt/cas/catalog/mapping/MemoryBasedIngestMapperFactory.java @@ -26,6 +26,7 @@ package org.apache.oodt.cas.catalog.mapping; */ public class MemoryBasedIngestMapperFactory implements IngestMapperFactory { + @Override public IngestMapper createMapper() { return new MemoryBasedIngestMapper(); } http://git-wip-us.apache.org/repos/asf/oodt/blob/1a1cdf1a/core/pom.xml ---------------------------------------------------------------------- diff --git a/core/pom.xml b/core/pom.xml index 1e09a0e..47f8e86 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -543,10 +543,10 @@ the License. <sourceDirectory>${basedir}/src/main/java</sourceDirectory> <testSourceDirectory>${basedir}/src/test/java</testSourceDirectory> <plugins> - <plugin> - <groupId>com.atlassian.maven.plugins</groupId> - <artifactId>maven-clover2-plugin</artifactId> - <version>4.0.6</version> + <plugin> + <groupId>com.atlassian.maven.plugins</groupId> + <artifactId>maven-clover2-plugin</artifactId> + <version>4.0.6</version> <configuration> <license><![CDATA[ oOmRsdEFLXepeoGMXQooikmNPOPmVegiGubXhbERoJfRSL @@ -556,8 +556,7 @@ onmqmUUnqrovqvommmmmUUnqrovqvommmmmUU1mXZebUUn mm ]]></license> </configuration> - </plugin> - + </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration>
