Interface ArchiveStorageService


public interface ArchiveStorageService
Umożliwia zarządzanie strukturą archiwum.
Author:
Paweł Rosolak 28-03-2013
  • Method Details

    • createDevice

      void createDevice(Device device) throws DeviceNotExistOnDiskException
      Zapisuje urządzenie w bazie danych
      Parameters:
      device - Definicja urządzenia
      Throws:
      DeviceNotExistOnDiskException - Jeżeli na dysku nie znaleziono ścieżki do katalogu urządzenia
    • addDevice

      Long addDevice(Device device) throws DeviceNotExistOnDiskException
      Zapisuje urządzenie w bazie danych
      Parameters:
      device - Definicja urządzenia
      Throws:
      DeviceNotExistOnDiskException - Jeżeli na dysku nie znaleziono ścieżki do katalogu urządzenia
    • createDirectory

      void createDirectory(Directory directory) throws DeviceNotFoundException, NotEnoughSpaceOnDeviceException
      Zapisuje katalog w bazie danych
      Parameters:
      directory - Definicja katalogu
      Throws:
      DeviceNotFoundException - Jeżeli nie znaleziono urządzenia na którym ma zostać utworzony katalog
      NotEnoughSpaceOnDeviceException - Jeżeli rozmiar katalogu jest większy nie dostępna na urządzeniu przestrzeń
    • addDirectory

      Zapisuje katalog w bazie danych
      Parameters:
      directory - Definicja katalogu
      Throws:
      DeviceNotFoundException - Jeżeli nie znaleziono urządzenia na którym ma zostać utworzony katalog
      NotEnoughSpaceOnDeviceException - Jeżeli rozmiar katalogu jest większy nie dostępna na urządzeniu przestrzeń
    • deleteDevice

      void deleteDevice(String deviceName) throws RemovingDeviceWithDirException
      Usuwa urządzenie
      Parameters:
      deviceName - Nazwa urządzenia
      Throws:
      RemovingDeviceWithDirException - Jeżeli urządzenie zawiera katalogi
    • deleteDevice

      void deleteDevice(Long id) throws RemovingDeviceWithDirException
      Usuwa urządzenie
      Parameters:
      id - Id urządzenia
      Throws:
      RemovingDeviceWithDirException - Jeżeli urządzenie zawiera katalogi
    • deleteDirectory

      void deleteDirectory(String directoryName) throws RemovingRootDirectoryException, RemovingDirWithDocClassException
      Usuwa katalog
      Parameters:
      directoryName - Nazwa katalogu
      Throws:
      RemovingRootDirectoryException - Jeżeli próbujemy usunąć katalog będący katalogiem nadrzędnym
      RemovingDirWithDocClassException - Jeżeli próbujemy usunąć katalog do którego są przypisane klasy dokumentów
    • getDevice

      Device getDevice(String name, String... joins)
      Pobiera urządzenie po nazwie
      Parameters:
      name - Nazwa urządzenia
      joins - Określa, które elementy mamy dołączyć do obiektu urządzenia.
      Returns:
      Zwraca obiekt urządzenia
    • getDirectoryPath

      String getDirectoryPath(Directory directory)
      Pobiera pełną ścieżkę do katalogu
      Parameters:
      directory - Katalog
      Returns:
      Zwaraca ścieżkę do katalogu
    • resolveDirectoryPath

      String resolveDirectoryPath(Directory directory, WfFile wfFile)
      Pobiera pełną ścieżkę do katalogu którego nazwa tworzona jest dynamicznie na podstawie daty utworzenia pliku
      Parameters:
      directory - Katalog
      wfFile - plik
      Returns:
      Zwaraca ścieżkę do katalogu
    • isRootDirectory

      boolean isRootDirectory(Directory directory)
      Sprawdza czy katalog jest katalogiem nadrzędnym
      Parameters:
      directory - Katalog
      Returns:
      true jeżeli katalog jest nadrzędny
    • getChildDirectories

      List<Directory> getChildDirectories(Directory directory)
      Pobiera podkatalogi
      Parameters:
      directory - Katalog
      Returns:
      Listę katalogów podrzędnych
    • forceDeleteDeviceByName

      void forceDeleteDeviceByName(String deviceName)
      Usuwa urządzenie, jeżeli zawiera katalogi to również są usuwane. Jeżeli katalogi zawierają Klasy dokumentów to też są usuwane
      Parameters:
      deviceName - Nazwa urządzenia
    • getDirectory

      Directory getDirectory(String name, String... joins)
      Pobiera katalog po nazwie
      Parameters:
      name - Nazwa katalogu
      joins - Określa, które elementy mamy dołączyć do katalogu.
      Returns:
      Zwraca obiekt katalogu
    • getAllDevices

      List<Device> getAllDevices(String... joins)
      Pobiera listę wszystkich urządzeń
      Returns:
      Lista urządzeń
    • getDeviceById

      Device getDeviceById(Long deviceId, String... joins)
      Pobiera urządzenie po id
      Parameters:
      deviceId - Id urządzenia
      joins - Określa, które elementy mamy dołączyć do katalogu.
      Returns:
      Urządzenie
    • getAllDirectories

      List<Directory> getAllDirectories(String... joins)
      Pobiera listę wszystkich katalogów archiwum
      Returns:
      Lista katalogów
    • updateDevice

      void updateDevice(Device device)
      Modyfikuje urządzenie
      Parameters:
      device - Obiekt urządzenia
    • updateDevice

      void updateDevice(Long id, Device device) throws DeviceNotExistOnDiskException
      Modyfikuje urządzenie
      Parameters:
      id - Id urządzenia
      device - Obiekt urządzenia
      Throws:
      DeviceNotExistOnDiskException
    • updateDirectory

      void updateDirectory(Directory directory)
      Modyfikuje katalog
      Parameters:
      directory - Obiekt katalogu
    • updateDirectory

      void updateDirectory(Long id, Directory directory)
      Modyfikuje katalog
      Parameters:
      id - Id katalogu
      directory - Obiekt katalogu
    • findDirectoriesByCriteria

      List<Directory> findDirectoriesByCriteria(org.hibernate.criterion.DetachedCriteria dc)
      Wyszukuje katalogi
      Parameters:
      dc - Kryteria wyszukiwania
      Returns:
      Lista znalezionych katalogów
    • getDirectory

      Directory getDirectory(Long id, String... joins)
      Pobiera katalog po id
      Parameters:
      id - Id katalogu
      joins - Określa, które elementy mamy dołączyć do katalogu.
      Returns:
    • getSubDirectories

      List<Directory> getSubDirectories(Long directoryId, String... joins)
      Pobiera wszystkie podkatalogi katalogu o podanym id
      Parameters:
      directoryId - Id katalogu
      joins - Określa, które elementy mamy dołączyć do katalogu.
      Returns:
      Lista katalogów
    • deleteDirectory

      void deleteDirectory(Long directoryId) throws RemovingRootDirectoryException, RemovingDirWithDocClassException
      Usuwa katalog po id
      Parameters:
      directoryId - Id katalogu
      Throws:
      RemovingRootDirectoryException
      RemovingDirWithDocClassException
    • getDeviceForDocumentClass

      Device getDeviceForDocumentClass(Long documentClassId, String... joins)
      Pobiera urządzenia dla klasy dokumentów
      Parameters:
      documentClassId - Id klasy dokumentów
      Returns:
      Obiekt urządzenia
    • getDirectoryUsedSpaceFromDB

      Long getDirectoryUsedSpaceFromDB(Directory directory)
      Zwraca ilość zajętego miejsca w katalogu. Obliczenie odbywa się na podstawie przechowywanych rozmiarów plików w bazie. Uwzględniane są również podkatalogi. Wynik może nieco różnić się od rzeczywistego zajętego rozmiaru na dysku, gdyż ktoś może ręcznie usunąć plik z dysku, a w bazie on pozostanie.
      Parameters:
      directory - Katalog
      Returns:
      Ilość zajętego miejsca przez katalog w MB.
    • getDirectoryFreeSpaceFromDB

      Long getDirectoryFreeSpaceFromDB(Directory directory)
      Zwraca ilość wolnego miejsca w katalogu. Obliczenie odbywa się na podstawie przechowywanych rozmiarów plików w bazie. Uwzględniane są również podkatalogi. Wynik może nieco różnić się od rzeczywistego zajętego rozmiaru na dysku, gdyż ktoś może ręcznie usunąć plik z dysku, a w bazie on pozostanie.
      Parameters:
      directory - Katalog
      Returns:
      Ilość wolnego miejsca w katalogu w MB.
    • getDirectoryUsedSpaceOnDisc

      Long getDirectoryUsedSpaceOnDisc(Directory directory)
      Zwraca ilość zajętego miejsca w katalogu. Obliczenie odbywa się na podstawie rozmiarów rzeczywistych plików na dysku.
      Parameters:
      directory - Katalog
      Returns:
      Ilość zajętego miejsca przez katalog w MB.
    • getDirectoryFreeSpaceOnDisc

      Long getDirectoryFreeSpaceOnDisc(Directory directory)
      Zwraca ilość wolnego miejsca w katalogu. Obliczenie odbywa się na podstawie rozmiarów rzeczywistych plików na dysku.
      Parameters:
      directory - Katalog
      Returns:
      Ilość wolnego miejsca w katalogu w MB.
    • getAllDirectoriesFreeSpaceFromDB

      Map<Long,Long> getAllDirectoriesFreeSpaceFromDB()
      Zwraca mapę z ilością wolnego miejsca w katalogach, gdzie kluczem jest id katalogu, a wartością ilość wolnego miejsca w katalogu. Obliczenie odbywa się na podstawie przechowywanych rozmiarów plików w bazie. Uwzględniane są również podkatalogi. Wynik może nieco różnić się od rzeczywistego zajętego rozmiaru na dysku, gdyż ktoś może ręcznie usunąć plik z dysku, a w bazie on pozostanie.
      Returns:
      Ilość wolnego miejsca we wszystkich katalogach w systemie w MB.
    • getDirectoriesForDevice

      List<Directory> getDirectoriesForDevice(Long deviceId, String... joins)
      Zwraca katalogi należące do podanego urządzenia
      Parameters:
      deviceId - Id urządzenia
      joins - Określa, które elementy mamy dołączyć do katalogu
      Returns:
      lista katalogów