Example usage for com.liferay.portal.kernel.util FileUtil getBytes

List of usage examples for com.liferay.portal.kernel.util FileUtil getBytes

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.util FileUtil getBytes.

Prototype

public static byte[] getBytes(InputStream is) throws IOException 

Source Link

Usage

From source file:com.liferay.portlet.layoutsadmin.action.EditLayoutsAction.java

License:Open Source License

protected byte[] getIconBytes(UploadPortletRequest uploadPortletRequest, String iconFileName) {

    InputStream inputStream = null;

    try {// ww  w. j  av a2  s. co  m
        inputStream = uploadPortletRequest.getFileAsStream(iconFileName);

        if (inputStream != null) {
            return FileUtil.getBytes(inputStream);
        }
    } catch (IOException ioe) {
        if (_log.isWarnEnabled()) {
            _log.warn("Unable to retrieve icon", ioe);
        }
    }

    return new byte[0];
}

From source file:com.liferay.portlet.messageboards.action.EditMessageAction.java

License:Open Source License

protected void updateMessage(ActionRequest actionRequest, ActionResponse actionResponse) throws Exception {

    long messageId = ParamUtil.getLong(actionRequest, "messageId");

    long categoryId = ParamUtil.getLong(actionRequest, "categoryId");
    long threadId = ParamUtil.getLong(actionRequest, "threadId");
    long parentMessageId = ParamUtil.getLong(actionRequest, "parentMessageId");
    String subject = ParamUtil.getString(actionRequest, "subject");
    String body = ParamUtil.getString(actionRequest, "body");
    boolean attachments = ParamUtil.getBoolean(actionRequest, "attachments");

    List<ObjectValuePair<String, byte[]>> files = new ArrayList<ObjectValuePair<String, byte[]>>();

    if (attachments) {
        UploadPortletRequest uploadRequest = PortalUtil.getUploadPortletRequest(actionRequest);

        for (int i = 1; i <= 5; i++) {
            File file = uploadRequest.getFile("msgFile" + i);
            String fileName = uploadRequest.getFileName("msgFile" + i);
            byte[] bytes = FileUtil.getBytes(file);

            if ((bytes != null) && (bytes.length > 0)) {
                ObjectValuePair<String, byte[]> ovp = new ObjectValuePair<String, byte[]>(fileName, bytes);

                files.add(ovp);//from   www. j av a  2 s  .c  o m
            }
        }
    }

    boolean question = ParamUtil.getBoolean(actionRequest, "question");
    boolean anonymous = ParamUtil.getBoolean(actionRequest, "anonymous");
    double priority = ParamUtil.getDouble(actionRequest, "priority");

    ServiceContext serviceContext = ServiceContextFactory.getInstance(MBMessage.class.getName(), actionRequest);

    MBMessage message = null;

    if (messageId <= 0) {
        if (PropsValues.CAPTCHA_CHECK_PORTLET_MESSAGE_BOARDS_EDIT_MESSAGE) {
            CaptchaUtil.check(actionRequest);
        }

        if (threadId <= 0) {

            // Post new thread

            message = MBMessageServiceUtil.addMessage(categoryId, subject, body, files, anonymous, priority,
                    serviceContext);

            MetadataActionUtil.addMetadata(MBMessage.class.getName(), message.getMessageId(), actionRequest);

            if (question) {
                MBMessageFlagLocalServiceUtil.addQuestionFlag(message.getMessageId());
            }
        } else {

            // Post reply

            message = MBMessageServiceUtil.addMessage(categoryId, threadId, parentMessageId, subject, body,
                    files, anonymous, priority, serviceContext);
        }
    } else {
        List<String> existingFiles = new ArrayList<String>();

        for (int i = 1; i <= 5; i++) {
            String path = ParamUtil.getString(actionRequest, "existingPath" + i);

            if (Validator.isNotNull(path)) {
                existingFiles.add(path);
            }
        }

        // Update message

        message = MBMessageServiceUtil.updateMessage(messageId, subject, body, files, existingFiles, priority,
                serviceContext);

        if (message.isRoot()) {
            if (question) {
                MBMessageFlagLocalServiceUtil.addQuestionFlag(messageId);
            } else {
                MBMessageFlagLocalServiceUtil.deleteQuestionAndAnswerFlags(message.getThreadId());
            }
        }
    }

    PortletURL portletURL = ((ActionResponseImpl) actionResponse).createRenderURL();

    portletURL.setParameter("struts_action", "/message_boards/view_message");
    portletURL.setParameter("messageId", String.valueOf(message.getMessageId()));

    actionResponse.sendRedirect(portletURL.toString());
}

