
com.qiniu.entry.QSuitsEntry Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of qsuits Show documentation
Show all versions of qsuits Show documentation
qiniu-suits is a efficient tools for qiniu api implemented by java8.
package com.qiniu.entry;
import com.aliyun.oss.ClientConfiguration;
import com.qcloud.cos.ClientConfig;
import com.qcloud.cos.region.Region;
import com.qiniu.common.Constants;
import com.qiniu.common.Zone;
import com.qiniu.config.ParamsConfig;
import com.qiniu.datasource.*;
import com.qiniu.interfaces.IEntryParam;
import com.qiniu.interfaces.ILineProcess;
import com.qiniu.process.filtration.BaseFieldsFilter;
import com.qiniu.process.filtration.FilterProcess;
import com.qiniu.process.filtration.SeniorChecker;
import com.qiniu.process.qdora.PfopCommand;
import com.qiniu.process.qdora.QiniuPfop;
import com.qiniu.process.qdora.QueryAvinfo;
import com.qiniu.process.qdora.QueryPfopResult;
import com.qiniu.process.qoss.*;
import com.qiniu.storage.Configuration;
import com.qiniu.util.ProcessUtils;
import java.io.File;
import java.io.IOException;
import java.util.*;
public class QSuitsEntry {
private IEntryParam entryParam;
private CommonParams commonParams;
private Configuration qiniuConfig;
private ClientConfig tenClientConfig;
private ClientConfiguration aliClientConfig;
private String source;
private String qiniuAccessKey;
private String qiniuSecretKey;
private String bucket;
private Map indexMap;
private int unitLen;
private int threads;
private boolean saveTotal;
private List rmFields;
private String process;
private int retryTimes;
private String savePath;
private String saveFormat;
private String saveSeparator;
public QSuitsEntry(String[] args) throws Exception {
setEntryParam(args);
this.commonParams = new CommonParams(entryParam);
setMembers();
}
public QSuitsEntry(IEntryParam entryParam) throws Exception {
this.entryParam = entryParam;
this.commonParams = new CommonParams(entryParam);
setMembers();
}
public void UpdateEntry(IEntryParam entryParam) throws Exception {
this.entryParam = entryParam;
this.commonParams = new CommonParams(entryParam);
setMembers();
}
public void UpdateEntry(CommonParams commonParams) {
this.commonParams = commonParams;
setMembers();
}
public void setQiniuConfig(Configuration configuration) throws IOException {
if (configuration == null) throw new IOException("the configuration can not be null when you set it.");
this.qiniuConfig = configuration;
}
public void setTenClientConfig(ClientConfig clientConfig) throws IOException {
if (clientConfig == null) throw new IOException("the configuration can not be null when you set it.");
this.tenClientConfig = clientConfig;
}
public void setAliClientConfig(ClientConfiguration clientConfig) throws IOException {
if (clientConfig == null) throw new IOException("the configuration can not be null when you set it.");
this.aliClientConfig = clientConfig;
}
private void setMembers() {
this.source = commonParams.getSource();
this.qiniuAccessKey = commonParams.getQiniuAccessKey();
this.qiniuSecretKey = commonParams.getQiniuSecretKey();
this.bucket = commonParams.getBucket();
this.indexMap = commonParams.getIndexMap();
this.unitLen = commonParams.getUnitLen();
this.threads = commonParams.getThreads();
this.saveTotal = commonParams.getSaveTotal();
this.rmFields = commonParams.getRmFields();
this.process = commonParams.getProcess();
this.retryTimes = commonParams.getRetryTimes();
this.savePath = commonParams.getSavePath() + commonParams.getSaveTag();
this.saveFormat = commonParams.getSaveFormat();
this.saveSeparator = commonParams.getSaveSeparator();
}
private void setEntryParam(String[] args) throws IOException {
List configFiles = new ArrayList(){{
add("resources" + System.getProperty("file.separator") + "qiniu.properties");
add("resources" + System.getProperty("file.separator") + ".qiniu.properties");
}};
boolean paramFromConfig = true;
if (args != null && args.length > 0) {
if (args[0].startsWith("-config=")) configFiles.add(args[0].split("=")[1]);
else paramFromConfig = false;
}
String configFilePath = null;
if (paramFromConfig) {
for (int i = configFiles.size() - 1; i >= 0; i--) {
File file = new File(configFiles.get(i));
if (file.exists()) {
configFilePath = configFiles.get(i);
break;
}
}
if (configFilePath == null) throw new IOException("there is no config file detected.");
else paramFromConfig = true;
}
entryParam = paramFromConfig ? new ParamsConfig(configFilePath) : new ParamsConfig(args);
}
public IEntryParam getEntryParam() {
return entryParam;
}
public CommonParams getCommonParams() {
return commonParams;
}
public Configuration getQiniuConfig() {
return qiniuConfig == null ? getDefaultQiniuConfig() : qiniuConfig;
}
private Configuration getDefaultQiniuConfig() {
Configuration configuration = new Configuration(Zone.autoZone());
if (commonParams.getConnectTimeout() > Constants.CONNECT_TIMEOUT)
configuration.connectTimeout = commonParams.getConnectTimeout();
if (commonParams.getReadTimeout() > Constants.READ_TIMEOUT)
configuration.readTimeout = commonParams.getReadTimeout();
if (commonParams.getRequestTimeout() > Constants.WRITE_TIMEOUT)
configuration.writeTimeout = commonParams.getRequestTimeout();
return configuration;
}
public ClientConfig getTenClientConfig() {
return tenClientConfig == null ? getDefaultTenClientConfig() : tenClientConfig;
}
private ClientConfig getDefaultTenClientConfig() {
ClientConfig clientConfig = new ClientConfig(new Region(commonParams.getRegionName()));
if (1000 * commonParams.getConnectTimeout() > clientConfig.getConnectionTimeout())
clientConfig.setConnectionTimeout(1000 * commonParams.getConnectTimeout());
if (1000 * commonParams.getReadTimeout() > clientConfig.getSocketTimeout())
clientConfig.setSocketTimeout(1000 * commonParams.getReadTimeout());
if (1000 * commonParams.getRequestTimeout() > clientConfig.getConnectionRequestTimeout())
clientConfig.setConnectionRequestTimeout(1000 * commonParams.getRequestTimeout());
return clientConfig;
}
public ClientConfiguration getAliClientConfig() {
return aliClientConfig == null ? getDefaultAliClientConfig() : aliClientConfig;
}
private ClientConfiguration getDefaultAliClientConfig() {
ClientConfiguration clientConfig = new ClientConfiguration();
if (1000 * commonParams.getConnectTimeout() > clientConfig.getConnectionTimeout())
clientConfig.setConnectionTimeout(1000 * commonParams.getConnectTimeout());
if (1000 * commonParams.getReadTimeout() > clientConfig.getSocketTimeout())
clientConfig.setSocketTimeout(1000 * commonParams.getReadTimeout());
if (1000 * commonParams.getRequestTimeout() > clientConfig.getConnectionRequestTimeout())
clientConfig.setConnectionRequestTimeout(1000 * commonParams.getRequestTimeout());
return clientConfig;
}
public IDataSource getDataSource() {
if ("qiniu".equals(source)) {
return getQiniuOssContainer();
} else if ("tencent".equals(source)) {
return getTenOssContainer();
} else if ("aliyun".equals(source)) {
return getAliOssContainer();
} else if ("local".equals(source)) {
return getFileInput();
} else {
return null;
}
}
public FileInput getFileInput() {
String filePath = commonParams.getPath();
String parseType = commonParams.getParse();
String separator = commonParams.getSeparator();
String rmKeyPrefix = commonParams.getRmKeyPrefix();
FileInput fileInput = new FileInput(filePath, parseType, separator, rmKeyPrefix, indexMap, unitLen, threads);
fileInput.setSaveOptions(savePath, saveTotal, saveFormat, saveSeparator, rmFields);
fileInput.setRetryTimes(retryTimes);
return fileInput;
}
public QiniuOssContainer getQiniuOssContainer() {
Map prefixesMap = commonParams.getPrefixesMap();
List antiPrefixes = commonParams.getAntiPrefixes();
boolean prefixLeft = commonParams.getPrefixLeft();
boolean prefixRight = commonParams.getPrefixRight();
if (qiniuConfig == null) qiniuConfig = getDefaultQiniuConfig();
QiniuOssContainer qiniuOssContainer = new QiniuOssContainer(qiniuAccessKey, qiniuSecretKey, qiniuConfig,
bucket, antiPrefixes, prefixesMap, prefixLeft, prefixRight, indexMap, unitLen, threads);
qiniuOssContainer.setSaveOptions(savePath, saveTotal, saveFormat, saveSeparator, rmFields);
qiniuOssContainer.setRetryTimes(retryTimes);
return qiniuOssContainer;
}
public TenOssContainer getTenOssContainer() {
String secretId = commonParams.getTencentSecretId();
String secretKey = commonParams.getTencentSecretKey();
Map prefixesMap = commonParams.getPrefixesMap();
List antiPrefixes = commonParams.getAntiPrefixes();
boolean prefixLeft = commonParams.getPrefixLeft();
boolean prefixRight = commonParams.getPrefixRight();
if (tenClientConfig == null) tenClientConfig = getDefaultTenClientConfig();
TenOssContainer tenOssContainer = new TenOssContainer(secretId, secretKey, tenClientConfig, bucket,
antiPrefixes, prefixesMap, prefixLeft, prefixRight, indexMap, unitLen, threads);
tenOssContainer.setSaveOptions(savePath, saveTotal, saveFormat, saveSeparator, rmFields);
tenOssContainer.setRetryTimes(retryTimes);
return tenOssContainer;
}
public AliOssContainer getAliOssContainer() {
String accessId = commonParams.getAliyunAccessId();
String accessSecret = commonParams.getAliyunAccessSecret();
String endPoint = "http://" + commonParams.getRegionName() + ".aliyuncs.com";
Map prefixesMap = commonParams.getPrefixesMap();
List antiPrefixes = commonParams.getAntiPrefixes();
boolean prefixLeft = commonParams.getPrefixLeft();
boolean prefixRight = commonParams.getPrefixRight();
if (aliClientConfig == null) aliClientConfig = getDefaultAliClientConfig();
AliOssContainer aliOssContainer = new AliOssContainer(accessId, accessSecret, aliClientConfig, endPoint, bucket,
antiPrefixes, prefixesMap, prefixLeft, prefixRight, indexMap, unitLen, threads);
aliOssContainer.setSaveOptions(savePath, saveTotal, saveFormat, saveSeparator, rmFields);
aliOssContainer.setRetryTimes(retryTimes);
return aliOssContainer;
}
public ILineProcess
© 2015 - 2025 Weber Informatics LLC | Privacy Policy