From 62be575ec8fee1725a33f810a50961fc54ec830f Mon Sep 17 00:00:00 2001 From: roger Date: Wed, 24 Jan 2024 16:10:02 +0800 Subject: [PATCH] =?UTF-8?q?REPORT-113769=20=E7=A8=8B=E5=BA=8F=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E9=9B=86=E4=BB=A3=E7=A0=81=E9=97=AE=E9=A2=98:?= =?UTF-8?q?=E4=BF=AE=E6=94=B9WebService=E7=A8=8B=E5=BA=8F=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E9=9B=86=E5=B8=AE=E5=8A=A9=E6=96=87=E6=A1=A3=E4=B8=AD?= =?UTF-8?q?=E7=9A=84=E7=A4=BA=E4=BE=8B=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/fr/data/WebServiceTableData.java | 79 +++++++++++++------ 1 file changed, 57 insertions(+), 22 deletions(-) diff --git a/src/main/java/com/fr/data/WebServiceTableData.java b/src/main/java/com/fr/data/WebServiceTableData.java index b9f8e51..08152a5 100644 --- a/src/main/java/com/fr/data/WebServiceTableData.java +++ b/src/main/java/com/fr/data/WebServiceTableData.java @@ -1,36 +1,71 @@ package com.fr.data; -import javax.xml.namespace.QName; +import com.fr.general.data.TableDataException; +import com.fr.log.FineLoggerFactory; +import com.fr.stable.ParameterProvider; import org.apache.axis.client.Call; import org.apache.axis.client.Service; -import com.fr.data.AbstractTableData; -import com.fr.general.data.TableDataException; -public class WebServiceTableData extends AbstractTableData{ - private String[][] data; +import javax.xml.namespace.QName; +import java.util.ArrayList; +import java.util.List; - public WebServiceTableData() { - this.data = this.createData(); - } +public class WebServiceTableData extends SimpleTableData { - //获取列数 - public int getColumnCount() throws TableDataException { - return data[0].length; + /** + * 初始化列名数组 + * + * @return {col1,col2,col3...} + * @throws TableDataException + */ + @Override + public String[] initColumnNames() { + String[] columnNames = new String[10]; + for (int i = 0; i < 10; i++) { + columnNames[i] = "column#" + i; + } + return columnNames; } - //获取列的名称为数组中第一行的值 - public String getColumnName(int columnIndex) throws TableDataException { - return data[0][columnIndex]; - } + /** + * 加载数据 + * + * @return 行列数据 + */ + @Override + public List loadData() { + String tableName = ((ParameterProvider) (parameters.get().toArray())[0]).getValue().toString(); + FineLoggerFactory.getLogger().info("Query SQL of ParamTableDataDemo: \n" + tableName); - //获取行数为数据的长度-1 - public int getRowCount() throws TableDataException { - return data.length - 1; - } + // 保存得到的结果集 + ArrayList valueList = new ArrayList(); + + try { + // 调用 Web 服务获取数据 + String[][] data = createData(); + + // 如果数据为空,直接返回空列表 + if (data == null || data.length == 0) { + return valueList; + } - //获取值 - public Object getValueAt(int rowIndex, int columnIndex) { - return data[rowIndex + 1][columnIndex]; + // 获得总列数 + int colNum = data[0].length; + + // 用对象保存数据 + Object[] objArray = null; + for (int rowIndex = 1; rowIndex < data.length; rowIndex++) { + objArray = new Object[colNum]; + for (int i = 0; i < colNum; i++) { + objArray[i] = data[rowIndex][i]; + } + // 在valueList中加入这一行数据 + valueList.add(objArray); + } + } catch (Exception e) { + FineLoggerFactory.getLogger().error(e.getMessage(), e); + } + return valueList; } public String[][] createData() {