All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.kde.brooklyn.RocketChatMessage Maven / Gradle / Ivy

Go to download

Canaveral is a Java wrapper for Rocket.Chat Realtime API designed to support bots.

There is a newer version: 0.6.6
Show newest version
/*
 * Copyright 2017 Davide Riva [email protected]
 *
 * Permission to use, copy, modify, and distribute this software
 * and its documentation for any purpose and without fee is hereby
 * granted, provided that the above copyright notice appear in all
 * copies and that both that the copyright notice and this
 * permission notice and warranty disclaimer appear in supporting
 * documentation, and that the name of the author not be used in
 * advertising or publicity pertaining to distribution of the
 * software without specific, written prior permission.
 *
 * The author disclaim all warranties with regard to this
 * software, including all implied warranties of merchantability
 * and fitness.  In no event shall the author be liable for any
 * special, indirect or consequential damages or any damages
 * whatsoever resulting from loss of use, data or profits, whether
 * in an action of contract, negligence or other tortious action,
 * arising out of or in connection with the use or performance of
 * this software.
 */

package org.kde.brooklyn;

import org.json.simple.JSONObject;

import java.util.Optional;

public class RocketChatMessage {
    public String id;
    public String roomId;
    public String username;
    public String msg;
    public Optional attachment = Optional.empty();

    public static RocketChatMessage parse(final JSONObject message) {
        final RocketChatMessage output = new RocketChatMessage();
        final JSONObject user = (JSONObject) message.get("u");

        output.id = (String) message.get("_id");
        output.roomId = (String) message.get("rid");
        output.username = (String) user.get("username");
        output.msg = (String) message.get("msg");

        final String fileKey = "file";
        if (message.containsKey(fileKey)) {
            final JSONObject file = (JSONObject) message.get(fileKey);
            final String fileId = (String) file.get("_id");
            final String fileName = (String) file.get("name");

            final RocketChatAttachment attachment = new RocketChatAttachment();
            attachment.id = fileId;
            attachment.title = fileName;
            output.attachment = Optional.of(attachment);
        }

        return output;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy