use of org.kuali.kfs.module.cg.businessobject.CGProjectDirector in project cu-kfs by CU-CommunityApps.
the class RassProjectDirectorConverter method convert.
@SuppressWarnings("unchecked")
@Override
public Object convert(Class<? extends PersistableBusinessObject> businessObjectClass, RassPropertyDefinition propertyMapping, Object propertyValue) {
List<RassXMLAwardPiCoPiEntry> rassAwardPiCoPiEntries = (List<RassXMLAwardPiCoPiEntry>) propertyValue;
List<CGProjectDirector> projectDirectors = new ArrayList<>();
if (rassAwardPiCoPiEntries != null && rassAwardPiCoPiEntries.size() > 0) {
for (RassXMLAwardPiCoPiEntry rassAwardPiCoPi : rassAwardPiCoPiEntries) {
CGProjectDirector projectDirector = buildProjectDirector(rassAwardPiCoPi);
projectDirectors.add(projectDirector);
}
}
return projectDirectors;
}
use of org.kuali.kfs.module.cg.businessobject.CGProjectDirector in project cu-kfs by CU-CommunityApps.
the class RassProjectDirectorConverter method buildProjectDirector.
protected CGProjectDirector buildProjectDirector(RassXMLAwardPiCoPiEntry rassAwardPiCoPi) {
CGProjectDirector projectDirector = createNewProjectDirectorInstance();
Person projectDirectorPerson = personService.getPersonByPrincipalName(rassAwardPiCoPi.getProjectDirectorPrincipalName());
if (ObjectUtils.isNull(projectDirectorPerson)) {
throw new RuntimeException("Cannot find person with principal name \"" + rassAwardPiCoPi.getProjectDirectorPrincipalName() + "\"");
}
if (!doesPersonHaveProjectDirectorRole(projectDirectorPerson)) {
LOG.info("buildProjectDirector, " + projectDirectorPerson.getPrincipalName() + " needs to be added to the project director role");
roleService.assignPrincipalToRole(projectDirectorPerson.getPrincipalId(), KFSConstants.CoreModuleNamespaces.KFS, KFSConstants.SysKimApiConstants.CONTRACTS_AND_GRANTS_PROJECT_DIRECTOR, new HashMap<String, String>());
}
projectDirector.setPrincipalId(projectDirectorPerson.getPrincipalId());
ObjectPropertyUtils.setPropertyValue(projectDirector, projectDirectorPrimaryIndicatorPropertyName, getNullSafePrimaryDirectorFlag(rassAwardPiCoPi));
return projectDirector;
}
use of org.kuali.kfs.module.cg.businessobject.CGProjectDirector in project cu-kfs by CU-CommunityApps.
the class RassServiceImplTest method assertProjectDirectorsWereUpdatedAsExpected.
private void assertProjectDirectorsWereUpdatedAsExpected(RassXmlAwardEntryFixture expectedAwardOrProposal, List<? extends CGProjectDirector> actualDirectors, int i) {
List<RassXMLAwardPiCoPiEntryFixture> expectedDirectors = expectedAwardOrProposal.piFixtures;
assertEquals("Wrong number of directors at index " + i, expectedDirectors.size(), actualDirectors.size());
for (int j = 0; j < expectedDirectors.size(); j++) {
String multiIndex = i + KFSConstants.COMMA + j;
RassXMLAwardPiCoPiEntryFixture expectedDirector = expectedDirectors.get(j);
CGProjectDirector actualDirector = actualDirectors.get(j);
assertEquals("Wrong proposal number for director at index " + multiIndex, expectedAwardOrProposal.proposalNumber, actualDirector.getProposalNumber());
assertEquals("Wrong principal ID/name for director at index " + multiIndex + " in spite of principalId/principalName equivalency for this test scenario", expectedDirector.projectDirectorPrincipalName, actualDirector.getPrincipalId());
assertTrue("A primary director indicator should have been supported for director at index " + multiIndex, actualDirector instanceof Primaryable);
assertEquals("Wrong primary director indicator for director at index " + multiIndex, expectedDirector.getNullSafePrimary(), ((Primaryable) actualDirector).isPrimary());
assertTrue("An active-object indicator should have been supported for director at index " + multiIndex, actualDirector instanceof MutableInactivatable);
assertEquals("Wrong active indicator for director at index " + multiIndex, expectedDirector.getNullSafeActive(), ((MutableInactivatable) actualDirector).isActive());
}
}
Aggregations