em.merge(ap);
}
}
// Adding Invitor as Meetingmember
User user = userManager.getUserById(users_id);
String invitorName = user.getFirstname() + " " + user.getLastname()
+ " [" + user.getAdresses().getEmail() + "]";
List<MeetingMember> meetingsRemoteMembers = meetingMemberDao
.getMeetingMemberByAppointmentId(ap.getAppointmentId());
// to remove
for (MeetingMember memberRemote : meetingsRemoteMembers) {
boolean found = false;
if (mmClient != null) {
for (int i = 0; i < mmClient.size(); i++) {
@SuppressWarnings("rawtypes")
Map clientMemeber = (Map) mmClient.get(i);
Long meetingMemberId = Long
.valueOf(
clientMemeber.get("meetingMemberId")
.toString()).longValue();
log.debug("DELETE newly CHECK meetingMemberId: {} VS {} -- ", meetingMemberId, memberRemote.getMeetingMemberId());
if (memberRemote.getMeetingMemberId().equals(
meetingMemberId)) {
log.debug("AppointMentDAOImpl.updateAppointment - member "
+ meetingMemberId + " is to be removed!");
// Notifying Member for Update
found = true;
break;
}
}
}
if (!found) {
log.debug("DELETE getMeetingMemberId: {} -- ", memberRemote.getMeetingMemberId());
// Not in List in client delete it
meetingMemberLogic.deleteMeetingMember(
memberRemote.getMeetingMemberId(), users_id,
language_id);
// meetingMemberDao.deleteMeetingMember(memberRemote.getMeetingMemberId());
} else {
// Notify member of changes
invitationManager.updateInvitation(ap, memberRemote,
users_id, language_id, invitorName, sendMail);
}
}
// add items
if (mmClient != null) {
for (int i = 0; i < mmClient.size(); i++) {
@SuppressWarnings("rawtypes")
Map clientMember = (Map) mmClient.get(i);
Long meetingMemberId = Long.valueOf(
clientMember.get("meetingMemberId").toString())
.longValue();
boolean found = false;
for (MeetingMember memberRemote : meetingsRemoteMembers) {
if (memberRemote.getMeetingMemberId().equals(
meetingMemberId)) {
found = true;
}
}
if (!found) {
// We need two different timeZones, the internal Java
// Object
// TimeZone, and
// the one for the UI display object to map to, cause
// the UI
// only has around 24 timezones
// and Java around 600++
Long sendToUserId = 0L;
TimeZone timezoneMember = null;
OmTimeZone omTimeZone = null;
if (clientMember.get("userId") != null) {
sendToUserId = Long.valueOf(
clientMember.get("userId").toString())
.longValue();
}
String phone = "";
// Check if this is an internal user, if yes use the
// timezone from his profile otherwise get the timezones
// from the variable jNameTimeZone
if (sendToUserId > 0) {
User interalUser = userManager
.getUserById(sendToUserId);
timezoneMember = timezoneUtil
.getTimezoneByUser(interalUser);
omTimeZone = interalUser.getOmTimeZone();
phone = interalUser.getPhoneForSMS();
} else {
// Get the internal-name of the timezone set in the
// client object and convert it to a real one
Object jName = clientMember.get("jNameTimeZone");
if (jName == null) {