package de.flower.rmt.ui.panel.activityfeed.renderer; import de.flower.rmt.model.db.type.RSVPStatus; import de.flower.rmt.model.db.type.activity.InvitationUpdateMessage2; import org.apache.wicket.model.Model; import org.apache.wicket.model.ResourceModel; import org.apache.wicket.model.StringResourceModel; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * @author flowerrrr */ public class InvitationUpdateMessageRenderer2 extends AbstractEventMessageRenderer implements IMessageRenderer<InvitationUpdateMessage2> { private final static Logger log = LoggerFactory.getLogger(InvitationUpdateMessageRenderer2.class); @Override public String toString(final InvitationUpdateMessage2 message) { String s; String status = (message.getStatus() != null) ? new ResourceModel(RSVPStatus.getResourceKey(message.getStatus())).getObject() : ""; Object[] params = new Object[]{ getEventArticle(message), getEventLink(message), status}; InvitationUpdateMessage2.Type updateType = message.getType(); switch (updateType) { case SELF_STATUS: s = new StringResourceModel("activity.invitation2.user.status.${status}", Model.of(message), params).getObject(); break; case SELF_COMMENT: s = new StringResourceModel("activity.invitation2.user.comment", Model.of(message), params).getObject(); break; case SELF_STATUS_COMMENT: s = new StringResourceModel("activity.invitation2.user.status.${status}", Model.of(message), params).getObject(); s = new StringResourceModel("activity.invitation2.user.statuscomment", Model.of(message), new Object[]{s}).getObject(); break; case OTHER_STATUS: s = new StringResourceModel("activity.invitation2.manager.status", Model.of(message), params).getObject(); break; case OTHER_COMMENT: s = new StringResourceModel("activity.invitation2.other.comment", Model.of(message), params).getObject(); break; case OTHER_STATUS_COMMENT: s = new StringResourceModel("activity.invitation2.manager.status", Model.of(message), params).getObject(); s = new StringResourceModel("activity.invitation2.manager.statuscomment", Model.of(message), new Object[]{s}).getObject(); break; default: throw new IllegalStateException("Unknown usertype"); } log.debug(message.toString() + " -> [" + s + "]"); return s; } @Override public boolean canHandle(final Object message) { return message instanceof InvitationUpdateMessage2; } }