private static boolean renameZipShp(String userName, InfoPreview infoPreview, String tempUserDir)
     throws ResourceNotFoundFault {
   String tempUserZipDir = PublishUtility.createDir(tempUserDir + PublishUtility.ZIP_DIR_NAME);
   boolean result = false;
   LayerPublishAction layerPublishAction = infoPreview.getLayerPublishAction();
   String newName = userName + "_shp_" + infoPreview.getNewName();
   if (layerPublishAction != null
       && layerPublishAction.equals(LayerPublishAction.RENAME)
       && newName != null
       && !newName.equalsIgnoreCase(infoPreview.getDataStoreName())) {
     String fileName = tempUserZipDir + infoPreview.getDataStoreName() + ".zip";
     File previousFile = new File(fileName);
     ZipFile zipSrc = null;
     String renameDirPath = tempUserZipDir + "rename" + System.getProperty("file.separator");
     try {
       PublishUtility.createDir(renameDirPath);
       logger.debug("********* ManageRename renameDirPath: " + renameDirPath);
       // Decomprime il contenuto dello zip nella cartella rename
       zipSrc = new ZipFile(previousFile);
       Enumeration<? extends ZipEntry> entries = zipSrc.entries();
       while (entries.hasMoreElements()) {
         ZipEntry entry = entries.nextElement();
         PublishUtility.extractEntryToFile(entry, zipSrc, renameDirPath);
       }
       logger.debug("********* ManageRename element unzipped");
       // Dopo l'estrazione rinominare e creare zip
       compressFiles(
           tempUserZipDir,
           renameDirPath,
           newName + ".zip",
           infoPreview.getDataStoreName(),
           newName);
       logger.debug("********* ManageRename after compress file");
       // Cancellare vecchio zip
       previousFile.delete();
       logger.debug("********* ManageRename after delete previous file");
       result = Boolean.TRUE;
     } catch (Exception e) {
       logger.error("ERRORE : " + e);
       throw new ResourceNotFoundFault(e.getMessage());
     } finally {
       try {
         zipSrc.close();
         // Cancella cartella rename
         PublishUtility.deleteDir(renameDirPath);
         logger.debug("********* ManageRename succesfully removed rename dir");
       } catch (IOException ex) {
       }
     }
     logger.debug("Shape Zip renamed: " + result);
     if (result) {
       infoPreview.setDataStoreName(newName);
     }
   }
   return result;
 }
  private static boolean renameTif(String userName, InfoPreview infoPreview, String tempUserDir)
      throws ResourceNotFoundFault {
    boolean result = false;
    String tempUserTifDir = PublishUtility.createDir(tempUserDir + PublishUtility.TIF_DIR_NAME);
    LayerPublishAction layerPublishAction = infoPreview.getLayerPublishAction();
    String newName = userName + "_" + infoPreview.getNewName();

    if (layerPublishAction != null
        && layerPublishAction.equals(LayerPublishAction.RENAME)
        && newName != null
        && !newName.equalsIgnoreCase(infoPreview.getDataStoreName())) {
      // Rinominare il file nuovo con il nuovo nome

    } else if (layerPublishAction != null
        && layerPublishAction.equals(LayerPublishAction.OVERRIDE)) {
      // Cancellare il vecchio file e rinominare il file nuovo con il vecchio nome
      logger.debug("renameTif in Override operation");
      String fileName = tempUserTifDir + infoPreview.getDataStoreName() + ".tif";
      File previousFile = new File(fileName);
      previousFile.delete();
      newName = infoPreview.getDataStoreName();
      logger.debug("renameTif after Override operation: " + newName);
    }
    String origName = infoPreview.getFileName();
    String fileName = tempUserTifDir + origName + ".tif";
    File previousFile = new File(fileName);
    previousFile.renameTo(new File(tempUserTifDir + newName + ".tif"));
    //
    String SLDFileName = origName + ".sld";
    File fileSLD = new File(tempUserTifDir, SLDFileName);
    if (fileSLD.exists()) {
      File filePublished = PublishUtility.copyFile(fileSLD, tempUserTifDir, newName + ".sld", true);
      fileSLD.delete();
    }
    //
    String TFWFileName = origName + ".tfw";
    File fileTFW = new File(tempUserTifDir, TFWFileName);
    if (fileTFW.exists()) {
      PublishUtility.copyFile(fileTFW, tempUserTifDir, newName + ".tfw", true);
      fileTFW.delete();
    }
    String PRJFileName = origName + ".prj";
    File filePRJ = new File(tempUserTifDir, PRJFileName);
    if (filePRJ.exists()) {
      PublishUtility.copyFile(filePRJ, tempUserTifDir, newName + ".prj", true);
      filePRJ.delete();
    }
    infoPreview.setDataStoreName(newName);
    result = Boolean.TRUE;
    logger.debug("Tif renamed: " + result);
    return result;
  }
  /**
   * ***************
   *
   * @param zipFileName the name of the resulting zip file
   * @param shpFileName the name of the shp file to compress
   * @return
   */
  public static ZipOutputStream compressFiles(
      String tempUserZipDir,
      String tempUserDir,
      String zipFileName,
      String origName,
      String destName) {
    ZipOutputStream out;
    try {
      out = new ZipOutputStream(new FileOutputStream(tempUserZipDir + zipFileName));
      File shpFile = new File(tempUserDir + origName + ".shp");
      File dbfFile = new File(tempUserDir + origName + ".dbf");
      File shxFile = new File(tempUserDir + origName + ".shx"); // sbn&&sbx&&CPG
      File prjFile = new File(tempUserDir + origName + ".prj");

      File shpDestFile = shpFile;
      File dbfDestFile = dbfFile;
      File shxDestFile = shxFile;
      File prjDestFile = prjFile;

      File sldFile = new File(tempUserDir + origName + ".sld");
      File sldDestFile = sldFile;
      File cpgFile = new File(tempUserDir + origName + ".cpg");
      File cpgDestFile = cpgFile;

      if (destName != null) {
        shpDestFile = new File(tempUserDir + destName + ".shp");
        shpFile.renameTo(shpDestFile);
        dbfDestFile = new File(tempUserDir + destName + ".dbf");
        dbfFile.renameTo(dbfDestFile);
        shxDestFile = new File(tempUserDir + destName + ".shx");
        shxFile.renameTo(shxDestFile);
        prjDestFile = new File(tempUserDir + destName + ".prj");
        prjFile.renameTo(prjDestFile);
        sldDestFile = new File(tempUserDir + destName + ".sld");
        sldFile.renameTo(sldDestFile);
        cpgDestFile = new File(tempUserDir + destName + ".cpg");
        cpgFile.renameTo(cpgDestFile);
      }
      out = PublishUtility.compress(out, shpDestFile);
      out = PublishUtility.compress(out, dbfDestFile);
      out = PublishUtility.compress(out, shxDestFile);
      out = PublishUtility.compress(out, prjDestFile);
      if (sldDestFile.exists()) {
        out = PublishUtility.compress(out, sldDestFile);
      }
      if (cpgDestFile.exists()) {
        out = PublishUtility.compress(out, cpgDestFile);
      }
      out.close();
    } catch (Exception ex) {
      logger.error("Exception compressing: " + zipFileName + " - " + ex);
      return null;
    }
    return out;
  }