Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Current »

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
  • logicznytrue 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

  1. 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
  2. SystemParameterFinder - serwis (finder) umożliwiający wyszukiwanie parametrów w systemie
  3. SystemParameterService - serwis umożliwiający bezpośrednią zmianę/tworzenie/usuwanie parametrów w bazie danych
  4. DefinedSystemParameter - enum, w którym zawarte są wszystkie parametry przeniesione z pliku konfiguracyjnego do bazy

Przykłady użycia

Klasa ta została stworzona, aby nie korzystać bezpośrednio z propertiesów udostępnionych przez Sharka. Poniżej przykłady użycia

// "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).

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:

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"

Serwis stworzony do tworzenia, zmiany i usuwania parametrów na poziomie bazy danych. Przykłady użycia:

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
  • No labels