Search in sources :

Example 1 with DerivedValuesRow

use of edu.cornell.kfs.tax.dataaccess.impl.TaxTableRow.DerivedValuesRow in project cu-kfs by CU-CommunityApps.

the class TransactionRow1042SProcessor method getMinimumFields.

@Override
Set<TaxTableField> getMinimumFields(TaxFieldSource fieldSource, Transaction1042SSummary summary) {
    Set<TaxTableField> minFields = new HashSet<TaxTableField>();
    TransactionDetailRow detailRow = summary.transactionDetailRow;
    DerivedValuesRow derivedValues = summary.derivedValues;
    switch(fieldSource) {
        case BLANK:
            throw new IllegalArgumentException("Cannot find minimum fields for BLANK type");
        case STATIC:
            throw new IllegalArgumentException("Cannot find minimum fields for STATIC type");
        case DETAIL:
            minFields.addAll(Arrays.asList(detailRow.transactionDetailId, detailRow.documentNumber, detailRow.documentType, detailRow.financialDocumentLineNumber, detailRow.finObjectCode, detailRow.netPaymentAmount, detailRow.vendorTaxNumber, detailRow.incomeCode, detailRow.incomeCodeSubType, detailRow.dvCheckStubText, detailRow.payeeId, detailRow.vendorOwnershipCode, detailRow.paymentDate, detailRow.incomeTaxTreatyExemptIndicator, detailRow.foreignSourceIncomeIndicator, detailRow.federalIncomeTaxPercent, detailRow.paymentLine1Address, detailRow.chartCode, detailRow.accountNumber, detailRow.paymentReasonCode));
            break;
        case VENDOR:
            // Leave Set empty.
            break;
        case VENDOR_US_ADDRESS:
            // Leave Set empty.
            break;
        case VENDOR_FOREIGN_ADDRESS:
            // Leave Set empty.
            break;
        case VENDOR_ANY_ADDRESS:
            // Leave Set empty.
            break;
        case DERIVED:
            minFields.addAll(Arrays.asList(derivedValues.vendorLastName, derivedValues.vendorFirstName, derivedValues.vendorEmailAddress, derivedValues.vendorUSAddressLine1, derivedValues.vendorForeignAddressLine1, derivedValues.ssn, derivedValues.itin, derivedValues.chapter3StatusCode, derivedValues.chapter3ExemptionCode, derivedValues.chapter4ExemptionCode, derivedValues.incomeCode, derivedValues.ein, derivedValues.chapter3TaxRate, derivedValues.grossAmount, derivedValues.fedTaxWithheldAmount, derivedValues.stateIncomeTaxWithheldAmount, derivedValues.stateCode, derivedValues.endDate));
            break;
        default:
            throw new IllegalArgumentException("Invalid piece type");
    }
    return minFields;
}
Also used : DerivedValuesRow(edu.cornell.kfs.tax.dataaccess.impl.TaxTableRow.DerivedValuesRow) TransactionDetailRow(edu.cornell.kfs.tax.dataaccess.impl.TaxTableRow.TransactionDetailRow) HashSet(java.util.HashSet)

Example 2 with DerivedValuesRow

use of edu.cornell.kfs.tax.dataaccess.impl.TaxTableRow.DerivedValuesRow in project cu-kfs by CU-CommunityApps.

the class TransactionRow1099Processor method getTaxBoxNumberMappingsWithStatistics.

/*
     * Convenience method for building a Map between derived-field indexes and derived-field property names.
     * The generated Map's iterators will return the results in the order that they should be added to the
     * statistics printing, provided that the Map remains unaltered and does not have its get() method invoked.
     */
