All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cn.jiangzeyin.util.PublishSchemeFtp Maven / Gradle / Ivy

package cn.jiangzeyin.util;

import cn.jiangzeyin.entity.defaults.PublishScheme;
import cn.jiangzeyin.util.net.ftp.FtpInfo;
import cn.jiangzeyin.util.net.ftp.FtpUtil;
import cn.jiangzeyin.util.net.ftp.YokeFtp;
import org.springframework.util.Assert;

import java.io.IOException;
import java.util.concurrent.TimeUnit;

/**
 * @author jiangzeyin
 * Created by jiangzeyin on 2017/2/8.
 */
public class PublishSchemeFtp implements FtpInfo {
    private PublishScheme publishScheme;

    public PublishSchemeFtp(PublishScheme publishScheme) {
        this.publishScheme = publishScheme;
    }

    @Override
    public int getPort() {
        Assert.notNull(publishScheme);
        return publishScheme.getPort();
    }

    @Override
    public String getIp() {
        Assert.notNull(publishScheme);
        return publishScheme.getIp();
    }

    @Override
    public String getEncoding() {
        Assert.notNull(publishScheme);
        return publishScheme.getEncoding();
    }

    @Override
    public String getUserName() {
        Assert.notNull(publishScheme);
        return publishScheme.getUserName();
    }

    @Override
    public String getUserPwd() {
        Assert.notNull(publishScheme);
        return publishScheme.getUserPwd();
    }

    @Override
    public int getTimeOut() {
        Assert.notNull(publishScheme);
        return publishScheme.getTimeOut();
    }

    @Override
    public int getMode() {
        Assert.notNull(publishScheme);
        return publishScheme.getMode();
    }

    @Override
    public int getId() {
        Assert.notNull(publishScheme);
        return publishScheme.getId();
    }

    @Override
    public int getMaxConnects() {
        Assert.notNull(publishScheme);
        return publishScheme.getMaxConnects();
    }

    @Override
    public TimeUnit getTimeUnit() {
        Assert.notNull(publishScheme);
        return publishScheme.getTimeUnit();
    }

    /**
     * 获取ftp 连接对象
     *
     * @param publishScheme scheme
     * @return ftp
     * @throws IOException io
     * @author jiangzeyin
     */
    public static YokeFtp getFtpClient(PublishScheme publishScheme) throws IOException {
        PublishSchemeFtp publishSchemeFtp = new PublishSchemeFtp(publishScheme);
        return FtpUtil.getFtpClient(publishSchemeFtp);
//        YokeFtp ftp = new YokeFtp();
//        // ftp.setDefaultTimeout(40000);
//        // ftp.setKeepAlive(true);
//        ftp.setDefaultPort(publishScheme.getPort());
//        ftp.connect(publishScheme.getIp());
//        ftp.setControlEncoding(publishScheme.getEncoding());
//        // FTP服务器连接回答
//        if (!FTPReply.isPositiveCompletion(ftp.getReplyCode())) {
//            return null;
//        }
//        // 登录
//        ftp.login(publishScheme.getUserName(), publishScheme.getUserPwd());
//        ftp.setSoTimeout(publishScheme.getTimeOut());
//        ftp.setConnectTimeout(publishScheme.getTimeOut());
//        if (publishScheme.getMode() == 1)
//            ftp.enterLocalPassiveMode();// 被动模式
//        else
//            ftp.enterLocalActiveMode();// 主动模式
//        ftp.setSchemeId(publishScheme.getId());
//        ftp.setDataTimeout(publishScheme.getTimeOut());
//        return ftp;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy