Changeset 3459 for DASISH/t5.6/backend/annotator-backend/trunk/annotator-backend/src/main/java/eu/dasish/annotation/backend/dao/impl/JdbcSourceDao.java
- Timestamp:
- 08/22/13 13:18:54 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
DASISH/t5.6/backend/annotator-backend/trunk/annotator-backend/src/main/java/eu/dasish/annotation/backend/dao/impl/JdbcSourceDao.java
r3455 r3459 47 47 } 48 48 49 50 51 /////////////////////////////////////////////////////////////////////////////// 49 50 //////////////////////// GETTERS /////////////////////////////////// 52 51 @Override 53 52 public Source getSource(Number internalID) { … … 71 70 } 72 71 }; 73 74 /////////////////////////////////////////////////////////////////// 75 @Override 76 public int deleteSource(Number internalID) { 77 if (sourceIsInUse(internalID)){ 78 return 0; 79 } 80 String sqlSourcesVersions = "DELETE FROM " + sourceTableName + " WHERE " + source_id + " = ? "; 81 int result = getSimpleJdbcTemplate().update(sqlSourcesVersions, internalID); 82 return result; 83 84 } 85 86 87 /////////////////////////////////////////////////////////////////// 88 @Override 89 public int deleteAllSourceVersion(Number internalID) { 90 String sqlSourcesVersions = "DELETE FROM " + sourcesVersionsTableName + " WHERE " + source_id + " = ?"; 91 int result = getSimpleJdbcTemplate().update(sqlSourcesVersions, internalID); 92 return result; 93 94 } 95 96 /////////////////////////////////////////////////////////////////// 72 73 ///////////////////////////////////////// 74 @Override 75 public List<Number> retrieveVersionList(Number sourceID) { 76 String sql = "SELECT " + version_id + " FROM " + sourcesVersionsTableName + " WHERE " + source_id + " = ?"; 77 List<Number> result = getSimpleJdbcTemplate().query(sql, versionIDRowMapper, sourceID); 78 return result; 79 } 80 81 82 /////////////////////////////////////////////////////////////////// 83 @Override 84 public List<SourceInfo> getSourceInfos(List<Number> sources) { 85 if (sources == null) { 86 return null; 87 } 88 if (sources.isEmpty()) { 89 return new ArrayList<SourceInfo>(); 90 } 91 92 String sourceIDs = makeListOfValues(sources); 93 String sql = "SELECT " + external_id + "," + link_uri + "," + version + " FROM " + sourceTableName + " WHERE " + source_id + " IN " + sourceIDs; 94 List<SourceInfo> result = getSimpleJdbcTemplate().query(sql, SourceInfoRowMapper); 95 return result; 96 } 97 private final RowMapper<SourceInfo> SourceInfoRowMapper = new RowMapper<SourceInfo>() { 98 @Override 99 public SourceInfo mapRow(ResultSet rs, int rowNumber) throws SQLException { 100 return constructSourceInfo(UUID.fromString(rs.getString(external_id)), rs.getString(link_uri), rs.getString(version)); 101 } 102 }; 103 104 105 ///////////////////////////////////////////////////// 106 @Override 107 public List<Number> getSourcesForLink(String link) { 108 StringBuilder sql = new StringBuilder("SELECT "); 109 sql.append(source_id).append(" FROM ").append(sourceTableName).append(" WHERE ").append(link_uri).append(" LIKE '%").append(link).append("%'"); 110 List<Number> result = getSimpleJdbcTemplate().query(sql.toString(), internalIDRowMapper); 111 return result; 112 } 113 114 115 ///////////////////////////////////////////////// 116 @Override 117 public boolean sourceIsInUse(Number sourceID) { 118 String sqlAnnotations = "SELECT " + annotation_id + " FROM " + annotationsSourcesTableName + " WHERE " + source_id + "= ? LIMIT 1"; 119 List<Number> resultAnnotations = getSimpleJdbcTemplate().query(sqlAnnotations, annotationIDRowMapper, sourceID); 120 if (resultAnnotations.size() > 0) { 121 return true; 122 } 123 String sqlVersions = "SELECT " + version_id + " FROM " + sourcesVersionsTableName + " WHERE " + source_id + "= ? LIMIT 1"; 124 List<Number> resultVersions = getSimpleJdbcTemplate().query(sqlVersions, versionIDRowMapper, sourceID); 125 if (resultVersions.size() > 0) { 126 return true; 127 } 128 return false; 129 } 130 131 132 133 134 ///////////////////////// ADDERS ///////////////////////////////// 97 135 @Override 98 136 public Number addSource(Source source) throws SQLException { … … 108 146 } 109 147 110 ///////////////////////////////111 112 148 113 149 /////////////////////////////////////////////////////////////////// … … 121 157 } 122 158 123 124 ///////////////////////////////////////// 125 @Override 126 public List<Number> retrieveVersionList(Number sourceID) { 127 String sql = "SELECT " + version_id + " FROM " + sourcesVersionsTableName + " WHERE " + source_id + " = ?"; 128 List<Number> result = getSimpleJdbcTemplate().query(sql, versionsSourcesRunnerRowMapper, sourceID); 129 return result; 130 } 131 private final RowMapper<Number> versionsSourcesRunnerRowMapper = new RowMapper<Number>() { 132 @Override 133 public Number mapRow(ResultSet rs, int rowNumber) throws SQLException { 134 Number result = rs.getInt(version_id); 135 return result; 136 } 137 }; 138 159 ////////////////////// DELETERS //////////////////////// 160 @Override 161 public int deleteSource(Number internalID) { 162 if (sourceIsInUse(internalID)){ 163 return 0; 164 } 165 String sqlSourcesVersions = "DELETE FROM " + sourceTableName + " WHERE " + source_id + " = ? "; 166 int result = getSimpleJdbcTemplate().update(sqlSourcesVersions, internalID); 167 return result; 168 169 } 170 171 139 172 /////////////////////////////////////////////////////////////////// 140 173 @Override 141 public List<SourceInfo> getSourceInfos(List<Number> sources) { 142 if (sources == null) { 143 return null; 144 } 145 if (sources.isEmpty()) { 146 return new ArrayList<SourceInfo>(); 147 } 148 149 String sourceIDs = makeListOfValues(sources); 150 String sql = "SELECT " + external_id + "," + link_uri + "," + version + " FROM " + sourceTableName + " WHERE " + source_id + " IN " + sourceIDs; 151 List<SourceInfo> result = getSimpleJdbcTemplate().query(sql, SourceInfoRowMapper); 152 return result; 153 } 154 private final RowMapper<SourceInfo> SourceInfoRowMapper = new RowMapper<SourceInfo>() { 155 @Override 156 public SourceInfo mapRow(ResultSet rs, int rowNumber) throws SQLException { 157 return constructSourceInfo(UUID.fromString(rs.getString(external_id)), rs.getString(link_uri), rs.getString(version)); 158 } 159 }; 160 174 public int deleteAllSourceVersion(Number internalID) { 175 String sqlSourcesVersions = "DELETE FROM " + sourcesVersionsTableName + " WHERE " + source_id + " = ?"; 176 int result = getSimpleJdbcTemplate().update(sqlSourcesVersions, internalID); 177 return result; 178 179 } 161 180 162 ///////////////////////////////////////////////////// 163 @Override 164 public List<Number> getSourcesForLink(String link) { 165 StringBuilder sql = new StringBuilder("SELECT "); 166 sql.append(source_id).append(" FROM ").append(sourceTableName).append(" WHERE ").append(link_uri).append(" LIKE '%").append(link).append("%'"); 167 List<Number> result = getSimpleJdbcTemplate().query(sql.toString(), internalIDRowMapper); 168 return result; 169 } 170 171 172 173 @Override 174 public boolean sourceIsInUse(Number sourceID) { 175 String sql = "SELECT " + annotation_id + " FROM " + annotationsSourcesTableName + " WHERE " + source_id + "= ? LIMIT 1"; 176 List<Number> result = getSimpleJdbcTemplate().query(sql, annotationIDRowMapper, sourceID); 177 if (result.size() > 0) { 178 return true; 179 } 180 return false; 181 } 182 183 private final RowMapper<Number> annotationIDRowMapper = new RowMapper<Number>() { 184 @Override 185 public Number mapRow(ResultSet rs, int rowNumber) throws SQLException { 186 return rs.getInt(annotation_id); 187 } 188 }; 189 181 190 182 /////////// HELPERS //////////////// 191 183
Note: See TracChangeset
for help on using the changeset viewer.