diff --git a/designer-base/src/main/java/com/fr/design/formula/VariableResolverAdapter.java b/designer-base/src/main/java/com/fr/design/formula/VariableResolverAdapter.java index e5d1545b7..e03fa0e18 100644 --- a/designer-base/src/main/java/com/fr/design/formula/VariableResolverAdapter.java +++ b/designer-base/src/main/java/com/fr/design/formula/VariableResolverAdapter.java @@ -3,10 +3,10 @@ package com.fr.design.formula; import com.fr.base.Parameter; import com.fr.base.ParameterConfig; import com.fr.design.DesignModelAdapter; +import com.fr.general.web.ParameterConstants; import com.fr.plugin.ExtraClassManager; import com.fr.script.ScriptConstants; import com.fr.stable.ArrayUtils; -import com.fr.stable.Constants; import com.fr.stable.fun.BuiltInParametersProvider; import com.fr.stable.script.CalculatorProvider; @@ -15,91 +15,93 @@ import java.util.List; import java.util.Set; public abstract class VariableResolverAdapter implements VariableResolver { - private static final int TABLE_DATA_PARA = 0; - private static final int REPORT_DATA_PARA = 1; + private static final int TABLE_DATA_PARA = 0; + private static final int REPORT_DATA_PARA = 1; /** * 获取模板内置的一些参数 * * @return 内置参数 */ - public String[] resolveCurReportVariables() { - String [] variables = new String[] { ScriptConstants.SUMMARY_TAG + "page_number", - ScriptConstants.SUMMARY_TAG + "totalPage_number", - // 下面是权限相关的参数 - ScriptConstants.DETAIL_TAG + Constants.P.PRIVILEGE_USERNAME, ScriptConstants.DETAIL_TAG + Constants.P.PRIVILEGE_AUTHORITY, - ScriptConstants.DETAIL_TAG + Constants.P.PRIVILEGE_DEPARTMETN_AND_POST, - // 空值参数 - "NULL", "NOFILTER", - // request变量 - CalculatorProvider.REPORT_NAME, CalculatorProvider.FORMLET_NAME, CalculatorProvider.SERVLET_URL, CalculatorProvider.SERVER_SCHEMA, CalculatorProvider.SERVER_NAME, - CalculatorProvider.SERVER_PORT, CalculatorProvider.SERVER_URL, CalculatorProvider.CONTEXT_PATH, CalculatorProvider.SESSION_ID - }; - Set set = ExtraClassManager.getInstance().getArray(BuiltInParametersProvider.XML_TAG); - for (BuiltInParametersProvider provider : set) { - return (String[]) ArrayUtils.addAll(variables, new String []{ - ScriptConstants.DETAIL_TAG + provider.getParametersName() - }); - } - return variables; - } - - private Parameter[] getCurrentModeParameters(int type) { - Parameter[] parameters = null; - if(DesignModelAdapter.getCurrentModelAdapter() == null) { - parameters = new Parameter[0]; - } else { - if(type == TABLE_DATA_PARA) { - parameters = DesignModelAdapter.getCurrentModelAdapter().getTableDataParameters(); - } else if(type == REPORT_DATA_PARA){ - parameters = DesignModelAdapter.getCurrentModelAdapter().getReportParameters(); - } - } - return parameters; - } + public String[] resolveCurReportVariables() { + String[] variables = new String[]{ + ScriptConstants.SUMMARY_TAG + "page_number", + ScriptConstants.SUMMARY_TAG + "totalPage_number", + // 下面是权限相关的参数 + ScriptConstants.DETAIL_TAG + ParameterConstants.FINE_USERNAME, + ScriptConstants.DETAIL_TAG + ParameterConstants.FINE_ROLE, + ScriptConstants.DETAIL_TAG + ParameterConstants.FINE_POSITION, + // 空值参数 + "NULL", "NOFILTER", + // request变量 + CalculatorProvider.REPORT_NAME, CalculatorProvider.FORMLET_NAME, CalculatorProvider.SERVLET_URL, CalculatorProvider.SERVER_SCHEMA, CalculatorProvider.SERVER_NAME, + CalculatorProvider.SERVER_PORT, CalculatorProvider.SERVER_URL, CalculatorProvider.CONTEXT_PATH, CalculatorProvider.SESSION_ID + }; + Set set = ExtraClassManager.getInstance().getArray(BuiltInParametersProvider.XML_TAG); + for (BuiltInParametersProvider provider : set) { + return (String[]) ArrayUtils.addAll(variables, new String[]{ + ScriptConstants.DETAIL_TAG + provider.getParametersName() + }); + } + return variables; + } + + private Parameter[] getCurrentModeParameters(int type) { + Parameter[] parameters = null; + if (DesignModelAdapter.getCurrentModelAdapter() == null) { + parameters = new Parameter[0]; + } else { + if (type == TABLE_DATA_PARA) { + parameters = DesignModelAdapter.getCurrentModelAdapter().getTableDataParameters(); + } else if (type == REPORT_DATA_PARA) { + parameters = DesignModelAdapter.getCurrentModelAdapter().getReportParameters(); + } + } + return parameters; + } /** * 获取数据集参数 * * @return 所有参数 */ - public String[] resolveTableDataParameterVariables() { - Parameter[] parameters = getCurrentModeParameters(TABLE_DATA_PARA); - String[] parameterNames = new String[parameters.length]; - for (int i = 0; i < parameters.length; i++) { - parameterNames[i] = ScriptConstants.DETAIL_TAG + parameters[i].getName(); - } - return parameterNames; - } + public String[] resolveTableDataParameterVariables() { + Parameter[] parameters = getCurrentModeParameters(TABLE_DATA_PARA); + String[] parameterNames = new String[parameters.length]; + for (int i = 0; i < parameters.length; i++) { + parameterNames[i] = ScriptConstants.DETAIL_TAG + parameters[i].getName(); + } + return parameterNames; + } /** * 获取模板参数 * * @return 所有参数 */ - public String[] resolveReportParameterVariables() { - Parameter[] parameters = getCurrentModeParameters(REPORT_DATA_PARA); - String[] parameterNames = new String[parameters.length]; - for (int i = 0; i < parameters.length; i++) { - parameterNames[i] = ScriptConstants.DETAIL_TAG + parameters[i].getName(); - } - return parameterNames; - } + public String[] resolveReportParameterVariables() { + Parameter[] parameters = getCurrentModeParameters(REPORT_DATA_PARA); + String[] parameterNames = new String[parameters.length]; + for (int i = 0; i < parameters.length; i++) { + parameterNames[i] = ScriptConstants.DETAIL_TAG + parameters[i].getName(); + } + return parameterNames; + } - /** - * 获取全局参数 + /** + * 获取全局参数 * * @return 所有参数 - */ - public String[] resolveGlobalParameterVariables() { - // 加上全局的参数 - Parameter[] globalParameters = ParameterConfig.getInstance().getGlobalParameters(); + */ + public String[] resolveGlobalParameterVariables() { + // 加上全局的参数 + Parameter[] globalParameters = ParameterConfig.getInstance().getGlobalParameters(); - List variablesList = new ArrayList(); - for (int i = 0; i < (globalParameters == null ? 0 : globalParameters.length); i++) { - variablesList.add(ScriptConstants.DETAIL_TAG + (globalParameters[i]).getName()); - } + List variablesList = new ArrayList(); + for (int i = 0; i < (globalParameters == null ? 0 : globalParameters.length); i++) { + variablesList.add(ScriptConstants.DETAIL_TAG + (globalParameters[i]).getName()); + } - return variablesList.toArray(new String[variablesList.size()]); - } + return variablesList.toArray(new String[variablesList.size()]); + } } \ No newline at end of file