/** * @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); }
/** * @see org.apache.wicket.model.Model#getObject() */ @Override public String getObject() { if (lastEntry == true) { return TeamAttendeesPanel.this.getString("plugins.teamcal.event.addNewAttendee"); } final TeamEventAttendeeDO attendee = attendeeModel.getObject(); if (attendee.getAddressId() != null) { final UserGroupCache userGroupCache = TenantRegistryMap.getInstance().getTenantRegistry() .getUserGroupCache(); final PFUserDO user = userGroupCache.getUser(attendee.getAddressId()); return user != null ? user.getFullname() : attendee.getUrl(); } return attendee.getUrl(); }
/** * 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; }