71 lines
2.0 KiB
Java
71 lines
2.0 KiB
Java
package org.gcube.gcat.moderation.thread.social.messages;
|
|
|
|
import org.gcube.com.fasterxml.jackson.databind.JsonNode;
|
|
import org.gcube.com.fasterxml.jackson.databind.ObjectMapper;
|
|
import org.gcube.social_networking.social_networking_client_library.MessageClient;
|
|
import org.gcube.social_networking.socialnetworking.model.beans.Message;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
/**
|
|
* @author Luca Frosini (ISTI - CNR)
|
|
*/
|
|
public class SocialMessage extends Thread {
|
|
|
|
private static final Logger logger = LoggerFactory.getLogger(SocialMessage.class);
|
|
|
|
public static final String ITEM_URL = "Item URL";
|
|
|
|
protected static final String RESPONSE_SUCCESS_KEY = "success";
|
|
protected static final String RESPONSE_MESSAGE_KEY = "message";
|
|
|
|
protected final ObjectMapper objectMapper;
|
|
|
|
protected Message message;
|
|
|
|
public SocialMessage() throws Exception {
|
|
super();
|
|
this.objectMapper = new ObjectMapper();
|
|
}
|
|
|
|
public Message getMessage() {
|
|
return message;
|
|
}
|
|
|
|
public void setMessage(Message message) {
|
|
this.message = message;
|
|
}
|
|
|
|
@Override
|
|
public void run() {
|
|
|
|
try {
|
|
logger.info("Going to send Message {}", message);
|
|
// write message
|
|
sendSocialMessage();
|
|
} catch(Exception e) {
|
|
logger.error("Error while executing post creation actions", e);
|
|
}
|
|
}
|
|
|
|
public void sendSocialMessage() {
|
|
try {
|
|
MessageClient messageClient = new MessageClient();
|
|
String ret = messageClient.writeMessage(message);
|
|
|
|
String messageString = objectMapper.writeValueAsString(message);
|
|
logger.debug("The message that is going to be send is\n{}", messageString);
|
|
|
|
JsonNode jsonNode = objectMapper.readTree(ret);
|
|
if(jsonNode.get(RESPONSE_SUCCESS_KEY).asBoolean()) {
|
|
logger.info("Message sent : {}", messageString);
|
|
} else {
|
|
logger.info("Failed to write the message {}. Reason {}", messageString,
|
|
jsonNode.get(RESPONSE_MESSAGE_KEY).asText());
|
|
}
|
|
} catch(Exception e) {
|
|
logger.error("Unable to send the message : " + message.toString(), e);
|
|
}
|
|
}
|
|
|
|
} |