String delimiter = request.getDelimiter();
int maxKeys = request.getMaxKeys();
if(maxKeys <= 0) maxKeys = 1000;
//
SBucketVO sbucket = bucketDao.getByName(bucketName);
if (sbucket == null) throw new NoSuchObjectException("Bucket " + bucketName + " does not exist");
PolicyActions action = (includeVersions ? PolicyActions.ListBucketVersions : PolicyActions.ListBucket);
S3PolicyContext context = new S3PolicyContext( action, bucketName );
context.setEvalParam( ConditionKeys.MaxKeys, new String( "" + maxKeys ));
context.setEvalParam( ConditionKeys.Prefix, prefix );
context.setEvalParam( ConditionKeys.Delimiter, delimiter );
verifyAccess( context, "SBucket", sbucket.getId(), SAcl.PERMISSION_READ );
// Wen execting the query, request one more item so that we know how to set isTruncated flag
List<SObjectVO> l = null;