Search in sources :

Example 1 with RassXmlAgencyEntry

use of edu.cornell.kfs.rass.batch.xml.RassXmlAgencyEntry in project cu-kfs by CU-CommunityApps.

the class RassSortServiceImpl method sortAgenciesWithReportsToAgencyThatHasBeenSorted.

private void sortAgenciesWithReportsToAgencyThatHasBeenSorted(AgenciesSortHelper agencySortHelper) {
    boolean isWeedingSuccessfull = true;
    int loopCount = 0;
    while (CollectionUtils.isNotEmpty(agencySortHelper.unsortedAgencies) && isWeedingSuccessfull) {
        LOG.debug("sortAgenciesWithReportsToAgencyThatHasBeenSorted. the loop count: " + loopCount);
        LOG.debug("sortAgenciesWithReportsToAgencyThatHasBeenSorted, number of agencies in the sorted list during sort loop: " + agencySortHelper.sortedAgencies.size());
        List<RassXmlAgencyEntry> newUnsortedAgencies = new ArrayList<RassXmlAgencyEntry>();
        for (RassXmlAgencyEntry entry : agencySortHelper.unsortedAgencies) {
            if (agencySortHelper.agencyNumberInSortedList.contains(entry.getReportsToAgencyNumber())) {
                agencySortHelper.agencyNumberInSortedList.add(entry.getNumber());
                agencySortHelper.sortedAgencies.add(entry);
            } else {
                newUnsortedAgencies.add(entry);
            }
        }
        if (agencySortHelper.unsortedAgencies.size() == newUnsortedAgencies.size()) {
            isWeedingSuccessfull = false;
        }
        agencySortHelper.unsortedAgencies = newUnsortedAgencies;
        loopCount++;
    }
    LOG.debug("sortAgenciesWithReportsToAgencyThatHasBeenSorted, number of agencies in the sorted list after main sort loop: " + agencySortHelper.sortedAgencies.size());
}
Also used : ArrayList(java.util.ArrayList) RassXmlAgencyEntry(edu.cornell.kfs.rass.batch.xml.RassXmlAgencyEntry)

Example 2 with RassXmlAgencyEntry

use of edu.cornell.kfs.rass.batch.xml.RassXmlAgencyEntry in project cu-kfs by CU-CommunityApps.

the class RassSortServiceImpl method sortAgenciesWithNoReportsToAgency.

private void sortAgenciesWithNoReportsToAgency(List<RassXmlAgencyEntry> agencies, AgenciesSortHelper agencySortHelper) {
    for (RassXmlAgencyEntry entry : agencies) {
        if (StringUtils.isBlank(entry.getReportsToAgencyNumber())) {
            agencySortHelper.agencyNumberInSortedList.add(entry.getNumber());
            agencySortHelper.sortedAgencies.add(entry);
        } else {
            agencySortHelper.unsortedAgencies.add(entry);
        }
    }
    LOG.debug("sortAgenciesWithNoReportsToAgency, number of angencies without reports to agencies: " + agencySortHelper.sortedAgencies.size());
}
Also used : RassXmlAgencyEntry(edu.cornell.kfs.rass.batch.xml.RassXmlAgencyEntry)

Example 3 with RassXmlAgencyEntry

use of edu.cornell.kfs.rass.batch.xml.RassXmlAgencyEntry in project cu-kfs by CU-CommunityApps.

the class RassSortServiceImpl method sortAgenciesWithReportsToAgencyNotInRASSInput.

private void sortAgenciesWithReportsToAgencyNotInRASSInput(AgenciesSortHelper agencySortHelper) {
    List<RassXmlAgencyEntry> newUnsortedAgencies = new ArrayList<RassXmlAgencyEntry>();
    for (RassXmlAgencyEntry entry : agencySortHelper.unsortedAgencies) {
        if (isReportsToAgencyNumberAnAgencyInUnsortedAgencyList(entry.getReportsToAgencyNumber(), agencySortHelper.unsortedAgencies)) {
            newUnsortedAgencies.add(entry);
        } else {
            agencySortHelper.sortedAgencies.add(entry);
            agencySortHelper.agencyNumberInSortedList.add(entry.getNumber());
        }
    }
    agencySortHelper.unsortedAgencies = newUnsortedAgencies;
}
Also used : ArrayList(java.util.ArrayList) RassXmlAgencyEntry(edu.cornell.kfs.rass.batch.xml.RassXmlAgencyEntry)

