forked from p85126437/datagear
重构数据集转义模板内容相关逻辑
This commit is contained in:
parent
b85fd181a5
commit
ff4df5d51f
|
@ -18,7 +18,6 @@ import java.util.Map;
|
|||
import org.apache.commons.csv.CSVFormat;
|
||||
import org.apache.commons.csv.CSVParser;
|
||||
import org.apache.commons.csv.CSVRecord;
|
||||
import org.datagear.analysis.DataSet;
|
||||
import org.datagear.analysis.DataSetException;
|
||||
import org.datagear.analysis.DataSetProperty;
|
||||
import org.datagear.analysis.DataSetQuery;
|
||||
|
@ -377,10 +376,6 @@ public abstract class AbstractCsvDataSet extends AbstractResolvableDataSet imple
|
|||
|
||||
/**
|
||||
* 将指定CSV文本作为模板解析。
|
||||
* <p>
|
||||
* 注意:即使此数据集没有定义任何参数({@linkplain #hasParam()}为{@code false}),此方法也必须将{@code csv}作为模板解析,因为存在如下应用场景:
|
||||
* 用户不定义数据集参数,但却定义模板内容,之后用户自行在{@linkplain DataSet#getResult(DataSetQuery)}参数映射表中传递模板内容所须的参数值。
|
||||
* </p>
|
||||
*
|
||||
* @param csv
|
||||
* @param query
|
||||
|
@ -388,11 +383,6 @@ public abstract class AbstractCsvDataSet extends AbstractResolvableDataSet imple
|
|||
*/
|
||||
protected String resolveCsvAsTemplate(String csv, DataSetQuery query)
|
||||
{
|
||||
if (csv == null)
|
||||
return null;
|
||||
|
||||
Map<String, ?> values = query.getParamValues();
|
||||
|
||||
return CSV_TEMPLATE_RESOLVER.resolve(csv, values);
|
||||
return resolveTextAsTemplate(CSV_TEMPLATE_RESOLVER, csv, query);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -521,23 +521,39 @@ public abstract class AbstractDataSet extends AbstractIdentifiable implements Da
|
|||
}
|
||||
|
||||
/**
|
||||
* 将指定文本作为模板解析。
|
||||
* <p>
|
||||
* 注意:即使此数据集没有定义任何参数({@linkplain #hasParam()}为{@code false}),此方法也必须将{@code text}作为模板解析,因为存在如下应用场景:
|
||||
* 用户不定义数据集参数,但却定义模板内容,之后用户自行在{@linkplain DataSet#getResult(DataSetQuery)}参数映射表中传递模板内容所须的参数值。
|
||||
* </p>
|
||||
* 将指定文本作为通用模板解析(没有特定语境,比如:SQL、CSV、JSON)。
|
||||
*
|
||||
* @param text
|
||||
* @param query
|
||||
* @return
|
||||
*/
|
||||
protected String resolveTextAsTemplate(String text, DataSetQuery query)
|
||||
protected String resolveTextAsGeneralTemplate(String text, DataSetQuery query)
|
||||
{
|
||||
return resolveTextAsTemplate(GENERAL_TEMPLATE_RESOLVER, text, query);
|
||||
}
|
||||
|
||||
/**
|
||||
* 将指定文本作为模板解析。
|
||||
* <p>
|
||||
* 注意:即使此数据集没有定义任何参数({@linkplain #hasParam()}为{@code false}),此方法也必须将{@code text}作为模板解析,因为存在如下应用场景:
|
||||
* </p>
|
||||
* <ol>
|
||||
* <li>用户编写了无需参数的模板内容;</li>
|
||||
* <li>用户不定义数据集参数,但却定义模板内容,之后用户自行在{@linkplain DataSet#getResult(DataSetQuery)}参数映射表中传递模板内容所须的参数值;</li>
|
||||
* </ol>
|
||||
*
|
||||
* @param templateResolver
|
||||
* @param text
|
||||
* @param query
|
||||
* @return
|
||||
*/
|
||||
protected String resolveTextAsTemplate(TemplateResolver templateResolver, String text, DataSetQuery query)
|
||||
{
|
||||
if (text == null)
|
||||
return null;
|
||||
|
||||
|
||||
Map<String, ?> values = query.getParamValues();
|
||||
|
||||
return GENERAL_TEMPLATE_RESOLVER.resolve(text, values);
|
||||
|
||||
return templateResolver.resolve(text, new TemplateContext(values));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,7 +14,6 @@ import java.util.Collections;
|
|||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.datagear.analysis.DataSet;
|
||||
import org.datagear.analysis.DataSetException;
|
||||
import org.datagear.analysis.DataSetProperty;
|
||||
import org.datagear.analysis.DataSetQuery;
|
||||
|
@ -374,10 +373,6 @@ public abstract class AbstractJsonDataSet extends AbstractResolvableDataSet impl
|
|||
|
||||
/**
|
||||
* 将指定JSON文本作为模板解析。
|
||||
* <p>
|
||||
* 注意:即使此数据集没有定义任何参数({@linkplain #hasParam()}为{@code false}),此方法也必须将{@code json}作为模板解析,因为存在如下应用场景:
|
||||
* 用户不定义数据集参数,但却定义模板内容,之后用户自行在{@linkplain DataSet#getResult(DataSetQuery)}参数映射表中传递模板内容所须的参数值。
|
||||
* </p>
|
||||
*
|
||||
* @param json
|
||||
* @param query
|
||||
|
@ -385,11 +380,6 @@ public abstract class AbstractJsonDataSet extends AbstractResolvableDataSet impl
|
|||
*/
|
||||
protected String resolveJsonAsTemplate(String json, DataSetQuery query)
|
||||
{
|
||||
if (json == null)
|
||||
return null;
|
||||
|
||||
Map<String, ?> values = query.getParamValues();
|
||||
|
||||
return JSON_TEMPLATE_RESOLVER.resolve(json, values);
|
||||
return resolveTextAsTemplate(JSON_TEMPLATE_RESOLVER, json, query);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -33,7 +33,6 @@ import org.apache.hc.core5.http.NameValuePair;
|
|||
import org.apache.hc.core5.http.io.HttpClientResponseHandler;
|
||||
import org.apache.hc.core5.http.io.entity.StringEntity;
|
||||
import org.apache.hc.core5.http.message.BasicNameValuePair;
|
||||
import org.datagear.analysis.DataSet;
|
||||
import org.datagear.analysis.DataSetException;
|
||||
import org.datagear.analysis.DataSetProperty;
|
||||
import org.datagear.analysis.DataSetQuery;
|
||||
|
@ -408,7 +407,7 @@ public class HttpDataSet extends AbstractResolvableDataSet
|
|||
|
||||
protected String resolveTemplateUri(DataSetQuery query) throws Throwable
|
||||
{
|
||||
return resolveTextAsTemplate(this.uri, query);
|
||||
return resolveTextAsGeneralTemplate(this.uri, query);
|
||||
}
|
||||
|
||||
protected String resolveTemplateHeaderContent(DataSetQuery query) throws Throwable
|
||||
|
@ -423,10 +422,6 @@ public class HttpDataSet extends AbstractResolvableDataSet
|
|||
|
||||
/**
|
||||
* 将指定JSON文本作为模板解析。
|
||||
* <p>
|
||||
* 注意:即使此数据集没有定义任何参数({@linkplain #hasParam()}为{@code false}),此方法也必须将{@code json}作为模板解析,因为存在如下应用场景:
|
||||
* 用户不定义数据集参数,但却定义模板内容,之后用户自行在{@linkplain DataSet#getResult(DataSetQuery)}参数映射表中传递模板内容所须的参数值。
|
||||
* </p>
|
||||
*
|
||||
* @param json
|
||||
* @param query
|
||||
|
@ -434,12 +429,7 @@ public class HttpDataSet extends AbstractResolvableDataSet
|
|||
*/
|
||||
protected String resolveJsonAsTemplate(String json, DataSetQuery query)
|
||||
{
|
||||
if (json == null)
|
||||
return null;
|
||||
|
||||
Map<String, ?> values = query.getParamValues();
|
||||
|
||||
return AbstractJsonDataSet.JSON_TEMPLATE_RESOLVER.resolve(json, values);
|
||||
return resolveTextAsTemplate(AbstractJsonDataSet.JSON_TEMPLATE_RESOLVER, json, query);
|
||||
}
|
||||
|
||||
protected ClassicHttpRequest createHttpRequest(String uri) throws Throwable
|
||||
|
|
|
@ -415,10 +415,6 @@ public class SqlDataSet extends AbstractResolvableDataSet implements ResolvableD
|
|||
|
||||
/**
|
||||
* 将指定SQL文本作为模板解析。
|
||||
* <p>
|
||||
* 注意:即使此数据集没有定义任何参数({@linkplain #hasParam()}为{@code false}),此方法也必须将{@code sql}作为模板解析,因为存在如下应用场景:
|
||||
* 用户不定义数据集参数,但却定义模板内容,之后用户自行在{@linkplain DataSet#getResult(DataSetQuery)}参数映射表中传递模板内容所须的参数值。
|
||||
* </p>
|
||||
*
|
||||
* @param sql
|
||||
* @param query
|
||||
|
@ -426,11 +422,6 @@ public class SqlDataSet extends AbstractResolvableDataSet implements ResolvableD
|
|||
*/
|
||||
protected String resolveSqlAsTemplate(String sql, DataSetQuery query)
|
||||
{
|
||||
if (sql == null)
|
||||
return null;
|
||||
|
||||
Map<String, ?> values = query.getParamValues();
|
||||
|
||||
return SQL_TEMPLATE_RESOLVER.resolve(sql, values);
|
||||
return resolveTextAsTemplate(SQL_TEMPLATE_RESOLVER, sql, query);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -218,7 +218,7 @@ public class CsvFileDataSetEntity extends AbstractCsvFileDataSet implements Dire
|
|||
@Override
|
||||
public String resolveFileNameAsFmkTemplate(String fileName, DataSetQuery query)
|
||||
{
|
||||
return resolveTextAsTemplate(fileName, query);
|
||||
return resolveTextAsGeneralTemplate(fileName, query);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -217,7 +217,7 @@ public class ExcelDataSetEntity extends AbstractExcelDataSet implements Director
|
|||
@Override
|
||||
public String resolveFileNameAsFmkTemplate(String fileName, DataSetQuery query)
|
||||
{
|
||||
return resolveTextAsTemplate(fileName, query);
|
||||
return resolveTextAsGeneralTemplate(fileName, query);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -219,7 +219,7 @@ public class JsonFileDataSetEntity extends AbstractJsonFileDataSet implements Di
|
|||
@Override
|
||||
public String resolveFileNameAsFmkTemplate(String fileName, DataSetQuery query)
|
||||
{
|
||||
return resolveTextAsTemplate(fileName, query);
|
||||
return resolveTextAsGeneralTemplate(fileName, query);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
Loading…
Reference in New Issue