package io.fathom.cloud.mq; import io.fathom.cloud.mq.MessageQueueService; import io.fathom.cloud.mq.MessageQueueWriter; import io.fathom.cloud.mq.filesystem.SftpMessageQueueWriter; import io.fathom.cloud.sftp.RemoteFile; import io.fathom.cloud.ssh.SshConfig; import java.io.File; import java.io.IOException; import javax.inject.Singleton; @Singleton public class MessageQueueServiceImpl implements MessageQueueService { @Override public MessageQueueWriter getWriter(SshConfig sshConfig, String queue) throws IOException { if (queue.startsWith("sftp://")) { File path = new File(queue.substring(7)); return new SftpMessageQueueWriter(sshConfig, new RemoteFile(path)); } else { throw new IllegalArgumentException(); } } }