Example 4 with RassXmlAgencyEntry

use of edu.cornell.kfs.rass.batch.xml.RassXmlAgencyEntry in project cu-kfs by CU-CommunityApps.

the class RassSortServiceImplTest method testAgenciesWithReportsToAgencyNotInFile.

@Test
public void testAgenciesWithReportsToAgencyNotInFile() throws JAXBException {
    File xmlFile = new File(AGENCIES_WITH_REPORTS_TO_AGENCY_NOT_IN_FILE_FILE_NAME);
    RassXmlDocumentWrapper rassXmlDocumentWrapper = cuMarshalService.unmarshalFile(xmlFile, RassXmlDocumentWrapper.class);
    int preSortCount = rassXmlDocumentWrapper.getAgencies().size();
    List<RassXmlAgencyEntry> sortedAgencyEntries = rassSortServiceImpl.sortRassXmlAgencyEntriesForUpdate(rassXmlDocumentWrapper.getAgencies());
    int postSortCount = sortedAgencyEntries.size();
    assertListCountsMatch(preSortCount, postSortCount);
    String[] expectedAgencyNumbers = { "Gamma", "Alpha", "Delta", "Beta" };
    assertEquals("expected count should match actualCount", expectedAgencyNumbers.length, sortedAgencyEntries.size());
    int i = 0;
    for (RassXmlAgencyEntry entry : sortedAgencyEntries) {
        assertEquals("Agency index " + i + " should equal expected value", expectedAgencyNumbers[i], entry.getNumber());
        i++;
    }
}
Also used : RassXmlDocumentWrapper(edu.cornell.kfs.rass.batch.xml.RassXmlDocumentWrapper) File(java.io.File) RassXmlAgencyEntry(edu.cornell.kfs.rass.batch.xml.RassXmlAgencyEntry) RassXmlDocumentWrapperMarshalTest(edu.cornell.kfs.rass.batch.xml.RassXmlDocumentWrapperMarshalTest) Test(org.junit.Test)

Example 5 with RassXmlAgencyEntry

use of edu.cornell.kfs.rass.batch.xml.RassXmlAgencyEntry in project cu-kfs by CU-CommunityApps.

the class RassSortServiceImplTest method testSingleAwardFile.

@Test
public void testSingleAwardFile() throws JAXBException {
    File xmlFile = new File(SINGLE_AWARD_FILE);
    RassXmlDocumentWrapper rassXmlDocumentWrapper = cuMarshalService.unmarshalFile(xmlFile, RassXmlDocumentWrapper.class);
    int preSortCount = rassXmlDocumentWrapper.getAgencies().size();
    List<RassXmlAgencyEntry> sortedAgencyEntries = rassSortServiceImpl.sortRassXmlAgencyEntriesForUpdate(rassXmlDocumentWrapper.getAgencies());
    int postSortCount = sortedAgencyEntries.size();
    assertListCountsMatch(preSortCount, postSortCount);
    assertEquals("There shouldn't be any agencies in this test", 0, postSortCount);
}
Also used : RassXmlDocumentWrapper(edu.cornell.kfs.rass.batch.xml.RassXmlDocumentWrapper) File(java.io.File) RassXmlAgencyEntry(edu.cornell.kfs.rass.batch.xml.RassXmlAgencyEntry) RassXmlDocumentWrapperMarshalTest(edu.cornell.kfs.rass.batch.xml.RassXmlDocumentWrapperMarshalTest) Test(org.junit.Test)

Aggregations

RassXmlAgencyEntry (edu.cornell.kfs.rass.batch.xml.RassXmlAgencyEntry)6 RassXmlDocumentWrapper (edu.cornell.kfs.rass.batch.xml.RassXmlDocumentWrapper)3 RassXmlDocumentWrapperMarshalTest (edu.cornell.kfs.rass.batch.xml.RassXmlDocumentWrapperMarshalTest)3 File (java.io.File)3 Test (org.junit.Test)3 ArrayList (java.util.ArrayList)2