...
- getId - identyfikator auto update'u, musi być unikalny w ramach wszystkich definicji
- getDef - zwraca definicję data chooser'a, czyli nazwę, opis, typ, ścieżkę do servletu
- getDataSources - zwraca źródła danych (zmienne z formularza, których wartości są przekazywane jako parametry wywołania), zawiera także ich opisy w celu ułatwienia użytkownikowi wyboru odpowiednich zmiennych procesu
getDestinations - zwraca zmienne docelowe (zmienne formularza, których wartości mają zostać ustawione na podstawie danych zwróconych przez servlet), zawiera także ich opisy w celu ułatwienia użytkownikowi wyboru odpowiednich zmiennych procesu
3.
...
Klasę będącą narzędziem systemowym umieszczamy w classpath projektu. Pozwala dodać narzędzie systemowe w jednym kroku (dodaje aplikację na poziomie procesu i zadania). Wymagane jest tylko określenie aktualnych parametrów w zadaniu. Klasę oznaczamy adnotacją @StandardTool:
Code Block | ||
---|---|---|
| ||
@StandardTool( id = "exampletool", name = "Przykladowy", category = "Examples", description = "Opis tool'a", icon = "img/tool.png",
type = Type.JAVA_APPLICATION_WITH_TRANSACTION )
public class ToolExample
{
...
} |
Adnotacja narzędzia systemowego posiada następujące właściwości:
- id - identyfikator narzędzia systemowego, należy zadbać, by był unikalny w ramach wszystkich systemowych narzędzi, pole wymagane
- name - nazwa narzędzia systemowego, a także aplikacji w procesie, pole wymagane
- category - kategoria zadań, do których należy narzędzie systemowe, niezbędne do grupowania zadań po typie, pole wymagane
- description - opis narzędzia systemowego, wartość domyślna: ""
- icon - ścieżka na serwerze do ikony symbolizującej narzędzie systemowe, wartość domyślna: ""
- type - typ narzędzia systemowego, możliwe wartości to: aplikacja Java, aplikacja Java z transakcją, wartość domyślna: aplikacja Java
- actualParametersForm - rodzaj formularza parametrów aplikacji, możliwe wartości to: DEFAULT (domyślny - tabela z parametrami aplikacji i odpowiadającymi im aktualnymi parametrami), FIELDS (zestaw pól - formularz budowany na podstawie szablonu xml), wartość domyślna: default
- formTemplateLocation - lokalizacja szablonu xml definiującego pola na formularzu parametrów aplikacji, ma znaczenie, gdy właściwość actualParametersForm ma wartość FIELDS, właściwość ta przyjmuje wartości typu classpath:/..., file:/..., wartość domyśna: ""
Następnie należy zaimplementować statyczną, publiczą metodę o nazwie execute i oznaczyć jej parametry typu org.enhydra.shark.api.internal.toolagent.AppParameter (o ile posiada) adnotacjami @StandardToolParameter:
Code Block | ||
---|---|---|
| ||
public static void execute( @StandardToolParameter( description = "Przykladowy parametr", mode = Mode.IN, type= Type.INTEGER ) AppParameter parameter )
{
...
} |
Adnotacja parametru narzędzia systemowego posiada następujące właściwości:
- id - identyfikator parametru, wartość domyślna: fpX, gdzie X to numer parametru w kolejności liczony od 1
- description - opis parametru, wartość domyślna: ""
- mode - tryb parametru (wejściowy, wyjściowy, wejściowo-wyjściowy), wartość domyślna: wejściowo-wyjściowy
- type - typ parametru (tekstowy, datowy, liczbowy itd.), wartość domyślna: tekstowy
Jeżeli właściwość actualParametersForm w adnotacji @StandardTool przyjmuje wartość FIELDS, to edytor procesów buduje formularz parametrów aplikacji w formie konfigurowalnego formularza. Sposób budowania formularza został opisany tutaj.
...
Akcje przycisków tabeli dynamicznej
Ich definicja znajduje się w pliku CUFdefs.js w projekcie CUF w lokalizacji scripts/external/CommonUsedFunctions. Plik js zawiera zmienną CUF, która jest obiektem. Posiada on właściwość DTButtons, który także jest obiektem. Kolejne właściwości definiują obiekty zawierające tłumaczenia (np. pl, en). Wewnątrz nich znajdują się właściwości określające akcje przycisków przycisków (nazwa właściwości jest identyfikatorem przycisku). Obiekt definicji akcji przycisku tabeli dynamicznej zawiera następujące pola:
...
Code Block | ||
---|---|---|
| ||
var CUF = { DTButtons: { pl: { importFromXls: { name: 'Import pliku Excel', descr: 'Import linii tabeli z pliku Excel', buttonId: 'CUF_import_from_xls_button', text: 'Importuj', icon: 'style/img/fam/page_excel.png', tooltip: 'Importuj linie z pliku', handler: 'CUF.table.service.TableButton.importFromExcel', params: [ { viewName: 'Uwzględnij ukryte kolumny', realName: 'showHidden', type: 'boolean', defaultValue: false },{ viewName: 'Zapisz dane po wczytaniu', realName: 'saveData', type: 'boolean', defaultValue: true }, { viewName: 'Przycisk wyboru pliku', realName: 'fileButtonLabel', type: 'string', defaultValue: 'Wybierz plik' }, { viewName: 'Przycisk importowania', realName: 'loadButtonLabel', type: 'string', defaultValue: 'Importuj' }, { viewName: 'Tytuł okna', realName: 'windowTitle', type: 'string', defaultValue: 'Import pliku Excel' }, { viewName: 'Dodatkowa funkcja', realName: 'functionName', type: 'string', defaultValue: '' } ] } } } }; |
...
4. Akcje przycisków akceptacji
Ich definicja znajduje się w pliku CUFdefs.js w projekcie CUF w lokalizacji scripts/external/CommonUsedFunctions. Plik js zawiera zmienną CUF, która jest obiektem. Posiada on właściwość AcceptButtonFunctions, który także jest obiektem. Kolejne właściwości definiują obiekty zawierające tłumaczenia (np. pl, en). Wewnątrz nich znajdują się właściwości określające akcje przycisków (nazwa właściwości jest identyfikatorem przycisku). Obiekt definicji akcji przycisku tabeli dynamicznej zawiera następujące pola:
...