class RESTExtJsServiceImpl extends RESTServiceImpl implements RESTExtJsService {

    @Override
    public String getAllResources(SecurityContext sc, String nameLike,
            Integer start, Integer limit)
            throws BadRequestWebEx {

        if (start == null || limit == null) {
            throw new BadRequestWebEx("Request parameters are missing !");
        }

        if (LOGGER.isInfoEnabled()) {
            LOGGER.info("Retrieving paginated resource list (start="+start+" limit="+limit+")");
        }

        User authUser = null;
        try {
            authUser = extractAuthUser(sc);
        } catch (InternalErrorWebEx ie) {
            // serch without user information
            LOGGER.warn("Error in validating user (this action should probably be aborted)", ie); // why is this exception caught?
        }

        int page = start == 0 ? start : start / limit;

        try {
            nameLike = nameLike.replaceAll("[*]", "%");
            // TOOD: implement includeAttributes and includeData

            List<ShortResource> resources = resourceService.getList(nameLike, page, limit, authUser);

            long count = 0;
            if (resources != null && resources.size() > 0) {
                count = resourceService.getCountByFilterAndUser(nameLike, authUser);
            }

            JSONObject result = makeJSONResult(true, count, resources, authUser);
            return result.toString();

        } catch (BadRequestServiceEx e) {
            LOGGER.warn(e.getMessage(), e);

            JSONObject obj = makeJSONResult(false, 0, null, authUser);
            return obj.toString();
        }
    }

}