Ignore:
Timestamp:
02/11/14 18:01:34 (10 years ago)
Author:
olhsha
Message:

NotebookDao? finished, not tested

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

    r4491 r4495  
    6767            StringBuilder sql = new StringBuilder("SELECT DISTINCT ");
    6868            sql.append(target_id).append(" FROM ").append(annotationsTargetsTableName).append(" WHERE ").append(annotation_id).append("= ?");
    69             return getSimpleJdbcTemplate().query(sql.toString(), TargetIDRowMapper, annotationID);
     69            return getSimpleJdbcTemplate().query(sql.toString(), targetIDRowMapper, annotationID);
    7070        } else {
    7171            loggerAnnotationDao.debug(nullArgument);
     
    9494    };
    9595
    96    
    97    
    9896    @Override
    9997    public Permission getPermission(Number annotationID, Number userID) {
     
    128126    };
    129127
    130    
    131    
    132    
    133128    ////////////////////////////////////////////////////////////////////////
    134129    @Override
     
    143138            params.put("ownerId", ownerID);
    144139        }
    145        
     140
    146141        if (after != null) {
    147142            sql.append(" AND ").append(last_modified).append("  > :afterTimestamp");
     
    161156    }
    162157
    163      ///////////////////////////////////////////////////////////////////////////////////
     158    ///////////////////////////////////////////////////////////////////////////////////
    164159    @Override
    165160    public List<Number> getAnnotationIDsForUserWithPermission(Number userID, String access) {
    166        
     161
    167162        if (userID == null) {
    168163            loggerAnnotationDao.debug("userID: " + nullArgument);
    169164            return null;
    170165        }
    171        
     166
    172167        if (access == null) {
    173168            logger.info("The access argument is null. I assign it a default value 'reader'.");
     
    175170        }
    176171
    177        
     172
    178173        StringBuilder sql = new StringBuilder("SELECT ");
    179174        sql.append(annotation_id).append(" FROM ").append(permissionsTableName).append(" WHERE ").
     
    183178    }
    184179
    185    
    186  
    187    
    188 
    189180    //////////////////////////////
    190181    @Override
     
    203194        return getSimpleJdbcTemplate().query(query.toString(), internalIDRowMapper);
    204195    }
    205    
    206    
    207    
    208    
     196
    209197    /////////////////////////////////////////
    210198    @Override
     
    215203    }
    216204
     205    @Override
     206    public List<Number> sublistOrderedAnnotationIDs(List<Number> annotationIDs, int offset, int limit, String orderedBy, String direction) {
     207        if (annotationIDs == null) {
     208            return null;
     209        }
     210
     211        if (annotationIDs.isEmpty()) {
     212            return annotationIDs;
     213        }
     214
     215       
     216        String values = makeListOfValues(annotationIDs);
     217        Map<String, Object> params = new HashMap<String, Object>();
     218        params.put("offset", offset);
     219        params.put("limit", limit);
     220
     221        StringBuilder query = new StringBuilder("SELECT DISTINCT ");
     222        query.append(annotation_id).append(" FROM ").append(annotationsTargetsTableName).append(" WHERE ").append(annotation_id).append(" IN ");
     223        query.append(values).append(" ORDER BY ").append(orderedBy);
     224
     225        if (limit > -1) {
     226            query.append(direction).append(" LIMIT :limit ");
     227        }
     228
     229        query.append(" OFFSET :offset ");
     230        return getSimpleJdbcTemplate().query(query.toString(), internalIDRowMapper, params);
     231    }
     232
     233    //////////////////////////////////////////////////////////////////////
    217234    @Override
    218235    public AnnotationInfo getAnnotationInfoWithoutTargets(Number annotationID) {
     
    265282        String values = makeListOfValues(annotationIDs);
    266283        StringBuilder sql = new StringBuilder("SELECT DISTINCT ");
    267         sql.append(external_id).append(" FROM ").append(annotationTableName).append(" WHERE ").append(annotationAnnotation_id).append("  IN ").append(values);
     284        sql.append(external_id).append(" FROM ").append(annotationTableName).append(" WHERE ").append(annotation_id).append("  IN ").append(values);
    268285        return getSimpleJdbcTemplate().query(sql.toString(), annotationREFRowMapper);
    269286    }
     
    283300        }
    284301        StringBuilder sql = new StringBuilder("SELECT ");
    285         sql.append(annotationStar).append(" FROM ").append(annotationTableName).append(" WHERE ").append(annotationAnnotation_id).append("= ? LIMIT  1");
     302        sql.append(annotationStar).append(" FROM ").append(annotationTableName).append(" WHERE ").append(annotation_id).append("= ? LIMIT  1");
    286303        List<Annotation> respond = getSimpleJdbcTemplate().query(sql.toString(), annotationRowMapper, annotationID);
    287304        return (respond.isEmpty() ? null : respond.get(0));
     
    327344        return (respond.isEmpty() ? null : respond.get(0));
    328345    }
    329    
    330    
    331346
    332347    /////////////////////////////
     
    342357        StringBuilder sqlTargets = new StringBuilder("SELECT ");
    343358        sqlTargets.append(target_id).append(" FROM ").append(annotationsTargetsTableName).append(" WHERE ").append(annotation_id).append("= ? LIMIT 1");
    344         List<Number> resultTargets = getSimpleJdbcTemplate().query(sqlTargets.toString(), TargetIDRowMapper, annotationID);
     359        List<Number> resultTargets = getSimpleJdbcTemplate().query(sqlTargets.toString(), targetIDRowMapper, annotationID);
    345360        if (resultTargets.size() > 0) {
    346361            return true;
     
    449464        if (annotation == null) {
    450465            loggerAnnotationDao.debug("annotation: " + nullArgument);
    451             return 0;
     466            return null;
     467        }
     468       
     469        if (ownerID == null) {
     470            loggerAnnotationDao.debug("ownerID: " + nullArgument);
     471            return null;
    452472        }
    453473
     
    575595                StringBuilder sqlPermissions = new StringBuilder("DELETE FROM ");
    576596                sqlPermissions.append(permissionsTableName).append(" WHERE ").append(annotation_id).append(" = :annotationId AND ").
    577                 append(principal_id).append(" = :userId");               
    578                 return getSimpleJdbcTemplate().update(sqlPermissions.toString(), params); 
     597                        append(principal_id).append(" = :userId");
     598                return getSimpleJdbcTemplate().update(sqlPermissions.toString(), params);
    579599            } else {
    580600                loggerAnnotationDao.debug("userID: " + nullArgument);
Note: See TracChangeset for help on using the changeset viewer.