From source file:com.liferay.portlet.plugininstaller.action.InstallPluginAction.java

License:Open Source License

protected void localDeploy(ActionRequest actionRequest) throws Exception {
    UploadPortletRequest uploadPortletRequest = PortalUtil.getUploadPortletRequest(actionRequest);

    String fileName = null;/*from  w w w  .j  a v a  2  s . co m*/

    String deploymentContext = ParamUtil.getString(actionRequest, "deploymentContext");

    if (Validator.isNotNull(deploymentContext)) {
        fileName = BaseDeployer.DEPLOY_TO_PREFIX + deploymentContext + ".war";
    } else {
        fileName = GetterUtil.getString(uploadPortletRequest.getFileName("file"));

        int pos = fileName.lastIndexOf(CharPool.PERIOD);

        if (pos != -1) {
            deploymentContext = fileName.substring(0, pos);
        }
    }

    File file = uploadPortletRequest.getFile("file");

    byte[] bytes = FileUtil.getBytes(file);

    if ((bytes == null) || (bytes.length == 0)) {
        SessionErrors.add(actionRequest, UploadException.class.getName());

        return;
    }

    try {
        PluginPackageUtil.registerPluginPackageInstallation(deploymentContext);

        String source = file.toString();

        String deployDir = PrefsPropsUtil.getString(PropsKeys.AUTO_DEPLOY_DEPLOY_DIR,
                PropsValues.AUTO_DEPLOY_DEPLOY_DIR);

        String destination = deployDir + StringPool.SLASH + fileName;

        FileUtil.copyFile(source, destination);

        SessionMessages.add(actionRequest, "pluginUploaded");
    } finally {
        PluginPackageUtil.endPluginPackageInstallation(deploymentContext);
    }
}

From source file:com.liferay.portlet.shopping.service.impl.ShoppingItemLocalServiceImpl.java

License:Open Source License

