From ea10edf781249f3161a161483f2acac1d5b551e1 Mon Sep 17 00:00:00 2001 From: richie Date: Mon, 26 Nov 2018 17:43:24 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=95=E5=85=83=E6=A0=BC=E5=85=AC=E5=BC=8F?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugin.xml | 2 +- .../oss/script/OssDownloadHyperlink.java | 21 ++++++++++++++----- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/plugin.xml b/plugin.xml index 9f1760a..a47a5d3 100644 --- a/plugin.xml +++ b/plugin.xml @@ -2,7 +2,7 @@ com.fr.plugin.file.submit.oss yes - 2.3 + 2.4 10.0 2018-11-02 author diff --git a/src/main/java/com/fr/plugin/file/submit/oss/script/OssDownloadHyperlink.java b/src/main/java/com/fr/plugin/file/submit/oss/script/OssDownloadHyperlink.java index 0651ee3..3712c78 100644 --- a/src/main/java/com/fr/plugin/file/submit/oss/script/OssDownloadHyperlink.java +++ b/src/main/java/com/fr/plugin/file/submit/oss/script/OssDownloadHyperlink.java @@ -3,6 +3,7 @@ package com.fr.plugin.file.submit.oss.script; import com.fr.base.BaseFormula; import com.fr.base.Parameter; import com.fr.base.ParameterMapNameSpace; +import com.fr.base.ResultFormula; import com.fr.general.GeneralUtils; import com.fr.general.xml.GeneralXMLTools; import com.fr.js.Hyperlink; @@ -25,6 +26,11 @@ import com.fr.stable.xml.XMLPrintWriter; import com.fr.stable.xml.XMLableReader; import com.fr.web.session.SessionIDInfo; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; + public class OssDownloadHyperlink extends Hyperlink { private String bucket; @@ -65,12 +71,14 @@ public class OssDownloadHyperlink extends Hyperlink { if (ArrayUtils.isEmpty(providers)) { providers = ArrayUtils.add(providers, new Parameter(parameterName, variableValue.getValue())); } else { + Map map = new HashMap(); for (ParameterProvider provider : providers) { - if (AssistUtils.equals(provider.getValue(), parameterName)) { - provider.setValue(variableValue.getValue()); - } else { - providers = ArrayUtils.add(providers, new Parameter(parameterName, variableValue.getValue())); - } + map.put(provider.getName(), provider); + } + if (map.containsKey(parameterName)) { + map.get(parameterName).setValue(variableValue.getValue()); + } else { + providers = ArrayUtils.add(providers, new Parameter(parameterName, variableValue.getValue())); } } setParameters(providers); @@ -102,6 +110,9 @@ public class OssDownloadHyperlink extends Hyperlink { Object value = provider.getValue(); if (value instanceof BaseFormula) { result = ((BaseFormula) value).getResult(); + if (result instanceof ResultFormula) { + result = ((ResultFormula)result).getResult(); + } break; } else { result = value;