@Override protected Object doProcessRequest(ActionParam inParam) throws InvalidParameterException, NoSuchProductException { final int skip = inParam.getInt(GetPressClip.SKIP_PARAM, 0); final int count = inParam.getInt(GetPressClip.COUNT_PARAM, 10); final String theLangCode = inParam.getString(GetPressClip.LANGUAGE_PARAM, true); final String theProductName = inParam.getString(GetPressClip.PRODUCT_PARAM, true); final ProductData theProductData = ProductData.findByName(theProductName); final SiteLangData theLang = SiteLangData.getByISOCode(theLangCode); final Product theProduct = theProductData.getReference(); if (theProduct == null) { throw new NoSuchProductException(APIErrorMessage.NO_SUCH_PRODUCT, theProductName); } final List<PressInformationMap> pressFromProductAndLanguage = new LinkedList<PressInformationMap>(); for (final PressData aPressData : PressData.findByLangAndProduct(theLang.getReference(), theProduct, skip, count)) { pressFromProductAndLanguage.add(new PressInformationMap(inParam.getCaller(), aPressData)); } return pressFromProductAndLanguage; }