private Map<Integer, String> getTaxBoxNumberMappingsWithStatistics(Transaction1099Summary summary) {
    DerivedValuesRow derivedValues = summary.derivedValues;
    Map<Integer, String> fieldsWithStats = new LinkedHashMap<Integer, String>();
    fieldsWithStats.put(Integer.valueOf(derivedValues.box1.index), derivedValues.box1.propertyName);
    fieldsWithStats.put(Integer.valueOf(derivedValues.box2.index), derivedValues.box2.propertyName);
    fieldsWithStats.put(Integer.valueOf(derivedValues.box3.index), derivedValues.box3.propertyName);
    fieldsWithStats.put(Integer.valueOf(derivedValues.box4.index), derivedValues.box4.propertyName);
    fieldsWithStats.put(Integer.valueOf(derivedValues.box5.index), derivedValues.box5.propertyName);
    fieldsWithStats.put(Integer.valueOf(derivedValues.box6.index), derivedValues.box6.propertyName);
    fieldsWithStats.put(Integer.valueOf(derivedValues.box7.index), derivedValues.box7.propertyName);
    fieldsWithStats.put(Integer.valueOf(derivedValues.box8.index), derivedValues.box8.propertyName);
    fieldsWithStats.put(Integer.valueOf(derivedValues.box10.index), derivedValues.box10.propertyName);
    fieldsWithStats.put(Integer.valueOf(derivedValues.box11.index), derivedValues.box11.propertyName);
    fieldsWithStats.put(Integer.valueOf(derivedValues.box12.index), derivedValues.box12.propertyName);
    fieldsWithStats.put(Integer.valueOf(derivedValues.box13.index), derivedValues.box13.propertyName);
    fieldsWithStats.put(Integer.valueOf(derivedValues.box14.index), derivedValues.box14.propertyName);
    fieldsWithStats.put(Integer.valueOf(derivedValues.box15a.index), derivedValues.box15a.propertyName);
    fieldsWithStats.put(Integer.valueOf(derivedValues.box15b.index), derivedValues.box15b.propertyName);
    fieldsWithStats.put(Integer.valueOf(derivedValues.box16.index), derivedValues.box16.propertyName);
    fieldsWithStats.put(Integer.valueOf(derivedValues.box18.index), derivedValues.box18.propertyName);
    return fieldsWithStats;
}
Also used : DerivedValuesRow(edu.cornell.kfs.tax.dataaccess.impl.TaxTableRow.DerivedValuesRow) LinkedHashMap(java.util.LinkedHashMap)

Example 3 with DerivedValuesRow

use of edu.cornell.kfs.tax.dataaccess.impl.TaxTableRow.DerivedValuesRow in project cu-kfs by CU-CommunityApps.

the class TransactionRow1099Processor method getMinimumFields.

@Override
Set<TaxTableField> getMinimumFields(TaxFieldSource fieldSource, Transaction1099Summary summary) {
    Set<TaxTableField> minFields = new HashSet<TaxTableField>();
    TransactionDetailRow detailRow = summary.transactionDetailRow;
    DerivedValuesRow derivedValues = summary.derivedValues;
    switch(fieldSource) {
        case BLANK:
            throw new IllegalArgumentException("Cannot find minimum fields for BLANK type");
        case STATIC:
            throw new IllegalArgumentException("Cannot find minimum fields for STATIC type");
        case DETAIL:
            minFields.addAll(Arrays.asList(detailRow.transactionDetailId, detailRow.documentNumber, detailRow.documentType, detailRow.documentTitle, detailRow.financialDocumentLineNumber, detailRow.finObjectCode, detailRow.netPaymentAmount, detailRow.vendorTaxNumber, detailRow.dvCheckStubText, detailRow.payeeId, detailRow.vendorName, detailRow.parentVendorName, detailRow.paymentDate, detailRow.paymentLine1Address, detailRow.chartCode, detailRow.accountNumber, detailRow.initiatorNetId, detailRow.paymentReasonCode));
            break;
        case PDP:
            // Leave Set empty.
            break;
        case DV:
            // Leave Set empty.
            break;
        case VENDOR:
            // Leave Set empty.
            break;
        case VENDOR_US_ADDRESS:
            // Leave Set empty.
            break;
        case VENDOR_FOREIGN_ADDRESS:
            // Leave Set empty.
            break;
        case VENDOR_ANY_ADDRESS:
            // Leave Set empty.
            break;
        case DERIVED:
            minFields.addAll(Arrays.asList(derivedValues.vendorEmailAddress, derivedValues.vendorAnyAddressLine1, derivedValues.vendorZipCodeNumOnly, derivedValues.ssn, derivedValues.tabSiteId, derivedValues.box1, derivedValues.box2, derivedValues.box3, derivedValues.box4, derivedValues.box5, derivedValues.box6, derivedValues.box7, derivedValues.box8, derivedValues.box10, derivedValues.box11, derivedValues.box12, derivedValues.box13, derivedValues.box14, derivedValues.box15a, derivedValues.box15b, derivedValues.box16, derivedValues.box18));
            break;
        default:
            throw new IllegalArgumentException("Invalid piece type");
    }
    return minFields;
}
Also used : DerivedValuesRow(edu.cornell.kfs.tax.dataaccess.impl.TaxTableRow.DerivedValuesRow) TransactionDetailRow(edu.cornell.kfs.tax.dataaccess.impl.TaxTableRow.TransactionDetailRow) HashSet(java.util.HashSet)

