...
- Adnotację @ScheduledTask (jeżeli zadanie zaplanowane nie jest definiowane we wtyczce, musi ono pochodzić z pakietu
com.suncode
) - Publiczną metodę oznaczoną adnotacją @Define z jednym parametrem ScheduledTaskDefinitionBuilder
- Publiczną metodę o nazwie execute, która ma zostać wykonana okresowo. Metoda execute może zwracać dowolny typ włącznie z void. Zwrócona wartość będzie wyświetlona jako wynik przetwarzania zadania zaplanowanego. Ustawienie typu void jest jednoznaczne z brakiem rezultatu.
Definicja może zawierać również adnotację @ScheduledTaskScript. Adnotacja ta przekazuje ścieżkę do skryptu (z classpath) zawierającego definicję formularza dynamicznego.
Przykładowa definicja przedstawiona jest poniżej:
Code Block | ||
---|---|---|
| ||
@ScheduledTask
@ScheduledTaskScript( "js/example-form.js" )
public class ExampleScheduledTask {
@Define
public void definition( ScheduledTaskDefinitionBuilder builder ) {
builder
.id( "example-scheduled-task" )
.name( "example.scheduled.task.name" )
.description( "example.scheduled.task.desc" )
.cancelable()
.parameter()
.id( "scheduled-task-param" )
.name( "example.scheduled.task.param.name" )
.description( "example.scheduled.task.param.desc" )
.type( Types.STRING )
.create();
}
public void execute( @Param( value = "scheduled-task-param" ) String param )
{
// Ciało zadania zaplanowanego
...
}
}
|
...
- pojedynczy parametr zadania zaplanowanego - typ parametru musi być zgodny ze zdefiniowanym typem oraz musi być poprzedzony adnotacją @Param. Obsługiwane typy parametrów:
- STRING
- BOOLEAN
- INTEGER
- FLOAT
- DATE - mapowane do org.joda.time.LocalDate (format yyyy-MM-dd)
- DATETIME - mapowane do org.joda.time.LocalDateTime (format yyyy-MM-dd HH:mm:ss)
- CUSTOM_FILE - mapowanie do com.suncode.pwfl.customfile.CustomFile
- STRING_ARRAY
- BOOLEAN_ARRAY
- INTEGER_ARRAY
- FLOAT_ARRAY
- DATE_ARRAY
- DATETIME_ARRAY
- CUSTOM_FILE_ARRAY
- zawiera wszystkie zdefiniowane parametry zadania zaplanowanego wraz z ich wartościami, jest to alternatywa dla pobierania parametru za pomocą wyżej wspomnianej adnotacji @Param,Javadoc displayValue Parameters property javadoc.plusworkflow className com.suncode.pwfl.component.Parameters
- translator dla tego komponentu. Więcej informacji tutaj,Javadoc displayValue Translator property javadoc.plusworkflow className com.suncode.pwfl.translation.Translator
- przechowuje informację o tym, czy użytkownik w GUI kliknął przycisk Anuluj wykonywanie. Sam mechanizm anulowania zadania musi zaimplementować twórca komponentu. Przycisk Anuluj wykonywanie pokaże się tylko, jeżeli w builderze została wywołana metoda cancelable,Javadoc displayValue CancelationHandler property javadoc.plusworkflow className com.suncode.pwfl.administration.scheduledtask.context.CancelationHandler - Logger - logger do logowania własnych komunikatów w komponencie. Komunikaty są zapisywane do plików (skonfigurowanych w Log4j) oraz zostaną wyświetlone w historii wykonywania zadania.
- obiekt, w którym ustawić można aktualny progress wykonywania zadania zaplanowanego (liczba między 0 a 1). Progress ten zostanie wyświetlony w GUI.Javadoc displayValue ProgressHolder property javadoc.plusworkflow className com.suncode.pwfl.administration.scheduledtask.context.ProgressHolder
- obiekt przechowujący informacje o danej instancji zadania zaplanowanego.Javadoc property javadoc.plusworkflow className com.suncode.pwfl.administration.scheduledtask.ScheduledTaskInstanceInfo
...
Info | |||||||||
---|---|---|---|---|---|---|---|---|---|
| |||||||||
Jeśli zadanie zaplanowane jest napisane jako rozszerzenie klasy AbstractAdvancedTask i ma włączoną adnotację cancelable = true to by przerwać wykonywanie takiego zadania należy w kodzie metody dodać warunek:
Dynamiczny formularzDynamiczny formularz umożliwia zdefiniowanie formularza parametrów zadania zaplanowanego. Rejestracja dynamicznego formularza
|
Tip |
---|
Jeżeli podczas dodawania elementu do formularza zdefiniujemy mu id i ta wartość będzie odnośić się do id parametru zdefiniowanego w komponencie, to wszystkie właściwości dla pola zostaną odczytane z definicji parametru (nazwa, opis, wymagalność, typ). Jeżeli natomiast chcemy dodać pole, które nie jest związane z żadnym parametrem (nie będzie ono zapisane w deklaracji źródła), to powinniśmy określić nazwę, opis, typ oraz wymagalność. |
Dostępne funkcje dynamicznego formularza
Funkcja | Parametry | Opis | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
addField(definition, [position]) | definition - identyfikator dodawanego parametru lub obiekt zawierający definicję pola position - pozycja na której dodany mam zostać parametr. Gdy position nie zostanie podany, parametr zostanie dodany na końcu formularza. | Dodanie parametru. Przykład:
Jeżeli dodajemy pole niezwiązane z parametrem komponentu, to możemy określić jakiego typu ma być to pole. Dostępne są następujące typy: string, integer, float, date, datetime, boolean, string[], integer[], float[], date[], datetime[], boolean[].
| ||||||||||||||||||||
addTextArea(definition, [position]) | definition - identyfikator dodawanego parametru lub obiekt zawierający definicję pola position - pozycja na której dodany mam zostać parametr. Gdy position nie zostanie podany, parametr zostanie dodany na końcu formularza. | Dodanie parametru jako pole typu `TextArea`.
Przykład:
lub
| ||||||||||||||||||||
addCombobox(definition, [position]) | definition - obiekt zawierający definicję pola Definicja powinna zawierać nastepujące pola:
position - pozycja na której dodany mam zostać parametr. Gdy position nie zostanie podany, parametr zostanie dodany na końcu formularza
| Dodanie parametru jako pole typu `Combobox`. Przykład dodanie pola typu 'Combobox' lokalnego (local):
Przykład dodanie pola typu 'Combobox' zdalnego (remote):
| ||||||||||||||||||||
addCheckbox(definition, [position]) | definition - identyfikator dodawanego parametru lub obiekt zawierający definicję pola position - pozycja na której dodany mam zostać parametr. Gdy position nie zostanie podany, parametr zostanie dodany na końcu formularza. | Przykład:
Jeżeli podpinamy to pod parametr komponentu, to typ tego parametru musi być boolean. | ||||||||||||||||||||
addRow( [definition] ) | definition - definicja wiersza. Zawiera następujące pola:
| Dodaje i zwraca "pusty" wiersz. Zwrócony wiersz umożliwia dodanie do niego pol. Pola będą dodawane obok siebie. Przykład:
| ||||||||||||||||||||
addButton(definition, [position] ) | definition - definicja przycisku.
position - pozycja na której dodany mam zostać parametr. Gdy position nie zostanie podany, parametr zostanie dodany na końcu formularza | Dodanie przycisku na formularzu. Przykład:
| ||||||||||||||||||||
addPassword(definition, [position] ) | definition - identyfikator dodawanego parametru lub obiekt zawierający definicję pola position - pozycja na której dodany mam zostać parametr. Gdy position nie zostanie podany, parametr zostanie dodany na końcu formularza. | Dodanie parametru jako pole typu 'Password'.
Przykład:
lub
| ||||||||||||||||||||
hide(elementId) | elementId - identyfikator elementu | Ukrywa pole o podanym id. Przykład
| ||||||||||||||||||||
show(elementId) | elementId - identyfikator elementu | Pokazuje pole o podanym id. Przykład:
| ||||||||||||||||||||
disable(elementId) | elementId - identyfikator elementu | Wyłącza możliwość edycji pola o podanym id. Przykład:
| ||||||||||||||||||||
enable(elementId) | elementId - identyfikator elementu | Włącza możliwość edycji pola o podanym id. Przykład:
| ||||||||||||||||||||
getValue(elementId) | elementId - identyfikator elementu | Pobiera wartość parametru o podanym id. Przykład:
| ||||||||||||||||||||
setValue(elementId, value) | elementId - identyfikator elementu value - wartość do ustawienia | Ustawia przekazaną wartość do parametru o podanym id. Dla typów tablicowych wartością jest tablica wartości. Przykład:
| ||||||||||||||||||||
mask(onlyForm) | onlyForm - prawda by nałożyć maskę tylko na formularz parametrów, fałsz by nałożyć maskę na zawartość całego okna. | Nakłada maskę na formularz parametrów lub zawartość okna. Przykład:
| ||||||||||||||||||||
unmask(onlyForm) | onlyForm - prawda by usunąć maskę tylko z formularza parametrów, fałsz by usunąć maskę z zawartość całego okna. | Usuwa maskę z formularza parametrów lub zawartości okna. Przykład:
|