Search in sources :

Example 16 with Status

use of org.olat.modules.fo.Status in project openolat by klemens.

the class ForumManager method persistMessageInAnotherLocation.

/**
 * Persist message in another location.
 */
private Message persistMessageInAnotherLocation(Message oldMessage, Forum forum, Message top, Message parent) {
    // 1) take the new top messages forum to create a new child
    Message message = createMessage(forum, oldMessage.getCreator(), oldMessage.isGuest());
    ((MessageImpl) message).setCreationDate(oldMessage.getCreationDate());
    message.setLastModified(oldMessage.getLastModified());
    message.setModifier(oldMessage.getModifier());
    message.setTitle(oldMessage.getTitle());
    message.setBody(oldMessage.getBody());
    message.setPseudonym(oldMessage.getPseudonym());
    // 2) set the thread top to the new top message
    message.setThreadtop(top);
    // 3) maintain the hierarchy, parent and top message can be equal
    message.setParent(parent);
    Status status = Status.getStatus(oldMessage.getStatusCode());
    if (status != null) {
        status.setMoved(true);
        message.setStatusCode(Status.getStatusCode(status));
    }
    // 4) save the new massage in the new destination
    message = saveMessage(message);
    return message;
}
Also used : Status(org.olat.modules.fo.Status) Message(org.olat.modules.fo.Message) MessageImpl(org.olat.modules.fo.model.MessageImpl) ReadMessageImpl(org.olat.modules.fo.model.ReadMessageImpl)

Aggregations

Status (org.olat.modules.fo.Status)16 ForumChangedEvent (org.olat.modules.fo.ForumChangedEvent)10 Message (org.olat.modules.fo.Message)2 MessageImpl (org.olat.modules.fo.model.MessageImpl)2 ReadMessageImpl (org.olat.modules.fo.model.ReadMessageImpl)2