public static boolean isSecondaryOwnerForVehicle()

in src/main/java/software/amazon/qldb/tutorial/AddSecondaryOwner.java [61:86]


    public static boolean isSecondaryOwnerForVehicle(final TransactionExecutor txn, final String vin,
                                                     final String secondaryOwnerId) {
        try {
            log.info("Finding secondary owners for vehicle with VIN: {}...", vin);
            final String query = "SELECT Owners.SecondaryOwners FROM VehicleRegistration AS v WHERE v.VIN = ?";
            final List<IonValue> parameters = Collections.singletonList(Constants.MAPPER.writeValueAsIonValue(vin));
            final Result result = txn.execute(query, parameters);
            final Iterator<IonValue> itr = result.iterator();
            if (!itr.hasNext()) {
                return false;
            }

            final Owners owners = Constants.MAPPER.readValue(itr.next(), Owners.class);
            if (null != owners.getSecondaryOwners()) {
                for (Owner owner : owners.getSecondaryOwners()) {
                    if (secondaryOwnerId.equalsIgnoreCase(owner.getPersonId())) {
                        return true;
                    }
                }
            }

            return false;
        } catch (IOException ioe) {
            throw new IllegalStateException(ioe);
        }
    }