Wstęp
Parametry systemu pozwalają na zmianę specyficznych zachowań systemu (zależnie od wybranego parametru) oraz tworzeniu nowych własnych parametrów możliwych do podglądu i zmiany z poziomu Java API lub interfejsu użytkownika. Zapisywane są w bazie danych i są docelowym miejscem przeniesienia parametrów aktualnie konfigurowanych w pliku systemowym. Ze względu na to iż system często wymaga pobrania parametrów, przetrzymywane są one w cache'u. Niewskazane jest więc zmienianie parametrów bezpośrednio w bazie danych.
Każdy z parametrów posiada własny typ. Możliwe typy to:
- datowy - przechowywany w bazie jako typ datowy. Jeżeli nie istnieje w bazie, odczytywany z pliku w formacie yyyy-MM-dd
- tekstowy - tekst do 4000 znaków
- całkowity - odpowiednik typu Long
- zmiennoprzecinkowy - odpowiednik typu Double
- logiczny - true lub false
- combobox - wiele wartości tekstowych możliwych do pobrania
- hasło - zaszyfrowany w bazie tekst. Jeżeli parametr nie istnieje w bazie, odczytywany jest jako zwykły tekst z pliku
Parametry w GUI mogą mieć własne tłumaczenia. Graficznie dla kategorii parametru jest to tekst umieszczony obok klucza kategorii. Dla parametru jest to tekst w tooltipie wyświetlanym przy najechaniu kursorem na klucz parametru. Aby ustawić własne tłumaczenie parametru lub kategorii, należy w jakimkolwiek translatorze wdrożeniowym dodać wpis, gdzie klucz tłumaczenia jest identyczny do klucza kategorii lub parametru.
Powiązane klasy
Javadoc |
---|
displayValue | SystemProperties |
---|
property | javadoc.plusworkflow |
---|
className | com.suncode.pwfl.administration.configuration.SystemProperties |
---|
|
- klasa umożliwiająca szybkie pobieranie parametrów systemowych. Jeżeli parametr nie istnieje w bazie danych, zostanie zwrócona jego wartość z pliku konfiguracyjnego systemu Javadoc |
---|
displayValue | SystemParameterFinder |
---|
property | javadoc.plusworkflow |
---|
className | com.suncode.pwfl.administration.configuration.SystemParameterFinder |
---|
|
- serwis (finder) umożliwiający wyszukiwanie parametrów w systemie Javadoc |
---|
displayValue | SystemParameterService |
---|
property | javadoc.plusworkflow |
---|
className | com.suncode.pwfl.administration.configuration.SystemParameterService |
---|
|
- serwis umożliwiający bezpośrednią zmianę/tworzenie/usuwanie parametrów w bazie danych Javadoc |
---|
displayValue | DefinedSystemParameter |
---|
property | javadoc.plusworkflow |
---|
className | com.suncode.pwfl.administration.configuration.DefinedSystemParameter |
---|
|
- enum, w którym zawarte są wszystkie parametry przeniesione z pliku konfiguracyjnego do bazy
Przykłady użycia
Javadoc |
---|
displayValue | SystemProperties |
---|
property | javadoc.plusworkflow |
---|
className | com.suncode.pwfl.administration.configuration.SystemProperties |
---|
|
Klasa ta została stworzona, aby nie korzystać bezpośrednio z propertiesów udostępnionych przez Sharka. Poniżej przykłady użycia
Code Block |
---|
|
// "Dawne" pobieranie parametrów z pliku Sharka
String value = Shark.getInstance().getProperties().getProperty( key );
// "Nowe" pobieranie parametrów
// Jeżeli parametr nie istnieje w bazie, zadziała identycznie, jak powyższy kod. Jeżeli parametr istnieje w bazie, zostanie z niej pobrany.
String value = SystemProperties.getString( key ); // możliwe podanie typów: String (dla typu tekstowego, comboboxa oraz hasła), Date (format yyyy-MM-dd), Long, Boolean
Date dateValue = SystemProperties.getDate( key ); // pobranie parametru datowego, format yyyy-MM-dd
String decryptedPassword = SystemProperties.getPassword( key ); // pobranie parametru hasłowego (parametr jest zaszyfrowany w bazie)
// Pobranie parametru podając wartość domyślną
String value = SystemProperties.getString( key, "wartoscDomyslna");
Boolean booleanParam = SystemProperties.getBoolean( key, false );
// Pobranie parametru przeniesionego z pliku konfiguracyjnego do bazy
String value = SystemProperties.getString( DefinedSystemParameter.UNIVERSAL_PASSWORD ); // Jeżeli istnieje w bazie, zostanie z niej pobrany. Jeżeli nie - zostanie pobrany z pliku konfiguracyjnego.
// Jeżeli nie istnieje w pliku, zwrócona zostanie wartość domyślna (taka, jak w domyślnym pliku konfiguracyjnym). |
Javadoc |
---|
displayValue | SystemParameterFinder |
---|
property | javadoc.plusworkflow |
---|
className | com.suncode.pwfl.administration.configuration.SystemParameterFinder |
---|
|
Finder stworzony do wyszukiwania wszystkich parametrów, wszystkich kategorii, wszystkich parametrów w kategorii oraz parametrów według filtrów. Przykłady użycia:
Code Block |
---|
|
SystemParameterFinder finder = FinderFactory.getSystemParameterFinder();
List<Category> categories = finder.getAllCategories(); // wyszukanie wszystkich kategorii
List<SystemParameter> params = finder.findByCategory( "General" ); // wyszukanie wszystkich parametrów dla kategorii "General" |
Javadoc |
---|
displayValue | SystemParameterService |
---|
property | javadoc.plusworkflow |
---|
className | com.suncode.pwfl.administration.configuration.SystemParameterService |
---|
|
Serwis stworzony do tworzenia, zmiany i usuwania parametrów na poziomie bazy danych. Przykłady użycia:
Code Block |
---|
|
Category category = new Category( "ExampleCategory" ); // stworzenie encji kategorii
SystemParameter parameter = new SystemParameter( category, ParameterType.BOOLEAN, "ExampleKey" ); // stworzenie encji parametru
parameter.setValue( true ); // ustawienie wartości
SystemParameterService service = ServiceFactory.getSystemParameterService();
service.create( parameter ); // stworzneie parametru
parameter.setValue( false );
service.update( parameter ); // aktualizacja parametru
SystemParameter parameter2 = service.getParameter( "ExampleSecondParameterKey" ); // pobranie parametru
service.delete( parameter.getKey() ); // usunięcie parametru |