Browse Source

按要求修改完善

master
Palin 5 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.fanruan.api.err.JSONException;
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.script.Calculator;
import com.fanruan.api.util.ArrayKit;
import com.fanruan.api.report.analy.data.NodeVisitor;
import com.fr.stable.fun.FunctionProcessor;
import com.fr.stable.script.CalculatorProvider;
import com.fr.stable.web.Repository;
import com.fr.stable.xml.XMLPrintWriter;
@ -71,10 +68,10 @@ public class RHIframe extends FieldEditor implements Interactive {
attr.mixConfig(jo, c, repo.getHttpServletRequest());
jo.put("showOverFlowX", overflowX);
jo.put("showOverFlowY", overflowY);
FunctionProcessor processor = ExtraClassManager.getInstance().getFunctionProcessor();
if (processor != null){
processor.recordFunction(RHFunctionProcessor.getInstance());
}
// FunctionProcessor processor = ExtraClassManager.getInstance().getFunctionProcessor();
// if (processor != null){
// processor.recordFunction(RHFunctionProcessor.getInstance());
// }
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.NameSpace;
import com.fr.stable.web.SessionProvider;
import com.fr.stable.xml.StableXMLUtils;
import com.fr.stable.xml.XMLPrintWriter;
import com.fr.stable.xml.XMLReadable;
import com.fr.stable.xml.XMLable;
@ -103,7 +102,7 @@ public class RHIframeAttr implements XMLable, DependenceProvider {
@Override
public void readXML(XMLableReader reader) {
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) {
XmlKit.writeXMLable(writer, source, RHIframeSource.XML_TAG);
}
StableXMLUtils.writeParameters(writer, parameters);
XmlKit.writeParameters(writer, parameters);
}
@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.net.NetworkKit;
import com.fanruan.api.util.RenderKit;
import com.fr.general.FArray;
import com.fr.stable.ArrayProvider;
import com.fr.json.JSONArray;
import com.fanruan.api.err.JSONException;
import com.fr.json.JSONObject;
import com.fr.plugin.form.widget.URLUtils;
import com.fr.script.Calculator;
import com.fr.stable.*;
import com.fr.stable.js.WidgetName;
import com.fr.stable.FormulaProvider;
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.xml.XMLPrintWriter;
import com.fr.stable.xml.XMLableReader;
@ -62,15 +66,15 @@ public class TemplateSource extends RHIframeSource {
if (realPath.contains(".cpt")) {
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 {
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")) {
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) {
return null;
@ -89,15 +93,15 @@ public class TemplateSource extends RHIframeSource {
sb.append("&");
String key = pair.getName();
if (key == null) {
key = StringUtils.EMPTY;
key = StringKit.EMPTY;
}
sb.append(CodeUtils.encodeURIComponent(key));
sb.append(CodeKit.encodeURIComponent(key));
sb.append("=");
String value = pair.getValue();
if (value == null) {
value = StringUtils.EMPTY;
value = StringKit.EMPTY;
}
sb.append(CodeUtils.encodeURIComponent(value));
sb.append(CodeKit.encodeURIComponent(value));
}
return sb.toString();
}
@ -131,7 +135,7 @@ public class TemplateSource extends RHIframeSource {
}
if (obj instanceof String) {
jo.put(parameter.getName(), obj);
} else if (obj instanceof FArray) {
} else if (obj instanceof ArrayProvider) {
jo.put(key, obj);
} else if (obj instanceof WidgetName) {
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;
import com.fr.base.Formula;
import com.fr.base.Parameter;
import com.fr.base.ParameterHelper;
import com.fanruan.api.Formula.BaseFormula;
import com.fr.stable.ParameterProvider;
import com.fanruan.api.cal.ParameterKit;
import com.fanruan.api.util.RenderKit;
import com.fr.general.FArray;
import com.fanruan.api.log.LogKit;
@ -11,10 +11,9 @@ import com.fanruan.api.err.JSONException;
import com.fr.json.JSONObject;
import com.fr.script.Calculator;
import com.fanruan.api.util.CodeKit;
import com.fr.stable.ParameterProvider;
import com.fanruan.api.cal.FormulaKit;
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.xml.XMLPrintWriter;
import com.fr.stable.xml.XMLableReader;
@ -52,7 +51,12 @@ public class URLSource extends RHIframeSource {
String result = null;
if (FormulaKit.checkFormulaContent(url)) {
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) {
LogKit.error(u.getMessage(), u);
}
@ -72,9 +76,9 @@ public class URLSource extends RHIframeSource {
@Override
public String[] dependence(CalculatorProvider ca) {
Parameter[] parameters = ParameterHelper.analyze4Parameters(url, false);
ParameterProvider[] parameters = ParameterKit.analyze4Parameters(url, false);
List<String> collections = new ArrayList<String>();
for (Parameter parameter : parameters) {
for (ParameterProvider parameter : parameters) {
collections.addAll(Arrays.asList(parameter.dependence(ca)));
}
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 {
for (int i = 0; i < (parameters == null ? 0 : parameters.length); i++) {
Object obj = parameters[i].getValue();
if (obj instanceof Formula) {
if (obj instanceof BaseFormula) {
try {
String content = ((Formula) obj).getContent();
String content = ((BaseFormula) obj).getContent();
obj = c.evalValue(content);
} 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;
import com.fr.stable.fun.impl.AbstractFunctionProcessor;
/**
* Created by richie on 15/12/3.
*/
public class RHFunctionProcessor extends AbstractFunctionProcessor {
private static RHFunctionProcessor instance = new RHFunctionProcessor();
public static RHFunctionProcessor getInstance() {
return instance;
}
@Override
public String getLocaleKey() {
return "Plugin-RH_Iframe_Name";
}
}
//
//import com.fr.stable.fun.impl.AbstractFunctionProcessor;
//
///**
// * Created by richie on 15/12/3.
// */
//public class RHFunctionProcessor extends AbstractFunctionProcessor {
//
// private static RHFunctionProcessor instance = new RHFunctionProcessor();
//
// public static RHFunctionProcessor getInstance() {
// return instance;
// }
//
// @Override
// public String getLocaleKey() {
// 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.XWidgetCreator;
import com.fr.design.form.util.XCreatorConstants;
import com.fanruan.api.macro.XCreatorConstants;
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.fr.plugin.form.widget.core.RHIframe;
import com.fr.plugin.form.widget.core.RHIframeAttr;
@ -47,10 +47,10 @@ public class XRHIframe extends XWidgetCreator {
@Override
protected JComponent initEditor() {
if (editor == null) {
editor = FRGUIPaneFactory.createBorderLayout_S_Pane();
editor = FRGUIPaneFactoryKit.createBorderLayout_S_Pane();
address = new UITextField(showDescriptionText());
editor.add(address, BorderLayout.NORTH);
JPanel contentPane = FRGUIPaneFactory.createNormalFlowInnerContainer_S_Pane();
JPanel contentPane = FRGUIPaneFactoryKit.createNormalFlowInnerContainer_S_Pane();
contentPane.setBackground(Color.white);
editor.add(contentPane, BorderLayout.CENTER);
}
@ -82,6 +82,7 @@ public class XRHIframe extends XWidgetCreator {
*
* @return 是则返回true
*/
@Override
public boolean canEnterIntoParaPane() {
return false;
}

Loading…
Cancel
Save