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); } } }