Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package cz.bcas.fp5;
- import cz.bcas.fp5.business.components.business.contract.data.ContractDto;
- import cz.bcas.fp5.domain.components.client.ClientDataService;
- import cz.bcas.fp5.domain.components.client.enums.Gender;
- import cz.bcas.fp5.domain.components.client.objects.Client;
- import cz.bcas.fp5.domain.components.client.objects.ClientInfo;
- import cz.bcas.fp5.domain.components.client.objects.PersonalIdentificationNumber;
- import cz.bcas.fp5.domain.components.client.objects.updates.*;
- import cz.bcas.fp5.domain.components.consultant.objects.Consultant;
- import cz.bcas.fp5.domain.components.consultant.service.ConsultantDataService;
- import cz.bcas.fp5.domain.components.context.ContextDataService;
- import cz.bcas.fp5.domain.components.context.objects.Context;
- import cz.bcas.fp5.domain.components.context.objects.ContextStatus;
- import cz.bcas.fp5.domain.components.context.objects.FinPlanContext;
- import cz.bcas.fp5.domain.components.contract.ContractDataService;
- import cz.bcas.fp5.domain.components.contract.enums.ContractState;
- import cz.bcas.fp5.domain.components.contract.enums.ContractType;
- import cz.bcas.fp5.domain.components.contract.objects.Contract;
- import cz.bcas.fp5.domain.components.disposableincome.objects.DisposableIncome;
- import cz.bcas.fp5.domain.components.disposableincome.service.DisposableIncomeDataService;
- import cz.bcas.fp5.domain.components.externalsystems.ExternalSystemDataService;
- import cz.bcas.fp5.domain.components.externalsystems.objects.ExternalSystem;
- import cz.bcas.fp5.domain.components.externalsystems.objects.ExternalSystemRule;
- import cz.bcas.fp5.domain.components.file.enums.FileFormat;
- import cz.bcas.fp5.domain.components.file.enums.FileType;
- import cz.bcas.fp5.domain.components.file.objects.RemoteFile;
- import cz.bcas.fp5.domain.components.file.service.FileDataService;
- import cz.bcas.fp5.domain.components.financialsituation.objects.actualization.ClientFinancialSituationActualization;
- import cz.bcas.fp5.domain.components.financialsituation.objects.actualization.HouseHoldFinancialSituationActualization;
- import cz.bcas.fp5.domain.components.financialsituation.objects.financialsituation.FinancialSituationActualizationItem;
- import cz.bcas.fp5.domain.components.financialsituation.objects.financialsituation.FinancialSituationActualizationItemType;
- import cz.bcas.fp5.domain.components.financialsituation.service.FinancialSituationDataService;
- import cz.bcas.fp5.domain.components.household.HouseholdDataService;
- import cz.bcas.fp5.domain.components.household.objects.Household;
- import cz.bcas.fp5.domain.components.notification.enums.BindingType;
- import cz.bcas.fp5.domain.components.notification.enums.NotificationSender;
- import cz.bcas.fp5.domain.components.notification.objects.BindingObject;
- import cz.bcas.fp5.domain.components.notification.objects.Notification;
- import cz.bcas.fp5.domain.components.notification.objects.NotificationSeverity;
- import cz.bcas.fp5.domain.components.notification.service.NotificationDataService;
- import cz.bcas.fp5.domain.components.parameters.objects.Parameter;
- import cz.bcas.fp5.domain.components.parameters.objects.ParameterValue;
- import cz.bcas.fp5.domain.components.parameters.service.ParametersDataService;
- import cz.bcas.fp5.domain.components.user.UserDataService;
- import cz.bcas.fp5.domain.components.user.enums.PasswordType;
- import cz.bcas.fp5.domain.components.user.enums.Role;
- import cz.bcas.fp5.domain.components.user.objects.InternalCredentials;
- import cz.bcas.fp5.domain.components.user.objects.User;
- import org.jboss.logging.Logger;
- import javax.annotation.PostConstruct;
- import javax.ejb.Singleton;
- import javax.ejb.Startup;
- import javax.inject.Inject;
- import java.time.LocalDate;
- import java.time.LocalDateTime;
- import java.time.format.DateTimeFormatter;
- import java.util.Arrays;
- import java.util.HashSet;
- import java.util.Set;
- /**
- * Trida ktera pri startu aplikace naplni databazi datama z obejktu.
- * @author Tomáš Matějka
- */
- @Startup
- @Singleton
- public class StartUpFillUp {
- @Inject
- private Logger logger;
- /**
- * Zavola metody na naplneni databaze.
- */
- @PostConstruct
- public void init() {
- logger.debug("Filling up database with data.");
- // fileSystemFill();
- // externalSystemSaveTest();
- // notificationSaveTest();
- householdSaveTest();
- // parametersFill();
- finSitFill();
- contractsFill();
- }
- @Inject
- private HouseholdDataService hhDataService;
- @Inject
- private UserDataService userDataService;
- @Inject
- private ClientDataService clientDataService;
- @Inject
- private NotificationDataService notificationDataService;
- @Inject
- private ExternalSystemDataService externalSystemDataService;
- @Inject
- private FileDataService fileDataService;
- @Inject
- private ConsultantDataService consultantDataService;
- @Inject
- private ParametersDataService parametersDataService;
- @Inject
- private FinancialSituationDataService financialSituationDataService;
- @Inject
- private ContextDataService contextDataService;
- @Inject
- private DisposableIncomeDataService disposableIncomeDataService;
- @Inject
- ContractDataService contractDataService;
- /**
- * Vytvori nekolik remote souboru s binding objectama, tagama atd.
- */
- public void fileSystemFill() {
- DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-yyy HH:mm");
- RemoteFile remoteFile = new RemoteFile();
- remoteFile.setName("remoteFile 1");
- remoteFile.setCreated(LocalDateTime.parse("14-07-2016 15:45", formatter));
- remoteFile.setType(FileType.GOAL);
- remoteFile.setFileFormat(FileFormat.PDF);
- remoteFile.setTags(new HashSet<>(Arrays.asList("a1", "b2", "c3")));
- remoteFile.setUrl("remote url 1");
- remoteFile.setBindingObjects(Arrays.asList(
- BindingObject.builder().
- bindingId(1L).
- bindingType(BindingType.HOUSEHOLD).
- build(),
- BindingObject.builder().
- bindingId(2L).
- bindingType(BindingType.CONTRACT).
- build()
- ));
- fileDataService.saveFile(remoteFile);
- RemoteFile remoteFile2 = new RemoteFile();
- remoteFile2.setName("remoteFile 2");
- remoteFile2.setCreated(LocalDateTime.parse("14-06-2016 15:45", formatter));
- remoteFile2.setType(FileType.GOAL);
- remoteFile2.setFileFormat(FileFormat.TXT);
- remoteFile2.setTags(new HashSet<>(Arrays.asList("c3", "d4", "d5")));
- remoteFile2.setUrl("remote url 2");
- remoteFile2.setBindingObjects(Arrays.asList(
- BindingObject.builder().
- bindingId(2L).
- bindingType(BindingType.GOAL).
- build(),
- BindingObject.builder().
- bindingId(1L).
- bindingType(BindingType.HOUSEHOLD).
- build()
- ));
- fileDataService.saveFile(remoteFile2);
- RemoteFile remoteFile3 = new RemoteFile();
- remoteFile3.setName("remoteFile 3");
- remoteFile3.setCreated(LocalDateTime.parse("14-06-2017 15:45", formatter));
- remoteFile3.setType(FileType.GOAL);
- remoteFile3.setFileFormat(FileFormat.TXT);
- remoteFile3.setTags(new HashSet<>(Arrays.asList("d5", "e7", "f9")));
- remoteFile3.setUrl("remote url 3");
- remoteFile3.setBindingObjects(Arrays.asList(
- BindingObject.builder().
- bindingId(3L).
- bindingType(BindingType.GOAL).
- build(),
- BindingObject.builder().
- bindingId(4L).
- bindingType(BindingType.CONTRACT).
- build()
- ));
- fileDataService.saveFile(remoteFile3);
- RemoteFile remoteFile4 = new RemoteFile();
- remoteFile4.setName("remoteFile 4");
- remoteFile4.setCreated(LocalDateTime.parse("14-06-2018 15:45", formatter));
- remoteFile4.setType(FileType.GOAL);
- remoteFile4.setFileFormat(FileFormat.TXT);
- remoteFile4.setTags(new HashSet<>(Arrays.asList("g10", "d5", "e7")));
- remoteFile4.setUrl("remote url 4");
- remoteFile4.setBindingObjects(Arrays.asList(
- BindingObject.builder().
- bindingId(4L).
- bindingType(BindingType.HOUSEHOLD).
- build(),
- BindingObject.builder().
- bindingId(5L).
- bindingType(BindingType.CONTRACT).
- build()
- ));
- fileDataService.saveFile(remoteFile4);
- }
- /**
- * Vytvori externi system a nejake pravidla.
- */
- public void externalSystemSaveTest() {
- ExternalSystem externalSystem = new ExternalSystem();
- externalSystem.setName("TESTING_SYSTEM");
- externalSystem.setPermissions(new HashSet<>(Arrays.asList("test-base/read", "test-all/.*")));
- externalSystemDataService.save(externalSystem);
- ExternalSystemRule externalSystemRule = new ExternalSystemRule();
- externalSystemRule.setAuthorizerClassName("cz.bcas.fp5.business.components.system.security.externalsystems.authentication.authenticators.AllAllowedAuthenticator");
- externalSystemRule.setExternalSystem(externalSystem);
- externalSystemRule.setParameters("");
- externalSystemRule.setExternalSystem(externalSystem);
- externalSystem.setRules(new HashSet<>(Arrays.asList(externalSystemRule)));
- externalSystemDataService.save(externalSystem);
- externalSystemDataService.save(externalSystemRule);
- }
- /**
- * Vytvori domacnosti.
- */
- public void householdSaveTest() {
- User user = createAndPersistUser();
- Household hh = new Household();
- hh.setName("Novákovi");
- hh.setOwner(user);
- hh.setCreatedBy(user);
- hh.setCreated(LocalDate.now());
- hh.setNumber("FP-0000001");
- Context fp2020 = newFinplan2020(user);
- Context fp2022 = newFinplan2022(user);
- hh.setFirstContext(fp2020);
- fp2022.setParentContext(fp2020);
- fp2020.setHouseHold(hh);
- fp2022.setHouseHold(hh);
- hh.setContexts(Arrays.asList(
- fp2020,
- fp2022
- ));
- hhDataService.save(hh);
- fp2020.setStatus(ContextStatus.LOCKED);
- fp2022.setStatus(ContextStatus.OPEN);
- Client client = createClient(fp2020, Gender.MAN, "Josef", "Novák", "123456", "0001");
- josefNovak = client;
- client = createClient(fp2022, Gender.WOMAN, "Jana", "Nováková", "123456", "0002");
- janaNovakova = client;
- }
- Client josefNovak, janaNovakova;
- private Client createClient(Context context, Gender gender, String firstName, String lastName, String pinFirstPart, String pinSecondPart) {
- Consultant c = consultantDataService.findConsultantForUser(userDataService.getUserByLogin("a"));
- Client client = new Client();
- client.setHko(c);
- client.setPersonalIdentificationNumber(PersonalIdentificationNumber.builder().firstPart(pinFirstPart).secondPart(pinSecondPart).build());
- clientDataService.saveClient(client);
- ClientInfo info = new ClientInfo();
- info.setBirthDate(LocalDate.parse("1990-01-01"));
- info.setFirstName(firstName);
- info.setLastName(lastName);
- info.setGender(gender);
- ClientAdditionActualization actualization = new ClientAdditionActualization();
- actualization.setType(ClientAdditionType.BIRTH);
- actualization.setClientInfo(info);
- actualization.setClient(client);
- actualization.setNote("Zalození");
- actualization.setReferenceDate(LocalDate.parse("2016-07-08"));
- actualization.setContext(context);
- actualization.setDoneBy(userDataService.getUserByLogin("a"));
- clientDataService.saveClientActualization(actualization);
- return client;
- }
- private Context newFinplan2020(User user) {
- FinPlanContext context = new FinPlanContext();
- context.setName("FP2020");
- context.setCreated(LocalDate.parse("2020-01-01"));
- context.setCreatedBy(user);
- context.setReferenceDate(LocalDate.parse("2020-01-01"));
- return context;
- }
- private Context newFinplan2022(User user) {
- FinPlanContext context = new FinPlanContext();
- context.setName("FP2022");
- context.setCreated(LocalDate.parse("2022-01-01"));
- context.setCreatedBy(user);
- context.setReferenceDate(LocalDate.parse("2022-01-01"));
- return context;
- }
- private User createAndPersistUser() {
- User u = new User();
- u.setLogin("a");
- userDataService.saveUser(u);
- Consultant c = new Consultant();
- c.setUser(u);
- c.setFirstName("Vojtěch");
- c.setLastName("Bereščák");
- consultantDataService.saveConsultant(c);
- InternalCredentials internalCredentials = new InternalCredentials();
- internalCredentials.setPassword("a");
- internalCredentials.setPasswordType(PasswordType.PLAIN);
- internalCredentials.setUser(u);
- userDataService.saveInternalCredentials(internalCredentials);
- // Notification n1 = Notification.builder().
- // sender(NotificationSender.ADMIN).
- // recipient(u).
- // subject("Upozorneni 1").
- // date(LocalDateTime.now()).
- // content("Obsah upozorneni").
- // severity(NotificationSeverity.INFO).
- // imageReference("img odkaz 1").
- // alreadyShown(false).
- // bindingObjects(Arrays.asList(
- // BindingObject.builder().bindingId(1L).bindingType(BindingType.HOUSEHOLD).build(),
- // BindingObject.builder().bindingId(1L).bindingType(BindingType.CONTEXT).build()
- // )).
- // build();
- // notificationDataService.save(n1);
- //
- // Notification n2 = Notification.builder().
- // sender(NotificationSender.ADMIN).
- // recipient(u).
- // subject("Upozorneni 2").
- // date(LocalDateTime.now()).
- // content("Obsah upozorneni").
- // severity(NotificationSeverity.INFO).
- // imageReference("img odkaz 1").
- // alreadyShown(false).
- // bindingObjects(Arrays.asList(
- // BindingObject.builder().bindingId(1L).bindingType(BindingType.HOUSEHOLD).build(),
- // BindingObject.builder().bindingId(2L).bindingType(BindingType.CONTEXT).build()
- // )).
- // build();
- // notificationDataService.save(n2);
- return u;
- }
- private void parametersFill(){
- User user = new User();
- user.setLogin("parameterUser");
- user.setRoles(new HashSet<>(
- Arrays.asList(Role.SYSTEM_ADMIN, Role.PARAM_ADMIN))
- );
- userDataService.saveUser(user);
- InternalCredentials internalCredentials = new InternalCredentials();
- internalCredentials.setPassword("heslo");
- internalCredentials.setPasswordType(PasswordType.PLAIN);
- internalCredentials.setUser(user);
- userDataService.saveInternalCredentials(internalCredentials);
- Parameter parameter = new Parameter();
- parameter.setCreatedBy(user);
- parameter.setCreated(LocalDate.now());
- parameter.setName("LATEST_WORK_AGE");
- parameter.setTopic("InvalidRetirement");
- parametersDataService.saveParameter(parameter);
- ParameterValue parameterValue = new ParameterValue();
- parameterValue.setCreatedBy(user);
- parameterValue.setParameter(parameter);
- parameterValue.setCreatedBy(user);
- parameterValue.setUpdatedBy(user);
- parameterValue.setValue("666");
- parameterValue.setValidFrom(LocalDate.parse("10-10-2011", DateTimeFormatter.ofPattern("dd-MM-yyyy")));
- parametersDataService.saveParameterValue(parameterValue);
- parameterValue = new ParameterValue();
- parameterValue.setCreatedBy(user);
- parameterValue.setParameter(parameter);
- parameterValue.setCreatedBy(user);
- parameterValue.setUpdatedBy(user);
- parameterValue.setValue("555");
- parameterValue.setValidFrom(LocalDate.parse("10-10-2012", DateTimeFormatter.ofPattern("dd-MM-yyyy")));
- parametersDataService.saveParameterValue(parameterValue);
- parameterValue = new ParameterValue();
- parameterValue.setCreatedBy(user);
- parameterValue.setParameter(parameter);
- parameterValue.setCreatedBy(user);
- parameterValue.setUpdatedBy(user);
- parameterValue.setValue("999");
- parameterValue.setValidFrom(LocalDate.parse("10-10-2013", DateTimeFormatter.ofPattern("dd-MM-yyyy")));
- parametersDataService.saveParameterValue(parameterValue);
- parameter = new Parameter();
- parameter.setCreatedBy(user);
- parameter.setCreated(LocalDate.now());
- parameter.setName("MAX_MONTH_INCOME");
- parameter.setTopic("InvalidRetirement");
- parametersDataService.saveParameter(parameter);
- parameterValue = new ParameterValue();
- parameterValue.setCreatedBy(user);
- parameterValue.setParameter(parameter);
- parameterValue.setCreatedBy(user);
- parameterValue.setUpdatedBy(user);
- parameterValue.setValue("3.14");
- parameterValue.setValidFrom(LocalDate.parse("10-10-2014", DateTimeFormatter.ofPattern("dd-MM-yyyy")));
- parameterValue = new ParameterValue();
- parameterValue.setCreatedBy(user);
- parameterValue.setParameter(parameter);
- parameterValue.setCreatedBy(user);
- parameterValue.setUpdatedBy(user);
- parameterValue.setValue("2.7");
- parameterValue.setValidFrom(LocalDate.parse("10-10-2016", DateTimeFormatter.ofPattern("dd-MM-yyyy")));
- parametersDataService.saveParameterValue(parameterValue);
- }
- private void finSitFill() {
- User user = userDataService.getUserByLogin("a");
- Consultant consultant = consultantDataService.findConsultantForUser(user);
- HouseHoldFinancialSituationActualization houseHoldFinSit = new HouseHoldFinancialSituationActualization();
- houseHoldFinSit.setHousehold(hhDataService.findHouseholdById(1L));
- houseHoldFinSit.setContext(contextDataService.getContextById(1L));
- houseHoldFinSit.setDoneBy(user);
- houseHoldFinSit.setNote("Financni situace domacnosti");
- houseHoldFinSit.setReferenceDate(LocalDate.parse("10-10-2016", DateTimeFormatter.ofPattern("dd-MM-yyyy")) );
- Set<FinancialSituationActualizationItem> fsaiSet = new HashSet<>();
- FinancialSituationActualizationItem fsai = new FinancialSituationActualizationItem();
- fsai.setActualization(houseHoldFinSit);
- fsai.setType(FinancialSituationActualizationItemType.OTHER_PASSIVE_INCOME);
- fsai.setValue(1000.0);
- fsaiSet.add(fsai);
- houseHoldFinSit.setItems(fsaiSet);
- financialSituationDataService.saveFinSit(houseHoldFinSit);
- Client client = josefNovak;
- clientDataService.saveClient(client);
- ClientFinancialSituationActualization clientFinSit = new ClientFinancialSituationActualization();
- clientFinSit.setClient(client);
- clientFinSit.setContext(contextDataService.getContextById(1L));
- clientFinSit.setDoneBy(user);
- clientFinSit.setNote("Josefovo financni situace");
- clientFinSit.setReferenceDate(LocalDate.parse("11-11-2017", DateTimeFormatter.ofPattern("dd-MM-yyyy")));
- financialSituationDataService.saveFinSit(clientFinSit);
- client = janaNovakova;
- clientDataService.saveClient(client);
- clientFinSit = new ClientFinancialSituationActualization();
- clientFinSit.setClient(client);
- clientFinSit.setContext(contextDataService.getContextById(1L));
- clientFinSit.setDoneBy(user);
- clientFinSit.setNote("Janina financni situace");
- clientFinSit.setReferenceDate(LocalDate.parse("11-11-2017", DateTimeFormatter.ofPattern("dd-MM-yyyy")));
- financialSituationDataService.saveFinSit(clientFinSit);
- DisposableIncome disposableIncome = DisposableIncome.builder()
- .context(contextDataService.getContextById(1L))
- .doneBy(user)
- .referenceDate(LocalDate.parse("08-08-2020", DateTimeFormatter.ofPattern("dd-MM-yyyy")))
- .source("Dar do rodicu")
- .value(10000)
- .build();
- disposableIncomeDataService.saveDisposableIncome(disposableIncome);
- }
- private void contractsFill() {
- Consultant c = consultantDataService.findConsultantForUser(userDataService.getUserByLogin("a"));
- ContractDto mort = new ContractDto();
- mort.setName("Hypoteka na byt");
- mort.setCreated(LocalDate.parse("05-04-2013", DateTimeFormatter.ofPattern("dd-MM-yyyy")));
- mort.setFromBC(false);
- mort.setContractType(ContractType.HYPO);
- mort.setContractState(ContractState.RUNNING);
- ContractDto liPepa = new ContractDto();
- liPepa.setName("Pepovo pojisteni");
- liPepa.setCreated(LocalDate.parse("17-11-2016", DateTimeFormatter.ofPattern("dd-MM-yyyy")));
- liPepa.setFromBC(true);
- liPepa.setContractType(ContractType.LIFE_INSURANCE);
- liPepa.setContractState(ContractState.DRAFT);
- Contract c1 = new Contract(mort, null, c);
- c1.setContext(contextDataService.getContextById(1L));
- Contract c2 = new Contract(liPepa, null, c);
- c2.setContext(contextDataService.getContextById(2L));
- this.contractDataService.saveContract(c1);
- this.contractDataService.saveContract(c2);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement