Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Aby przechwycić przetwarzany przez DirectoryMonitor dokument dodawany przez systemowe API do archiwum, należy dodać znacznik directory-monitor w deskryptorze wtyczki - plik suncode-plugin.xml.

W całym systemie może zostać zarejestrowana tylko jedna klasa przechwytująca dokumenty przez DirectoryMonitor. Próby zarejestrowania większej ilości będą zignorowane.

Przykładowy wpis w deskryptorze wtyczki:

...

  • document-upload-listener (opcjonalny) - nazwa klasy implementującej interfejs DocumentUploadListener. Umożliwia obsługę reagowania na zdarzenie, gdy przetwarzany przez DirectoryMonitor dokument dodawany jest przez systemowe API do archiwum.

Przykładowa klasa dokonująca modyfikacji indeksów na modyfikowanym dokumencie:

Code Block
languagejava
@Slf4j
public class ChangeIndexesOnUploadFileListenerImpl implements DocumentUploadListener {

    @Override
    public void onDocumentUpload(DocumentDefinition definition) {
        Map<Long,Object> indexes = definition.getIndexes();
        Map<Long,Object> newIndexes = new HashMap<>();
        indexes.forEach(
                (id, value) -> {
                    if (value instanceof String) {
                        newIndexes.put(id, "zmieniony indeks");
                    }
                }
        );

        definition.setIndexes(newIndexes);
    }

}