public ShoppingItem addItem(long userId, long groupId, long categoryId, String sku, String name,
        String description, String properties, String fieldsQuantities, boolean requiresShipping,
        int stockQuantity, boolean featured, Boolean sale, boolean smallImage, String smallImageURL,
        File smallImageFile, boolean mediumImage, String mediumImageURL, File mediumImageFile,
        boolean largeImage, String largeImageURL, File largeImageFile, List<ShoppingItemField> itemFields,
        List<ShoppingItemPrice> itemPrices, ServiceContext serviceContext)
        throws PortalException, SystemException {

    // Item/*from   w w  w. ja  v  a2 s. com*/

    User user = userPersistence.findByPrimaryKey(userId);
    sku = sku.trim().toUpperCase();

    byte[] smallImageBytes = null;
    byte[] mediumImageBytes = null;
    byte[] largeImageBytes = null;

    try {
        smallImageBytes = FileUtil.getBytes(smallImageFile);
        mediumImageBytes = FileUtil.getBytes(mediumImageFile);
        largeImageBytes = FileUtil.getBytes(largeImageFile);
    } catch (IOException ioe) {
    }

    Date now = new Date();

    validate(user.getCompanyId(), 0, sku, name, smallImage, smallImageURL, smallImageFile, smallImageBytes,
            mediumImage, mediumImageURL, mediumImageFile, mediumImageBytes, largeImage, largeImageURL,
            largeImageFile, largeImageBytes);

    long itemId = counterLocalService.increment();

    ShoppingItem item = shoppingItemPersistence.create(itemId);

    item.setGroupId(groupId);
    item.setCompanyId(user.getCompanyId());
    item.setUserId(user.getUserId());
    item.setUserName(user.getFullName());
    item.setCreateDate(now);
    item.setModifiedDate(now);
    item.setCategoryId(categoryId);
    item.setSku(sku);
    item.setName(name);
    item.setDescription(description);
    item.setProperties(properties);
    item.setFields(itemFields.size() > 0);
    item.setFieldsQuantities(fieldsQuantities);

    for (ShoppingItemPrice itemPrice : itemPrices) {
        if (itemPrice.getStatus() == ShoppingItemPriceConstants.STATUS_ACTIVE_DEFAULT) {

            item.setMinQuantity(itemPrice.getMinQuantity());
            item.setMaxQuantity(itemPrice.getMaxQuantity());
            item.setPrice(itemPrice.getPrice());
            item.setDiscount(itemPrice.getDiscount());
            item.setTaxable(itemPrice.getTaxable());
            item.setShipping(itemPrice.getShipping());
            item.setUseShippingFormula(itemPrice.getUseShippingFormula());
        }

        if ((sale == null) && (itemPrice.getDiscount() > 0)
                && ((itemPrice.getStatus() == ShoppingItemPriceConstants.STATUS_ACTIVE_DEFAULT)
                        || (itemPrice.getStatus() == ShoppingItemPriceConstants.STATUS_ACTIVE))) {

            sale = Boolean.TRUE;
        }
    }

    item.setRequiresShipping(requiresShipping);
    item.setStockQuantity(stockQuantity);
    item.setFeatured(featured);
    item.setSale((sale != null) ? sale.booleanValue() : false);
    item.setSmallImage(smallImage);
    item.setSmallImageId(counterLocalService.increment());
    item.setSmallImageURL(smallImageURL);
    item.setMediumImage(mediumImage);
    item.setMediumImageId(counterLocalService.increment());
    item.setMediumImageURL(mediumImageURL);
    item.setLargeImage(largeImage);
    item.setLargeImageId(counterLocalService.increment());
    item.setLargeImageURL(largeImageURL);

    shoppingItemPersistence.update(item, false);

    // Resources

    if (serviceContext.isAddGroupPermissions() || serviceContext.isAddGuestPermissions()) {

        addItemResources(item, serviceContext.isAddGroupPermissions(), serviceContext.isAddGuestPermissions());
    } else {
        addItemResources(item, serviceContext.getGroupPermissions(), serviceContext.getGuestPermissions());
    }

    // Images

    saveImages(smallImage, item.getSmallImageId(), smallImageFile, smallImageBytes, mediumImage,
            item.getMediumImageId(), mediumImageFile, mediumImageBytes, largeImage, item.getLargeImageId(),
            largeImageFile, largeImageBytes);

    // Item fields

    for (ShoppingItemField itemField : itemFields) {
        long itemFieldId = counterLocalService.increment();

        itemField.setItemFieldId(itemFieldId);
        itemField.setItemId(itemId);
        itemField.setName(checkItemField(itemField.getName()));
        itemField.setValues(checkItemField(itemField.getValues()));

        shoppingItemFieldPersistence.update(itemField, false);
    }

    // Item prices

    if (itemPrices.size() > 1) {
        for (ShoppingItemPrice itemPrice : itemPrices) {
            long itemPriceId = counterLocalService.increment();

            itemPrice.setItemPriceId(itemPriceId);
            itemPrice.setItemId(itemId);

            shoppingItemPricePersistence.update(itemPrice, false);
        }
    }

    return item;
}

From source file:com.liferay.portlet.shopping.service.impl.ShoppingItemLocalServiceImpl.java

License:Open Source License

public ShoppingItem updateItem(long userId, long itemId, long groupId, long categoryId, String sku, String name,
        String description, String properties, String fieldsQuantities, boolean requiresShipping,
        int stockQuantity, boolean featured, Boolean sale, boolean smallImage, String smallImageURL,
        File smallImageFile, boolean mediumImage, String mediumImageURL, File mediumImageFile,
        boolean largeImage, String largeImageURL, File largeImageFile, List<ShoppingItemField> itemFields,
        List<ShoppingItemPrice> itemPrices, ServiceContext serviceContext)
        throws PortalException, SystemException {

    // Item/*from  ww  w .ja  v  a2  s.c  o m*/

    ShoppingItem item = shoppingItemPersistence.findByPrimaryKey(itemId);

    User user = userPersistence.findByPrimaryKey(userId);
    categoryId = getCategory(item, categoryId);
    sku = sku.trim().toUpperCase();

    byte[] smallImageBytes = null;
    byte[] mediumImageBytes = null;
    byte[] largeImageBytes = null;

    try {
        smallImageBytes = FileUtil.getBytes(smallImageFile);
        mediumImageBytes = FileUtil.getBytes(mediumImageFile);
        largeImageBytes = FileUtil.getBytes(largeImageFile);
    } catch (IOException ioe) {
    }

    validate(user.getCompanyId(), itemId, sku, name, smallImage, smallImageURL, smallImageFile, smallImageBytes,
            mediumImage, mediumImageURL, mediumImageFile, mediumImageBytes, largeImage, largeImageURL,
            largeImageFile, largeImageBytes);

    item.setModifiedDate(new Date());
    item.setCategoryId(categoryId);
    item.setSku(sku);
    item.setName(name);
    item.setDescription(description);
    item.setProperties(properties);
    item.setFields(itemFields.size() > 0);
    item.setFieldsQuantities(fieldsQuantities);

    for (ShoppingItemPrice itemPrice : itemPrices) {
        if (itemPrice.getStatus() == ShoppingItemPriceConstants.STATUS_ACTIVE_DEFAULT) {

            item.setMinQuantity(itemPrice.getMinQuantity());
            item.setMaxQuantity(itemPrice.getMaxQuantity());
            item.setPrice(itemPrice.getPrice());
            item.setDiscount(itemPrice.getDiscount());
            item.setTaxable(itemPrice.getTaxable());
            item.setShipping(itemPrice.getShipping());
            item.setUseShippingFormula(itemPrice.getUseShippingFormula());
        }

        if ((sale == null) && (itemPrice.getDiscount() > 0)
                && ((itemPrice.getStatus() == ShoppingItemPriceConstants.STATUS_ACTIVE_DEFAULT)
                        || (itemPrice.getStatus() == ShoppingItemPriceConstants.STATUS_ACTIVE))) {

            sale = Boolean.TRUE;
        }
    }

    item.setRequiresShipping(requiresShipping);
    item.setStockQuantity(stockQuantity);
    item.setFeatured(featured);
    item.setSale((sale != null) ? sale.booleanValue() : false);
    item.setSmallImage(smallImage);
    item.setSmallImageURL(smallImageURL);
    item.setMediumImage(mediumImage);
    item.setMediumImageURL(mediumImageURL);
    item.setLargeImage(largeImage);
    item.setLargeImageURL(largeImageURL);

    shoppingItemPersistence.update(item, false);

    // Images

    saveImages(smallImage, item.getSmallImageId(), smallImageFile, smallImageBytes, mediumImage,
            item.getMediumImageId(), mediumImageFile, mediumImageBytes, largeImage, item.getLargeImageId(),
            largeImageFile, largeImageBytes);

    // Item fields

    shoppingItemFieldPersistence.removeByItemId(itemId);

    for (ShoppingItemField itemField : itemFields) {
        long itemFieldId = counterLocalService.increment();

        itemField.setItemFieldId(itemFieldId);
        itemField.setItemId(itemId);
        itemField.setName(checkItemField(itemField.getName()));
        itemField.setValues(checkItemField(itemField.getValues()));

        shoppingItemFieldPersistence.update(itemField, false);
    }

    // Item prices

    shoppingItemPricePersistence.removeByItemId(itemId);

    if (itemPrices.size() > 1) {
        for (ShoppingItemPrice itemPrice : itemPrices) {
            long itemPriceId = counterLocalService.increment();

            itemPrice.setItemPriceId(itemPriceId);
            itemPrice.setItemId(itemId);

            shoppingItemPricePersistence.update(itemPrice, false);
        }
    }

    return item;
}

From source file:com.liferay.portlet.softwarecatalog.action.EditProductEntryAction.java

License:Open Source License

