@Override
    public JSONArray execute(String xmlFilePath, String... inputValueList) throws Exception {

        JSONObject xmlVarParam = new JSONObject();
        JSONObject databaseParam = new JSONObject();
        JSONArray returnValueArray = new JSONArray();

        Document xmlDocument = null;
        XmlController controller = new XmlController();

        try {
            xmlDocument = controller.initXml(xmlFilePath);
        } catch (FileNotFoundException ex) {
            throw new FileNotFoundException("指定的XML文件（" + xmlFilePath + "）不存在。\r\n" + ex.getMessage());
        } catch (JDOMException ex) {
            throw new JDOMException("指定的XML文件（" + xmlFilePath + "）不是标准的XML格式。\r\n" + ex.getMessage());
        } catch (IOException ex) {
            Logger.getLogger(XmlAnalyze.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
            LogHelp.getInstance().info("开始调用XML文件（" + xmlFilePath + "）。");
        }

        List<Element> inputPoolsElementList = xmlDocument.getRootElement().getChildren("InputPools");
        if (inputPoolsElementList.isEmpty()) {
            throw new NullParamException("找不到“InputPools”节点，请重新检查。输入的XML文件（" + xmlFilePath + "）。");
        } else if (inputPoolsElementList.size() > 1) {
            throw new NullParamException("“InputPools”节点在XML中只允许出现一次，请重新检查。输入的XML文件（" + xmlFilePath + "）。");
        }
        xmlVarParam = controller.inputPoolsExecute(xmlDocument, inputValueList);

        List<Element> databaseInfoElementList = xmlDocument.getRootElement().getChildren("DatabaseInfo");
        if (databaseInfoElementList.isEmpty()) {
            throw new NullParamException("找不到“DatabaseInfo”节点，请重新检查。输入的XML文件（" + xmlFilePath + "）。");
        } else if (databaseInfoElementList.size() > 1) {
            throw new NullParamException("“DatabaseInfo”节点在XML中只允许出现一次，请重新检查。输入的XML文件（" + xmlFilePath + "）。");
        }
        databaseParam = controller.databaseInfoExecute(xmlDocument);

        List<Element> tasksElementList = xmlDocument.getRootElement().getChildren("Tasks");
        if (tasksElementList.isEmpty()) {
            throw new NullParamException("找不到“Tasks”节点，请重新检查。输入的XML文件（" + xmlFilePath + "）。");
        } else if (tasksElementList.size() > 1) {
            throw new NullParamException("“Tasks”节点在XML中只允许出现一次，请重新检查。输入的XML文件（" + xmlFilePath + "）。");
        }
        returnValueArray = controller.tasksExecute(xmlDocument, xmlVarParam, databaseParam);

        return returnValueArray;
    }