You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
2.4 KiB
73 lines
2.4 KiB
package com.fr.plugin.file.submit.oss.job; |
|
|
|
import com.aliyun.oss.OSSClient; |
|
import com.fr.data.AbstractSubmitTask; |
|
import com.fr.general.xml.GeneralXMLTools; |
|
import com.fr.intelli.record.Focus; |
|
import com.fr.intelli.record.Original; |
|
import com.fr.plugin.file.submit.oss.conf.FileSubmitOssServerConfig; |
|
import com.fr.plugin.file.submit.oss.fun.OssConstants; |
|
import com.fr.plugin.file.submit.oss.fun.OssSubmitTargetConfig; |
|
import com.fr.plugin.file.submit.oss.fun.OssUpload; |
|
import com.fr.record.analyzer.EnableMetrics; |
|
import com.fr.script.Calculator; |
|
import com.fr.stable.xml.XMLPrintWriter; |
|
import com.fr.stable.xml.XMLableReader; |
|
|
|
/** |
|
* 提交到OSS的任务 |
|
*/ |
|
@EnableMetrics |
|
public class OssSubmitJob extends AbstractSubmitTask { |
|
|
|
private OSSClient ossClient = null; |
|
|
|
private OssSubmitTargetConfig submitTargetConfig; |
|
|
|
public OssSubmitTargetConfig getSubmitTargetConfig() { |
|
return submitTargetConfig; |
|
} |
|
|
|
public void setSubmitTargetConfig(OssSubmitTargetConfig submitTargetConfig) { |
|
this.submitTargetConfig = submitTargetConfig; |
|
} |
|
|
|
@Override |
|
public String getJobType() { |
|
return OssConstants.KEY; |
|
} |
|
|
|
@Override |
|
@Focus(id = "com.fr.plugin.file.submit.oss", text = "Plugin-File_Submit_OSS", source = Original.PLUGIN) |
|
public void doJob(Calculator calculator) throws Exception { |
|
ossClient = new OSSClient( |
|
FileSubmitOssServerConfig.getInstance().getEndPoint(), |
|
FileSubmitOssServerConfig.getInstance().getAccessKeyId(), |
|
FileSubmitOssServerConfig.getInstance().getAccessKeySecret()); |
|
OssUpload.upload(calculator, ossClient, submitTargetConfig); |
|
} |
|
|
|
@Override |
|
public void doFinish(Calculator calculator) throws Exception { |
|
ossClient.shutdown(); |
|
} |
|
|
|
@Override |
|
public void readXML(final XMLableReader reader) { |
|
if (reader.isChildNode()) { |
|
String tagName = reader.getTagName(); |
|
if (OssSubmitTargetConfig.XML_TAG.equals(tagName)) { |
|
OssSubmitTargetConfig config = new OssSubmitTargetConfig(); |
|
config.readXML(reader); |
|
submitTargetConfig = config; |
|
} |
|
} |
|
} |
|
|
|
@Override |
|
public void writeXML(XMLPrintWriter writer) { |
|
if (submitTargetConfig != null) { |
|
GeneralXMLTools.writeXMLable(writer, submitTargetConfig, OssSubmitTargetConfig.XML_TAG); |
|
} |
|
} |
|
}
|
|
|