protected List<byte[]> getImages(UploadPortletRequest uploadPortletRequest, String imagePrefix)
        throws Exception {

    List<byte[]> images = new ArrayList<byte[]>();

    for (String name : getSortedParameterNames(uploadPortletRequest, imagePrefix)) {

        int priority = GetterUtil.getInteger(name.substring(imagePrefix.length(), name.length()));

        boolean preserveScreenshot = ParamUtil.getBoolean(uploadPortletRequest,
                "preserveScreenshot" + priority);

        byte[] bytes = null;

        if (preserveScreenshot) {
            SCProductScreenshot productScreenshot = getProductScreenshot(uploadPortletRequest, priority);

            Image image = null;//www . j a v a  2 s. c om

            if (imagePrefix.equals("fullImage")) {
                image = ImageLocalServiceUtil.getImage(productScreenshot.getFullImageId());
            } else {
                image = ImageLocalServiceUtil.getImage(productScreenshot.getThumbnailId());
            }

            bytes = image.getTextObj();
        } else {
            InputStream inputStream = uploadPortletRequest.getFileAsStream(name);

            if (inputStream != null) {
                bytes = FileUtil.getBytes(inputStream);
            }
        }

        if ((bytes != null) && (bytes.length > 0)) {
            images.add(bytes);
        } else {
            throw new ProductEntryScreenshotsException();
        }
    }

    return images;
}

From source file:com.liferay.portlet.usersadmin.action.EditUserPortraitAction.java

License:Open Source License

protected void updatePortrait(ActionRequest actionRequest) throws Exception {

    if (_log.isDebugEnabled()) {
        PortletRequestUtil.testMultipartWithCommonsFileUpload(actionRequest);
    }// ww  w  .java2  s. c o  m

    UploadPortletRequest uploadPortletRequest = PortalUtil.getUploadPortletRequest(actionRequest);

    User user = PortalUtil.getSelectedUser(uploadPortletRequest);

    InputStream inputStream = uploadPortletRequest.getFileAsStream("fileName");

    if (inputStream == null) {
        throw new UploadException();
    }

    byte[] bytes = FileUtil.getBytes(inputStream);

    UserServiceUtil.updatePortrait(user.getUserId(), bytes);
}

From source file:com.liferay.sevencogs.hook.events.StartupAction.java

License:Open Source License

protected byte[] getBytes(String path) throws Exception {
    return FileUtil.getBytes(getInputStream(path));
}

From source file:com.liferay.shopping.service.impl.ShoppingItemLocalServiceImpl.java

License:Open Source License

