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