Interface FileService


public interface FileService
Umożliwia zarządzanie plikami systemu.
Author:
Paweł Rosolak 21-03-2013
  • Method Details

    • getFile

      WfFile getFile(Long fileId, String... joins)
      Pobiera plik o podanym id
      Parameters:
      fileId - Id pliku
      joins - Określa, które elementy mamy dołączyć do obiektu.
      Returns:
    • updateFile

      void updateFile(WfFile file)
      Modyfikuje obiekt pliku.
      Parameters:
      file - Definicja pliku.
    • deleteFile

      void deleteFile(Long fileId)
      Usuwa plik z systemu.
      Parameters:
      fileId - Id pliku
    • detachFileFromProcess

      void detachFileFromProcess(Long fileId, String processId)
      Odłącza dokument od procesu. Pozostawia go w archiwum. Wyszukuje wszystkie otwarte zadania z podanego procesu i odłącza dokument powiązany z podanym plikiem(najnowszą wersją pliku).
      Parameters:
      fileId - Id pliku.
      processId - Id procesu.
    • detachFileFromActivity

      void detachFileFromActivity(Long fileId, String processId, String activityId)
      Odłącza dokument od zadania. Pozostawia go w archiwum. Odłącza dokument powiązany z podanym plikiem(najnowszą wersją pliku).
      Parameters:
      fileId - Id pliku.
      processId - Id procesu
      activityId - Id zadania
    • detachFilesFromActivity

      void detachFilesFromActivity(List<Long> fileIds, String processId, String activityId)
      Odłącza dokumenty od zadania. Pozostawia je w archiwum. Odłącza dokumenty powiązany z podanym plikiem(najnowszą wersją pliku).
      Parameters:
      fileIds - Lista id plików.
      processId - Id procesu
      activityId - Id zadania
    • getVersionForFile

      WfFileVersion getVersionForFile(Long fileId)
      Pobiera obiekt wersji dla pliku
      Parameters:
      fileId - Id pliku (z pm_files)
      Returns:
    • getFileVersion

      WfFileVersion getFileVersion(Long id)
      Pobiera obiekt wersji
      Parameters:
      id - Id wersji pliku
      Returns:
    • changeFileIndexes

      void changeFileIndexes(Long fileId, Map<Long,Object> indexes)
      Zmienia indeksy dokumentu.(W tabeli pm_idx000)
      Parameters:
      fileId - Id pliku
      indexes - Mapa indeksów dokumentu. Klucz to id indeksu, typ wartości musi zgadzać się z typem indeksu)
    • changeFileIndexes

      void changeFileIndexes(Long fileId, Map<Long,Object> indexes, boolean saveAsNewVersion)
      Zmienia indeksy dokumentu.(W tabeli pm_idx000)
      Parameters:
      fileId - Id pliku
      indexes - Mapa indeksów dokumentu. Klucz to id indeksu, typ wartości musi zgadzać się z typem indeksu)
      saveAsNewVersion - true jeżeli podpiąć istniejący dokument jako nową wersję pliku o takich samych indeksach
    • changeFileIndexesWithResult

      boolean changeFileIndexesWithResult(Long fileId, Map<Long,Object> indexes, boolean saveAsNewVersion)
      Zmienia indeksy dokumentu.(W tabeli pm_idx000)
      Parameters:
      fileId - Id pliku
      indexes - Mapa indeksów dokumentu. Klucz to id indeksu, typ wartości musi zgadzać się z typem indeksu)
      saveAsNewVersion - true jeżeli podpiąć istniejący dokument jako nową wersję pliku o takich samych indeksach
      Returns:
      Informacja czy udało się dodać dokument jako nowa wersja
    • changeFileIndexesWithResult

      boolean changeFileIndexesWithResult(Long fileId, Map<Long,Object> indexes, boolean saveAsNewVersion, boolean exactIndexesCheck)
      Zmienia indeksy dokumentu.(W tabeli pm_idx000)
      Parameters:
      fileId - Id pliku
      indexes - Mapa indeksów dokumentu. Klucz to id indeksu, typ wartości musi zgadzać się z typem indeksu)
      saveAsNewVersion - true jeżeli podpiąć istniejący dokument jako nową wersję pliku o takich samych indeksach
      exactIndexesCheck - czy przy próbie sprawdzania poprzedniej wersji dokumentu uwzględniać null'e w pozostałych indeksach
      Returns:
      Informacja czy udało się dodać dokument jako nowa wersja
    • convertIndexTypes

      Map<Long,Object> convertIndexTypes(Map<Long,Object> indexes, long documentClassId)
      Konwertuje wartości indeksów na odpowiednie typy zgodne z definicją indeksu.
      Parameters:
      indexes - Mapa indeksów
      documentClassId - Id klasy dokumentów
      Returns:
      Zwraca mapę indeksów, która posiada odpowiednie typy wartości
    • convertIndexTypes

      Map<Long,Object> convertIndexTypes(Map<Long,Object> indexes, long documentClassId, boolean addMissing)
      Konwertuje wartości indeksów na odpowiednie typy zgodne z definicją indeksu.
      Parameters:
      indexes - Mapa indeksów
      documentClassId - Id klasy dokumentów
      addMissing - Czy uzupełnic mapę indeksów aby zawierała wszystkie indeksy zdefiniowane dla klasy dokumentów (z wartością null)
      Returns:
      Zwraca mapę indeksów, która posiada odpowiednie typy wartości
    • convertIndexNames

      Map<Long,Object> convertIndexNames(Map<String,Object> indexes, long documentClassId)
      Zmienia klucze mapy będące nazwami indeksów na id indeksów
      Parameters:
      indexes - Mapa wejściowa
      documentClassId - Id klasy dokumentów
      Returns:
      Mapa indeksów w której kluczem jest id indeksu.
    • convertIndexIds

      Map<String,Object> convertIndexIds(Map<Long,Object> indexes, long documentClassId)
      Zmienia klucze mapy będące id indeksów na nazwy indeksów
      Parameters:
      indexes - Mapa wejściowa
      documentClassId - Id klasy dokumentów
      Returns:
      Mapa indeksów w której kluczem jest nazwa indeksu.
    • getIndexData

      Map<String,Object> getIndexData(long fileId, long documentClassId)
      Pobiera rekord z tabeli pm_idx000 dla podanego pliku.
      Parameters:
      fileId - Id pliku
      documentClassId - Id klasy dokumentów
      Returns:
      Mapa której klucze to kolumny tabeli
    • checkOut

      void checkOut(Long fileId, String userName)
      Metoda zmienia dane w bazie danych odnośnie pobrania dokumentu do zmiany. Ustawia odpowiedni status, datę pobrania dokumentu, oraz użytkownika pobierającego.
      Parameters:
      fileId - Id pliku
      userName - Login użytkownika
    • cancelCheckOut

      void cancelCheckOut(Long fileId)
      Metoda anuluje wprowadzanie zmian do dokumentu. Ustawia odpowiedni status, resetuje datę pobrania dokumentu, oraz użytkownika pobierającego.
      Parameters:
      fileId - Id pliku
    • checkIn

      Long checkIn(DocumentDefinition fileDefinition, Long parentFileId, String comment) throws Exception
      Metoda zapisuje nową wersję pliku, który wcześniej pobraliśmy do zmiany.
      Parameters:
      fileDefinition - Definicja nowego pliku
      parentFileId - Id pliku rodzica, który chcemy zmienić
      comment - Komentarza
      Returns:
      Throws:
      Exception
    • getFileSaver

      FileSaver getFileSaver()
      Pobiera obiekt który pozwala zapisywać pliki w systemie
      Returns:
      Obiekt który pozwala zapisywać pliki w systemie
    • getFileIndexes

      Map<Long,Object> getFileIndexes(Long fileId, Long dcId)
      Pobiera indeksy pliku
      Parameters:
      fileId - Id pliku
      dcId - Id klasy dokumentów
      Returns:
      Mapa indeksów dokumentu
    • getFileActions

      List<FileAction> getFileActions(String userName, WfFile wfFile)
      Metoda pobiera możliwe do wykonania akcje, dla podanego pliku, przez podanego użytkownika
      Parameters:
      userName - Login użytkownika
      wfFile - Plik
      Returns:
    • getFileInputStream

      InputStream getFileInputStream(Long fileId)
      Pobiera strumień danych pliku
      Parameters:
      fileId - id pliku
      Returns:
      Strumień danych
    • validateFileExistsAndHasRightsToIt

      boolean validateFileExistsAndHasRightsToIt(String path)
      Sprawdza, czy plik pod podaną ścieżką istnieje i czy system ma do niego uprawnienia
      Parameters:
      path - ścieżka pliku
      Returns:
      czy istnieje i czy mamy uprawnienia