Browse Source

按要求修改完善

master
Palin 6 years ago
parent
commit
1afca6c8e2
  1. 11
      src/main/java/com/fr/plugin/form/widget/core/RHIframe.java
  2. 5
      src/main/java/com/fr/plugin/form/widget/core/RHIframeAttr.java
  3. 28
      src/main/java/com/fr/plugin/form/widget/core/TemplateSource.java
  4. 24
      src/main/java/com/fr/plugin/form/widget/core/URLSource.java
  5. 38
      src/main/java/com/fr/plugin/form/widget/monitor/RHFunctionProcessor.java
  6. 9
      src/main/java/com/fr/plugin/form/widget/ui/XRHIframe.java

11
src/main/java/com/fr/plugin/form/widget/core/RHIframe.java

@ -8,13 +8,10 @@ import com.fr.intelli.record.Original;
import com.fr.json.JSONArray; import com.fr.json.JSONArray;
import com.fanruan.api.err.JSONException; import com.fanruan.api.err.JSONException;
import com.fr.json.JSONObject; import com.fr.json.JSONObject;
import com.fr.plugin.ExtraClassManager;
import com.fr.plugin.form.widget.monitor.RHFunctionProcessor;
import com.fr.record.analyzer.EnableMetrics; import com.fr.record.analyzer.EnableMetrics;
import com.fr.script.Calculator; import com.fr.script.Calculator;
import com.fanruan.api.util.ArrayKit; import com.fanruan.api.util.ArrayKit;
import com.fanruan.api.report.analy.data.NodeVisitor; import com.fanruan.api.report.analy.data.NodeVisitor;
import com.fr.stable.fun.FunctionProcessor;
import com.fr.stable.script.CalculatorProvider; import com.fr.stable.script.CalculatorProvider;
import com.fr.stable.web.Repository; import com.fr.stable.web.Repository;
import com.fr.stable.xml.XMLPrintWriter; import com.fr.stable.xml.XMLPrintWriter;
@ -71,10 +68,10 @@ public class RHIframe extends FieldEditor implements Interactive {
attr.mixConfig(jo, c, repo.getHttpServletRequest()); attr.mixConfig(jo, c, repo.getHttpServletRequest());
jo.put("showOverFlowX", overflowX); jo.put("showOverFlowX", overflowX);
jo.put("showOverFlowY", overflowY); jo.put("showOverFlowY", overflowY);
FunctionProcessor processor = ExtraClassManager.getInstance().getFunctionProcessor(); // FunctionProcessor processor = ExtraClassManager.getInstance().getFunctionProcessor();
if (processor != null){ // if (processor != null){
processor.recordFunction(RHFunctionProcessor.getInstance()); // processor.recordFunction(RHFunctionProcessor.getInstance());
} // }
return jo; return jo;
} }

5
src/main/java/com/fr/plugin/form/widget/core/RHIframeAttr.java

@ -13,7 +13,6 @@ 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.web.SessionProvider; import com.fr.stable.web.SessionProvider;
import com.fr.stable.xml.StableXMLUtils;
import com.fr.stable.xml.XMLPrintWriter; import com.fr.stable.xml.XMLPrintWriter;
import com.fr.stable.xml.XMLReadable; import com.fr.stable.xml.XMLReadable;
import com.fr.stable.xml.XMLable; import com.fr.stable.xml.XMLable;
@ -103,7 +102,7 @@ public class RHIframeAttr implements XMLable, DependenceProvider {
@Override @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(XmlKit.readParameter(reader));
} }
} }
}); });
@ -123,7 +122,7 @@ public class RHIframeAttr implements XMLable, DependenceProvider {
if (source != null) { if (source != null) {
XmlKit.writeXMLable(writer, source, RHIframeSource.XML_TAG); XmlKit.writeXMLable(writer, source, RHIframeSource.XML_TAG);
} }
StableXMLUtils.writeParameters(writer, parameters); XmlKit.writeParameters(writer, parameters);
} }
@Override @Override

