Changeset 4546 for DASISH/t5.6/backend/annotator-backend/trunk/annotator-backend/src/main/java/eu/dasish/annotation/backend/dao/impl/JdbcAnnotationDao.java
- Timestamp:
- 02/21/14 18:24:38 (10 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/JdbcAnnotationDao.java
r4539 r4546 26 26 import eu.dasish.annotation.schema.AnnotationInfo; 27 27 import eu.dasish.annotation.schema.Permission; 28 import eu.dasish.annotation.schema.UserWithPermission;29 import eu.dasish.annotation.schema.UserWithPermissionList;30 28 import java.lang.String; 31 29 import java.sql.ResultSet; … … 64 62 65 63 ///////////// GETTERS ///////////// 66 @Override 67 public List<Number> retrieveTargetIDs(Number annotationID) { 68 if (annotationID != null) { 69 StringBuilder sql = new StringBuilder("SELECT DISTINCT "); 70 sql.append(target_id).append(" FROM ").append(annotationsTargetsTableName).append(" WHERE ").append(annotation_id).append("= ?"); 71 return getSimpleJdbcTemplate().query(sql.toString(), targetIDRowMapper, annotationID); 72 } else { 73 loggerAnnotationDao.debug(nullArgument); 74 return null; 75 } 76 } 64 77 65 78 66 /////////////////////////////////////////////////////////////////// … … 341 329 342 330 ///////////////////////////// 343 @Override 344 public boolean annotationIsInUse(Number annotationID) { 345 StringBuilder sqlNotebooks = new StringBuilder("SELECT "); 346 sqlNotebooks.append(notebook_id).append(" FROM ").append(notebooksAnnotationsTableName).append(" WHERE ").append(annotation_id).append("= ? LIMIT 1"); 347 List<Number> resultNotebooks = getSimpleJdbcTemplate().query(sqlNotebooks.toString(), notebookIDRowMapper, annotationID); 348 if (resultNotebooks.size() > 0) { 349 return true; 350 } 351 352 StringBuilder sqlTargets = new StringBuilder("SELECT "); 353 sqlTargets.append(target_id).append(" FROM ").append(annotationsTargetsTableName).append(" WHERE ").append(annotation_id).append("= ? LIMIT 1"); 354 List<Number> resultTargets = getSimpleJdbcTemplate().query(sqlTargets.toString(), targetIDRowMapper, annotationID); 355 if (resultTargets.size() > 0) { 356 return true; 357 } 358 359 StringBuilder sqlPermissions = new StringBuilder("SELECT "); 360 sqlPermissions.append(principal_id).append(" FROM ").append(permissionsTableName).append(" WHERE ").append(annotation_id).append("= ? LIMIT 1"); 361 List<Number> resultPermissions = getSimpleJdbcTemplate().query(sqlPermissions.toString(), principalIDRowMapper, annotationID); 362 return (resultPermissions.size() > 0); 363 } 331 // @Override 332 // public boolean annotationIsInUse(Number annotationID) { 333 // StringBuilder sqlNotebooks = new StringBuilder("SELECT "); 334 // sqlNotebooks.append(notebook_id).append(" FROM ").append(notebooksAnnotationsTableName).append(" WHERE ").append(annotation_id).append("= ? LIMIT 1"); 335 // List<Number> resultNotebooks = getSimpleJdbcTemplate().query(sqlNotebooks.toString(), notebookIDRowMapper, annotationID); 336 // if (resultNotebooks.size() > 0) { 337 // return true; 338 // } 339 // 340 // StringBuilder sqlTargets = new StringBuilder("SELECT "); 341 // sqlTargets.append(target_id).append(" FROM ").append(annotationsTargetsTableName).append(" WHERE ").append(annotation_id).append("= ? LIMIT 1"); 342 // List<Number> resultTargets = getSimpleJdbcTemplate().query(sqlTargets.toString(), targetIDRowMapper, annotationID); 343 // if (resultTargets.size() > 0) { 344 // return true; 345 // } 346 // 347 // StringBuilder sqlPermissions = new StringBuilder("SELECT "); 348 // sqlPermissions.append(principal_id).append(" FROM ").append(permissionsTableName).append(" WHERE ").append(annotation_id).append("= ? LIMIT 1"); 349 // List<Number> resultPermissions = getSimpleJdbcTemplate().query(sqlPermissions.toString(), principalIDRowMapper, annotationID); 350 // return (resultPermissions.size() > 0); 351 // } 352 353 @Override 354 public List<Number> getAnnotations(Number notebookID) { 355 356 if (notebookID == null) { 357 loggerAnnotationDao.debug("notebookID: " + nullArgument); 358 return null; 359 } 360 361 StringBuilder sql = new StringBuilder("SELECT "); 362 sql.append(annotation_id). 363 append(" FROM ").append(notebooksAnnotationsTableName).append(" WHERE "). 364 append(notebook_id).append(" = :notebookID"); 365 return getSimpleJdbcTemplate().query(sql.toString(), internalIDRowMapper, notebookID); 366 367 } 368 369 ///////////////////////////////////////////////// 370 @Override 371 public boolean targetIsInUse(Number targetID) { 372 if (targetID == null) { 373 loggerAnnotationDao.debug("targetID: " + nullArgument); 374 return false; 375 } 376 377 378 StringBuilder sqlAnnotations = new StringBuilder("SELECT "); 379 sqlAnnotations.append(annotation_id).append(" FROM ").append(annotationsTargetsTableName).append(" WHERE ").append(target_id).append(" = ? LIMIT 1"); 380 List<Number> resultAnnotations = getSimpleJdbcTemplate().query(sqlAnnotations.toString(), internalIDRowMapper, targetID); 381 if (resultAnnotations == null) { 382 return false; 383 } 384 return (resultAnnotations.size() > 0); 385 } 386 387 364 388 365 389 //////////// UPDATERS ///////////// … … 542 566 public int deleteAnnotation(Number annotationID) { 543 567 if (annotationID != null) { 544 if (annotationIsInUse(annotationID)) {545 return 0;546 }547 568 StringBuilder sqlAnnotation = new StringBuilder("DELETE FROM "); 548 569 sqlAnnotation.append(annotationTableName).append(" where ").append(annotation_id).append(" = ?"); … … 578 599 } 579 600 601 } 602 603 //////////////////////////////////////// 604 @Override 605 public int deleteAnnotationFromAllNotebooks(Number annotationID){ 606 if (annotationID != null) { 607 StringBuilder sql = new StringBuilder("DELETE FROM "); 608 sql.append(notebooksAnnotationsTableName).append(" WHERE ").append(annotation_id).append(" = ?"); 609 return getSimpleJdbcTemplate().update(sql.toString(), annotationID); // removed "notebook-annotation" rows 610 } else { 611 loggerAnnotationDao.debug("annotationID: " + nullArgument); 612 return 0; 613 } 580 614 } 581 615
Note: See TracChangeset
for help on using the changeset viewer.