public ShoppingItem addItem(long userId, long groupId, long categoryId, String sku, String name,
        String description, String properties, String fieldsQuantities, boolean requiresShipping,
        int stockQuantity, boolean featured, Boolean sale, boolean smallImage, String smallImageURL,
        File smallImageFile, boolean mediumImage, String mediumImageURL, File mediumImageFile,
        boolean largeImage, String largeImageURL, File largeImageFile, List<ShoppingItemField> itemFields,
        List<ShoppingItemPrice> itemPrices, ServiceContext serviceContext)
        throws PortalException, SystemException, Exception {

    // Item/*from   w ww .j  a va 2  s .co m*/

    User user = userPersistence.findByPrimaryKey(userId);
    sku = sku.trim().toUpperCase();

    byte[] smallImageBytes = null;
    byte[] mediumImageBytes = null;
    byte[] largeImageBytes = null;

    try {
        smallImageBytes = FileUtil.getBytes(smallImageFile);
        mediumImageBytes = FileUtil.getBytes(mediumImageFile);
        largeImageBytes = FileUtil.getBytes(largeImageFile);
    } catch (IOException ioe) {
    }

    Date now = new Date();

    validate(user.getCompanyId(), 0, sku, name, smallImage, smallImageURL, smallImageFile, smallImageBytes,
            mediumImage, mediumImageURL, mediumImageFile, mediumImageBytes, largeImage, largeImageURL,
            largeImageFile, largeImageBytes);

    long itemId = counterLocalService.increment();

    ShoppingItem item = shoppingItemPersistence.create(itemId);

    item.setGroupId(groupId);
    item.setCompanyId(user.getCompanyId());
    item.setUserId(user.getUserId());
    item.setUserName(user.getFullName());
    item.setCreateDate(now);
    item.setModifiedDate(now);
    item.setCategoryId(categoryId);
    item.setSku(sku);
    item.setName(name);
    item.setDescription(description);
    item.setProperties(properties);
    item.setFields(itemFields.size() > 0);
    item.setFieldsQuantities(fieldsQuantities);

    for (ShoppingItemPrice itemPrice : itemPrices) {
        if (itemPrice.getStatus() == ShoppingItemPriceConstants.STATUS_ACTIVE_DEFAULT) {

            item.setMinQuantity(itemPrice.getMinQuantity());
            item.setMaxQuantity(itemPrice.getMaxQuantity());
            item.setPrice(itemPrice.getPrice());
            item.setDiscount(itemPrice.getDiscount());
            item.setTaxable(itemPrice.getTaxable());
            item.setShipping(itemPrice.getShipping());
            item.setUseShippingFormula(itemPrice.getUseShippingFormula());
        }

        if ((sale == null) && (itemPrice.getDiscount() > 0)
                && ((itemPrice.getStatus() == ShoppingItemPriceConstants.STATUS_ACTIVE_DEFAULT)
                        || (itemPrice.getStatus() == ShoppingItemPriceConstants.STATUS_ACTIVE))) {

            sale = Boolean.TRUE;
        }
    }

    item.setRequiresShipping(requiresShipping);
    item.setStockQuantity(stockQuantity);
    item.setFeatured(featured);
    item.setSale((sale != null) ? sale.booleanValue() : false);
    item.setSmallImage(smallImage);
    item.setSmallImageId(counterLocalService.increment());
    item.setSmallImageURL(smallImageURL);
    item.setMediumImage(mediumImage);
    item.setMediumImageId(counterLocalService.increment());
    item.setMediumImageURL(mediumImageURL);
    item.setLargeImage(largeImage);
    item.setLargeImageId(counterLocalService.increment());
    item.setLargeImageURL(largeImageURL);

    shoppingItemPersistence.update(item, false);

    // Resources

    if (serviceContext.getAddGroupPermissions() || serviceContext.getAddGuestPermissions()) {

        addItemResources(item, serviceContext.getAddGroupPermissions(),
                serviceContext.getAddGuestPermissions());
    } else {
        addItemResources(item, serviceContext.getGroupPermissions(), serviceContext.getGuestPermissions());
    }

    // Images

    saveImages(smallImage, item.getSmallImageId(), smallImageFile, smallImageBytes, mediumImage,
            item.getMediumImageId(), mediumImageFile, mediumImageBytes, largeImage, item.getLargeImageId(),
            largeImageFile, largeImageBytes);

    // Item fields

    for (ShoppingItemField itemField : itemFields) {
        long itemFieldId = counterLocalService.increment();

        itemField.setItemFieldId(itemFieldId);
        itemField.setItemId(itemId);
        itemField.setName(checkItemField(itemField.getName()));
        itemField.setValues(checkItemField(itemField.getValues()));

        shoppingItemFieldPersistence.update(itemField, false);
    }

    // Item prices

    if (itemPrices.size() > 1) {
        for (ShoppingItemPrice itemPrice : itemPrices) {
            long itemPriceId = counterLocalService.increment();

            itemPrice.setItemPriceId(itemPriceId);
            itemPrice.setItemId(itemId);

            shoppingItemPricePersistence.update(itemPrice, false);
        }
    }

    return item;
}

From source file:com.liferay.shopping.service.impl.ShoppingItemLocalServiceImpl.java

License:Open Source License

