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.
69 lines
2.3 KiB
69 lines
2.3 KiB
package com.fr.plugin.file.submit.oss.script; |
|
|
|
import com.fanruan.api.xml.XmlKit; |
|
import com.fr.js.AbstractJavaScript; |
|
import com.fr.plugin.file.submit.oss.fun.OssSubmitTargetConfig; |
|
import com.fanruan.api.util.AssistKit; |
|
import com.fanruan.api.util.CodeKit; |
|
import com.fr.stable.web.Repository; |
|
import com.fr.stable.xml.XMLPrintWriter; |
|
import com.fr.stable.xml.XMLableReader; |
|
|
|
public class OssSubmitJavaScript extends AbstractJavaScript { |
|
|
|
private OssSubmitTargetConfig submitTargetConfig; |
|
|
|
public OssSubmitTargetConfig getSubmitTargetConfig() { |
|
return submitTargetConfig; |
|
} |
|
|
|
public void setSubmitTargetConfig(OssSubmitTargetConfig submitTargetConfig) { |
|
this.submitTargetConfig = submitTargetConfig; |
|
} |
|
|
|
@Override |
|
protected String actionJS(Repository repository) { |
|
return "var fm = new FR.OssForm();fm.ossCommit({xmlconf:" + quote(XmlKit.writeXMLableAsString(this)) + "},this)"; |
|
} |
|
|
|
private String quote(String string) { |
|
return "\"" + CodeKit.javascriptEncode(string) + "\"" ; |
|
} |
|
|
|
@Override |
|
public void readXML(XMLableReader reader) { |
|
super.readXML(reader); |
|
if (reader.isChildNode()) { |
|
String tagName = reader.getTagName(); |
|
if (OssSubmitTargetConfig.XML_TAG.equals(tagName)) { |
|
OssSubmitTargetConfig newConfig = new OssSubmitTargetConfig(); |
|
newConfig.readXML(reader); |
|
submitTargetConfig = newConfig; |
|
} |
|
} |
|
} |
|
|
|
@Override |
|
public void writeXML(XMLPrintWriter writer) { |
|
super.writeXML(writer); |
|
if (submitTargetConfig != null) { |
|
XmlKit.writeXMLable(writer, submitTargetConfig, OssSubmitTargetConfig.XML_TAG); |
|
} |
|
} |
|
|
|
@Override |
|
public boolean equals(Object o) { |
|
return o instanceof OssSubmitJavaScript |
|
&& super.equals(o) |
|
&& AssistKit.equals(((OssSubmitJavaScript) o).submitTargetConfig, submitTargetConfig); |
|
} |
|
|
|
@Override |
|
public Object clone() throws CloneNotSupportedException { |
|
OssSubmitJavaScript cloned = (OssSubmitJavaScript) super.clone(); |
|
if (submitTargetConfig != null) { |
|
cloned.submitTargetConfig = (OssSubmitTargetConfig) submitTargetConfig.clone(); |
|
} |
|
return cloned; |
|
} |
|
}
|
|
|