Example #1
0
  private boolean processImages() throws Exception {

    boolean isSuccess = false;

    logger.debug("processing zip images ");

    isSuccess = archive.initArchiveObj(idfSession, getZipId(), getArticleId());

    if (!isSuccess) {
      return false;
    }

    archive.loadFiles();

    logger.debug(
        "Images loaded successfull in ZipEntry, Image count : " + archive.getNumberOfImages());

    archive.validate();

    logger.debug(
        "Received image validation completed, All images valid : " + archive.isAllZipImagesValid());

    boolean isAllZipImagesNameValid = false;
    boolean isPrintImagesValid = false;

    if (archive.isAllZipImagesValid() == false) {
      logger.error("All images are not valid... Error: " + archive.getErrorMessage());

      isAllZipImagesNameValid = false;
      // return false;
    } else {
      isAllZipImagesNameValid = true;
    }

    if (IConstants.ITEM_TYPE_PRINT_IMAGE.equals(getImageType())) {

      logger.debug("Validating print images against article Web images");

      isPrintImagesValid = archive.validatePrintImagesAgainstWeb();

      if (isPrintImagesValid == false) {
        logger.error("Images received in zip are not compared to Web images");
        return false;
      }
    }

    if (isAllZipImagesNameValid == false) {
      logger.error("Images received in zip are not valid due to name or extension");
      return false;
    }

    logger.debug("All images are valid...starting import in article folder.......");

    archive.loadContents();

    logger.debug("All images content extracted from zip, starting images import in Article ");

    boolean keepFiles = false;
    if (IConstants.ITEM_TYPE_WEB_IMAGE.equals(getImageType()) && (copyWebImagesAsPrint == true)) {
      keepFiles = true;
    }

    logger.debug("KeepFile : " + keepFiles);

    ArticleImageHandler importer = new ArticleImageHandler();
    isSuccess =
        importer.uploadImages(
            idfSession, getArticleId(), archive.getImages(), getImageType(), keepFiles);
    logger.debug("upload Web images completed");

    if (copyWebImagesAsPrint) {
      logger.debug("Copying Web images as Print images");
      isSuccess =
          importer.uploadImages(
              idfSession,
              getArticleId(),
              archive.getImages(),
              IConstants.ITEM_TYPE_PRINT_IMAGE,
              false);
      logger.debug("Web images copied as Print images");
    }

    if (!isSuccess) {
      logger.error("image import process failed ");
      result.setStrErrorMessage("image import process failed");
      return false;
    }

    return true;
  }