public ShoppingItem updateItem(long userId, long itemId, long groupId, long categoryId, String sku, String name,
        String description, String properties, String fieldsQuantities, boolean requiresShipping,
        int stockQuantity, boolean featured, Boolean sale, boolean smallImage, String smallImageURL,
        File smallImageFile, boolean mediumImage, String mediumImageURL, File mediumImageFile,
        boolean largeImage, String largeImageURL, File largeImageFile, List<ShoppingItemField> itemFields,
        List<ShoppingItemPrice> itemPrices, ServiceContext serviceContext)
        throws PortalException, SystemException, Exception {

    // Item//from ww  w.j  a  v a  2  s. c  o m

    ShoppingItem item = shoppingItemPersistence.findByPrimaryKey(itemId);

    User user = userPersistence.findByPrimaryKey(userId);
    categoryId = getCategory(item, categoryId);
    sku = sku.trim().toUpperCase();

    byte[] smallImageBytes = null;
    byte[] mediumImageBytes = null;
    byte[] largeImageBytes = null;

    try {
        smallImageBytes = FileUtil.getBytes(smallImageFile);
        mediumImageBytes = FileUtil.getBytes(mediumImageFile);
        largeImageBytes = FileUtil.getBytes(largeImageFile);
    } catch (IOException ioe) {
    }

    validate(user.getCompanyId(), itemId, sku, name, smallImage, smallImageURL, smallImageFile, smallImageBytes,
            mediumImage, mediumImageURL, mediumImageFile, mediumImageBytes, largeImage, largeImageURL,
            largeImageFile, largeImageBytes);

    item.setModifiedDate(new Date());
    item.setCategoryId(categoryId);
    item.setSku(sku);
    item.setName(name);
    item.setDescription(description);
    item.setProperties(properties);
    item.setFields(itemFields.size() > 0);
    item.setFieldsQuantities(fieldsQuantities);

    for (ShoppingItemPrice itemPrice : itemPrices) {
        if (itemPrice.getStatus() == ShoppingItemPriceConstants.STATUS_ACTIVE_DEFAULT) {

            item.setMinQuantity(itemPrice.getMinQuantity());
            item.setMaxQuantity(itemPrice.getMaxQuantity());
            item.setPrice(itemPrice.getPrice());
            item.setDiscount(itemPrice.getDiscount());
            item.setTaxable(itemPrice.getTaxable());
            item.setShipping(itemPrice.getShipping());
            item.setUseShippingFormula(itemPrice.getUseShippingFormula());
        }

        if ((sale == null) && (itemPrice.getDiscount() > 0)
                && ((itemPrice.getStatus() == ShoppingItemPriceConstants.STATUS_ACTIVE_DEFAULT)
                        || (itemPrice.getStatus() == ShoppingItemPriceConstants.STATUS_ACTIVE))) {

            sale = Boolean.TRUE;
        }
    }

    item.setRequiresShipping(requiresShipping);
    item.setStockQuantity(stockQuantity);
    item.setFeatured(featured);
    item.setSale((sale != null) ? sale.booleanValue() : false);
    item.setSmallImage(smallImage);
    item.setSmallImageURL(smallImageURL);
    item.setMediumImage(mediumImage);
    item.setMediumImageURL(mediumImageURL);
    item.setLargeImage(largeImage);
    item.setLargeImageURL(largeImageURL);

    shoppingItemPersistence.update(item, false);

    // Images

    saveImages(smallImage, item.getSmallImageId(), smallImageFile, smallImageBytes, mediumImage,
            item.getMediumImageId(), mediumImageFile, mediumImageBytes, largeImage, item.getLargeImageId(),
            largeImageFile, largeImageBytes);

    // Item fields

    shoppingItemFieldPersistence.removeByItemId(itemId);

    for (ShoppingItemField itemField : itemFields) {
        long itemFieldId = counterLocalService.increment();

        itemField.setItemFieldId(itemFieldId);
        itemField.setItemId(itemId);
        itemField.setName(checkItemField(itemField.getName()));
        itemField.setValues(checkItemField(itemField.getValues()));

        shoppingItemFieldPersistence.update(itemField, false);
    }

    // Item prices

    shoppingItemPricePersistence.removeByItemId(itemId);

    if (itemPrices.size() > 1) {
        for (ShoppingItemPrice itemPrice : itemPrices) {
            long itemPriceId = counterLocalService.increment();

            itemPrice.setItemPriceId(itemPriceId);
            itemPrice.setItemId(itemId);

            shoppingItemPricePersistence.update(itemPrice, false);
        }
    }

    return item;
}