Class BaseImageService

java.lang.Object
at.letto.service.base.BaseImageService
All Implemented Interfaces:
ImageService
Direct Known Subclasses:
TempImageService

public class BaseImageService extends Object implements ImageService
Basis-Implementierung eines Image-Services
  • Field Details

    • localPath

      private String localPath
      Lokaler Pfad in dem die Bilder gespeichert werden
    • urlPath

      private String urlPath
      URL welche am Webserver auf die Bilder verweist
    • absUrlPath

      private String absUrlPath
      absolute URL welche am Webserver auf die Bilder verweist
    • subdirs

      private boolean subdirs
      Gibt an ob die Dateien in Unterverzeichniss gelegt werden, welche mit den ersten zwei Buchstaben der Datei beginnen
    • filename

      protected String filename
      Dateiname der Datei welche zum Prüfen verwendet wird
  • Constructor Details

  • Method Details

    • adaptUrlToRelative

      public void adaptUrlToRelative(String serverpath)
      Description copied from interface: ImageService
      Anpassen des Image-Services an ein lokales Service: Die URL wird nicht mehr vollständig zurückgeben, sondern nur mehr ausgehend vom akt. Server beginnend mit zB. /images/....
      Diese Anpassung wird nur durchgeführt, wenn das Image-Service und der Server die gleiche IP-Adresse und das gleiche port haben. Notwendig, um das Download-Attirbute im -Tag nutzen zu können
      Specified by:
      adaptUrlToRelative in interface ImageService
      Parameters:
      serverpath - Servlet-Path
    • createLocalPath

      private void createLocalPath()
    • setLocalPath

      public void setLocalPath(String localPath)
    • setUrlPath

      public void setUrlPath(String urlPath)
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • checkFilesystem

      public String checkFilesystem()
      Description copied from interface: ImageService
      Prüft ob das Service korrekt Daten im Filesystem speichern kann und gibt eine Fehlermeldung zurück wenn etwas nicht funktioniert oder einen Leerstring wenn Dateien korrekt gespeichert und gelesen werden können.
      Specified by:
      checkFilesystem in interface ImageService
      Returns:
      Fehlermeldung oder Leerstring
    • checkService

      public String checkService()
      Description copied from interface: ImageService
      Prüft die Funktionalität des Services und gibt eine Fehlermeldung zurück wenn etwas nicht funktioniert oder einen Leerstring wenn der Cache problemlos funktioniert.
      Specified by:
      checkService in interface ImageService
      Returns:
      Fehlermeldung oder Leerstring
    • getURL

      public String getURL(String filename)
      Description copied from interface: ImageService
      Liefert die URL, mit der auf die Datei zugegriffen werden kann.
      Specified by:
      getURL in interface ImageService
      Parameters:
      filename - Dateiname
      Returns:
      URL mit der auf die Datei zugegriffen werden kann, Leerstring wenn der filename nicht vorhanden ist
    • getAbsURL

      public String getAbsURL(String filename)
      Description copied from interface: ImageService
      Liefert die URL, mit der auf die Datei zugegriffen werden kann.
      Specified by:
      getAbsURL in interface ImageService
      Parameters:
      filename - Dateiname
      Returns:
      URL mit der auf die Datei zugegriffen werden kann, Leerstring wenn der filename nicht vorhanden ist
    • getImageFile

      public File getImageFile(String filename)
      Liefert einen File-Handle auf eine Datei
      Parameters:
      filename - Dateiname
      Returns:
      Filehandle auf die Datei
    • getWebSubPath

      private String getWebSubPath(String webpath)
      Liefert den Web-Unterpfad einer Datei
      Parameters:
      webpath - Webpfad der Datei wie etwa http://server:8110/images/ab/cde12345.jpg
      Returns:
      Pfad relativ zum Serverroot also /images/ab/cde12345.jpg
    • getImageSubPath

      private String getImageSubPath(String webpath)
      Liefert den Unterpfad einer Datei relativ zum Image-Service
      Parameters:
      webpath - Webpfad der Datei wie etwa http://server:8110/images/plugins/pluginletto/ab/cde12345.jpg
      Returns:
      Pfad relativ zum Image-Service also /pluginletto/ab/cde12345.jpg oder null wenn die Datei nicht zum Image-Service gehört
    • getImageFile

      public File getImageFile(FileDTO fileDTO)
      Liefert einen File-Handle auf eine Datei wenn die Datei lokal vorhanden ist
      Parameters:
      fileDTO - Dateiname/URL
      Returns:
      Filehandle auf die Datei oder null w
    • getImageInfoFile

      public File getImageInfoFile(String filename)
      Liefert einen File-Handle auf eine Info-Datei
      Parameters:
      filename - Dateiname
      Returns:
      Filehandle auf die die Info-Datei zu einer Datei
    • getLocalFile

      public File getLocalFile(String filename)
      Description copied from interface: ImageService
      liefert ein File-Objekt, welches auf eine lokale Datei zeigt. Ist die Datei nicht lokal vorhanden wird sie lokal heruntergeladen und dann das File-Objekt zurückgegeben. Ist die Datei lokal vorhanden wird ein File-Objekt auf diese Datei zurückgegeben.
      Specified by:
      getLocalFile in interface ImageService
      Parameters:
      filename - Dateiname
      Returns:
      File-Objekt welches auf eine lokale Datei zeigt. Ist die Datei nicht vorhanden wird null zurückgegeben.
    • existImage

      public boolean existImage(String filename)
      Description copied from interface: ImageService
      Prüft ob ein Bild mit dem angegebenen Dateinamen schon existiert
      Specified by:
      existImage in interface ImageService
      Parameters:
      filename - Dateiname
      Returns:
      true wenn der Dateiname existiert
    • getImageAge

      public long getImageAge(String filename)
      Description copied from interface: ImageService
      Liefert das Alter eines Bildes in Millisekunden
      Specified by:
      getImageAge in interface ImageService
      Parameters:
      filename - Dateiname
      Returns:
      Alter des Bildes in Millisekunden, -1 wenn das Bild nicht existiert, -2 wenn der filename ungültig ist
    • getImageSize

      public long getImageSize(String filename)
      Description copied from interface: ImageService
      Liefert die Größe eines Bildes in Byte
      Specified by:
      getImageSize in interface ImageService
      Parameters:
      filename - Dateiname
      Returns:
      Größe des Bildes, -1 wenn das Bild nicht existiert, -2 wenn der filename ungültig ist
    • delImage

      public boolean delImage(String filename)
      Description copied from interface: ImageService
      Löscht das Bild von der Festplatte
      Specified by:
      delImage in interface ImageService
      Parameters:
      filename - Dateiname
      Returns:
      true wenn das Bild gelöscht werden konnte
    • createFile

      public boolean createFile(String filename)
      Description copied from interface: ImageService
      Erzeugt eine Datei mit dem angegebenen Dateinamen mit einer Dateigröße von null
      Specified by:
      createFile in interface ImageService
      Parameters:
      filename - Dateiname
      Returns:
      true wenn die Datei erzeugt werden konnte
    • isFilenameOK

      public boolean isFilenameOK(String filename)
      Description copied from interface: ImageService
      prüft ob ein Dateiname den Bedingungen für die Dateinamen entspricht
      Specified by:
      isFilenameOK in interface ImageService
      Parameters:
      filename - Dateiname
      Returns:
      true wenn der Dateiname gültig ist
    • getExtension

      public String getExtension(String filename)
      Description copied from interface: ImageService
      Liefert die Extension eines Dateinamens
      Specified by:
      getExtension in interface ImageService
      Parameters:
      filename - Dateiname
      Returns:
      Extension
    • saveImage

      public String saveImage(String base64File, String filename)
      Speichert eine Base-64-kodierte Datei
      Specified by:
      saveImage in interface ImageService
      Parameters:
      base64File - Dateiinhalt
      filename - Dateiname
      Returns:
      Leer wenn ok, oder eine Fehlermeldung
    • loadImageBase64

      public String loadImageBase64(String filename)
      Description copied from interface: ImageService
      Lädt eine Datei als Base64 Codierte Datei aus dem Filesystem in eine Base64-codierten String
      Specified by:
      loadImageBase64 in interface ImageService
      Parameters:
      filename - Dateiname der Datei die geladen werden soll
      Returns:
      Base64-codierter String des Dateiinhaltes
    • loadImageBase64

      public String loadImageBase64(FileDTO fileDTO)
      Lädt eine Datei als Base64 codierte Datei aus dem Filesystem in eine Base64-codierten String
      Specified by:
      loadImageBase64 in interface ImageService
      Parameters:
      fileDTO - Dateiname der Datei die geladen werden soll
      Returns:
      Base64-codierter String des Dateiinhaltes
    • loadURLImageBase64

      public String loadURLImageBase64(String webPath)
      Lädt eine Datei von einer URL und codiert sie als Base64-kodierten String
      Parameters:
      webPath - Web-URL der Datei
      Returns:
      Base64-kodierter String des Dateiinhaltes
    • saveImage

      public String saveImage(ImageBase64Dto imageBase64Dto)
      Speichert eine Base-64-kodierte Datei und sein zugehörigen Bild-Informationen
      Specified by:
      saveImage in interface ImageService
      Parameters:
      imageBase64Dto - Bild und Bild-Informationen
      Returns:
      Leer wenn ok, oder eine Fehlermeldung
    • loadImageBase64Dto

      public ImageBase64Dto loadImageBase64Dto(String filename)
      Description copied from interface: ImageService
      Lädt eine Datei als Base64 Codierte Datei aus dem Filesystem in eine Base64-codierten String
      Specified by:
      loadImageBase64Dto in interface ImageService
      Parameters:
      filename - Dateiname der Datei die geladen werden soll
      Returns:
      Base64-codierter String des Dateiinhaltes
    • saveByteArrayInFile

      private void saveByteArrayInFile(byte[] data, String filename) throws IOException
      Throws:
      IOException
    • saveImage

      public String saveImage(BufferedImage image, String filename)
      Description copied from interface: ImageService
      Speichert eine mit der AWT erzeugte Datei
      Specified by:
      saveImage in interface ImageService
      Parameters:
      image - Dateiinhalt
      filename - Dateiname unter dem die Datei gespeichert wird
      Returns:
      Leer wenn ok, oder eine Fehlermeldung
    • saveURLImage

      public String saveURLImage(String webPath)
      Description copied from interface: ImageService
      Lädt eine Datei von einer URL und speichert sie im Image-Service unter der md5-Summe der Datei ab
      Specified by:
      saveURLImage in interface ImageService
      Parameters:
      webPath - URI der Datei welche gespeichert werden soll
      Returns:
      Dateiname der gespeicherten Datei oder Leerstring bei einem Fehler
    • saveBase64Image

      public String saveBase64Image(String base64encodedString, String extension)
      Description copied from interface: ImageService
      Speichert eine Base-64-kodierte Datei
      Specified by:
      saveBase64Image in interface ImageService
      Parameters:
      base64encodedString - Dateiinhalt
      extension - Extension der Datei für den Dateityp
      Returns:
      Dateiname der gespeicherten Datei oder Leerstring bei einem Fehler
    • saveLocalImage

      public String saveLocalImage(File file)
      Description copied from interface: ImageService
      Speichert eine lokale Datei im Image-Service
      Specified by:
      saveLocalImage in interface ImageService
      Parameters:
      file - Datei
      Returns:
      Dateiname der gespeicherten Datei oder Leerstring bei einem Fehler
    • saveByteArrayImage

      public String saveByteArrayImage(byte[] byteArray, String extension)
      Description copied from interface: ImageService
      Speichert eine als Byte-Array vorliegende Datei
      Specified by:
      saveByteArrayImage in interface ImageService
      Parameters:
      byteArray - Dateiinhalt
      extension - Extension der Datei für den Dateityp
      Returns:
      Dateiname der gespeicherten Datei oder Leerstring bei einem Fehler
    • getFiles

      private Vector<String> getFiles(String path)
    • getDirs

      private Vector<String> getDirs(String path)
    • getImages

      public Vector<String> getImages()
      Description copied from interface: ImageService
      Liefert eine Liste aller Dateien, die im Image Cache gespeichert sind
      Specified by:
      getImages in interface ImageService
      Returns:
      Liste aller Dateinamen
    • delImages

      public Vector<String> delImages(Vector<String> images)
      Description copied from interface: ImageService
      Löscht alle Dateien welche im Vektor angegeben sind
      Specified by:
      delImages in interface ImageService
      Parameters:
      images - Liste aller Dateinamen die gelöscht werden sollen
      Returns:
      Liste der gelöschten Dateinamen
    • getImagesOlderThan

      public Vector<String> getImagesOlderThan(long age)
      Description copied from interface: ImageService
      Liefert eine Liste aller Dateinamen der Dateien die älter als age ms sind
      Specified by:
      getImagesOlderThan in interface ImageService
      Parameters:
      age - Alter in ms
      Returns:
      Liste aller Dateinamen der Dateien die älter als age ms sind