62 lines
1.8 KiB
Java
62 lines
1.8 KiB
Java
package org.gcube.gcat.moderation.thread;
|
|
|
|
import java.io.StringWriter;
|
|
import java.util.Set;
|
|
|
|
import org.gcube.common.authorization.utils.manager.SecretManagerProvider;
|
|
import org.gcube.gcat.api.moderation.CMItemStatus;
|
|
import org.gcube.gcat.api.moderation.Moderated;
|
|
import org.gcube.gcat.social.Message;
|
|
import org.gcube.gcat.social.SocialUsers;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
/**
|
|
* @author Luca Frosini (ISTI - CNR)
|
|
*/
|
|
public class MessageModerationThread extends ModerationThread {
|
|
|
|
private static final Logger logger = LoggerFactory.getLogger(MessageModerationThread.class);
|
|
|
|
protected String getSubject(CMItemStatus cmItemStatus) {
|
|
StringWriter stringWriter = new StringWriter();
|
|
stringWriter.append(cmItemStatus.getFancyValue());
|
|
stringWriter.append(itemName);
|
|
stringWriter.append(itemID);
|
|
|
|
return stringWriter.toString();
|
|
}
|
|
|
|
protected Message getMessage(CMItemStatus cmItemStatus, String messageString) throws Exception {
|
|
Message message = new Message();
|
|
message.setMessage(messageString);
|
|
message.setSubject(getSubject(cmItemStatus));
|
|
Set<String> moderators = SocialUsers.getUsernamesByRole(Moderated.CATALOGUE_MODERATOR);
|
|
|
|
message.setUsers(moderators);
|
|
|
|
return message;
|
|
}
|
|
|
|
|
|
@Override
|
|
protected void postMessage(CMItemStatus cmItemStatus, String message) throws Exception {
|
|
|
|
|
|
|
|
}
|
|
|
|
@Override
|
|
public void postUserMessage(CMItemStatus cmItemStatus, String userMessage) throws Exception {
|
|
logger.info("{} is sending a message to the {} for item '{}' (id={}). ItemStatus={}, Message=\"{}\"",
|
|
SecretManagerProvider.instance.get().getUser().getUsername(),
|
|
ModerationThread.class.getSimpleName(), itemName, itemID, cmItemStatus, userMessage);
|
|
}
|
|
|
|
@Override
|
|
protected void createModerationThread() throws Exception {
|
|
// Nothing to do
|
|
}
|
|
|
|
}
|