Changeset 3459
- Timestamp:
- 08/22/13 13:18:54 (11 years ago)
- Location:
- DASISH/t5.6/backend/annotator-backend/trunk/annotator-backend/src/main/java/eu/dasish/annotation/backend/dao/impl
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
DASISH/t5.6/backend/annotator-backend/trunk/annotator-backend/src/main/java/eu/dasish/annotation/backend/dao/impl/JdbcAnnotationDao.java
r3455 r3459 226 226 }; 227 227 228 ///////////////////////////// 229 230 private boolean annotationIsInUse(Number sourceID) { 231 String sqlNotebooks = "SELECT " + notebook_id + " FROM " + notebooksAnnotationsTableName + " WHERE " + annotation_id + "= ? LIMIT 1"; 232 List<Number> resultNotebooks = getSimpleJdbcTemplate().query(sqlNotebooks, notebookIDRowMapper, sourceID); 233 if (resultNotebooks.size() > 0) { 234 return true; 235 } 236 String sqlSources = "SELECT " + source_id + " FROM " + annotationsSourcesTableName + " WHERE " + annotation_id + "= ? LIMIT 1"; 237 List<Number> resultSources = getSimpleJdbcTemplate().query(sqlSources, sourceIDRowMapper, sourceID); 238 if (resultSources.size() > 0) { 239 return true; 240 } 241 String sqlPermissions = "SELECT " + principal_id + " FROM " + permissionsTableName + " WHERE " + annotation_id + "= ? LIMIT 1"; 242 List<Number> resultPermissions = getSimpleJdbcTemplate().query(sqlPermissions, principalIDRowMapper, sourceID); 243 if (resultPermissions.size() > 0) { 244 return true; 245 } 246 247 return false; 248 } 249 250 //////////// UPDATERS ///////////// 251 252 253 @Override 254 public int updateBody(Number annotationID, String serializedNewBody) { 255 StringBuilder sql = new StringBuilder("UPDATE "); 256 sql.append(annotationTableName).append(" SET ").append(body_xml).append("= '").append(serializedNewBody).append("' WHERE ").append(annotation_id).append("= ?"); 257 return getSimpleJdbcTemplate().update(sql.toString(), annotationID); 258 } 259 260 261 262 263 264 //////////// ADDERS //////////////////////// 228 265 229 266 230 //////////////////////////////////////////////////////231 @Override232 public int deleteAnnotation(Number annotationID) throws SQLException {233 if (annotationIsInUse(annotationID)) {234 return 0;235 }236 237 String sqlAnnotation = "DELETE FROM " + annotationTableName + " where " + annotation_id + " = ?";238 return (getSimpleJdbcTemplate().update(sqlAnnotation, annotationID));239 }240 241 //////////////////////////////////////////////////////242 @Override243 public int deleteAllAnnotationSource(Number annotationID) throws SQLException {244 String sqlTargetSources = "DELETE FROM " + annotationsSourcesTableName + " where " + annotation_id + " = ?";245 return getSimpleJdbcTemplate().update(sqlTargetSources, annotationID); // removed "annotations_target_sources" rows246 247 }248 249 250 // TODO: so far URI in the xml is the same as the external_id in the DB!!251 // Change it when the decision is taken!!!252 267 @Override 253 268 public Number addAnnotation(Annotation annotation, Number ownerID) throws SQLException { … … 271 286 272 287 } 273 274 275 /////////////////////////////////////////////////////////////////////// 276 @Override 277 public int updateBody(Number annotationID, String serializedNewBody) { 278 StringBuilder sql = new StringBuilder("UPDATE "); 279 sql.append(annotationTableName).append(" SET ").append(body_xml).append("= '").append(serializedNewBody).append("' WHERE ").append(annotation_id).append("= ?"); 280 return getSimpleJdbcTemplate().update(sql.toString(), annotationID); 281 } 282 283 284 285 288 286 289 ////////////////////////////////////////////////////////////////////////////////// 287 290 @Override … … 296 299 ////////////////////////////////////////////////////////////////////////////////// 297 300 301 302 ////////////////////////////////////////////////////// 303 @Override 304 public int deleteAnnotation(Number annotationID) throws SQLException { 305 if (annotationIsInUse(annotationID)) { 306 return 0; 307 } 308 309 String sqlAnnotation = "DELETE FROM " + annotationTableName + " where " + annotation_id + " = ?"; 310 return (getSimpleJdbcTemplate().update(sqlAnnotation, annotationID)); 311 } 312 313 ////////////////////////////////////////////////////// 314 @Override 315 public int deleteAllAnnotationSource(Number annotationID) throws SQLException { 316 String sqlTargetSources = "DELETE FROM " + annotationsSourcesTableName + " where " + annotation_id + " = ?"; 317 return getSimpleJdbcTemplate().update(sqlTargetSources, annotationID); // removed "annotations_target_sources" rows 318 319 } 320 321 322 323 298 324 /////////////// helpers ////////////////// 299 325 … … 305 331 } 306 332 307 ////////////////////////////// 308 private boolean annotationIsInUse(Number sourceID) { 309 String sql = "SELECT " + notebook_id + " FROM " + notebooksAnnotationsTableName + " WHERE " + annotation_id + "= ? LIMIT 1"; 310 List<Number> result = getSimpleJdbcTemplate().query(sql, notebookIDRowMapper, sourceID); 311 if (result.size() > 0) { 312 return true; 313 } 314 return false; 315 } 316 317 private final RowMapper<Number> notebookIDRowMapper = new RowMapper<Number>() { 318 @Override 319 public Number mapRow(ResultSet rs, int rowNumber) throws SQLException { 320 return rs.getInt(notebook_id); 321 } 322 }; 323 333 324 334 ////////////////////////////////////////////////////// 325 335 @Override -
DASISH/t5.6/backend/annotator-backend/trunk/annotator-backend/src/main/java/eu/dasish/annotation/backend/dao/impl/JdbcCachedRepresentationDao.java
r3455 r3459 45 45 46 46 47 /////////////////////////// ////////////////////////////////////////////////////////////47 /////////////////////////// GETTERS //////////////////////////////////////// 48 48 @Override 49 49 public CachedRepresentationInfo getCachedRepresentationInfo(Number internalID) { … … 72 72 } 73 73 }; 74 75 ////////////////////////////////////// 74 76 75 //////////////////////////////////////////////////////////////////////////// 77 private boolean cachedIsInUse(Number cachedID) { 78 String sql = "SELECT " + version_id + " FROM " + versionsCachedRepresentationsTableName + " WHERE " + cached_representation_id + "= ? LIMIT 1"; 79 List<Number> result = getSimpleJdbcTemplate().query(sql, versionIDRowMapper, cachedID); 80 if (result.size() > 0) { 81 return true; 82 } 83 return false; 84 } 85 86 87 88 //////////////////////// ADDERS /////////////////////////////// 76 89 @Override 77 90 public Number addCachedRepresentationInfo(CachedRepresentationInfo cached) { … … 88 101 } 89 102 90 /////////////////////// ///////////////////////////////////////////////////////////////////////103 /////////////////////// DELETERS ////////////////////////////////////////////// 91 104 @Override 92 105 public int deleteCachedRepresentationInfo(Number internalID) { … … 100 113 101 114 102 103 104 //////////////// PRIVATE ////////////////////////105 106 private boolean cachedIsInUse(Number cachedID) {107 String sql = "SELECT " + version_id + " FROM " + versionsCachedRepresentationsTableName + " WHERE " + cached_representation_id + "= ? LIMIT 1";108 List<Number> result = getSimpleJdbcTemplate().query(sql, versionIDRowMapper, cachedID);109 if (result.size() > 0) {110 return true;111 }112 return false;113 }114 115 private final RowMapper<Number> versionIDRowMapper = new RowMapper<Number>() {116 @Override117 public Number mapRow(ResultSet rs, int rowNumber) throws SQLException {118 return rs.getInt(version_id);119 }120 };121 122 123 115 } -
DASISH/t5.6/backend/annotator-backend/trunk/annotator-backend/src/main/java/eu/dasish/annotation/backend/dao/impl/JdbcResourceDao.java
r3455 r3459 103 103 return result; 104 104 } 105 protected final RowMapper<Number> internalIDRowMapper = new RowMapper<Number>() { 106 @Override 107 public Number mapRow(ResultSet rs, int rowNumber) throws SQLException { 108 int result = rs.getInt(internalIdName); 109 Number resultNumber = result; 110 return resultNumber; 111 } 112 }; 113 114 105 115 106 @Override 116 107 public UUID getExternalID(Number internalId) { … … 123 114 return (sqlResult.get(0)); 124 115 } 125 126 protected final RowMapper<UUID> externalIDRowMapper = new RowMapper<UUID>() {127 @Override128 public UUID mapRow(ResultSet rs, int rowNumber) throws SQLException {129 return (UUID.fromString(rs.getString(external_id)));130 }131 };132 116 133 117 ///////////////////////////////////////////////////// … … 171 155 return result; 172 156 } 157 158 159 ////////////////// ROW MAPPERS /////////////////// 160 161 162 protected final RowMapper<Number> internalIDRowMapper = new RowMapper<Number>() { 163 @Override 164 public Number mapRow(ResultSet rs, int rowNumber) throws SQLException { 165 int result = rs.getInt(internalIdName); 166 Number resultNumber = result; 167 return resultNumber; 168 } 169 }; 170 protected final RowMapper<UUID> externalIDRowMapper = new RowMapper<UUID>() { 171 @Override 172 public UUID mapRow(ResultSet rs, int rowNumber) throws SQLException { 173 return (UUID.fromString(rs.getString(external_id))); 174 } 175 }; 176 protected final RowMapper<Number> cachedIDRowMapper = new RowMapper<Number>() { 177 @Override 178 public Number mapRow(ResultSet rs, int rowNumber) throws SQLException { 179 return rs.getInt(cached_representation_id); 180 } 181 }; 182 protected final RowMapper<Number> sourceIDRowMapper = new RowMapper<Number>() { 183 @Override 184 public Number mapRow(ResultSet rs, int rowNumber) throws SQLException { 185 return rs.getInt(source_id); 186 } 187 }; 188 protected final RowMapper<Number> versionIDRowMapper = new RowMapper<Number>() { 189 @Override 190 public Number mapRow(ResultSet rs, int rowNumber) throws SQLException { 191 return rs.getInt(version_id); 192 } 193 }; 194 protected final RowMapper<Number> annotationIDRowMapper = new RowMapper<Number>() { 195 @Override 196 public Number mapRow(ResultSet rs, int rowNumber) throws SQLException { 197 return rs.getInt(annotation_id); 198 } 199 }; 200 protected final RowMapper<Number> notebookIDRowMapper = new RowMapper<Number>() { 201 @Override 202 public Number mapRow(ResultSet rs, int rowNumber) throws SQLException { 203 return rs.getInt(notebook_id); 204 } 205 }; 206 protected final RowMapper<Number> principalIDRowMapper = new RowMapper<Number>() { 207 @Override 208 public Number mapRow(ResultSet rs, int rowNumber) throws SQLException { 209 return rs.getInt(principal_id); 210 } 211 }; 173 212 } -
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 -
DASISH/t5.6/backend/annotator-backend/trunk/annotator-backend/src/main/java/eu/dasish/annotation/backend/dao/impl/JdbcVersionDao.java
r3455 r3459 43 43 44 44 45 /////////////// ////////////////////////////////////////////////45 /////////////// GETTERS ///////////////////// 46 46 @Override 47 47 public Version getVersion(Number internalID) { … … 49 49 String sql = "SELECT " + versionStar + " FROM " + versionTableName + " WHERE " + version_id + "= ? LIMIT 1"; 50 50 List<Version> result = getSimpleJdbcTemplate().query(sql, versionRowMapper, internalID); 51 52 if (result == null) {53 return null;54 }55 51 if (result.isEmpty()) { 56 52 return null; … … 78 74 } 79 75 80 private final RowMapper<Number> cachedIDRowMapper = new RowMapper<Number>() { 81 @Override 82 public Number mapRow(ResultSet rs, int rowNumber) throws SQLException { 83 return rs.getInt(cached_representation_id); 76 77 78 /////////////////////////////////////////////////////////////// 79 80 @Override 81 public boolean versionIsInUse(Number versionsID) { 82 String sqlSources = "SELECT " + source_id + " FROM " + sourcesVersionsTableName + " WHERE " + version_id + "= ? LIMIT 1"; 83 List<Number> resultSources = getSimpleJdbcTemplate().query(sqlSources, sourceIDRowMapper, versionsID); 84 if (resultSources.size() > 0) { 85 return true; 84 86 } 85 }; 87 String sqlVersions = "SELECT " + cached_representation_id + " FROM " + versionsCachedRepresentationsTableName + " WHERE " + version_id + "= ? LIMIT 1"; 88 List<Number> resultCached = getSimpleJdbcTemplate().query(sqlVersions, cachedIDRowMapper, versionsID); 89 if (resultCached.size() > 0) { 90 return true; 91 } 92 return false; 93 } 86 94 87 ///////////////////////////////////////// 88 @Override 89 public int deleteVersion(Number internalID) { 90 91 int result = 0; 92 if (versionIsInUse(internalID)) { 93 return result; 94 } 95 96 String sql = "DELETE FROM " + versionTableName + " where " + version_id + " = ?"; 97 result = getSimpleJdbcTemplate().update(sql, internalID); 98 return result; 99 100 } 101 102 ///////////////////////////////////////////////// 95 96 97 /////////////////// ADDERS /////////////////// 98 103 99 @Override 104 100 public Number addVersion(Version freshVersion) { … … 114 110 return getInternalID(externalIdentifier); 115 111 } 112 113 //////////////////////////////////////////// 114 @Override 115 public int addVersionCachedRepresentation(Number versionID, Number cachedID){ 116 Map<String, Object> params = new HashMap<String, Object>(); 117 params.put("versionId", versionID); 118 params.put("cachedId", cachedID); 119 String sql = "INSERT INTO " + versionsCachedRepresentationsTableName + "(" + version_id + "," + cached_representation_id + " ) VALUES (:versionId, :cachedId)"; 120 return getSimpleJdbcTemplate().update(sql, params); 121 } 122 123 124 /////////////// DELETERS //////////////////////// 125 126 @Override 127 public int deleteVersion(Number internalID) { 128 if (versionIsInUse(internalID)) { 129 return 0; 130 } 131 String sql = "DELETE FROM " + versionTableName + " where " + version_id + " = ?"; 132 int result = getSimpleJdbcTemplate().update(sql, internalID); 133 return result; 134 135 } 136 137 116 138 117 139 //////////////////////////////////////////// … … 135 157 } 136 158 137 //////////////////////////////////////////// 138 @Override 139 public int addVersionCachedRepresentation(Number versionID, Number cachedID){ 140 Map<String, Object> params = new HashMap<String, Object>(); 141 params.put("versionId", versionID); 142 params.put("cachedId", cachedID); 143 String sql = "INSERT INTO " + versionsCachedRepresentationsTableName + "(" + version_id + "," + cached_representation_id + " ) VALUES (:versionId, :cachedId)"; 144 return getSimpleJdbcTemplate().update(sql, params); 145 } 146 147 148 149 150 151 152 @Override 153 public boolean versionIsInUse(Number versionsID) { 154 String sql = "SELECT " + source_id + " FROM " + sourcesVersionsTableName + " WHERE " + version_id + "= ? LIMIT 1"; 155 List<Number> result = getSimpleJdbcTemplate().query(sql, sourceIDRowMapper, versionsID); 156 if (result.size() > 0) { 157 return true; 158 } 159 return false; 160 } 161 162 private final RowMapper<Number> sourceIDRowMapper = new RowMapper<Number>() { 163 @Override 164 public Number mapRow(ResultSet rs, int rowNumber) throws SQLException { 165 return rs.getInt(source_id); 166 } 167 }; 159 160 168 161 }
Note: See TracChangeset
for help on using the changeset viewer.