Changeset 4207 for DASISH/t5.6/backend/annotator-backend/trunk/annotator-backend/src/main/java/eu/dasish/annotation/backend/dao/impl/JdbcAnnotationDao.java
- Timestamp:
- 12/19/13 14:36:04 (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
r4183 r4207 26 26 import eu.dasish.annotation.schema.AnnotationInfo; 27 27 import eu.dasish.annotation.schema.Permission; 28 import java.io.IOException; 28 29 import java.lang.String; 29 30 import java.sql.ResultSet; … … 37 38 import javax.sql.DataSource; 38 39 import javax.xml.datatype.DatatypeConfigurationException; 40 import javax.xml.parsers.ParserConfigurationException; 39 41 import org.springframework.jdbc.core.RowMapper; 42 import org.xml.sax.SAXException; 40 43 41 44 /** … … 115 118 116 119 @Override 117 public List<Number> getAnnotationIDsForUserWithPermission(Number userID, String permissionString) { 118 if (userID == null || permissionString == null) { 119 return null; 120 } 120 public List<Number> getAnnotationIDsForUserWithPermission(Number userID, String[] permissionStrings) { 121 if (userID == null || permissionStrings == null) { 122 return null; 123 } 124 125 String values = stringsToValuesString(permissionStrings); 126 121 127 StringBuilder sql = new StringBuilder("SELECT "); 122 128 sql.append(annotation_id).append(" FROM ").append(permissionsTableName).append(" WHERE "). 123 129 append(principal_id).append(" = ").append(userID.toString()).append(" AND "). 124 append(permission).append(" = ?");; 125 return getSimpleJdbcTemplate().query(sql.toString(), internalIDRowMapper, permissionString); 130 append(permission).append(" IN ").append(values); 131 return getSimpleJdbcTemplate().query(sql.toString(), internalIDRowMapper); 132 } 133 134 private String stringsToValuesString(String[] strings) { 135 if (strings == null) { 136 return null; 137 } 138 139 int length = strings.length; 140 if (length == 0) { 141 return null; 142 } 143 String result = "("; 144 for (int i = 0; i < length - 1; i++) { 145 result = result + "'"+strings[i] + "', "; 146 } 147 result = result + "'"+strings[length - 1] + "')"; 148 return result; 126 149 } 127 150 … … 312 335 313 336 //////////// UPDATERS ///////////// 314 @Override 315 public int updateAnnotationBodyText(Number annotationID, String text) { 316 StringBuilder sql = new StringBuilder("UPDATE "); 317 sql.append(annotationTableName).append(" SET "). 318 append(last_modified).append("= default,"). 319 append(body_text).append("= '").append(text). 320 append("' WHERE ").append(annotation_id).append("= ?"); 321 int affectedRows = getSimpleJdbcTemplate().update(sql.toString(), annotationID); 322 return affectedRows; 323 } 324 325 @Override 326 public int updateAnnotationBody(Number annotationID, AnnotationBody annotationBody) { 327 String[] body = retrieveBodyComponents(annotationBody); 337 338 339 @Override 340 public int updateAnnotationBody(Number annotationID, String text, String mimeType, Boolean isXml) { 328 341 Map<String, Object> params = new HashMap<String, Object>(); 329 params.put("annotationID", annotation _id);330 params.put("bodyText", body[0]);331 params.put("bodyMimeType", body[1]);332 params.put("isXml", annotationBody.getXmlBody() != null);342 params.put("annotationID", annotationID); 343 params.put("bodyText", text); 344 params.put("bodyMimeType", mimeType); 345 params.put("isXml", isXml); 333 346 334 347 StringBuilder sql = new StringBuilder("UPDATE "); … … 338 351 append(body_mimetype).append("= :bodyMimeType, "). 339 352 append(is_xml).append("= :isXml"). 340 append(" 'WHERE ").append(annotation_id).append("= :annotationID");341 int affectedRows = getSimpleJdbcTemplate().update(sql.toString(), annotationID);353 append(" WHERE ").append(annotation_id).append("= :annotationID"); 354 int affectedRows = getSimpleJdbcTemplate().update(sql.toString(), params); 342 355 return affectedRows; 343 356 } … … 374 387 Map<String, Object> params = new HashMap<String, Object>(); 375 388 params.put("permission", permission.value()); 376 params.put("annotationID", annotation _id);377 params.put("principalID", principal_id);389 params.put("annotationID", annotationID); 390 params.put("principalID", userID); 378 391 379 392 StringBuilder sql = new StringBuilder("UPDATE "); 380 393 sql.append(permissionsTableName).append(" SET "). 381 394 append(this.permission).append("= :permission"). 382 append(" WHERE ").append(annotation_id).append("= : 395 append(" WHERE ").append(annotation_id).append("= :annotationID"). 383 396 append(" AND ").append(principal_id).append("= :principalID"); 384 397 return getSimpleJdbcTemplate().update(sql.toString(), params); … … 474 487 475 488 /////////////// helpers ////////////////// 476 p rivateString[] retrieveBodyComponents(AnnotationBody annotationBody) {489 public String[] retrieveBodyComponents(AnnotationBody annotationBody) { 477 490 boolean body_is_xml = annotationBody.getXmlBody() != null; 478 491 String[] result = new String[2];
Note: See TracChangeset
for help on using the changeset viewer.