Example 4 with DerivedValuesRow

use of edu.cornell.kfs.tax.dataaccess.impl.TaxTableRow.DerivedValuesRow in project cu-kfs by CU-CommunityApps.

the class TransactionRow1042SProcessor method setComplexPieces.

@Override
void setComplexPieces(Map<String, RecordPiece> complexPieces, Transaction1042SSummary summary) {
    TransactionDetailRow detailRow = summary.transactionDetailRow;
    DerivedValuesRow derivedValues = summary.derivedValues;
    List<RecordPiece1042SString> stringPieces = new ArrayList<RecordPiece1042SString>();
    List<RecordPiece1042SInt> intPieces = new ArrayList<RecordPiece1042SInt>();
    List<RecordPiece1042SBigDecimal> bigDecimalPieces = new ArrayList<RecordPiece1042SBigDecimal>();
    List<RecordPiece1042SDate> datePieces = new ArrayList<RecordPiece1042SDate>();
    // retrieve the "piece" objects corresponding to all the given transaction detail fields.
    for (TaxTableField detailField : summary.transactionDetailRow.orderedFields) {
        RecordPiece detailPiece = complexPieces.get(detailField.propertyName);
        if (detailPiece != null) {
            switch(detailField.jdbcType) {
                case java.sql.Types.DECIMAL:
                    bigDecimalPieces.add((RecordPiece1042SBigDecimal) detailPiece);
                    break;
                case java.sql.Types.INTEGER:
                    intPieces.add((RecordPiece1042SInt) detailPiece);
                    break;
                case java.sql.Types.VARCHAR:
                    stringPieces.add((RecordPiece1042SString) detailPiece);
                    break;
                case java.sql.Types.DATE:
                    datePieces.add((RecordPiece1042SDate) detailPiece);
                    break;
                default:
                    throw new IllegalStateException("Found unsupported detail field JDBC type: " + Integer.toString(detailField.jdbcType));
            }
        }
    }
    // Setup the transaction detail "piece" arrays.
    detailStrings = stringPieces.toArray(new RecordPiece1042SString[stringPieces.size()]);
    detailInts = intPieces.toArray(new RecordPiece1042SInt[intPieces.size()]);
    detailBigDecimals = bigDecimalPieces.toArray(new RecordPiece1042SBigDecimal[bigDecimalPieces.size()]);
    detailDates = datePieces.toArray(new RecordPiece1042SDate[datePieces.size()]);
    // Retrieve the various detail "pieces" that will be needed for the processing.
    rowIdP = (RecordPiece1042SString) complexPieces.get(detailRow.transactionDetailId.propertyName);
    docNumberP = (RecordPiece1042SString) complexPieces.get(detailRow.documentNumber.propertyName);
    docTypeP = (RecordPiece1042SString) complexPieces.get(detailRow.documentType.propertyName);
    docLineNumberP = (RecordPiece1042SInt) complexPieces.get(detailRow.financialDocumentLineNumber.propertyName);
    objectCodeP = (RecordPiece1042SString) complexPieces.get(detailRow.finObjectCode.propertyName);
    paymentAmountP = (RecordPiece1042SBigDecimal) complexPieces.get(detailRow.netPaymentAmount.propertyName);
    taxIdP = (RecordPiece1042SString) complexPieces.get(detailRow.vendorTaxNumber.propertyName);
    incomeCodeP = (RecordPiece1042SString) complexPieces.get(detailRow.incomeCode.propertyName);
    incomeCodeSubTypeP = (RecordPiece1042SString) complexPieces.get(detailRow.incomeCodeSubType.propertyName);
    dvCheckStubTextP = (RecordPiece1042SString) complexPieces.get(detailRow.dvCheckStubText.propertyName);
    payeeIdP = (RecordPiece1042SString) complexPieces.get(detailRow.payeeId.propertyName);
    vendorOwnershipCodeP = (RecordPiece1042SString) complexPieces.get(detailRow.vendorOwnershipCode.propertyName);
    paymentDateP = (RecordPiece1042SDate) complexPieces.get(detailRow.paymentDate.propertyName);
    taxTreatyExemptIncomeYesNoP = (RecordPiece1042SString) complexPieces.get(detailRow.incomeTaxTreatyExemptIndicator.propertyName);
    foreignSourceIncomeYesNoP = (RecordPiece1042SString) complexPieces.get(detailRow.foreignSourceIncomeIndicator.propertyName);
    fedIncomeTaxPctP = (RecordPiece1042SBigDecimal) complexPieces.get(detailRow.federalIncomeTaxPercent.propertyName);
    paymentAddressLine1P = (RecordPiece1042SString) complexPieces.get(detailRow.paymentLine1Address.propertyName);
    chartCodeP = (RecordPiece1042SString) complexPieces.get(detailRow.chartCode.propertyName);
    accountNumberP = (RecordPiece1042SString) complexPieces.get(detailRow.accountNumber.propertyName);
    paymentReasonCodeP = (RecordPiece1042SString) complexPieces.get(detailRow.paymentReasonCode.propertyName);
    // Retrieve the various derived "pieces" that will be needed for the processing.
    vendorLastNameP = (RecordPiece1042SString) complexPieces.get(derivedValues.vendorLastName.propertyName);
    vendorFirstNameP = (RecordPiece1042SString) complexPieces.get(derivedValues.vendorFirstName.propertyName);
    vendorEmailAddressP = (RecordPiece1042SString) complexPieces.get(derivedValues.vendorEmailAddress.propertyName);
    vendorUSAddressLine1P = (RecordPiece1042SString) complexPieces.get(derivedValues.vendorUSAddressLine1.propertyName);
    vendorForeignAddressLine1P = (RecordPiece1042SString) complexPieces.get(derivedValues.vendorForeignAddressLine1.propertyName);
    formattedSSNValueP = (RecordPiece1042SString) complexPieces.get(derivedValues.ssn.propertyName);
    formattedITINValueP = (RecordPiece1042SString) complexPieces.get(derivedValues.itin.propertyName);
    chapter3StatusCodeP = (RecordPiece1042SString) complexPieces.get(derivedValues.chapter3StatusCode.propertyName);
    chapter3ExemptionCodeP = (RecordPiece1042SString) complexPieces.get(derivedValues.chapter3ExemptionCode.propertyName);
    chapter4ExemptionCodeP = (RecordPiece1042SString) complexPieces.get(derivedValues.chapter4ExemptionCode.propertyName);
    incomeCodeForOutputP = (RecordPiece1042SString) complexPieces.get(derivedValues.incomeCode.propertyName);
    taxEINValueP = (RecordPiece1042SString) complexPieces.get(derivedValues.ein.propertyName);
    chapter3TaxRateP = (RecordPiece1042SBigDecimal) complexPieces.get(derivedValues.chapter3TaxRate.propertyName);
    grossAmountP = (RecordPiece1042SBigDecimal) complexPieces.get(derivedValues.grossAmount.propertyName);
    ftwAmountP = (RecordPiece1042SBigDecimal) complexPieces.get(derivedValues.fedTaxWithheldAmount.propertyName);
    ftwAmountP.negateStringValue = true;
    sitwAmountP = (RecordPiece1042SBigDecimal) complexPieces.get(derivedValues.stateIncomeTaxWithheldAmount.propertyName);
    sitwAmountP.negateStringValue = true;
    stateCodeP = (RecordPiece1042SString) complexPieces.get(derivedValues.stateCode.propertyName);
    endDateP = (RecordPiece1042SDate) complexPieces.get(derivedValues.endDate.propertyName);
}
Also used : DerivedValuesRow(edu.cornell.kfs.tax.dataaccess.impl.TaxTableRow.DerivedValuesRow) ArrayList(java.util.ArrayList) TransactionDetailRow(edu.cornell.kfs.tax.dataaccess.impl.TaxTableRow.TransactionDetailRow)

