try {
ContactVO contactObject = new ContactVO();
ContactFacadeHome aa = (ContactFacadeHome)CVUtility.getHomeObject(
"com.centraview.contact.contactfacade.ContactFacadeHome", "ContactFacade");
ContactFacade remote = aa.create();
remote.setDataSource(dataSource);
if (isEntity) {
EntityVO entityVO = remote.getEntity(contactID);
contactObject = entityVO;
dynaForm.set("name", entityVO.getName());
} else {
IndividualVO individualVO = remote.getIndividual(contactID);
contactObject = individualVO;
dynaForm.set("name", individualVO.getFirstName() + " " + individualVO.getLastName());
}
request.setAttribute("rowId", new String[] { Integer.toString(contactID) });
String[] primaryEmailAddress = (String[])dynaForm.get("primaryEmailAddress");
String[] primaryPhoneNumbers = (String[])dynaForm.get("primaryPhoneNumbers");
// Putting the phone numbers in an arraylist because it's a bit easier to
// deal with.
ArrayList phoneNumbers = new ArrayList();
for (int i = 0; i < primaryPhoneNumbers.length; i++) {
phoneNumbers.add(i, primaryPhoneNumbers[i]);
}
Iterator mocIterator = contactObject.getMOC().iterator();
while (mocIterator.hasNext()) {
MethodOfContactVO methodOfContact = (MethodOfContactVO)mocIterator.next();
if (methodOfContact.getMocType() == 1) // this is for email
{
if (methodOfContact.getMocID() == Integer.parseInt(primaryEmailAddress[0])) {
methodOfContact.setIsPrimary("YES");
} else {
methodOfContact.setIsPrimary("NO");
}
remote.updateMOC(methodOfContact, contactID, individualID);
} else {
int index = phoneNumbers.indexOf(Integer.toString(methodOfContact.getMocID()));
if (index != -1) {
if (index < 3) {
methodOfContact.setIsPrimary("YES");
} else {
methodOfContact.setIsPrimary("NO");
}
methodOfContact.setMocOrder(Integer.toString(index));
remote.updateMOC(methodOfContact, contactID, individualID);
}
}
}
if (closeWindow) {
request.setAttribute("closeWindow", "true");