Zastępstwa
Adapter: SubstitutionHookAdapter
Interfejs: SubstitutionHook
public interface SubstitutionHook
{
/**
* Metoda wywoływana przed dodaniem zastępstwa do systemu.
*
* @param userName Login użytkownika dodającego zastępstwo.
* @param substitution Zastępstwo, które ma zostać dodane do systemu.
* @return true - zastępstwo zostanie dodane do systemu, false - zastępstwo nie zostanie dodane do systemu.
*/
boolean confirmCreateSubstitution( String userName, Substitution substitution );
/**
* Metoda wywoływana po pomyślnym dodaniu zastępstwa do systemu.
*
* @param userName Login użytkownika dodającego zastępstwo.
* @param substitution Zastępstwo dodane do systemu.
*/
void substitutionAdded( String userName, Substitution substitution );
/**
* Metoda filtrująca listę procesów do wybrania podczas definiowania nowego zastępstwa.
*
* @param userName Login użytkownika definiującego zastępstwo.
* @param processes Lista znalezionych procesów.
* @return Przefiltrowana lista procesów.
*/
List<ProcessType> filterProcesses( String userName, List<ProcessType> processes );
/**
* Metoda wywoływana jest podczas akceptacji zadania. Określa, czy użytkownik, do którego jest przydzielane kolejne
* zadanie może być zastępowany.
*
* @param userName Login użytkownika zastępowanego.
* @param processDefId Id definicji procesu.
* @return true - zadanie powinno zostać przydzielone, false - zadanie nie powinno zostać przydzielone.
*/
boolean shouldAssign( String userName, String processDefId );
/**
* Metoda zwraca listę użytkowników, którzy mogą być zastępcami dla {@code substitutedUser}. Wywoływana jest
* każdorazowo, gdy z poziomu GUI wybierze się osobę, dla której ma zostać nadane zastępstwo.
*
* @param userName Login użytkownika definiującego zastępstwo.
* @param substitutedUser Login użytkownika zastępowanego.
* @return Lista użytkowników. Jeżeli zostanie zwrócona wartość null, to pobrani zostaną wszyscy użytkownicy z
* systemu.
*/
List<User> getSubstitutes( String userName, String substitutedUser );
}
Konfiguracja systemu podczas startu
Adapter: PlusworkflowStartupHookAdapter
Interfejs: PlusworkflowStartupHook
public interface PlusworkflowStartupHook
{
/**
* Metoda wywoływana podczas startu systemu (po konfiguracji systemu)
*/
public void startup();
}
Transfer przypisanych zadań.
Adapter : AssignmentHookAdapter
Interfejs : AssignmentHook
public interface AssignmentHook
{
/**
* Executed when activities assignment transfer is completed.
*
* @param processId
* @param activityId
* @param recipients users and his substitutions to whom activities have been transfered
*/
public void assignmentTransferred( String processId, String activityId, Set<String> recipients );
}
Dezaktywacja użytkownika.
Adapter : DeactivationHookAdapter
Interfejs : DeactivationHook
public interface DeactivationHook
{
/**
* Executed when user deactivation is completed. <br>
* User deactivation will be rollback if this method throws exception.
*
* @param deactivation all input parameters necessary to execute user deactivation. Includes information like: login
* of user to deactivate, target user logins to transfer his tasks etc.
*/
public void userDeactivated( Deactivation deactivation );
}
Tworzenie użytkownika.
Adapter : UserCreationHookAdapter
Interfejs : UserCreationHook
public interface UserCreationHook
{
/**
* Executed before user creation.
*
* @param user User to create
*/
public void beforeUserCreation( User user );
/**
* Executed after user creation.
*
* @param user Created user
*/
public void userCreated( User user );
}
Modyfikacja InputStream'a podczas wyświetlania i pobierania dokumentu.
Adapter : ReadFileHookAdapter
Interfejs : ReadFileHook
public interface ReadFileHook
{
/**
* Metoda wywoływana przed wyświetleniem i pobraniem dokumentu w systemie
*/
OpenedFileContext execute( OpenedFileContext fileContext );
}
Modyfikacja InputStream'a podczas wyświetlania dokumentu.
Adapter : ViewFileHookAdapter
Interfejs : ViewFileHook
public interface ViewFileHook
{
/**
* Metoda wywoływana przed wyświetleniem dokumentu w systemie
*/
OpenedFileContext execute( OpenedFileContext fileContext );
}
Logowanie do systemu.
Adapter : AuthenticationInterceptor
Brak interfejsu, nie jest to hook systemowy.
By interceptor został uruchomiony, jego klasa musi być wskazana w parametrze systemowym Authentication.InterceptorClass.
Jeżeli obiekt interceptora ma być utworzony tylko raz na wszystkie próby logowania (zamiast 1 obiektu na 1 próbę logowania), należy skorzystać z parametru systemowego Authentication.InterceptorClassSingleton.
public class Interceptor extends AuthenticationInterceptor
{
/**
* Metoda wywoływana przed logowaniem do serwera LDAP.
*/
@Override
public void beforeLdapLogin( WorkflowPrincipal principal )
{
}
/**
* Metoda wywoływana przed logowaniem do systemu.
*/
@Override
public void beforeSystemLogin( WorkflowPrincipal principal, LoginType loginType )
{
}
/**
* Metoda wywoływana po zalogowaniu się do systemu.
*/
@Override
public void afterLogin( WorkflowPrincipal principal, LoginType loginType )
{
}
}
