Package sk.iway.iwcm

Class FileTools

java.lang.Object
sk.iway.iwcm.FileTools

public class FileTools extends Object
FileTools.java - podporne nastroje pre pracu so subormi
  • Field Details

    • pictureExtensions

      public static final List<String> pictureExtensions
    • videoExtensions

      public static final List<String> videoExtensions
  • Constructor Details

    • FileTools

      protected FileTools()
  • Method Details

    • copyFile

      public static boolean copyFile(IwcmFile src, IwcmFile dest)
      Skopiruje subor src do dest
      Parameters:
      src -
      dest -
      Returns:
    • copyFile

      public static boolean copyFile(File src, File dest)
      POZOR pre normalne kopirovanie pouzite verziu s IwcmFile
      Parameters:
      src -
      dest -
      Returns:
    • copyFile

      public static boolean copyFile(InputStream is, IwcmFile dest)
      Copy InputStream to IwcmFile and close InputStream
      Parameters:
      is - - InputStream
      dest -
      Returns:
    • moveFile

      public static boolean moveFile(String origUrl, String destUrl)
      Presunie subor z URL adresy orig na dest
      Parameters:
      origUrl -
      destUrl -
      Returns:
    • moveFile

      public static boolean moveFile(IwcmFile origFile, IwcmFile destFile)
      Presunie subor, ak sa presun nepodari na urovni FS pokusi sa subor prekopirovat a povodny zmazat
      Parameters:
      origFile -
      destFile -
      Returns:
    • deleteDirTree

      public static boolean deleteDirTree(IwcmFile file)
      Rekurzivne vymaze adr. strukturu
      Parameters:
      file -
      Returns:
    • deleteDirTree

      public static boolean deleteDirTree(IwcmFile file, long minFileAge)
      Zmaze v adresarovej strukture subory starsie ako zadany pocet milisekund, zmaze aj prazdne adresare
      Parameters:
      file -
      minFileAge -
      Returns:
    • saveFileContent

      public static boolean saveFileContent(String url, String data)
    • saveFileContent

      public static boolean saveFileContent(String url, String data, String encoding)
      Ulozi obsah retazca do suboru zadaneho URL so zadanym kodovanim
      Parameters:
      url - - napr. /files/subor.txt
      data - - obsah suboru
      encoding - - kodovanie, napr. windows-1250
      Returns:
    • getFileIcon

      public static String getFileIcon(String url)
      Vrati URL obrazku s ikonou suboru
      Parameters:
      url -
      Returns:
    • getFileLength

      public static String getFileLength(String url)
      Vrati naformatovanu velkost suboru v B, kB, MB
      Parameters:
      url -
      Returns:
    • getFileLength

      public static String getFileLength(String url, boolean exactFormat)
      Vrati naformatovanu velkost suboru v B, kB, MB
      Parameters:
      url -
      exactFormat - - ak je nastavene na false, tak iba MB vracia s desatinnymi miestami
      Returns:
    • getFormatFileSize

      public static String getFormatFileSize(long lengthLong, boolean exactFormat)
      Vrati naformatovanu velkost suboru v B, kB, MB
      Parameters:
      lengthLong -
      exactFormat - - ak je nastavene na false, tak iba MB vracia s desatinnymi miestami
      Returns:
    • getFileUsage

      public static List<Column> getFileUsage(String url, Identity user)
      Metoda vrati zoznam stranok (url+nazov) a suborov kde sa nachadza
      Parameters:
      url - - url adresa suboru, napr. /images/wjlogo.gif
      Returns:
    • copyFile

      public static boolean copyFile(org.apache.struts.upload.FormFile src, File out)
      Skopiruje subor src do out
      Parameters:
      src -
      out -
      Returns:
    • isFile

      public static boolean isFile(String url)
      Skontroluje, ci subor na zadanom URL existuje a je to citatelny subor
      Parameters:
      url -
      Returns:
    • isDirectory

      public static boolean isDirectory(String url)
    • exists

      public static boolean exists(String url)
    • getFileExtension

      public static String getFileExtension(String fileName)
    • getFileNameWithoutExtension

      public static String getFileNameWithoutExtension(String fileName)
    • getFilePathWithoutExtension

      public static String getFilePathWithoutExtension(String filePath)
    • copyDirectory

      public static void copyDirectory(IwcmFile from, IwcmFile to) throws IOException
      Throws:
      IOException
    • downloadFile

      public static boolean downloadFile(String url, String localPath)
    • downloadFile

      public static boolean downloadFile(String url, String localPath, String[] reqProperty)
    • downloadFile

      public static boolean downloadFile(String url, String localPath, String[] reqProperty, int redirectCounter, int timeOutSeconds)
      Stiahne subor so zadanym URL do lokalneho suboru
      Parameters:
      url -
      localPath -
      reqProperty - - prida RequestProperty
      Returns:
    • isImage

      public static boolean isImage(String name)
    • isVideoFile

      public static boolean isVideoFile(String name)
    • sortFilesByName

      public static IwcmFile[] sortFilesByName(IwcmFile[] arrayfile)
      Usortuje subory podla mena
      Parameters:
      arrayfile -
      Returns:
    • sortFilesByName

      public static List<IwcmFile> sortFilesByName(List<IwcmFile> files)
      Usortuje subory podla mena
      Parameters:
      files -
      Returns:
    • isFileEditable

      public static boolean isFileEditable(String url)
    • getFilesRecursive

      public static List<IwcmFile> getFilesRecursive(IwcmFile root, IwcmFileFilter filter)
      vrati rekurzivne vsetky subory, ktore vyhovuju vlozenemu filtru
      Parameters:
      root - adresar v ktorom chceme vyhladat subory
      filter - instancia rozhrania filter s podmienkami akceptacie suborov
      Returns:
    • isFileAllowedForUpload

      public static boolean isFileAllowedForUpload(Identity user, String fileName)
      Overi, ci je mozne nahrat dany subor na server
      Parameters:
      user -
      fileName -
      Returns:
    • symlinkReplaceToRootPath

      public static String symlinkReplaceToRootPath(String path)
      Na Tomcat8/Java8 sa symlinky interpretuju cez servletContext.getRealPath ako cesty mimo rootu a nie ako root/images, z /www/tomcat-test/webapps/webjet/images sa stane /mnt/agluster/images co robi potom bordel tato metoda zabezpeci spatne premenovanie cesty zacinajucu na root
      Parameters:
      path -
      Returns:
    • createDefaultStaticContentFolders

      public static void createDefaultStaticContentFolders()
      Vytvori defaultne adresare pre file system (/images,/files,/images/gallery,/images/video)
    • getDirsNames

      public static List<String> getDirsNames(String rootURL)
    • readFileContent

      public static String readFileContent(String url)
      Nacita obsah suboru na zadanej ceste do retazca
      Parameters:
      url - - cesta k suboru typu /files/admin.txt
      Returns:
    • readFileContent

      public static String readFileContent(String url, String encoding)
      Nacita obsah suboru na zadanom URL do retazca
      Parameters:
      url - - cesta k suboru typu /files/admin.txt
      encoding - - kodovanie suboru, napr. windows-1250
      Returns:
    • getDirFileUsage

      public static List<UnusedFile> getDirFileUsage(String rootUrl, javax.servlet.http.HttpServletRequest request)
      Metoda vrati zoznam stranok triedy UnusedFile (nazov suboru + virtualna parent cesta) a suborov, ktore nie su pouzivane t.z. nenachadzaju sa na ziadnej stranke
      prehladava aj tieto umiestnenia:
      banner_banners stlpec banner_location a banner_redirect
      calendar stlpec description
      document_forum stlpec question
      gallery stlpec image_path (iba pre subory v /images)
      media stlpec media_link
      tips_of_the_day stlpec tip_text
      Parameters:
      rootUrl - - url adresa, napr. /files/mac, ktoreho obsah sa prehladava rekurzivne
      request - - request, z ktoreho zistime domeny
      Returns:
    • directoryScan

      public static List<Column> directoryScan(String rootUrl, String... patterns)
      Vyhlada rekurzivne subory, ktore vyhovuju zadanemu pattern-u
      Parameters:
      rootUrl - - korenovy adresar z ktoreho zacina vyhladavanie
      patterns - - wild-card patterny (pouzije regex kde "*" nahradi ".*", "?" nahradi ".?" a odescapuje "."). Prefix "-" pred patternom znamena ze subory nesmu vyhovovat danemu patternu
      Returns:
      zoznam suborov v Column strukture
    • listFilesByType

      public static List<File> listFilesByType(File directory, String type)
      Vyhlada rekurzivne dany typ suborov.
      Parameters:
      directory -
      type -
      Returns: