コード例 #1
0
 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;
 }