RConfiguration - lanit-tercom-school/analyzeme GitHub Wiki
#RConfiguration
###Диаграмма классов для сохранения настроек R-обработчика
Пример работы с RConfiguration на примере RserveConf
RserveConf C1 = new RserveConf();
RserveConf C2 = new RserveConf(false, "localhost", "8080", "example");
System.out.println(C1.isActive());
//output:true
System.out.println(C1.getHost());
//output: null
System.out.println(C1.getPort());
//output: null
System.out.println(C2.isActive());
//output: false
System.out.println(C2.getHost());
//output: localhost
System.out.println(C2.getPort());
//output: 8080
System.out.println(C2.getName());
//output: example
// преобразовываем объект RServe в JSONObject например для отправки с сервера.
System.out.println(C1.toJSONObject().toString());
//output: {"port":null,"rConfType":"RserveConf","name":"newRServe","host":null,"activeFlag":true}
System.out.println(C2.toJSONObject().toString());
//output: {"port":"8080","rConfType":"RserveConf","name":"example","host":"localhost","activeFlag":false}
// присваиваем C1 значение конфигурации C2
C1.assignment(C2);
System.out.println(C1.isActive());
//output: false
System.out.println(C1.getName());
//output: example
System.out.println(C1.getHost());
//output: localhost
System.out.println(C1.getPort());
//output: 8080
###Диаграмма фабрики и репозитория
##Пример работы с репозиторием
По умолчанию в репозитории сохранены три активные конфигурации:
FakeRConf
с именем "FakeR"RenjinConf
с именем "Renjin"RserveConf
с именем "Rserve1 и нулевыми портами и хостами
####Получение всех настроек как Json строку.
System.out.println(RConfRepository.getRepo().allConfigurationsToJsonString());
//[{"rConfType":"FakeRConf","name":"FakeR","activeFlag":true},{"rConfType":"RenjinConf","name":"Renjin","activeFlag":true},{"port":null,"rConfType":"RserveConf","name":"Rserve1","host":null,"activeFlag":true}]
####Добавление новых настроек
FakeRConf RConf = new FakeRConf();
RConfRepository.getRepo().addRConf(RConf);
####Получение настройки по имени.
IRConf RConf1 = RConfRepository.getRepo().getRConfByName("FakeR");
####Удаление настройки по имени.
RConfRepository.getRepo().deleteRConfByName("FakeR");
####Обновление настройки по имени.
// json строка для обновления настройки
final String data = "{\"rConfType\":\"RserveConf\",\"name\":\"Example\",\"activeFlag\":true,\"host\":\"localhost\",\"port\":\"1099\"}";
// update RConf
RConfRepository.getRepo().updateRConfByName("Rserve1", data);
####Получение первой настройки RFake.
IRConf RConf = RConfRepository.getRepo().GetDefaultTestConfiguration();
####Получение первой не RFake настройки .
IRConf RConf = RConfRepository.getRepo().GetDefaultConfiguration();
##Пример использования фабрики Пример json строк для фабрики
- FakeR
{"rConfType":"FakeRConf","name":"Example1","activeFlag":"true"}
- Renjin
{"rConfType":"RenjinConf","name":"Example2","activeFlag":"true"}
- Rserve
{"rConfType":"RserveConf","name":"Example3","activeFlag":"true","host":"localhost","port":"1099"}
public void run() {
final String st1 = "{\"rConfType\":\"FakeRConf\",\"name\":\"Example1\",\"activeFlag\":true}";
final String st2 = "{\"rConfType\":\"RenjinConf\",\"name\":\"Example2\",\"activeFlag\":true}";
final String st3 = "{\"rConfType\":\"RserveConf\",\"name\":\"Example3\",\"activeFlag\":true,\"host\":\"localhost\",\"port\":\"1099\"}";
IRConf RConf1 = RConfFactory.getRConf(st1);
System.out.println(RConf1.getName());
//output:Example1
IRConf RConf2 = RConfFactory.getRConf(st2);
System.out.println(RConf2.getName());
//output:Example2
IRConf RConf3 = RConfFactory.getRConf(st3);
System.out.println(RConf3.getName());
//output:Example3
}