/*
* Copyright (c) 2014 EMC Corporation
* All Rights Reserved
*/
package com.emc.storageos.systemservices.impl.jobs.backupscheduler;
import java.io.OutputStream;
import java.util.List;
import com.emc.storageos.management.backup.util.FtpClient;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* Implements upload protocol using FTPS
*/
public class FtpsUploader extends Uploader {
private static final Logger log = LoggerFactory.getLogger(FtpsUploader.class);
private final FtpClient ftpClient;
public FtpsUploader(SchedulerConfig cfg, BackupScheduler cli) {
super(cfg, cli);
ftpClient = new FtpClient(cfg.uploadUrl, cfg.uploadUserName, cfg.getExternalServerPassword());
}
public static boolean isSupported(String url) {
return FtpClient.isSupported(url);
}
@Override
public Long getFileSize(String fileName) throws Exception {
return ftpClient.getFileSize(fileName);
}
@Override
public OutputStream upload(String fileName, long offset) throws Exception {
return ftpClient.upload(fileName, offset);
}
@Override
public List<String> listFiles(String prefix) throws Exception {
return ftpClient.listFiles(prefix);
}
@Override
public void rename(String sourceFileName, String destFileName) throws Exception {
ftpClient.rename(sourceFileName, destFileName);
}
}