28
src/main/java/com/fr/plugin/form/widget/core/TemplateSource.java

@ -4,14 +4,18 @@ import com.fanruan.api.err.UtilEvalError;
import com.fanruan.api.cal.ParameterKit; import com.fanruan.api.cal.ParameterKit;
import com.fanruan.api.net.NetworkKit; import com.fanruan.api.net.NetworkKit;
import com.fanruan.api.util.RenderKit; import com.fanruan.api.util.RenderKit;
import com.fr.general.FArray; import com.fr.stable.ArrayProvider;
import com.fr.json.JSONArray; import com.fr.json.JSONArray;
import com.fanruan.api.err.JSONException; import com.fanruan.api.err.JSONException;
import com.fr.json.JSONObject; import com.fr.json.JSONObject;
import com.fr.plugin.form.widget.URLUtils; import com.fr.plugin.form.widget.URLUtils;
import com.fr.script.Calculator; import com.fr.script.Calculator;
import com.fr.stable.*; import com.fr.stable.FormulaProvider;
import com.fr.stable.js.WidgetName; import com.fanruan.api.util.CodeKit;
import com.fr.stable.ParameterProvider;
import com.fanruan.api.macro.ProductConstants;
import com.fanruan.api.util.StringKit;
import com.fanruan.api.report.form.WidgetName;
import com.fr.stable.script.CalculatorProvider; import com.fr.stable.script.CalculatorProvider;
import com.fr.stable.xml.XMLPrintWriter; import com.fr.stable.xml.XMLPrintWriter;
import com.fr.stable.xml.XMLableReader; import com.fr.stable.xml.XMLableReader;
@ -62,15 +66,15 @@ public class TemplateSource extends RHIframeSource {
if (realPath.contains(".cpt")) { if (realPath.contains(".cpt")) {
if (isNewerThan9()) { if (isNewerThan9()) {
return NetworkKit.createServletURL(req) + "/view/report?viewlet=" + CodeUtils.encodeURIComponent(realPath) + createQueryString(extraPairs); return NetworkKit.createServletURL(req) + "/view/report?viewlet=" + CodeKit.encodeURIComponent(realPath) + createQueryString(extraPairs);
} else { } else {
return NetworkKit.createServletURL(req) + "?reportlet=" + CodeUtils.encodeURIComponent(realPath) + createQueryString(extraPairs); return NetworkKit.createServletURL(req) + "?reportlet=" + CodeKit.encodeURIComponent(realPath) + createQueryString(extraPairs);
} }
} else if (realPath.contains(".frm")) { } else if (realPath.contains(".frm")) {
if (isNewerThan9()) { if (isNewerThan9()) {
return NetworkKit.createServletURL(req) + "/view/form?viewlet=" + CodeUtils.encodeURIComponent(realPath) + createQueryString(extraPairs); return NetworkKit.createServletURL(req) + "/view/form?viewlet=" + CodeKit.encodeURIComponent(realPath) + createQueryString(extraPairs);
} }
return NetworkKit.createServletURL(req) + "?formlet=" + CodeUtils.encodeURIComponent(realPath) + createQueryString(extraPairs); return NetworkKit.createServletURL(req) + "?formlet=" + CodeKit.encodeURIComponent(realPath) + createQueryString(extraPairs);
} }
} catch (Exception e) { } catch (Exception e) {
return null; return null;
@ -89,15 +93,15 @@ public class TemplateSource extends RHIframeSource {
sb.append("&"); sb.append("&");
String key = pair.getName(); String key = pair.getName();
if (key == null) { if (key == null) {
key = StringUtils.EMPTY; key = StringKit.EMPTY;
} }
sb.append(CodeUtils.encodeURIComponent(key)); sb.append(CodeKit.encodeURIComponent(key));
sb.append("="); sb.append("=");
String value = pair.getValue(); String value = pair.getValue();
if (value == null) { if (value == null) {
value = StringUtils.EMPTY; value = StringKit.EMPTY;
} }
sb.append(CodeUtils.encodeURIComponent(value)); sb.append(CodeKit.encodeURIComponent(value));
} }
return sb.toString(); return sb.toString();
} }
@ -131,7 +135,7 @@ public class TemplateSource extends RHIframeSource {
} }
if (obj instanceof String) { if (obj instanceof String) {
jo.put(parameter.getName(), obj); jo.put(parameter.getName(), obj);
} else if (obj instanceof FArray) { } else if (obj instanceof ArrayProvider) {
jo.put(key, obj); jo.put(key, obj);
} else if (obj instanceof WidgetName) { } else if (obj instanceof WidgetName) {
jo.put("widgetName", ((WidgetName) obj).getName()); jo.put("widgetName", ((WidgetName) obj).getName());

24
src/main/java/com/fr/plugin/form/widget/core/URLSource.java

@ -1,8 +1,8 @@
package com.fr.plugin.form.widget.core; package com.fr.plugin.form.widget.core;
import com.fr.base.Formula; import com.fanruan.api.Formula.BaseFormula;
import com.fr.base.Parameter; import com.fr.stable.ParameterProvider;
import com.fr.base.ParameterHelper; import com.fanruan.api.cal.ParameterKit;
import com.fanruan.api.util.RenderKit; import com.fanruan.api.util.RenderKit;
import com.fr.general.FArray; import com.fr.general.FArray;
import com.fanruan.api.log.LogKit; import com.fanruan.api.log.LogKit;
@ -11,10 +11,9 @@ 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.fanruan.api.util.CodeKit; import com.fanruan.api.util.CodeKit;
import com.fr.stable.ParameterProvider;
import com.fanruan.api.cal.FormulaKit; import com.fanruan.api.cal.FormulaKit;
import com.fanruan.api.err.UtilEvalError; import com.fanruan.api.err.UtilEvalError;
import com.fr.stable.js.WidgetName; import com.fanruan.api.report.form.WidgetName;
import com.fr.stable.script.CalculatorProvider; import com.fr.stable.script.CalculatorProvider;
import com.fr.stable.xml.XMLPrintWriter; import com.fr.stable.xml.XMLPrintWriter;
import com.fr.stable.xml.XMLableReader; import com.fr.stable.xml.XMLableReader;
@ -52,7 +51,12 @@ public class URLSource extends RHIframeSource {
String result = null; String result = null;
if (FormulaKit.checkFormulaContent(url)) { if (FormulaKit.checkFormulaContent(url)) {
try { try {
result = GeneralKit.objectToString(calculator.evalValue(new Formula(url))); result = GeneralKit.objectToString(calculator.evalValue(new BaseFormula(url) {
@Override
public String getXmlTag() {
return null;
}
}));
} catch (Exception u) { } catch (Exception u) {
LogKit.error(u.getMessage(), u); LogKit.error(u.getMessage(), u);
} }
@ -72,9 +76,9 @@ public class URLSource extends RHIframeSource {
@Override @Override
public String[] dependence(CalculatorProvider ca) { public String[] dependence(CalculatorProvider ca) {
Parameter[] parameters = ParameterHelper.analyze4Parameters(url, false); ParameterProvider[] parameters = ParameterKit.analyze4Parameters(url, false);
List<String> collections = new ArrayList<String>(); List<String> collections = new ArrayList<String>();
for (Parameter parameter : parameters) { for (ParameterProvider parameter : parameters) {
collections.addAll(Arrays.asList(parameter.dependence(ca))); collections.addAll(Arrays.asList(parameter.dependence(ca)));
} }
return collections.toArray(new String[collections.size()]); return collections.toArray(new String[collections.size()]);
@ -84,9 +88,9 @@ public class URLSource extends RHIframeSource {
public void mixCalculatedParameters(Calculator c, JSONArray ja, ParameterProvider[] parameters) throws JSONException, UtilEvalError { public void mixCalculatedParameters(Calculator c, JSONArray ja, ParameterProvider[] parameters) throws JSONException, UtilEvalError {
for (int i = 0; i < (parameters == null ? 0 : parameters.length); i++) { for (int i = 0; i < (parameters == null ? 0 : parameters.length); i++) {
Object obj = parameters[i].getValue(); Object obj = parameters[i].getValue();
if (obj instanceof Formula) { if (obj instanceof BaseFormula) {
try { try {
String content = ((Formula) obj).getContent(); String content = ((BaseFormula) obj).getContent();
obj = c.evalValue(content); obj = c.evalValue(content);
} catch (Exception e) { } catch (Exception e) {
} }

38
src/main/java/com/fr/plugin/form/widget/monitor/RHFunctionProcessor.java

@ -1,20 +1,20 @@
package com.fr.plugin.form.widget.monitor; package com.fr.plugin.form.widget.monitor;
//
import com.fr.stable.fun.impl.AbstractFunctionProcessor; //import com.fr.stable.fun.impl.AbstractFunctionProcessor;
//
/** ///**
* Created by richie on 15/12/3. // * Created by richie on 15/12/3.
*/ // */
public class RHFunctionProcessor extends AbstractFunctionProcessor { //public class RHFunctionProcessor extends AbstractFunctionProcessor {
//
private static RHFunctionProcessor instance = new RHFunctionProcessor(); // private static RHFunctionProcessor instance = new RHFunctionProcessor();
//
public static RHFunctionProcessor getInstance() { // public static RHFunctionProcessor getInstance() {
return instance; // return instance;
} // }
//
@Override // @Override
public String getLocaleKey() { // public String getLocaleKey() {
return "Plugin-RH_Iframe_Name"; // return "Plugin-RH_Iframe_Name";
} // }
} //}

9
src/main/java/com/fr/plugin/form/widget/ui/XRHIframe.java

@ -2,9 +2,9 @@ package com.fr.plugin.form.widget.ui;
import com.fr.design.designer.creator.CRPropertyDescriptor; import com.fr.design.designer.creator.CRPropertyDescriptor;
import com.fr.design.designer.creator.XWidgetCreator; import com.fr.design.designer.creator.XWidgetCreator;
import com.fr.design.form.util.XCreatorConstants; import com.fanruan.api.macro.XCreatorConstants;
import com.fanruan.api.design.ui.component.UITextField; import com.fanruan.api.design.ui.component.UITextField;
import com.fr.design.layout.FRGUIPaneFactory; import com.fanruan.api.design.ui.layout.FRGUIPaneFactoryKit;
import com.fanruan.api.design.DesignKit; import com.fanruan.api.design.DesignKit;
import com.fr.plugin.form.widget.core.RHIframe; import com.fr.plugin.form.widget.core.RHIframe;
import com.fr.plugin.form.widget.core.RHIframeAttr; import com.fr.plugin.form.widget.core.RHIframeAttr;
@ -47,10 +47,10 @@ public class XRHIframe extends XWidgetCreator {
@Override @Override
protected JComponent initEditor() { protected JComponent initEditor() {
if (editor == null) { if (editor == null) {
editor = FRGUIPaneFactory.createBorderLayout_S_Pane(); editor = FRGUIPaneFactoryKit.createBorderLayout_S_Pane();
address = new UITextField(showDescriptionText()); address = new UITextField(showDescriptionText());
editor.add(address, BorderLayout.NORTH); editor.add(address, BorderLayout.NORTH);
JPanel contentPane = FRGUIPaneFactory.createNormalFlowInnerContainer_S_Pane(); JPanel contentPane = FRGUIPaneFactoryKit.createNormalFlowInnerContainer_S_Pane();
contentPane.setBackground(Color.white); contentPane.setBackground(Color.white);
editor.add(contentPane, BorderLayout.CENTER); editor.add(contentPane, BorderLayout.CENTER);
} }
@ -82,6 +82,7 @@ public class XRHIframe extends XWidgetCreator {
* *
* @return 是则返回true * @return 是则返回true
*/ */
@Override
public boolean canEnterIntoParaPane() { public boolean canEnterIntoParaPane() {
return false; return false;
} }

Loading…
Cancel
Save