/** * @see java.lang.Object#clone() */ @Override public TeamEventAttendeeDO clone() { TeamEventAttendeeDO cloneAttendee = new TeamEventAttendeeDO(); cloneAttendee.setAddress(this.getAddress()); cloneAttendee.setComment(this.getComment()); cloneAttendee.setCommentOfAttendee(this.getCommentOfAttendee()); cloneAttendee.setLoginToken(this.getLoginToken()); cloneAttendee.setNumber(this.getNumber()); cloneAttendee.setStatus(this.getStatus()); cloneAttendee.setUrl(this.getUrl()); cloneAttendee.setUser(this.getUser()); cloneAttendee.setCommonName(this.getCommonName()); cloneAttendee.setCuType(this.getCuType()); cloneAttendee.setRsvp(this.getRsvp()); cloneAttendee.setAdditionalParams(this.getAdditionalParams()); cloneAttendee.setRole(this.getRole()); return cloneAttendee; } }
for (TeamEventAttendeeDO attendee : attendeesNewState) { attendee.setId(null); if (attendee.getStatus() == null) { attendee.setStatus(TeamEventAttendeeStatus.NEEDS_ACTION); String eMail = attendee.getAddress() != null ? attendee.getAddress().getEmail() : attendee.getUrl(); String eMailOld = attendeeOld.getAddress() != null ? attendeeOld.getAddress().getEmail() : attendeeOld.getUrl(); attendee.setPk(attendeeOld.getPk()); attendee.setComment(attendeeOld.getComment()); attendee.setCommentOfAttendee(attendeeOld.getCommentOfAttendee()); attendee.setLoginToken(attendeeOld.getLoginToken()); attendee.setNumber(attendeeOld.getNumber()); attendee.setAddress(attendeeOld.getAddress()); attendee.setUser(attendeeOld.getUser()); attendee.setId(null); if (attendee.getStatus() == null) { attendee.setStatus(TeamEventAttendeeStatus.NEEDS_ACTION); String eMail = attendee.getAddress() != null ? attendee.getAddress().getEmail() : attendee.getUrl(); String eMailNew = attendeeNew.getAddress() != null ? attendeeNew.getAddress().getEmail() : attendeeNew.getUrl();
public void initSortedAttendees() { if (sortedAttendees == null) { sortedAttendees = teamEventService.getAddressesAndUserAsAttendee(); sortedAttendees.forEach(att -> { if (att.getId() == null) { att.setId(getAndDecreaseInternalNewAttendeeSequence()); } }); Set<TeamEventAttendeeDO> assignedAttendees = event.getAttendees(); List<TeamEventAttendeeDO> removeAddressAttendeeList = new ArrayList<>(); if (assignedAttendees != null) { for (TeamEventAttendeeDO addressAttendee : sortedAttendees) { for (TeamEventAttendeeDO alreadyAssignedAttendee : assignedAttendees) { if (addressAttendee.equals(alreadyAssignedAttendee)) { removeAddressAttendeeList.add(addressAttendee); } } } sortedAttendees.removeAll(removeAddressAttendeeList); sortedAttendees.addAll(assignedAttendees); } } }
/** * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object) */ @Override public int compare(final TeamEventAttendeeDO g1, final TeamEventAttendeeDO g2) { if (g1 != null && g2 != null && g1.getAddress() != null && g2.getAddress() != null) { return g1.getAddress().getFullName().compareTo(g2.getAddress().getFullName()); } final String n1 = g1 != null && g1.getUrl() != null ? g1.getUrl().toLowerCase() : ""; final String n2 = g2 != null && g2.getUrl() != null ? g2.getUrl().toLowerCase() : ""; return n1.compareTo(n2); } }
/** * Equals / HashCode contract is broken because of technical requirements * * @return */ @Override public boolean equals(final Object o) { if (o instanceof TeamEventAttendeeDO == false) { return false; } final TeamEventAttendeeDO other = (TeamEventAttendeeDO) o; if (this.getUrl() != null && other.getUrl() != null && StringUtils.equals(this.getUrl(), other.getUrl())) { return true; } if (this.getAddressId() != null && other.getAddressId() != null && ObjectUtils.equals(this.getAddressId(), other.getAddressId())) { return true; } if (this.getUserId() != null && other.getUserId() != null && ObjectUtils.equals(this.getUserId(), other.getUserId())) { return true; } if (this.getPk() != null && other.getPk() != null && ObjectUtils.equals(this.getPk(), other.getPk())) { return true; } if (this.getUrl() == null && other.getUrl() == null && this.getAddressId() == null && other.getAddressId() == null && this.getUserId() == null && other.getUserId() == null && this.getPk() == null && other.getPk() == null) { return true; } return false; }
clone.attendees = clone.ensureAttendees(); for (final TeamEventAttendeeDO attendee : this.getAttendees()) { TeamEventAttendeeDO cloneAttendee = new TeamEventAttendeeDO(); cloneAttendee.setAddress(attendee.getAddress()); cloneAttendee.setComment(attendee.getComment()); cloneAttendee.setCommentOfAttendee(attendee.getCommentOfAttendee()); cloneAttendee.setLoginToken(attendee.getLoginToken()); cloneAttendee.setNumber(attendee.getNumber()); cloneAttendee.setStatus(attendee.getStatus()); cloneAttendee.setUrl(attendee.getUrl()); cloneAttendee.setUser(attendee.getUser()); clone.addAttendee(cloneAttendee);
@Override public boolean toVEvent(TeamEventDO event, VEvent vEvent) { if (event.getAttendees() == null) { return false; } // TODO add organizer user, most likely as chair for (TeamEventAttendeeDO a : event.getAttendees()) { String email = "mailto:" + (a.getAddress() != null ? a.getAddress().getEmail() : a.getUrl()); Attendee attendee = new Attendee(URI.create(email)); // set common name if (a.getAddress() != null) { attendee.getParameters().add(new Cn(a.getAddress().getFullName())); } else if (a.getCommonName() != null) { attendee.getParameters().add(new Cn(a.getCommonName())); } else { attendee.getParameters().add(new Cn(a.getUrl())); } attendee.getParameters().add(a.getCuType() != null ? new CuType(a.getCuType()) : CuType.INDIVIDUAL); attendee.getParameters().add(a.getRole() != null ? new Role(a.getRole()) : Role.REQ_PARTICIPANT); if (a.getRsvp() != null) { attendee.getParameters().add(new Rsvp(a.getRsvp())); } attendee.getParameters().add(a.getStatus() != null ? a.getStatus().getPartStat() : PartStat.NEEDS_ACTION); this.parseAdditionalParameters(attendee.getParameters(), a.getAdditionalParams()); vEvent.getProperties().add(attendee); } return true; }
TeamEventAttendeeDO attendeeDO = new TeamEventAttendeeDO(); attendeeDO.setUrl(email); final Role role = (Role) attendee.getParameter(Parameter.ROLE); attendeeDO.setCommonName(cn != null ? cn.getValue() : null); attendeeDO.setStatus(partStat != null ? TeamEventAttendeeStatus.getStatusForPartStat(partStat.getValue()) : null); attendeeDO.setCuType(cuType != null ? cuType.getValue() : null); attendeeDO.setRsvp(rsvp != null ? rsvp.getRsvp() : null); attendeeDO.setRole(role != null ? role.getValue() : null); attendeeDO.setAdditionalParams(sb.substring(1));
break; if ((attendee.getUser() != null && Stream.of(splitTerm) .allMatch(streamTerm -> attendee.getUser().getFullname().toLowerCase().contains(streamTerm))) || (attendee.getAddress() != null && Stream.of(splitTerm) .allMatch(streamTerm -> attendee.getAddress().getFullName().toLowerCase().contains(streamTerm))) || (attendee.getUrl() != null && attendee.getUrl().toLowerCase().contains(term) == true)) { matched++; if (matched > offset) { TeamEventAttendeeDO newAttendee = new TeamEventAttendeeDO().setUrl(term); newAttendee.setStatus(TeamEventAttendeeStatus.IN_PROCESS); newAttendee.setId(getAndDecreaseInternalNewAttendeeSequence()); customAttendees.add(newAttendee); result.add(newAttendee);
/** * @see org.apache.wicket.extensions.ajax.markup.html.AjaxEditableLabel#onSubmit(org.apache.wicket.ajax.AjaxRequestTarget) */ @Override protected void onSubmit(final AjaxRequestTarget target) { final TeamEventAttendeeDO attendee = attendeeModel.getObject(); if (lastEntry == true) { final TeamEventAttendeeDO clone = new TeamEventAttendeeDO(); clone.setUrl(attendee.getUrl()).setAddress(attendee.getAddress()); addAttendee(clone); rebuildAttendees(); target.add(mainContainer); } else if (attendee.getAddressId() == null && StringUtils.isBlank(attendee.getUrl()) == true) { final Iterator<TeamEventAttendeeDO> it = attendees.iterator(); while (it.hasNext() == true) { if (it.next() == attendeeModel.getObject()) { it.remove(); } } rebuildAttendees(); target.add(mainContainer); } super.onSubmit(target); }
TeamEventAttendeeDO first = new TeamEventAttendeeDO(); TeamEventAttendeeDO second = new TeamEventAttendeeDO(); assertTrue(first.equals(second)); assertTrue(first.hashCode() == second.hashCode()); first.setUrl("test@test.de"); assertFalse(first.equals(second)); assertFalse(first.hashCode() == second.hashCode()); second.setUrl("test@test.de"); assertTrue(first.equals(second)); assertTrue(first.hashCode() == second.hashCode()); first.setPk(4711); assertTrue(first.equals(second)); assertTrue(first.hashCode() == second.hashCode()); second.setPk(4711); assertTrue(first.equals(second)); assertTrue(first.hashCode() == second.hashCode()); first.setUrl(null); assertTrue(first.equals(second)); assertFalse(first.hashCode() == second.hashCode()); first.setPk(null); first.setAddress(exampleAddress); assertFalse(first.equals(second)); assertFalse(first.hashCode() == second.hashCode());
@Override public String getDisplayValue(final TeamEventAttendeeDO choice) { String name = ""; if (choice.getAddress() != null) { if (choice.getUser() != null) { name = "[" + I18nHelper.getLocalizedMessage("user") + "] " + choice.getUser().getFullname(); } else { name = "[" + I18nHelper.getLocalizedMessage("address.addressText") + "] " + choice.getAddress().getFullName(); } } else if (choice.getUser() != null) { name = "[" + I18nHelper.getLocalizedMessage("user") + "] " + choice.getUser().getFullname(); } String mail = choice.getEMailAddress() != null ? choice.getEMailAddress() : choice.getUrl(); if (mail == null) { mail = ""; } String status = choice.getStatus() != null ? " [" + choice.getStatus().getI18nValue() + "]" : ""; return name + " (" + mail + ")" + status; }
@Override public String toString() { if (this.getUser() != null) { return this.getUser().getFullname() + " (" + this.getUser().getEmail() + ")"; } if (this.getAddress() != null) { return this.getAddress().getFullName() + " (" + this.getAddress().getEmail() + ")"; } if (this.getUrl() != null) { return this.getUrl(); } return super.toString(); }
@Override public void assignAttendees(TeamEventDO data, Set<TeamEventAttendeeDO> itemsToAssign, Set<TeamEventAttendeeDO> itemsToUnassign) { for (TeamEventAttendeeDO assignAttendee : itemsToAssign) { if (assignAttendee.getId() == null || assignAttendee.getId() < 0) { assignAttendee.setId(null); if (assignAttendee.getStatus() == null) { assignAttendee.setStatus(TeamEventAttendeeStatus.NEEDS_ACTION); } data.addAttendee(assignAttendee); teamEventAttendeeDao.internalSave(assignAttendee); } } if (data.getAttendees() != null && itemsToUnassign != null && itemsToUnassign.size() > 0) { data.getAttendees().removeAll(itemsToUnassign); for (TeamEventAttendeeDO deleteAttendee : itemsToUnassign) { teamEventAttendeeDao.internalMarkAsDeleted(deleteAttendee); } } teamEventDao.update(data); }
for (AddressDO singleAddress : allAddressList) { if (StringUtils.isBlank(singleAddress.getEmail()) == false) { TeamEventAttendeeDO attendee = new TeamEventAttendeeDO(); attendee.setStatus(TeamEventAttendeeStatus.IN_PROCESS); attendee.setAddress(singleAddress); PFUserDO userWithSameMail = allUserList.stream() .filter(u -> u.getEmail() != null && u.getEmail().toLowerCase().equals(singleAddress.getEmail().toLowerCase())).findFirst().orElse(null); if (userWithSameMail != null && addedUserIds.contains(userWithSameMail.getId()) == false) { attendee.setUser(userWithSameMail); addedUserIds.add(userWithSameMail.getId()); TeamEventAttendeeDO attendee = new TeamEventAttendeeDO(); attendee.setStatus(TeamEventAttendeeStatus.IN_PROCESS); attendee.setUser(u); resultList.add(attendee);
TeamEventAttendeeDO attendee = new TeamEventAttendeeDO(); attendee.setUrl("test@test.de"); event.addAttendee(attendee);
@Test public void testReomoveFromSet() { Set<TeamEventAttendeeDO> testSet = new HashSet<>(); TeamEventAttendeeDO first = new TeamEventAttendeeDO(); testSet.add(first); TeamEventAttendeeDO second = new TeamEventAttendeeDO(); testSet.remove(second); assertTrue(testSet.isEmpty()); first.setPk(4711); testSet.add(first); second.setPk(4711); testSet.remove(second); assertTrue(testSet.isEmpty()); first.setPk(null); first.setUrl("test@test.de"); testSet.add(first); second.setUrl("test@test.de"); testSet.remove(second); assertTrue(testSet.isEmpty()); }
@Override public void fixAttendees(final TeamEventDO event) { List<TeamEventAttendeeDO> attendeesFromDbList = this.getAddressesAndUserAsAttendee(); Integer internalNewAttendeeSequence = -10000; boolean found; for (TeamEventAttendeeDO attendeeDO : event.getAttendees()) { found = false; // search for eMail in DB as possible attendee for (TeamEventAttendeeDO dBAttendee : attendeesFromDbList) { if (dBAttendee.getEMailAddress() != null && dBAttendee.getEMailAddress().equals(attendeeDO.getUrl())) { attendeeDO = dBAttendee; attendeeDO.setId(internalNewAttendeeSequence--); found = true; break; } } if (found == false) { attendeeDO.setId(internalNewAttendeeSequence--); } } } }
attendee.setPk(null); originAssignedAttendees.add(attendee); }); final TeamEventEditForm form = editPage.getForm(); originAssignedAttendees.forEach(attendee -> { if (attendee.getAddress() != null) { form.getAttendeeWicketProvider().initSortedAttendees(); form.getAttendeeWicketProvider().getSortedAttendees().forEach(sortedAttendee -> { if (sortedAttendee.getAddress() != null && sortedAttendee.getAddress().getPk().equals(attendee.getAddress().getPk())) { sortedAttendee.setId(form.getAttendeeWicketProvider().getAndDecreaseInternalNewAttendeeSequence()); form.getAssignAttendeesListHelper().assignItem(sortedAttendee); attendee.setId(form.getAttendeeWicketProvider().getAndDecreaseInternalNewAttendeeSequence()); form.getAttendeeWicketProvider().getCustomAttendees().add(attendee); form.getAssignAttendeesListHelper().assignItem(attendee);
/** * @see org.apache.wicket.model.Model#setObject(java.io.Serializable) */ @Override public void setObject(final String object) { final TeamEventAttendeeDO attendee = attendeeModel.getObject(); if (StringUtils.isBlank(object) == true) { attendee.setUrl(null); attendee.setAddress(null); return; } final UserGroupCache userGroupCache = TenantRegistryMap.getInstance().getTenantRegistry().getUserGroupCache(); // final AddressDO address = userGroupCache.getUserByFullname(object); // if (user != null) { // attendee.setAddress(address); // attendee.setUrl(null); // } else { // attendee.setUrl(object); // attendee.setUser(null); // } } }, TeamEventAttendeeDO.URL_MAX_LENGTH);