Package org.switchyard.quickstarts.demos.library.types

Examples of org.switchyard.quickstarts.demos.library.types.Loan


    public Integer getQuantity(Book book) {
        return book != null ? getQuantity(book.getIsbn()) : ZERO;
    }

    public Loan attemptLoan(String isbn, String loanId) {
        Loan loan = new Loan();
        loan.setId(loanId);
        Book book = getBook(isbn);
        if (book != null) {
            synchronized (librarian) {
                int quantity = getQuantity(book);
                if (quantity > 0) {
                    quantity--;
                    isbns_to_quantities.put(isbn, quantity);
                    loan.setApproved(true);
                    loan.setNotes("Happy reading! Remaining copies: " + quantity);
                    loan.setBook(book);
                } else {
                    loan.setApproved(false);
                    loan.setNotes("Book has no copies available.");
                }
            }
        } else {
            loan.setApproved(false);
            loan.setNotes("No book matching isbn: " + isbn);
        }
        return loan;
    }
View Full Code Here


        Book book1_WorldWarZ = suggestion1_Zombie.getBook();
        System.out.println("Received suggestion for book: " + book1_WorldWarZ.getTitle() + " (isbn: " + book1_WorldWarZ.getIsbn() + ")");
        Assert.assertEquals("World War Z", book1_WorldWarZ.getTitle());
        // take out 1st loan
        System.out.println("Attempting 1st loan for isbn: " + book1_WorldWarZ.getIsbn());
        Loan loan1_WorldWarZ = attemptLoan(book1_WorldWarZ.getIsbn());
        System.out.println("1st loan approved? " + loan1_WorldWarZ.isApproved());
        Assert.assertTrue(loan1_WorldWarZ.isApproved());
        // 2nd loan should not be approved since 1st loan hasn't been returned
        System.out.println("Attempting 2nd loan for isbn: " + book1_WorldWarZ.getIsbn());
        Loan loan2_WorldWarZ = attemptLoan(book1_WorldWarZ.getIsbn());
        System.out.println("2nd loan approved? " + loan2_WorldWarZ.isApproved());
        Assert.assertFalse(loan2_WorldWarZ.isApproved());
        // return 1st loan
        System.out.println("Returning 1st loan for isbn: " + loan1_WorldWarZ.getBook().getIsbn());
        boolean return1_ack = returnLoan(loan1_WorldWarZ);
        System.out.println("1st loan return acknowledged? " + return1_ack);
        Assert.assertTrue(return1_ack);
        // try 2nd loan again; this time it should work
        System.out.println("Re-attempting 2nd loan for isbn: " + book1_WorldWarZ.getIsbn());
        loan2_WorldWarZ = attemptLoan(book1_WorldWarZ.getIsbn());
        System.out.println("Re-attempt of 2nd loan approved? " + loan2_WorldWarZ.isApproved());
        Assert.assertTrue(loan2_WorldWarZ.isApproved());
        // get 2nd suggestion, and since 1st book not available (again), 2nd match will return
        Suggestion suggestion2_TheZombieSurvivalGuide = getSuggestion("Zombie");
        Book book2_TheZombieSurvivalGuide = suggestion2_TheZombieSurvivalGuide.getBook();
        System.out.println("Received suggestion for book: " + book2_TheZombieSurvivalGuide.getTitle() + " (isbn: " + book2_TheZombieSurvivalGuide.getIsbn() + ")");
        Assert.assertEquals("The Zombie Survival Guide", book2_TheZombieSurvivalGuide.getTitle());
        // take out 3rd loan
        System.out.println("Attempting 3rd loan for isbn: " + book2_TheZombieSurvivalGuide.getIsbn());
        Loan loan3_TheZombieSurvivalGuide = attemptLoan(book2_TheZombieSurvivalGuide.getIsbn());
        System.out.println("3rd loan approved? " + loan3_TheZombieSurvivalGuide.isApproved());
        Assert.assertTrue(loan3_TheZombieSurvivalGuide.isApproved());
        // return 2nd loan
        System.out.println("Returning 2nd loan for isbn: " + loan2_WorldWarZ.getBook().getIsbn());
        boolean return2_ack = returnLoan(loan2_WorldWarZ);
        System.out.println("2nd loan return acknowledged? " + return2_ack);
        Assert.assertTrue(return2_ack);
        // return 3rd loan
        System.out.println("Returning 3rd loan for isbn: " + loan3_TheZombieSurvivalGuide.getBook().getIsbn());
        boolean return3_ack = returnLoan(loan3_TheZombieSurvivalGuide);
        System.out.println("3rd loan return acknowledged? " + return3_ack);
        Assert.assertTrue(return3_ack);
        System.out.println();
    }
View Full Code Here

TOP

Related Classes of org.switchyard.quickstarts.demos.library.types.Loan

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.