Example 5 with DerivedValuesRow

use of edu.cornell.kfs.tax.dataaccess.impl.TaxTableRow.DerivedValuesRow in project cu-kfs by CU-CommunityApps.

the class TransactionRow1099Processor method setComplexPieces.

@Override
void setComplexPieces(Map<String, RecordPiece> complexPieces, Transaction1099Summary summary) {
    TransactionDetailRow detailRow = summary.transactionDetailRow;
    DerivedValuesRow derivedValues = summary.derivedValues;
    List<RecordPiece1099String> stringPieces = new ArrayList<RecordPiece1099String>();
    List<RecordPiece1099Int> intPieces = new ArrayList<RecordPiece1099Int>();
    List<RecordPiece1099BigDecimal> bigDecimalPieces = new ArrayList<RecordPiece1099BigDecimal>();
    List<RecordPiece1099Date> datePieces = new ArrayList<RecordPiece1099Date>();
    // retrieve the "piece" objects corresponding to all the given transaction detail fields.
    for (TaxTableField detailField : summary.transactionDetailRow.orderedFields) {
        RecordPiece detailPiece = complexPieces.get(detailField.propertyName);
        if (detailPiece != null) {
            switch(detailField.jdbcType) {
                case java.sql.Types.DECIMAL:
                    bigDecimalPieces.add((RecordPiece1099BigDecimal) detailPiece);
                    break;
                case java.sql.Types.INTEGER:
                    intPieces.add((RecordPiece1099Int) detailPiece);
                    break;
                case java.sql.Types.VARCHAR:
                    stringPieces.add((RecordPiece1099String) detailPiece);
                    break;
                case java.sql.Types.DATE:
                    datePieces.add((RecordPiece1099Date) detailPiece);
                    break;
                default:
                    throw new IllegalStateException("Found unsupported detail field JDBC type: " + Integer.toString(detailField.jdbcType));
            }
        }
    }
    // Setup the transaction detail "piece" arrays.
    detailStrings = stringPieces.toArray(new RecordPiece1099String[stringPieces.size()]);
    detailInts = intPieces.toArray(new RecordPiece1099Int[intPieces.size()]);
    detailBigDecimals = bigDecimalPieces.toArray(new RecordPiece1099BigDecimal[bigDecimalPieces.size()]);
    detailDates = datePieces.toArray(new RecordPiece1099Date[datePieces.size()]);
    // Retrieve the various detail "pieces" that will be needed for the processing.
    rowIdP = (RecordPiece1099String) complexPieces.get(detailRow.transactionDetailId.propertyName);
    docNumberP = (RecordPiece1099String) complexPieces.get(detailRow.documentNumber.propertyName);
    docTypeP = (RecordPiece1099String) complexPieces.get(detailRow.documentType.propertyName);
    docTitleP = (RecordPiece1099String) complexPieces.get(detailRow.documentTitle.propertyName);
    docLineNumberP = (RecordPiece1099Int) complexPieces.get(detailRow.financialDocumentLineNumber.propertyName);
    objectCodeP = (RecordPiece1099String) complexPieces.get(detailRow.finObjectCode.propertyName);
    paymentAmountP = (RecordPiece1099BigDecimal) complexPieces.get(detailRow.netPaymentAmount.propertyName);
    taxIdP = (RecordPiece1099String) complexPieces.get(detailRow.vendorTaxNumber.propertyName);
    dvCheckStubTextP = (RecordPiece1099String) complexPieces.get(detailRow.dvCheckStubText.propertyName);
    payeeIdP = (RecordPiece1099String) complexPieces.get(detailRow.payeeId.propertyName);
    vendorNameP = (RecordPiece1099String) complexPieces.get(detailRow.vendorName.propertyName);
    parentVendorNameP = (RecordPiece1099String) complexPieces.get(detailRow.parentVendorName.propertyName);
    paymentDateP = (RecordPiece1099Date) complexPieces.get(detailRow.paymentDate.propertyName);
    paymentAddressLine1P = (RecordPiece1099String) complexPieces.get(detailRow.paymentLine1Address.propertyName);
    chartCodeP = (RecordPiece1099String) complexPieces.get(detailRow.chartCode.propertyName);
    accountNumberP = (RecordPiece1099String) complexPieces.get(detailRow.accountNumber.propertyName);
    initiatorNetIdP = (RecordPiece1099String) complexPieces.get(detailRow.initiatorNetId.propertyName);
    paymentReasonCodeP = (RecordPiece1099String) complexPieces.get(detailRow.paymentReasonCode.propertyName);
    // Retrieve the various derived "pieces" that will be needed for the processing.
    vendorEmailAddressP = (RecordPiece1099String) complexPieces.get(derivedValues.vendorEmailAddress.propertyName);
    vendorAddressLine1P = (RecordPiece1099String) complexPieces.get(derivedValues.vendorAnyAddressLine1.propertyName);
    vendorNumbersOnlyZipCodeP = (RecordPiece1099String) complexPieces.get(derivedValues.vendorZipCodeNumOnly.propertyName);
    outputTaxIdP = (RecordPiece1099String) complexPieces.get(derivedValues.ssn.propertyName);
    tabSiteIdP = (RecordPiece1099String) complexPieces.get(derivedValues.tabSiteId.propertyName);
    box1P = (RecordPiece1099BigDecimal) complexPieces.get(derivedValues.box1.propertyName);
    box2P = (RecordPiece1099BigDecimal) complexPieces.get(derivedValues.box2.propertyName);
    box3P = (RecordPiece1099BigDecimal) complexPieces.get(derivedValues.box3.propertyName);
    box4P = (RecordPiece1099BigDecimal) complexPieces.get(derivedValues.box4.propertyName);
    box5P = (RecordPiece1099BigDecimal) complexPieces.get(derivedValues.box5.propertyName);
    box6P = (RecordPiece1099BigDecimal) complexPieces.get(derivedValues.box6.propertyName);
    box7P = (RecordPiece1099BigDecimal) complexPieces.get(derivedValues.box7.propertyName);
    box8P = (RecordPiece1099BigDecimal) complexPieces.get(derivedValues.box8.propertyName);
    box10P = (RecordPiece1099BigDecimal) complexPieces.get(derivedValues.box10.propertyName);
    box11P = (RecordPiece1099BigDecimal) complexPieces.get(derivedValues.box11.propertyName);
    box12P = (RecordPiece1099BigDecimal) complexPieces.get(derivedValues.box12.propertyName);
    box13P = (RecordPiece1099BigDecimal) complexPieces.get(derivedValues.box13.propertyName);
    box14P = (RecordPiece1099BigDecimal) complexPieces.get(derivedValues.box14.propertyName);
    box15aP = (RecordPiece1099BigDecimal) complexPieces.get(derivedValues.box15a.propertyName);
    box15bP = (RecordPiece1099BigDecimal) complexPieces.get(derivedValues.box15b.propertyName);
    box16P = (RecordPiece1099BigDecimal) complexPieces.get(derivedValues.box16.propertyName);
    box18P = (RecordPiece1099BigDecimal) complexPieces.get(derivedValues.box18.propertyName);
    // Populate tax box field map.
    boxesMap = new HashMap<TaxTableField, RecordPiece1099BigDecimal>();
    boxesMap.put(box1P.tableField, box1P);
    boxesMap.put(box2P.tableField, box2P);
    boxesMap.put(box3P.tableField, box3P);
    boxesMap.put(box4P.tableField, box4P);
    boxesMap.put(box5P.tableField, box5P);
    boxesMap.put(box6P.tableField, box6P);
    boxesMap.put(box7P.tableField, box7P);
    boxesMap.put(box8P.tableField, box8P);
    boxesMap.put(box10P.tableField, box10P);
    boxesMap.put(box11P.tableField, box11P);
    boxesMap.put(box12P.tableField, box12P);
    boxesMap.put(box13P.tableField, box13P);
    boxesMap.put(box14P.tableField, box14P);
    boxesMap.put(box15aP.tableField, box15aP);
    boxesMap.put(box15bP.tableField, box15bP);
    boxesMap.put(box16P.tableField, box16P);
    boxesMap.put(box18P.tableField, box18P);
}
Also used : DerivedValuesRow(edu.cornell.kfs.tax.dataaccess.impl.TaxTableRow.DerivedValuesRow) ArrayList(java.util.ArrayList) TransactionDetailRow(edu.cornell.kfs.tax.dataaccess.impl.TaxTableRow.TransactionDetailRow)

Aggregations

DerivedValuesRow (edu.cornell.kfs.tax.dataaccess.impl.TaxTableRow.DerivedValuesRow)5 TransactionDetailRow (edu.cornell.kfs.tax.dataaccess.impl.TaxTableRow.TransactionDetailRow)4 ArrayList (java.util.ArrayList)2 HashSet (java.util.HashSet)2 LinkedHashMap (java.util.LinkedHashMap)1