in src/main/java/org/openvasp/host/service/impl/CounterparyServiceImpl.java [40:98]
public CounterpartyEntity saveIncomingOriginator(@NonNull final Originator originator) {
val result = new CounterpartyEntity();
// An incoming originator becomes a beneficiary regarding to incoming transfers
result.setRole(CounterpartyRole.BENEFICIARY);
result.setVaan(originator.getVaan());
result.setName(originator.getName());
val postalAddressEntity = new PostalAddressEntity();
result.setPostalAddress(postalAddressEntity);
val postalAddress = originator.getAddress();
if (postalAddress != null) {
postalAddressEntity.setAdrline(postalAddress.getAdrline());
postalAddressEntity.setNumber(postalAddress.getNumber());
postalAddressEntity.setStreet(postalAddress.getStreet());
postalAddressEntity.setPostCode(postalAddress.getPostCode());
postalAddressEntity.setTown(postalAddress.getTown());
postalAddressEntity.setCountry(postalAddress.getCountry());
}
if (StringUtils.isNotEmpty(originator.getBic())) {
result.setType(CounterpartyType.BANK);
result.setBic(originator.getBic());
} else if (!CollectionUtils.isEmpty(originator.getJur())) {
result.setType(CounterpartyType.JURIDICAL_PERSON);
result.setJurIds(new HashSet<>());
for (val jur : originator.getJur()) {
val jurIdEntity = new JurIdEntity();
jurIdEntity.setIdType(jur.getJurIdType());
jurIdEntity.setIdStr(jur.getJurId());
jurIdEntity.setIssuer(jur.getJurIdIssuer());
jurIdEntity.setCountry(jur.getJurIdCountry());
result.getJurIds().add(jurIdEntity);
}
} else {
result.setType(CounterpartyType.NATURAL_PERSON);
val birthInfoEntity = new BirthInfoEntity();
result.setBirth(birthInfoEntity);
if (originator.getBirth() != null) {
birthInfoEntity.setBirthDate(originator.getBirth().getBirthDate());
birthInfoEntity.setBirthTown(originator.getBirth().getBirthCity());
birthInfoEntity.setBirthCountry(originator.getBirth().getBirthCountry());
}
result.setNatIds(new HashSet<>());
if (!CollectionUtils.isEmpty(originator.getNat())) {
for (val nat : originator.getNat()) {
val natIdEntity = new NatIdEntity();
natIdEntity.setIdType(nat.getNatIdType());
natIdEntity.setIdStr(nat.getNatId());
natIdEntity.setIssuer(nat.getNatIdIssuer());
natIdEntity.setCountry(nat.getNatIdCountry());
result.getNatIds().add(natIdEntity);
}
}
}
return save(result);
}