Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

Przykłady użycia

  • Javadoc
    displayValueSystemProperties
    propertyjavadoc.plusworkflow
    classNamecom.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
languagejava
// "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
    displayValueSystemParameterFinder
    propertyjavadoc.plusworkflow
    classNamecom.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
languagejava
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
    displayValueSystemParameterService
    propertyjavadoc.plusworkflow
    classNamecom.suncode.pwfl.administration.configuration.SystemParameterService

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

Code Block
languagejava
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