Search in sources :

Example 1 with CGProjectDirector

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;
}
Also used : CGProjectDirector(org.kuali.kfs.module.cg.businessobject.CGProjectDirector) RassXMLAwardPiCoPiEntry(edu.cornell.kfs.rass.batch.xml.RassXMLAwardPiCoPiEntry) ArrayList(java.util.ArrayList) ArrayList(java.util.ArrayList) List(java.util.List)

Example 2 with CGProjectDirector

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;
}
Also used : CGProjectDirector(org.kuali.kfs.module.cg.businessobject.CGProjectDirector) Person(org.kuali.kfs.kim.api.identity.Person)

Example 3 with CGProjectDirector

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());
    }
}
Also used : CGProjectDirector(org.kuali.kfs.module.cg.businessobject.CGProjectDirector) Primaryable(org.kuali.kfs.module.cg.businessobject.Primaryable) MutableInactivatable(org.kuali.kfs.core.api.mo.common.active.MutableInactivatable) RassXMLAwardPiCoPiEntryFixture(edu.cornell.kfs.rass.batch.xml.fixture.RassXMLAwardPiCoPiEntryFixture)

Aggregations

CGProjectDirector (org.kuali.kfs.module.cg.businessobject.CGProjectDirector)3 RassXMLAwardPiCoPiEntry (edu.cornell.kfs.rass.batch.xml.RassXMLAwardPiCoPiEntry)1 RassXMLAwardPiCoPiEntryFixture (edu.cornell.kfs.rass.batch.xml.fixture.RassXMLAwardPiCoPiEntryFixture)1 ArrayList (java.util.ArrayList)1 List (java.util.List)1 MutableInactivatable (org.kuali.kfs.core.api.mo.common.active.MutableInactivatable)1 Person (org.kuali.kfs.kim.api.identity.Person)1 Primaryable (org.kuali.kfs.module.cg.businessobject.Primaryable)1