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());
}
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());
}
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;
}
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++;
}
}
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);
}
Aggregations