|
|
@ -1,15 +1,15 @@ |
|
|
|
package com.fr.plugin.form.widget.core; |
|
|
|
package com.fr.plugin.form.widget.core; |
|
|
|
|
|
|
|
|
|
|
|
import com.fr.base.ParameterMapNameSpace; |
|
|
|
import com.fr.base.ParameterMapNameSpace; |
|
|
|
import com.fr.general.xml.GeneralXMLTools; |
|
|
|
import com.fanruan.api.xml.XmlKit; |
|
|
|
import com.fr.json.JSONArray; |
|
|
|
import com.fr.json.JSONArray; |
|
|
|
import com.fr.json.JSONException; |
|
|
|
import com.fanruan.api.err.JSONException; |
|
|
|
import com.fr.json.JSONObject; |
|
|
|
import com.fr.json.JSONObject; |
|
|
|
import com.fr.script.Calculator; |
|
|
|
import com.fr.script.Calculator; |
|
|
|
import com.fr.stable.ArrayUtils; |
|
|
|
import com.fanruan.api.util.ArrayKit; |
|
|
|
import com.fr.stable.DependenceProvider; |
|
|
|
import com.fr.stable.DependenceProvider; |
|
|
|
import com.fr.stable.ParameterProvider; |
|
|
|
import com.fr.stable.ParameterProvider; |
|
|
|
import com.fr.stable.UtilEvalError; |
|
|
|
import com.fanruan.api.err.UtilEvalError; |
|
|
|
import com.fr.stable.script.CalculatorProvider; |
|
|
|
import com.fr.stable.script.CalculatorProvider; |
|
|
|
import com.fr.stable.script.NameSpace; |
|
|
|
import com.fr.stable.script.NameSpace; |
|
|
|
import com.fr.stable.xml.StableXMLUtils; |
|
|
|
import com.fr.stable.xml.StableXMLUtils; |
|
|
@ -53,7 +53,7 @@ public class RHIframeAttr implements XMLable, DependenceProvider { |
|
|
|
@Override |
|
|
|
@Override |
|
|
|
public String[] dependence(CalculatorProvider ca) { |
|
|
|
public String[] dependence(CalculatorProvider ca) { |
|
|
|
if (source == null) { |
|
|
|
if (source == null) { |
|
|
|
return ArrayUtils.EMPTY_STRING_ARRAY; |
|
|
|
return ArrayKit.EMPTY_STRING_ARRAY; |
|
|
|
} |
|
|
|
} |
|
|
|
List<String> data = new ArrayList<String>(); |
|
|
|
List<String> data = new ArrayList<String>(); |
|
|
|
data.addAll(Arrays.asList(source.dependence(ca))); |
|
|
|
data.addAll(Arrays.asList(source.dependence(ca))); |
|
|
@ -69,7 +69,7 @@ public class RHIframeAttr implements XMLable, DependenceProvider { |
|
|
|
if (source != null) { |
|
|
|
if (source != null) { |
|
|
|
jo.put("src", source.getCalculatedUrl(c, req)); |
|
|
|
jo.put("src", source.getCalculatedUrl(c, req)); |
|
|
|
String[] dependence = dependence(c); |
|
|
|
String[] dependence = dependence(c); |
|
|
|
if (!ArrayUtils.isEmpty(dependence)) { |
|
|
|
if (!ArrayKit.isEmpty(dependence)) { |
|
|
|
jo.put("dependence", dependence); |
|
|
|
jo.put("dependence", dependence); |
|
|
|
jo.put("valueDependence", dependence); |
|
|
|
jo.put("valueDependence", dependence); |
|
|
|
} |
|
|
|
} |
|
|
@ -82,18 +82,25 @@ public class RHIframeAttr implements XMLable, DependenceProvider { |
|
|
|
c.pushNameSpace(ns); |
|
|
|
c.pushNameSpace(ns); |
|
|
|
|
|
|
|
|
|
|
|
if (source != null) { |
|
|
|
if (source != null) { |
|
|
|
|
|
|
|
try { |
|
|
|
source.mixCalculatedParameters(c, ja, parameters); |
|
|
|
source.mixCalculatedParameters(c, ja, parameters); |
|
|
|
|
|
|
|
} catch (Exception e) { |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@Override |
|
|
|
public void readXML(XMLableReader reader) { |
|
|
|
public void readXML(XMLableReader reader) { |
|
|
|
if (reader.isChildNode()) { |
|
|
|
if (reader.isChildNode()) { |
|
|
|
String tmpName = reader.getTagName(); |
|
|
|
String tmpName = reader.getTagName(); |
|
|
|
if (ParameterProvider.ARRAY_XML_TAG.equals(tmpName)) {//读取Parameters.
|
|
|
|
if (ParameterProvider.ARRAY_XML_TAG.equals(tmpName)) { |
|
|
|
|
|
|
|
//读取Parameters.
|
|
|
|
final List<ParameterProvider> tmpParameterList = new ArrayList<ParameterProvider>(); |
|
|
|
final List<ParameterProvider> tmpParameterList = new ArrayList<ParameterProvider>(); |
|
|
|
|
|
|
|
|
|
|
|
reader.readXMLObject(new XMLReadable() { |
|
|
|
reader.readXMLObject(new XMLReadable() { |
|
|
|
|
|
|
|
@Override |
|
|
|
public void readXML(XMLableReader reader) { |
|
|
|
public void readXML(XMLableReader reader) { |
|
|
|
if (ParameterProvider.XML_TAG.equals(reader.getTagName())) { |
|
|
|
if (ParameterProvider.XML_TAG.equals(reader.getTagName())) { |
|
|
|
tmpParameterList.add(StableXMLUtils.readParameter(reader)); |
|
|
|
tmpParameterList.add(StableXMLUtils.readParameter(reader)); |
|
|
@ -106,7 +113,7 @@ public class RHIframeAttr implements XMLable, DependenceProvider { |
|
|
|
this.parameters = tmpParameterList.toArray(new ParameterProvider[tmpParameterList.size()]); |
|
|
|
this.parameters = tmpParameterList.toArray(new ParameterProvider[tmpParameterList.size()]); |
|
|
|
} |
|
|
|
} |
|
|
|
} else if (tmpName.equals(RHIframeSource.XML_TAG)) { |
|
|
|
} else if (tmpName.equals(RHIframeSource.XML_TAG)) { |
|
|
|
this.source = (RHIframeSource) GeneralXMLTools.readXMLable(reader); |
|
|
|
this.source = (RHIframeSource) XmlKit.readXMLable(reader); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
@ -114,7 +121,7 @@ public class RHIframeAttr implements XMLable, DependenceProvider { |
|
|
|
@Override |
|
|
|
@Override |
|
|
|
public void writeXML(XMLPrintWriter writer) { |
|
|
|
public void writeXML(XMLPrintWriter writer) { |
|
|
|
if (source != null) { |
|
|
|
if (source != null) { |
|
|
|
GeneralXMLTools.writeXMLable(writer, source, RHIframeSource.XML_TAG); |
|
|
|
XmlKit.writeXMLable(writer, source, RHIframeSource.XML_TAG); |
|
|
|
} |
|
|
|
} |
|
|
|
StableXMLUtils.writeParameters(writer, parameters); |
|
|
|
StableXMLUtils.writeParameters(writer, parameters); |
|
|
|
} |
|
|
|
} |
|
|
|