package ru.atc.gj.backoffice.actions; import com.hybris.cockpitng.actions.ActionContext; import com.hybris.cockpitng.actions.ActionResult; import com.hybris.cockpitng.actions.CockpitAction; import com.hybris.cockpitng.engine.impl.AbstractComponentWidgetAdapterAware; import com.hybris.cockpitng.util.notifications.NotificationService; import com.hybris.cockpitng.util.notifications.event.NotificationEvent; import de.hybris.platform.core.model.product.ProductModel; import de.hybris.platform.product.ProductService; import de.hybris.platform.servicelayer.model.ModelService; import de.hybris.platform.util.CSVReader; import org.apache.commons.io.FilenameUtils; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import org.hsqldb.lib.StringInputStream; import org.springframework.beans.factory.annotation.Autowired; import org.zkoss.zul.Fileupload; import ru.atc.gj.core.looks.dao.ProductLookDao; import ru.atc.gj.core.looks.service.ProductLookService; import ru.atc.gj.core.model.ProductLookModel; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.stream.Collectors; public class ImportExcelLook extends AbstractComponentWidgetAdapterAware implements CockpitAction<ProductLookModel, Object> { private static final Logger LOG = Logger.getLogger(ImportExcelLook.class); @Autowired private NotificationService notificationService; @Autowired private ModelService modelService; @Autowired ProductLookDao productLookDao; @Autowired ProductLookService productLookService; @Autowired ProductService productService; @Override public ActionResult<Object> perform(ActionContext<ProductLookModel> actionContext) { if (!fileExtension.equals("csv")) { notificationService.notifyUser(notificationService.getWidgetNotificationSource(actionContext), "import.products.importexcellook.badFile.error", NotificationEvent.Level.FAILURE); LOG.error("File format " + media.getContentType() + " (." + fileExtension + ") not supported. Expected file: CSV"); return; } CSVReader csvReader = null; try { if (media.isBinary()){ } else { csvReader = new CSVReader(new StringInputStream(media.getStringData()), "UTF-8"); } csvReader.setLinesToSkip(1); LOG.error(e.getMessage()); } long lineNumber = 0; List<Long> errorLines = new ArrayList<>(); if (csvReader != null) { while (csvReader.readNextLine()){ try { ProductLookModel look; lineNumber++; for (int i = 0; i < line.size(); i ++){ line.put(i, trimmedLine); } if (StringUtils.isEmpty(id) || StringUtils.isEmpty(priority)) { } look = productLookService.getLookById(id); if (look == null) { look = modelService.create(ProductLookModel.class); if (StringUtils.isNotEmpty(id)) { look.setId(id); } } look.setTitle(title); look.setDescription(description); ProductModel baseProduct = findProduct(look, baseProductId); if (baseProduct != null){ look.setBaseProduct(baseProduct); } if (StringUtils.isNotEmpty(linkedProductIds)) { List<ProductModel> linkedProducts = new ArrayList<>(); ProductLookModel finalLook = look; linkedProductCodes.forEach(code -> { ProductModel linkedProduct = findProduct(finalLook, code); if (linkedProduct != null){ linkedProducts.add(linkedProduct); } }); look.setLinkedProducts(linkedProducts); } if (StringUtils.isNotEmpty(priority)) { } modelService.save(look); LOG.error(e.getMessage()); LOG.error("Error while importing Looks in line " + lineNumber); errorLines.add(lineNumber); } } } try { if (csvReader != null) { csvReader.close(); } LOG.error(e.getMessage()); } if (errorLines.isEmpty()) { notificationService.notifyUser(notificationService.getWidgetNotificationSource(actionContext), "import.products.importexcellook.success", NotificationEvent.Level.SUCCESS); } else { LOG.error("Some lines were not imported due to errors: " + errorLinesStr); notificationService.notifyUser(notificationService.getWidgetNotificationSource(actionContext), "import.products.importexcellook.errors", NotificationEvent.Level.FAILURE, errorLines.size(), errorLinesStr); } })); return new ActionResult<>(ActionResult.SUCCESS); } if (StringUtils.isNotEmpty(baseProductId)) { try{ return productService.getProductForCode(look.getCatalogVersion(), baseProductId); LOG.error("Catalog versions are not equal"); } } return null; } }
Standard input is empty
Main.java:32: error: class ImportExcelLook is public, should be declared in a file named ImportExcelLook.java
public class ImportExcelLook extends AbstractComponentWidgetAdapterAware implements CockpitAction<ProductLookModel, Object> {
^
Main.java:3: error: package com.hybris.cockpitng.actions does not exist
import com.hybris.cockpitng.actions.ActionContext;
^
Main.java:4: error: package com.hybris.cockpitng.actions does not exist
import com.hybris.cockpitng.actions.ActionResult;
^
Main.java:5: error: package com.hybris.cockpitng.actions does not exist
import com.hybris.cockpitng.actions.CockpitAction;
^
Main.java:6: error: package com.hybris.cockpitng.engine.impl does not exist
import com.hybris.cockpitng.engine.impl.AbstractComponentWidgetAdapterAware;
^
Main.java:7: error: package com.hybris.cockpitng.util.notifications does not exist
import com.hybris.cockpitng.util.notifications.NotificationService;
^
Main.java:8: error: package com.hybris.cockpitng.util.notifications.event does not exist
import com.hybris.cockpitng.util.notifications.event.NotificationEvent;
^
Main.java:9: error: package de.hybris.platform.core.model.product does not exist
import de.hybris.platform.core.model.product.ProductModel;
^
Main.java:10: error: package de.hybris.platform.product does not exist
import de.hybris.platform.product.ProductService;
^
Main.java:11: error: package de.hybris.platform.servicelayer.model does not exist
import de.hybris.platform.servicelayer.model.ModelService;
^
Main.java:12: error: package de.hybris.platform.util does not exist
import de.hybris.platform.util.CSVReader;
^
Main.java:13: error: package org.apache.commons.io does not exist
import org.apache.commons.io.FilenameUtils;
^
Main.java:14: error: package org.apache.commons.lang does not exist
import org.apache.commons.lang.StringUtils;
^
Main.java:15: error: package org.apache.log4j does not exist
import org.apache.log4j.Logger;
^
Main.java:16: error: package org.hsqldb.lib does not exist
import org.hsqldb.lib.StringInputStream;
^
Main.java:17: error: package org.springframework.beans.factory.annotation does not exist
import org.springframework.beans.factory.annotation.Autowired;
^
Main.java:18: error: package org.zkoss.zul does not exist
import org.zkoss.zul.Fileupload;
^
Main.java:19: error: package ru.atc.gj.core.looks.dao does not exist
import ru.atc.gj.core.looks.dao.ProductLookDao;
^
Main.java:20: error: package ru.atc.gj.core.looks.service does not exist
import ru.atc.gj.core.looks.service.ProductLookService;
^
Main.java:21: error: package ru.atc.gj.core.model does not exist
import ru.atc.gj.core.model.ProductLookModel;
^
Main.java:32: error: cannot find symbol
public class ImportExcelLook extends AbstractComponentWidgetAdapterAware implements CockpitAction<ProductLookModel, Object> {
^
symbol: class AbstractComponentWidgetAdapterAware
Main.java:32: error: cannot find symbol
public class ImportExcelLook extends AbstractComponentWidgetAdapterAware implements CockpitAction<ProductLookModel, Object> {
^
symbol: class CockpitAction
Main.java:32: error: cannot find symbol
public class ImportExcelLook extends AbstractComponentWidgetAdapterAware implements CockpitAction<ProductLookModel, Object> {
^
symbol: class ProductLookModel
Main.java:34: error: cannot find symbol
private static final Logger LOG = Logger.getLogger(ImportExcelLook.class);
^
symbol: class Logger
location: class ImportExcelLook
Main.java:37: error: cannot find symbol
private NotificationService notificationService;
^
symbol: class NotificationService
location: class ImportExcelLook
Main.java:41: error: cannot find symbol
private ModelService modelService;
^
symbol: class ModelService
location: class ImportExcelLook
Main.java:45: error: cannot find symbol
ProductLookDao productLookDao;
^
symbol: class ProductLookDao
location: class ImportExcelLook
Main.java:48: error: cannot find symbol
ProductLookService productLookService;
^
symbol: class ProductLookService
location: class ImportExcelLook
Main.java:51: error: cannot find symbol
ProductService productService;
^
symbol: class ProductService
location: class ImportExcelLook
Main.java:54: error: cannot find symbol
public ActionResult<Object> perform(ActionContext<ProductLookModel> actionContext) {
^
symbol: class ActionContext
location: class ImportExcelLook
Main.java:54: error: cannot find symbol
public ActionResult<Object> perform(ActionContext<ProductLookModel> actionContext) {
^
symbol: class ProductLookModel
location: class ImportExcelLook
Main.java:54: error: cannot find symbol
public ActionResult<Object> perform(ActionContext<ProductLookModel> actionContext) {
^
symbol: class ActionResult
location: class ImportExcelLook
Main.java:181: error: cannot find symbol
private ProductModel findProduct(ProductLookModel look, String baseProductId){
^
symbol: class ProductLookModel
location: class ImportExcelLook
Main.java:181: error: cannot find symbol
private ProductModel findProduct(ProductLookModel look, String baseProductId){
^
symbol: class ProductModel
location: class ImportExcelLook
Main.java:36: error: cannot find symbol
@Autowired
^
symbol: class Autowired
location: class ImportExcelLook
Main.java:40: error: cannot find symbol
@Autowired
^
symbol: class Autowired
location: class ImportExcelLook
Main.java:44: error: cannot find symbol
@Autowired
^
symbol: class Autowired
location: class ImportExcelLook
Main.java:47: error: cannot find symbol
@Autowired
^
symbol: class Autowired
location: class ImportExcelLook
Main.java:50: error: cannot find symbol
@Autowired
^
symbol: class Autowired
location: class ImportExcelLook
Main.java:34: error: cannot find symbol
private static final Logger LOG = Logger.getLogger(ImportExcelLook.class);
^
symbol: variable Logger
location: class ImportExcelLook
Main.java:53: error: method does not override or implement a method from a supertype
@Override
^
Main.java:56: error: cannot find symbol
Fileupload.get(1, uploadEvent -> Arrays.stream(uploadEvent.getMedias()).forEach(media -> {
^
symbol: variable Fileupload
location: class ImportExcelLook
Main.java:57: error: cannot find symbol
String fileExtension = FilenameUtils.getExtension(media.getName());
^
symbol: variable FilenameUtils
location: class ImportExcelLook
Main.java:59: error: package NotificationEvent does not exist
notificationService.notifyUser(notificationService.getWidgetNotificationSource(actionContext), "import.products.importexcellook.badFile.error", NotificationEvent.Level.FAILURE);
^
Main.java:64: error: cannot find symbol
CSVReader csvReader = null;
^
symbol: class CSVReader
location: class ImportExcelLook
Main.java:68: error: cannot find symbol
csvReader = new CSVReader(new ByteArrayInputStream(media.getByteData()), "UTF-8");
^
symbol: class CSVReader
location: class ImportExcelLook
Main.java:70: error: cannot find symbol
csvReader = new CSVReader(new StringInputStream(media.getStringData()), "UTF-8");
^
symbol: class CSVReader
location: class ImportExcelLook
Main.java:70: error: cannot find symbol
csvReader = new CSVReader(new StringInputStream(media.getStringData()), "UTF-8");
^
symbol: class StringInputStream
location: class ImportExcelLook
Main.java:86: error: cannot find symbol
ProductLookModel look;
^
symbol: class ProductLookModel
location: class ImportExcelLook
Main.java:103: error: cannot find symbol
if (StringUtils.isEmpty(id) || StringUtils.isEmpty(priority)) {
^
symbol: variable StringUtils
location: class ImportExcelLook
Main.java:103: error: cannot find symbol
if (StringUtils.isEmpty(id) || StringUtils.isEmpty(priority)) {
^
symbol: variable StringUtils
location: class ImportExcelLook
Main.java:110: error: cannot find symbol
look = modelService.create(ProductLookModel.class);
^
symbol: class ProductLookModel
location: class ImportExcelLook
Main.java:112: error: cannot find symbol
if (StringUtils.isNotEmpty(id)) {
^
symbol: variable StringUtils
location: class ImportExcelLook
Main.java:121: error: cannot find symbol
ProductModel baseProduct = findProduct(look, baseProductId);
^
symbol: class ProductModel
location: class ImportExcelLook
Main.java:129: error: cannot find symbol
if (StringUtils.isNotEmpty(linkedProductIds)) {
^
symbol: variable StringUtils
location: class ImportExcelLook
Main.java:132: error: cannot find symbol
List<ProductModel> linkedProducts = new ArrayList<>();
^
symbol: class ProductModel
location: class ImportExcelLook
Main.java:133: error: cannot find symbol
ProductLookModel finalLook = look;
^
symbol: class ProductLookModel
location: class ImportExcelLook
Main.java:135: error: cannot find symbol
ProductModel linkedProduct = findProduct(finalLook, code);
^
symbol: class ProductModel
location: class ImportExcelLook
Main.java:145: error: cannot find symbol
if (StringUtils.isNotEmpty(priority)) {
^
symbol: variable StringUtils
location: class ImportExcelLook
Main.java:169: error: package NotificationEvent does not exist
notificationService.notifyUser(notificationService.getWidgetNotificationSource(actionContext), "import.products.importexcellook.success", NotificationEvent.Level.SUCCESS);
^
Main.java:173: error: package NotificationEvent does not exist
notificationService.notifyUser(notificationService.getWidgetNotificationSource(actionContext), "import.products.importexcellook.errors", NotificationEvent.Level.FAILURE, errorLines.size(), errorLinesStr);
^
Main.java:178: error: cannot find symbol
return new ActionResult<>(ActionResult.SUCCESS);
^
symbol: class ActionResult
location: class ImportExcelLook
Main.java:178: error: cannot find symbol
return new ActionResult<>(ActionResult.SUCCESS);
^
symbol: variable ActionResult
location: class ImportExcelLook
Main.java:183: error: cannot find symbol
if (StringUtils.isNotEmpty(baseProductId)) {
^
symbol: variable StringUtils
location: class ImportExcelLook
64 errors
Standard output is empty