in data-catalog-api/server/simple-sharing/src/main/java/org/apache/airavata/datacatalog/api/sharing/SimpleSharingManagerImpl.java [263:282]
private SimpleUserEntity resolveSimpleUser(UserInfo userInfo, SimpleTenantEntity tenant) {
Optional<SimpleUserEntity> maybeSimpleUser = simpleUserRepository
.findByExternalIdAndSimpleTenant(userInfo.getUserId(), tenant);
SimpleUserEntity simpleUser = maybeSimpleUser.orElseGet(() -> {
UserEntity newUser = new UserEntity();
newUser.setExternalId(userInfo.getUserId());
newUser.setName(userInfo.getUserId());
newUser.setTenant(tenant.getTenant());
newUser = userRepository.save(newUser);
SimpleUserEntity newSimpleUser = new SimpleUserEntity();
newSimpleUser.setExternalId(userInfo.getUserId());
newSimpleUser.setName(userInfo.getUserId());
newSimpleUser.setSimpleTenant(tenant);
newSimpleUser.setUser(newUser);
return simpleUserRepository.save(newSimpleUser);
});
return simpleUser;
}