package net.mms_projects.copy_it.ui.interactive_shell.commands;
import net.mms_projects.copy_it.ClipboardManager;
import net.mms_projects.copy_it.SyncListener;
import net.mms_projects.copy_it.SyncManager;
import net.mms_projects.irc.channel_bots.pb.Command;
import net.mms_projects.irc.channel_bots.pb.CommandHandler;
import org.apache.commons.io.IOUtils;
import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
import java.util.concurrent.CountDownLatch;
public class CopyIt extends Command {
private final SyncManager syncManager;
private final ClipboardManager clipboardManager;
public CopyIt(CommandHandler commandHandler, SyncManager syncManager, ClipboardManager clipboardManager) {
super("copyit", "Pushes content to the server", commandHandler);
this.syncManager = syncManager;
this.clipboardManager = clipboardManager;
this.addHelp();
}
@Override
public void run(String rawdata) {
String content = "";
InputStream inputStream = System.in;
try {
if (inputStream.available() > 0) {
content = IOUtils.toString(inputStream);
}
} catch (IOException e) {
e.printStackTrace();
}
if ("".equals(content)) {
content = this.clipboardManager.getContent();
}
final CountDownLatch countDownLatch = new CountDownLatch(1);
this.syncManager.setRemoteContent(content, new Date());
this.reply("Pushed: " + content);
}
}