Sam, just wanted to let you know that this is on my radar - I'm a bit
swamped right now with Van away.  But it's on my list to respond to -
probably Monday before I get to it, though.  Sorry for the delay and it's
great to see you digging into the code :)

On Nov 14, 2007 11:12 PM, Sam Lee <[EMAIL PROTECTED]> wrote:

> Hi,
>
> I'm looking into issue 1512, the equals/hashCode issue identified from
> findbug.
>
> To ensure I understand the business requirement / data model, could
> someone clarify whether the following is true or not?
>
> 1. For each loan product, it may be associated with multiple fees. (I
> guess fees the product could apply)
> 2. However, each loan product will be associated with the same fee at
> most once. In other words, in mysql,
> table prd_offering_fees should have a unique constraint on
> (prd_offering_id, fee_id)
>
> You can also see the attached patch on LoanOfferingBOTest that
> reflects the above assumption. Or you can see the actual test right
> below (rather than going through the patching).
>
> - sam
>
> A new test method in LoanOfferingBOTest.java (equivalent to the attached
> patch)
>
>        public void testBuildloanOfferingWithDuplicateFeeXXX() throws
> SystemException,
>                ApplicationException {
>                createIntitalObjects();
>                Date startDate = offSetCurrentDate(0);
>                LoanOfferingBO loanOffering = new
> LoanOfferingBO(TestObjectFactory
>                                .getContext(), "Loan Offering", "LOAN",
> productCategory,
>                                prdApplicableMaster, startDate,
> interestTypes,
>                                new Money("1000"), new Money("3000"), 12.0,
> 2.0, 3.0,
>                                (short) 20, (short) 1, (short) 12, false,
> true, false,
>                                frequency, principalglCodeEntity,
> intglCodeEntity);
>
>                FeeBO fee = TestObjectFactory.createOneTimeAmountFee("Loan
> One time ",
>                                        FeeCategory.LOAN, "100",
> FeePayment.UPFRONT);
>
>                LoanOfferingFeesEntity loanOfferingFees1 =
>                        new LoanOfferingFeesEntity(loanOffering, fee);
>                loanOffering.addPrdOfferingFee(loanOfferingFees1);
>
>                // another fee for the proudct: which refers to the same
> fee
>                // as the one above
>                LoanOfferingFeesEntity loanOfferingFees2 =
>                        new LoanOfferingFeesEntity(loanOffering, fee);
>                loanOffering.addPrdOfferingFee(loanOfferingFees2);
>
>                assertEquals("sam: I believe the business requirement is
> that the
> loan should not have fees that are essentially the same.",
>                                1, loanOffering.getLoanOfferingFees
> ().size());
>
>                assertEquals("sam: I belive these two offering fees are
> considered
> identical from business requirement",
>                                true, loanOfferingFees1.equals
> (loanOfferingFees2));
>        }
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Splunk Inc.
> Still grepping through log files to find problems?  Stop.
> Now Search log events and configuration files using AJAX and a browser.
> Download your FREE copy of Splunk now >> http://get.splunk.com/
>
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/

Reply via email to