From 30ddde5d808924698c50466e20489c877f4d505d Mon Sep 17 00:00:00 2001 From: xufeng <1277032935@qq.com> Date: Fri, 5 Apr 2024 22:48:30 +0800 Subject: [PATCH 1/9] =?UTF-8?q?1.=E4=BF=AE=E6=94=B9=E6=8F=92=E4=BB=B6?= =?UTF-8?q?=E5=8A=A0=E8=BD=BD=E6=B8=85=E7=A9=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle | 4 ++-- .../com/xwintop/xJavaFxTool/controller/IndexController.java | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/build.gradle b/build.gradle index 165e866d..4c2368e1 100644 --- a/build.gradle +++ b/build.gradle @@ -35,11 +35,11 @@ subprojects { repositories { maven { allowInsecureProtocol = true - url 'https://repo1.maven.org/maven2/' + url 'https://maven.aliyun.com/repository/public' } maven { allowInsecureProtocol = true - url 'https://maven.aliyun.com/repository/public' + url 'https://repo1.maven.org/maven2/' } maven { allowInsecureProtocol = true diff --git a/xJavaFxTool/src/main/java/com/xwintop/xJavaFxTool/controller/IndexController.java b/xJavaFxTool/src/main/java/com/xwintop/xJavaFxTool/controller/IndexController.java index b1214ce0..2fff8da1 100644 --- a/xJavaFxTool/src/main/java/com/xwintop/xJavaFxTool/controller/IndexController.java +++ b/xJavaFxTool/src/main/java/com/xwintop/xJavaFxTool/controller/IndexController.java @@ -105,8 +105,12 @@ public class IndexController extends IndexView { private void initService() { PluginManager pluginManager = PluginManager.getInstance(); + pluginManager.getDevPluginList().clear(); + pluginManager.getLocalDevPluginList().clear(); + pluginManager.getPluginList().clear(); pluginManager.loadDevPluginConfiguration(); pluginManager.loadLocalDevPluginConfiguration(); + pluginManager.loadLocalPlugins(); loadPlugins(); // 加载插件列表到界面上 AppEvents.addEventHandler(PluginEvent.PLUGIN_DOWNLOADED, pluginEvent -> loadPlugins()); } @@ -120,9 +124,7 @@ public class IndexController extends IndexView { this.categoryControllers.clear(); this.menuItemMap.clear(); this.moreToolsMenu.getItems().clear(); - PluginManager pluginManager = PluginManager.getInstance(); - pluginManager.loadLocalPlugins(); pluginManager.getEnabledPluginList().forEach(this::loadPlugin); pluginManager.getDevPluginList().forEach(this::loadPlugin); pluginManager.getLocalDevPluginList().forEach(this::loadPlugin); -- Gitee From a1ed274bc207cf6802b1e29f1becad455f438464 Mon Sep 17 00:00:00 2001 From: xufeng <1277032935@qq.com> Date: Tue, 18 Jun 2024 22:56:35 +0800 Subject: [PATCH 2/9] =?UTF-8?q?1.=E5=8D=87=E7=BA=A7=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E4=BE=9D=E8=B5=96=E5=8C=85=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle | 11 ++++++----- littleTools/x-CharacterConverter/build.gradle | 2 +- littleTools/x-EncryptAndDecrypt/build.gradle | 4 ++-- littleTools/x-IconTool/build.gradle | 2 +- xJavaFxTool/build.gradle | 4 ++-- xcore/build.gradle | 8 ++++---- 6 files changed, 16 insertions(+), 15 deletions(-) diff --git a/build.gradle b/build.gradle index 4c2368e1..b855a50d 100644 --- a/build.gradle +++ b/build.gradle @@ -21,6 +21,7 @@ plugins { subprojects { ext { springBootVersion = "2.7.18" + lombokVersion = "1.18.32" } description 'xJavaFxTool' apply plugin: 'java' @@ -52,10 +53,10 @@ subprojects { [compileJava, compileTestJava, javadoc]*.options*.encoding = "UTF-8" dependencies { testImplementation 'org.junit.jupiter:junit-jupiter:5.10.2' - compileOnly('org.projectlombok:lombok:1.18.30') - annotationProcessor 'org.projectlombok:lombok:1.18.30' - testCompileOnly 'org.projectlombok:lombok:1.18.30' - testAnnotationProcessor 'org.projectlombok:lombok:1.18.30' + compileOnly("org.projectlombok:lombok:$lombokVersion") + annotationProcessor "org.projectlombok:lombok:$lombokVersion" + testCompileOnly "org.projectlombok:lombok:$lombokVersion" + testAnnotationProcessor "org.projectlombok:lombok:$lombokVersion" // api 'org.openjfx:javafx-controls:21.0.2' // api 'org.openjfx:javafx-base:21.0.2' // api 'org.openjfx:javafx-graphics:21.0.2' @@ -65,7 +66,7 @@ subprojects { // api 'org.openjfx:javafx-web:21.0.2' } javafx { - version = "21.0.2" + version = "22.0.1" modules = ['javafx.controls', "javafx.graphics", 'javafx.fxml', 'javafx.media', 'javafx.swing', 'javafx.web'] // configuration = 'compileOnly' } diff --git a/littleTools/x-CharacterConverter/build.gradle b/littleTools/x-CharacterConverter/build.gradle index c8d8dcc1..f2d58f4b 100644 --- a/littleTools/x-CharacterConverter/build.gradle +++ b/littleTools/x-CharacterConverter/build.gradle @@ -2,7 +2,7 @@ dependencies { // implementation 'com.xwintop:xcore:0.0.6' api project(':xcore') implementation 'commons-betwixt:commons-betwixt:0.8' - implementation("commons-codec:commons-codec:1.16.0") + implementation("commons-codec:commons-codec:1.17.0") } group = 'com.xwintop' diff --git a/littleTools/x-EncryptAndDecrypt/build.gradle b/littleTools/x-EncryptAndDecrypt/build.gradle index 56209fc9..58e78adb 100644 --- a/littleTools/x-EncryptAndDecrypt/build.gradle +++ b/littleTools/x-EncryptAndDecrypt/build.gradle @@ -1,8 +1,8 @@ dependencies { // implementation 'com.xwintop:xcore:0.0.6' api project(':xcore') - implementation 'org.bouncycastle:bcprov-jdk15to18:1.68' - api 'commons-codec:commons-codec:1.16.0' + implementation 'org.bouncycastle:bcprov-jdk18on:1.78.1' + api 'commons-codec:commons-codec:1.17.0' } group = 'com.xwintop' diff --git a/littleTools/x-IconTool/build.gradle b/littleTools/x-IconTool/build.gradle index 48888127..e5868928 100644 --- a/littleTools/x-IconTool/build.gradle +++ b/littleTools/x-IconTool/build.gradle @@ -1,7 +1,7 @@ dependencies { // implementation 'com.xwintop:xcore:0.0.6' api project(':xcore') - implementation 'org.bouncycastle:bcprov-jdk15to18:1.68' + implementation 'org.bouncycastle:bcprov-jdk18on:1.78.1' api 'net.coobird:thumbnailator:0.4.20' implementation 'org.apache.commons:commons-imaging:1.0-alpha3' } diff --git a/xJavaFxTool/build.gradle b/xJavaFxTool/build.gradle index c9cd67bc..9198d523 100644 --- a/xJavaFxTool/build.gradle +++ b/xJavaFxTool/build.gradle @@ -8,7 +8,7 @@ buildscript { } dependencies { - classpath "one.jpro:jpro-gradle-plugin:2024.1.0" + classpath "one.jpro:jpro-gradle-plugin:2024.2.1" } } plugins { @@ -21,7 +21,7 @@ apply plugin: 'jpro-gradle-plugin' dependencies { api project(':xcore') - implementation "com.sandec.jpro:jpro-webapi:2024.1.0" + implementation "com.sandec.jpro:jpro-webapi:2024.2.1" api project(":littleTools:x-EncryptAndDecrypt") // api project(":littleTools:x-ZHConverter") // api project(":littleTools:x-ImageTool") diff --git a/xcore/build.gradle b/xcore/build.gradle index 85e35c18..ea9a0690 100644 --- a/xcore/build.gradle +++ b/xcore/build.gradle @@ -3,17 +3,17 @@ dependencies { api 'org.dom4j:dom4j:2.1.4' // api 'jaxen:jaxen:1.2.0' api 'org.quartz-scheduler:quartz:2.3.2' - api 'org.controlsfx:controlsfx:11.2.0' + api 'org.controlsfx:controlsfx:11.2.1' api 'org.rationalityfrontline.workaround:jfoenix:21.0.0' // api 'commons-codec:commons-codec:1.16.0' // api 'org.apache.commons:commons-configuration2:2.9.0' - api 'commons-io:commons-io:2.15.1' + api 'commons-io:commons-io:2.16.1' api 'org.apache.commons:commons-lang3:3.14.0' // api 'org.apache.commons:commons-text:1.11.0' // api 'commons-beanutils:commons-beanutils:1.9.4' // api 'org.apache.commons:commons-imaging:1.0-alpha3' - api 'cn.hutool:hutool-all:5.8.26' - api 'com.alibaba.fastjson2:fastjson2:2.0.47' + api 'cn.hutool:hutool-all:5.8.28' + api 'com.alibaba.fastjson2:fastjson2:2.0.51' } group = 'com.gitee.xwintop' -- Gitee From f4c21755be6f3c5bdeb5e9bc13d0abbf0773494d Mon Sep 17 00:00:00 2001 From: xufeng <1277032935@qq.com> Date: Sun, 23 Jun 2024 17:35:17 +0800 Subject: [PATCH 3/9] =?UTF-8?q?1.=E5=8D=87=E7=BA=A7=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E4=BE=9D=E8=B5=96=E5=8C=85=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle | 25 +++--- xJavaFxTool/build.gradle | 84 ++++++++++-------- .../controller/IndexController.java | 15 ++-- .../xJavaFxTool/services/IndexService.java | 29 +++--- .../src/main/resources/images/icon.icns | Bin 0 -> 54792 bytes .../src/main/resources/images/icon.png | Bin 0 -> 10231 bytes xcore/build.gradle | 2 +- 7 files changed, 78 insertions(+), 77 deletions(-) create mode 100644 xJavaFxTool/src/main/resources/images/icon.icns create mode 100644 xJavaFxTool/src/main/resources/images/icon.png diff --git a/build.gradle b/build.gradle index b855a50d..5705a780 100644 --- a/build.gradle +++ b/build.gradle @@ -12,7 +12,7 @@ //} plugins { - id "org.gradlex.extra-java-module-info" version "1.7" +// id "org.gradlex.extra-java-module-info" version "1.7" id "org.openjfx.javafxplugin" version "0.1.0" id 'idea' id 'application' @@ -22,6 +22,7 @@ subprojects { ext { springBootVersion = "2.7.18" lombokVersion = "1.18.32" + javafxVersion = "21.0.3" } description 'xJavaFxTool' apply plugin: 'java' @@ -57,20 +58,20 @@ subprojects { annotationProcessor "org.projectlombok:lombok:$lombokVersion" testCompileOnly "org.projectlombok:lombok:$lombokVersion" testAnnotationProcessor "org.projectlombok:lombok:$lombokVersion" -// api 'org.openjfx:javafx-controls:21.0.2' -// api 'org.openjfx:javafx-base:21.0.2' -// api 'org.openjfx:javafx-graphics:21.0.2' -// api 'org.openjfx:javafx-fxml:21.0.2' -// api 'org.openjfx:javafx-swing:21.0.2' -// api 'org.openjfx:javafx-media:21.0.2' -// api 'org.openjfx:javafx-web:21.0.2' +// api "org.openjfx:javafx-controls:$javafxVersion" +// api "org.openjfx:javafx-base:$javafxVersion" +// api "org.openjfx:javafx-graphics:$javafxVersion" +// api "org.openjfx:javafx-fxml:$javafxVersion" +// api "org.openjfx:javafx-swing:$javafxVersion" +// api "org.openjfx:javafx-media:$javafxVersion" +// api "org.openjfx:javafx-web:$javafxVersion" } javafx { - version = "22.0.1" + version = "21.0.3" modules = ['javafx.controls', "javafx.graphics", 'javafx.fxml', 'javafx.media', 'javafx.swing', 'javafx.web'] // configuration = 'compileOnly' } - java { - modularity.inferModulePath = true - } +// java { +// modularity.inferModulePath = true +// } } \ No newline at end of file diff --git a/xJavaFxTool/build.gradle b/xJavaFxTool/build.gradle index 9198d523..79207ee3 100644 --- a/xJavaFxTool/build.gradle +++ b/xJavaFxTool/build.gradle @@ -1,27 +1,27 @@ -buildscript { - repositories { - mavenCentral() - maven { - allowInsecureProtocol = true - url "https://sandec.jfrog.io/artifactory/repo" - } - } - - dependencies { - classpath "one.jpro:jpro-gradle-plugin:2024.2.1" - } -} +//buildscript { +// repositories { +// mavenCentral() +// maven { +// allowInsecureProtocol = true +// url "https://sandec.jfrog.io/artifactory/repo" +// } +// } +// +// dependencies { +// classpath "one.jpro:jpro-gradle-plugin:2024.2.1" +// } +//} plugins { // id "org.beryx.jlink" version "2.26.0" - id 'org.beryx.runtime' version '1.12.7' + id 'org.beryx.runtime' version '1.13.1' id "com.gluonhq.gluonfx-gradle-plugin" version "1.0.22" } -apply plugin: 'jpro-gradle-plugin' +//apply plugin: 'jpro-gradle-plugin' dependencies { api project(':xcore') - implementation "com.sandec.jpro:jpro-webapi:2024.2.1" +// implementation "com.sandec.jpro:jpro-webapi:2024.2.1" api project(":littleTools:x-EncryptAndDecrypt") // api project(":littleTools:x-ZHConverter") // api project(":littleTools:x-ImageTool") @@ -107,24 +107,24 @@ compileJava { application { applicationName = "xJavaFxTool" - mainModule.set("com.xwintop.xJavaFxTool") - mainClass.set("com.xwintop.xJavaFxTool.XJavaFxToolApplication") - applicationDefaultJvmArgs = [ - // ZGC - "-XX:+UseZGC", - // 当遇到空指针异常时显示更详细的信息 - "-XX:+ShowCodeDetailsInExceptionMessages", - "-Dsun.java2d.opengl=true", - // 不添加此参数,打包成exe后,https协议的网络图片资源无法加载 - "-Dhttps.protocols=TLSv1.1,TLSv1.2", - '--add-exports=javafx.controls/com.sun.javafx.scene.control=ALL-UNNAMED', - '--add-exports=javafx.controls/com.sun.javafx.scene.control.behavior=ALL-UNNAMED', - '--add-exports=javafx.graphics/com.sun.javafx.util=ALL-UNNAMED', - '--add-exports=javafx.graphics/com.sun.javafx.stage=ALL-UNNAMED', - '--add-exports=javafx.graphics/com.sun.javafx.scene=ALL-UNNAMED', - '--add-exports=javafx.base/com.sun.javafx.event=ALL-UNNAMED', - '--add-opens=java.base/java.lang.reflect=ALL-UNNAMED' - ] + mainClass = "com.xwintop.xJavaFxTool.XJavaFxToolMain" +// mainModule.set("com.xwintop.xJavaFxTool") +// applicationDefaultJvmArgs = [ +// // ZGC +// "-XX:+UseZGC", +// // 当遇到空指针异常时显示更详细的信息 +// "-XX:+ShowCodeDetailsInExceptionMessages", +// "-Dsun.java2d.opengl=true", +// // 不添加此参数,打包成exe后,https协议的网络图片资源无法加载 +// "-Dhttps.protocols=TLSv1.1,TLSv1.2", +// '--add-exports=javafx.controls/com.sun.javafx.scene.control=ALL-UNNAMED', +// '--add-exports=javafx.controls/com.sun.javafx.scene.control.behavior=ALL-UNNAMED', +// '--add-exports=javafx.graphics/com.sun.javafx.util=ALL-UNNAMED', +// '--add-exports=javafx.graphics/com.sun.javafx.stage=ALL-UNNAMED', +// '--add-exports=javafx.graphics/com.sun.javafx.scene=ALL-UNNAMED', +// '--add-exports=javafx.base/com.sun.javafx.event=ALL-UNNAMED', +// '--add-opens=java.base/java.lang.reflect=ALL-UNNAMED' +// ] } // 使用 https://badass-runtime-plugin.beryx.org/releases/latest/ @@ -151,8 +151,14 @@ runtime { noConsole = true } jpackage { - imageName = application.applicationName - imageOptions.addAll(['--icon', 'src/main/resources/images/icon.jpg']) + if (org.gradle.internal.os.OperatingSystem.current().isWindows()) { + imageOptions = ['--icon', 'src/main/resources/images/icon.ico'] + } else if (org.gradle.internal.os.OperatingSystem.current().isMacOsX()) { + imageOptions = ['--icon', 'src/main/resources/images/icon.icns'] + } else if (org.gradle.internal.os.OperatingSystem.current().isLinux()) { + imageOptions = ['--icon', 'src/main/resources/images/icon.png'] + } +// imageOptions.addAll(['--icon', 'src/main/resources/images/icon.png']) } } @@ -180,6 +186,6 @@ gluonfx { mainClassName = "com.xwintop.xJavaFxTool.XJavaFxToolMain" } -jpro { - port = 8080 -} \ No newline at end of file +//jpro { +// port = 8080 +//} \ No newline at end of file diff --git a/xJavaFxTool/src/main/java/com/xwintop/xJavaFxTool/controller/IndexController.java b/xJavaFxTool/src/main/java/com/xwintop/xJavaFxTool/controller/IndexController.java index 2fff8da1..822cee9e 100644 --- a/xJavaFxTool/src/main/java/com/xwintop/xJavaFxTool/controller/IndexController.java +++ b/xJavaFxTool/src/main/java/com/xwintop/xJavaFxTool/controller/IndexController.java @@ -1,7 +1,5 @@ package com.xwintop.xJavaFxTool.controller; -import com.jpro.webapi.HTMLView; -import com.jpro.webapi.WebAPI; import com.xwintop.xJavaFxTool.XJavaFxToolApplication; import com.xwintop.xJavaFxTool.controller.index.PluginManageController; import com.xwintop.xJavaFxTool.controller.plugin.PluginCategoryController; @@ -16,7 +14,6 @@ import com.xwintop.xJavaFxTool.services.index.SystemSettingService; import com.xwintop.xJavaFxTool.utils.Config; import com.xwintop.xJavaFxTool.view.IndexView; import com.xwintop.xcore.javafx.FxApp; -import com.xwintop.xcore.javafx.dialog.FxAlerts; import com.xwintop.xcore.javafx.dialog.FxDialog; import com.xwintop.xcore.util.ConfigureUtil; import com.xwintop.xcore.util.VersionChecker; @@ -86,15 +83,15 @@ public class IndexController extends IndexView { addNodepadAction(null); } this.indexService.addWebView(XJavaFxToolApplication.RESOURCE_BUNDLE.getString("feedback"), QQ_URL, null); - if (WebAPI.isBrowser()) { - String contentIframe2 = ""; - HTMLView browser = new HTMLView(contentIframe2); - pluginCategories.getChildren().add(browser); - } else { +// if (WebAPI.isBrowser()) { +// String contentIframe2 = ""; +// HTMLView browser = new HTMLView(contentIframe2); +// pluginCategories.getChildren().add(browser); +// } else { WebView browser = new WebView(); WebEngine webEngine = browser.getEngine(); webEngine.load(STATISTICS_URL); - } +// } this.tabPaneMain.getSelectionModel().select(0); } diff --git a/xJavaFxTool/src/main/java/com/xwintop/xJavaFxTool/services/IndexService.java b/xJavaFxTool/src/main/java/com/xwintop/xJavaFxTool/services/IndexService.java index a27db3dc..118b37b3 100644 --- a/xJavaFxTool/src/main/java/com/xwintop/xJavaFxTool/services/IndexService.java +++ b/xJavaFxTool/src/main/java/com/xwintop/xJavaFxTool/services/IndexService.java @@ -1,7 +1,5 @@ package com.xwintop.xJavaFxTool.services; -import com.jpro.webapi.HTMLView; -import com.jpro.webapi.WebAPI; import com.xwintop.xJavaFxTool.AppException; import com.xwintop.xJavaFxTool.XJavaFxToolApplication; import com.xwintop.xJavaFxTool.common.logback.ConsoleLogAppender; @@ -205,28 +203,27 @@ public class IndexService { String title = plugin.getTitle(); Parent browser = null; if (url.startsWith("http")) { - if (WebAPI.isBrowser()) { - String contentIframe2 = ""; - browser = new HTMLView(contentIframe2); - } else { +// if (WebAPI.isBrowser()) { +// String contentIframe2 = ""; +// browser = new HTMLView(contentIframe2); +// } else { browser = new WebView(); WebEngine webEngine = ((WebView)browser).getEngine(); webEngine.load(url); - } +// } } else { PluginContainer pluginContainer = new PluginContainer(plugin); - if (WebAPI.isBrowser()) { - try { - browser = new HTMLView(IOUtils.toString(pluginContainer.getResource(url).openStream(), "utf-8")); - } catch (IOException e) { - throw new RuntimeException(e); - } - } else { +// if (WebAPI.isBrowser()) { +// try { +// browser = new HTMLView(IOUtils.toString(pluginContainer.getResource(url).openStream(), "utf-8")); +// } catch (IOException e) { +// throw new RuntimeException(e); +// } +// } else { browser = new WebView(); WebEngine webEngine = ((WebView)browser).getEngine(); webEngine.load(pluginContainer.getResource(url).toExternalForm()); - } - +// } } if (singleWindowBoot) { diff --git a/xJavaFxTool/src/main/resources/images/icon.icns b/xJavaFxTool/src/main/resources/images/icon.icns new file mode 100644 index 0000000000000000000000000000000000000000..2339536d270d741c6646cb62c161fb0d1f568673 GIT binary patch literal 54792 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 literal 0 HcmV?d00001 diff --git a/xJavaFxTool/src/main/resources/images/icon.png b/xJavaFxTool/src/main/resources/images/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..1a58fdd65ac5ad8297daf332e16c20c1ed4ddde3 GIT binary patch literal 10231 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 Date: Sun, 23 Jun 2024 20:47:16 +0800 Subject: [PATCH 4/9] =?UTF-8?q?1.=E6=B7=BB=E5=8A=A0=E5=9B=BE=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- xJavaFxTool/src/main/resources/images/icon.ico | Bin 0 -> 67646 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 xJavaFxTool/src/main/resources/images/icon.ico diff --git a/xJavaFxTool/src/main/resources/images/icon.ico b/xJavaFxTool/src/main/resources/images/icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..ad6a1915422b38be8b4e685789e7e2e3ec93f698 GIT binary patch literal 67646 zcmeI54{TIf^~Z-lVM)Vpmk>h8h5#Xi5JJdW5fKp(>xzhoh=_=Yh!qhL5fKrgh=_<- zStM8yu|Y&!2|=ug1OW+>71@ShMMP2vA&6wNixr`P@_wK1>zucDUSFp(otd`cE4kc1 z@BTUWoO91T_uM~|NOa;~Sy_Vr2PTGg@0941NF;{hNK&GouAm=j48;G(7>F?tV<5&r zjDZ*fF$Q7`#2AP%5Mv<5K#YMH12G0-48$0SF%V-Q#z2gL7y~f|VhqF>h%pdjAjUw9 zffxfZ24W1v7>F_OKaPPv{pnBL&z(D0g!6sH&He0WKkNO2AN-)-_rL%BeiaoJzH`Ht zW`0>&+292W7CiUKPkyq^oV6$4T(<3p>#*`mmMj_m!V53-PuFMbyZqg|clSMg`gD=u zPk2q@*Kpgd5bSpT{Q1tOPMvys-@bkQfn&%wzxmA(pZUyZ#?p@orKP14KK8MXmAv(> zZ=G3OTs-HEZ+zoy*S+H%?^u9aH*w;`H6)!tMx35uH?!E7Q@3v{vrd7J`{qKK& zO5FWM{sZrN*Sk(<;wDX+lu^D+>LSmn7V@?9Jp~qnZSv&F$LQZ)w~q=phXeXw0S?y- zhjK1H39lMIe*6MxFk8;0!PKc!r-)YOR;^l9EIP{l`q#hi4G$HiO=g;788Ss|B z=RNP)0sIG{={aavEe9+YMvWSEgEnvDZbdkcw2U3_dvZ}_(tT6@sPC3$bz0o5-_p#t zy3BXet(?;AdpOPFQNCN3)nWBmJStE4o5hoDJS2Wwj=20=a)fWa?QL(nVzh#8)$e@g zJ5NE!$|+N(?0~N~eCku5nzMQH=Hbopz`S|$iYYUe`byxj$&{V*?sva?!Sw0Vm&~3$ zd-F#=@{ujL@;P(nlz-?$AKLl8_r32Byn4iSv~_gCgb6PJ&lT#qiZ6F18LxHI2rIn~ z*MtZ77Vw4}j>@Yv<#GL}d{&S7mfzy8-&}b&-SS&KVc)*XcfUDx+#@VH-oZ6E=`KD* z-z(7Jn2To%f8YZj*bi;Ci8i8({FyUnu7VDwq8)rN{Y`IrQwepK@VyxNKieGr-E?F{ zS6nydgl;EKp6tGJ=gwZpk>2LkuV3GnxnUr(#&^tp1LZ#c@sAHeehi_#5x_k{zB$Fs zDGhlw3V0{MOH=5>RN$U$Zq}?>Q{*g8-Rmh6jC<UiBEh25N8Q?AAb5WReh1K z{>XR3Zkp0R`q7V0e*XFAM?()M^ z3;KohtX?m^_+k%qhHj$Yg$ozDUcP*}vrF5K5(d7`z$rfKYQDl2chl(SQp1hWUOv3- zz2z-$@u2M{a8Tqr@KI#WO;;E_W)5@N%`s!fc*s2uoyYsbAO3Lb=+UFnPgClNidR-v z79BfwOgQ#o7pyM4){hMQ&cN{^^nYmmGhh89{WAJvsbFXiy6xS&x7)gP>!xnnv}rPU z?t}bj7dZCp*)zfD?&3#j$#^w9uqqQAL8tD_a|*Qxh9el7fQ85vu} zSly4DC|$X7<&bZG``g_!X(y9B8k@9p5Emu?8{qGn&wcK5?M8oO;<&M6#~uT|nm51s z&F7Gfb2I5zKJ&o)J(n(Bx&RoA)`1V5?lVU20%H|)DaoW=#$i^d_Vt3Kl)L>_ME#{uU`EexUB-V`XpaAfVY|te(-~f7()fIK^UIYZ|n`jSSPQi z&5OVgjE^LJ?lFcBeE##FANR{&{xWNM%-VLcWV`V0(%TK|n>kCDPnvk(H1IvI`Q2d7 z)JIPBr0i7mz6xNtN_{5#8=(C~^wN2fQJL0PhA1uwKL$MvBgloUP;gibIDE^~$uqLgiyUG?=y3e!&>-J8<5C zcQ?Vu{qx;EeJ^4?HwFFtIBom1vG$E7_^&|!b&UPqt!-a?!`f{=-&frld*FXN z>$J_dt?-{#{F5%tI&uc%N4Akb_ptim^}ApG@|W9Ozls8! zu|EaeTrt?(ehYSBy@Z^aBV9VGd~4HacQ9i^`cM%NoDmxN+kufFY1WZ+OES0zOE>)BujoAuH0# z0OZXG$rsAlT<_PT{#hUS{^~cr@r~&&d>tW-+$v_S-GIJ*99YA1aV<8#4Xjc7=3KavX}96q$|zkB{(2hREJ0rSx~A0; z<->=Ekf(WBS7y?;Z1a5K3tt!lE-r@qPrR0O>R$RfFxT}8vR87qTx~?OBO27<+Km3p z4~wDQ9fQYUvbaOX+t?^a8%}@syWe%CY=88_&6K}N{*-a=lruSSAA9veE8h`)?Df5{ zn;ngSU9_rY?mmPJ9hD0Yu;<(dy-YGUpuZcY?K)hW(VzKkF5}X-6Ij0u9{H9gpS{^C z__r_ik*CpNOR(MVM}FKSUsz@u&HX;|{jPK#$80$y#amkIy_TN9sZiqV7I((JehU}eRmJ%E;{VI@A4yf8^-#p+U<|if0Kvx$br+~ zVS@5{Tvjfz3&#f~Qt^-b|9rhA=gYw~WZd_sXBTswMtR;i-5!H_J%Ap(7pf{CZOKEZa*c{&4 zG95j)h;cF>xNle=-2N#|aqv*je0b<9U-`-e>GS1x~8Rn5{}!9`*Qlx zw=HRyOIsSxoHuwDU2p?^@b%&-oC+84fc7%ZGZtTDUAKg?k$ix@G>trmDdUeb!(%h` z`t*l3ec;1gv>|?JVk=5lM^wFTn#!WLdDs{{_P#yl0G|hx9#wBtn(AvVzqN&|t6_~W z5xpbhv9I$u-}~P8p2I%59=HzD#t~cz8TqKl2zSySw9J+Lb*(p*8gCN?p*PN&{`%;&qY zw~au~?hNP2XB=7QZQHiZV@;Em{@J#fbT7dr&}?V-I|wVA9Z zMLvaK(cX>DZXSnD7jRWS{pnBhwr{6-3m(?lg*vxg!DXloho;q&t!}Fe+2j58x4-pRkEH8+UcP6>S|8;>FX{SW^}%z#Y;FtsOZKA!dg$|6;W}MElHXoMer@5*QnP0%kPY3D zu_NI3a&R21iB#Tj?fU83R6b~MkG=cVxzgM%kG--8_?97CY7LesIIxX*oJI85SMcEb z0GH{?gzIthZrHHF!&V;D6V99OxcI=@H$T@lsPi&wzr~D)l(irFayRtmp`3l41Fs(e zw>pm&X+IP!S-??`4Bp|=FCSs%rf0GFYypno9E-su_#{8io;~Z)C-Go5@HWY7xW`ti zGrvu~Tf6!64acr;;T+r1`K7b071rx412(9UtUG5iK9;g}+6%3;rb(F_b8NRBo~y_Q z&BJwY9&Ql&iS*DEn$QoAWwfVxRJ1qv<-1{(vv{};H*V#Si=LeOtx#cu%i6YhKH8%$ zt!G|^53cIognY)k)>Zey^{ZXEaC#9YtWp-e7%(QbKY$Z zjB%Z*4(QCDhR6APk9jOebHC>jHe8sWOI?|kZOgWzU<$Xdcysx}>26-+zzx>4tFfD= zJ+qK*tVexAzfYk*dn^9jFI!j`o;d#cILQ|-plcu#!o1?Pk>rIt$bt3c<>h&k1C0Oq zZabWl_gHWEw0HT>%@c?7!v{uh^TT)z<6m*+&nv9oXEIJB?Xpp0JY5=d{Y2WmYi+Yv z=y3-zroS^M8gBCK8-0!b7LRJj`F02W{0Mu`!(@+5N83!k!AFB=FR)X{Zi?;Emq`X! z6g+WSeq?~*(Quvg@1lFxp!XkVePQ?agYz4dxx@N=0k*W9WdQ53-q^HsX4)U~tYw0| z6H9Y=FV+bPEEkgWzsfkAhrMhBbS}Z}I+t@=yOI4@p-G+S!a42(*dJ2PzGgDs!+E%a z)dO4gYU9AF4M2n2V<(iw}eM^SFTi z#s{)Fv;Vdjx{C+SbC+g_eapp1j_CZ}G3t!zTVNa{$5t(8?JC$89>jV+*xO})z8m)O z>FD1FkO`4@)Zl?4z4wEi`4n#jMdrzt7j)K#dS|m1_4g^=@$ZIX{%GC!FdWJUhu2wO zmvb(^**!#L@-ST5v$)8KP0ZbS8UNxJc&eB^j1$0@a;C#zk7?gJ+PioYF432}_+TJ6p?dab zPht*b%sNuEUkB~=UQZMKFN{kEo?!1PoF|ibnEr0P*_6+=TqbqrD-SliYTg~% z!n$4eBlY%YAXf?B)7g$F`f=8_l(KrKubo-@7t@yZ z03y$;S=;8T4+@)a>22k^?KT%~D_FwqxbX0;hW8^TaDGxY)-ljpcV&Wm$tnvy4@c34 zv%{sx;X36Bx$E%K49?^Rc7v$$nWiCUim*AXQX9Z>gEhd)U;XM=gLqqU6!wX7L z|3zo}4!C(N%=*8Wwc;V1k9+FW*sO;q^rqi9%a^O~(jWdj#eQ(HTc_SOkxoF{DR(1< zqg-*GkMgR+b%Lv{owZN9dIPYUGa6giM~{44Lua^{YZpSp3S1>~?`#*}ZWx`c1o|H* zUmbejMRdms&b7~`j#+Zv<^0Du_LYOPhV-Kc`o?P777qk> zJe@wb8sDlzv#=4D?s~LTt`OgW{~_?)MqfLM{G6jVeOto2zGw1w z0Jg#%$crQF4^8F%WL{*x3!B!V(0B;6uc8mvky|^t4_|^UI=JHmzxL*CtkZ6u*f6@TGr0g*O-dv&wdECDVHHlZrV^_ge(1&fe%hbf z2S4hJd&)a_E#Z>;sHM zhRw!4u@_!A1ihE@&7aG3#|3;3(Hw*=Lh|CWa1zE-D6aRAFEcg|B10BXZY*a`2ch3| zL$0jIpnQ}1jSlkBi~PG@+-dUe-@otumhvf*@#hkYxjbf@es z@N)v%&qb%p+a635y=b>h=&Y^=(6ODK7<9q-3 z$3MKsj~{z=b#>m~|NeK6cVYZxWQ(-u7P% zw_zU`+MNCd1GeTKoI6+R>PQS31* zxeHfJJH61$yJns>zXJOI```cee({T6__VjOZn>n)Si!!E-f9mV@_ZTR>t_Jp z!@^KZ@2L;c(7rNg*F$3L+F2w^Gd-y5Cw0hY0S|Rkf%QVMHiPg zZdmQMj~ZW0*7o6=a7Rr(I4HR2X{^e>n(oK!KH1sbhrGv>#sTgKmYlU#~!Aqd+X3S zpgm(<`sXISHwFAUZ?~DYub{J>X)n5F+HQN(A6>93vUMc;P8FYRSAG%1O_v<_B%NowO&!HcIO-5n#nNn=A1-Vxp)$i7( z(TBdc-K{O3k8;?lx-u>HXFV{Sa8C0fIG+nm^m{!m%Joe0h{nh#k25v?y(PuX!DF?I z^{F~X5yk`hXLs&TbjWi!F0AyW-RbYblWQ1VYZ`XME1A$X(>%!XV9YyZZph9aMf+U) z(3a)tPrJ_l`R*%kxt3tBzv$2@YdK)!TXiVx)|LFGeaz*&1D5msn0)s?+xqC+6GeaC z^VKeYGPLm#;O+6hY zFYjaZ#$LW1dfm&G<}KuxE_nmH?^bLUIq9e!1y_PY^k;tCjZH%D((C=sTiBpBVxRc0 zm2K!{>PHE`aW4038&l4m2*?$><&1Dm`uNLjGbB@!VOQGn} zR`u%rT=s`{LPP%yfis5vF>Z0AvH30W0yw(LdVhMkXZS-xff}F)L*bC|Fj1Ttg zNjhgkKhLp;z5{(PFZX;433s-2qt8A||4xZ^MnBiLbW3x1e5 zuc9;P_hVPGA2C?JEe@^E>iigE-s234=@8ek`)w@bJ-I^Qjk6Vl^d2vCucgmd*&i$A z-axQtQHVC%yH0fVUZNqi4SuV|p|{C+{Wj5IofTtz_~+0JZqAU6W)3+{8RdD1{%3Q^ z4d$0p#!^3QCLMY`z>N6cVF_+UPrBiHBC>(?Jj6u=hEH6jNv-;p>ob@tYIx2Y1`o~4gLP4 zev{-F^w;mc1!t3)8+LZ2zO(PB-;*B9S?W3HcpCF(>Hj`xKZkWu%A4{X3GPC{0zNu( z=VUnYugYj1<%_PI!_)7qN7}u?U3c{4vFt7CzQkqf@aGifha=p_Xm=fo-wf&cr7wMH zFk^luYgC*Ng^$-`;r@fVH$MtAvcm@%VwvsQ3lCGER+I;+CEc{DVihWtNDy%)jzMb?EC z@WL{5uF+AtL_YC@{?-jR$I{+P$#>e<9Dkm(NPBdDmwoVo^u0struoE2b9JHr^kmOY zzmJt-3v7lL9zxe$>>+0)&vjObyKIB?yP~WQC0|~Ghpr%ZPaqd6x!bx(_iUSkE!%XR zDdJ5J{T|42^wA31xdhE`YmGzumDuzqqsR1T@2-g+n{8W9N`A({P-qe8|L&MK9*}S8 zjHk_<%g$I&(i_R#59|g_dh&kGXx5Qip^bjK?p4~=I~>Pw2a(U^>>JPLt<91A?oH23 z_E@xj{rS&-J_=jIeBGU6zNwsN zw>jo;!K>fW70>E-@N_5t9(9PHbVvID^=?4toPe$x(>o2LR903_1c$5o)4cyl_94dbFz)uuW^P#rALxCCO5ADb=eR3jr@0(`rJC`+7n<*6 z{#wVGoSE1u28p*?YBT=chym_qO>*ekgzow#`n$fu=*>r%O9vJTkI3~RoPK|PBy;uX zu;Xo%;lKa=@B94u&wq}`cMe40F4++1oAMrxjdz#s7Eba?oyI@%KgAZD0~m49cEW&U zCH9(AHojfjTR8j;d0UIToyS@}FYjNqQ`h5WlNezAw*VUZze^t)=P9y3`R!Hi?No55 z{E0c^^S{mrygAVuyRGh+`*(tpGCt7xlXSl?-5Og?1#g~@kWKA>9dA!c|5*ce77s`c zV4u^vJh&4s+T$*;Mm&s-a5nRPPu5g1?Vl9lhx#GCn>C?y?kRG-=Q9!=A-0u;@DxX5 z48$0SF%V-Q#z2gL7y~f|VhqF>h%pdjAjUw9ffxfZ24W1v7>F?tV<5&rjDZ*fF$Q7` z#2AP%5Mv<5K#YMH12G0-48$0SF%V-Q#z2gL7y~f|VhqF>h%pdj;J*(8Ui_CO2Id4r z{y$2d3}Sx3dz=y<@7Mh};ay7%@E&!smJ;4;YrWKXA{l?g2aoTG@r~afjrY9AorqI@ z0G}QZfAAFXXS~-4dJhJ8-fM&tPkGnYdVbiu_Kf!+(ZxGy@spHY*~KeUoU$Hq??ERo zp*VFn#uJbIxL4K~f0TFtNc>Ss`5z^gHpWkmPsZm_l0QD49PlX7H<3ujpYh5D_(*8% z?zN{pedI40@ANp)`1%GAj|bqy*kqi7fbbw;?=wB)C5S&t4D?GU5>Gu+{B;CB^&kP3 zUXORWrZ|P1KjLLhRNqtL1441Ilkz*A%xX3gD z&Eg>Mgy-FOEzzYhWvw57^eE9tfAIs~z42v@G@@=lzB@^?@yU3(AMZr%jo%yNjofyE zw8nT}efG;&!y|Mhh{Mdp{iy%lk2f;o>+weBYd$XE_}kB{ z9-0o20P&L55r0Nm1 huq6MSPku_1cw=`hyV^_n1D=$>YvWU*airZa@c&*i=(hj> literal 0 HcmV?d00001 -- Gitee From d5033483d29658a86931ce6402bd3420e5a55d2e Mon Sep 17 00:00:00 2001 From: xufeng <1277032935@qq.com> Date: Sun, 30 Jun 2024 20:20:48 +0800 Subject: [PATCH 5/9] =?UTF-8?q?1.=E6=B7=BB=E5=8A=A0=E8=A1=A8=E8=BE=BE?= =?UTF-8?q?=E5=BC=8F=E8=A7=A3=E6=9E=90=E5=99=A8=E8=B0=83=E8=AF=95=E5=B7=A5?= =?UTF-8?q?=E5=85=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- debugTools/x-ExpressionParserTool/LICENSE | 127 +++++++++ debugTools/x-ExpressionParserTool/README.md | 26 ++ .../x-ExpressionParserTool/README_EN.md | 1 + .../x-ExpressionParserTool/build.gradle | 16 ++ ...3\350\257\225\345\267\245\345\205\267.png" | Bin 0 -> 336978 bytes .../xJavaFxTool/ExpressionParserToolMain.java | 51 ++++ .../ExpressionParserToolController.java | 266 ++++++++++++++++++ .../job/ExpressionParserToolJob.java | 29 ++ .../ExpressionParserScheduleManager.java | 87 ++++++ .../manager/script/ExpressionParser.java | 21 ++ .../script/ExpressionParserManager.java | 124 ++++++++ .../manager/script/ExpressionParserType.java | 40 +++ .../script/QLExpress/QLExpressEngine.java | 59 ++++ .../script/SpringEl/SpringElEngine.java | 62 ++++ .../manager/script/aviator/AviatorEngine.java | 53 ++++ .../script/beanshell/BeanShellEngine.java | 62 ++++ .../script/freeMarker/FreeMarkerEngine.java | 64 +++++ .../manager/script/jexl/JexlEngine.java | 58 ++++ .../manager/script/mvel/MvelEngine.java | 46 +++ .../stringTemplate/StringTemplateEngine.java | 55 ++++ .../script/velocity/VelocityEngine.java | 59 ++++ .../model/ExpressionParserToolTableBean.java | 125 ++++++++ .../ExpressionParserToolService.java | 223 +++++++++++++++ .../debugTools/ExpressionParserToolView.java | 75 +++++ .../debugTools/ExpressionParserTool.fxml | 112 ++++++++ .../config/toolFxmlLoaderConfiguration.xml | 14 + .../locale/ExpressionParserTool.properties | 3 + .../ExpressionParserTool_en_US.properties | 3 + 28 files changed, 1861 insertions(+) create mode 100644 debugTools/x-ExpressionParserTool/LICENSE create mode 100644 debugTools/x-ExpressionParserTool/README.md create mode 100644 debugTools/x-ExpressionParserTool/README_EN.md create mode 100644 debugTools/x-ExpressionParserTool/build.gradle create mode 100644 "debugTools/x-ExpressionParserTool/images/\350\241\250\350\276\276\345\274\217\350\247\243\346\236\220\345\231\250\350\260\203\350\257\225\345\267\245\345\205\267.png" create mode 100644 debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/ExpressionParserToolMain.java create mode 100644 debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/controller/debugTools/ExpressionParserToolController.java create mode 100644 debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/job/ExpressionParserToolJob.java create mode 100644 debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/ExpressionParserScheduleManager.java create mode 100644 debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/script/ExpressionParser.java create mode 100644 debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/script/ExpressionParserManager.java create mode 100644 debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/script/ExpressionParserType.java create mode 100644 debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/script/QLExpress/QLExpressEngine.java create mode 100644 debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/script/SpringEl/SpringElEngine.java create mode 100644 debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/script/aviator/AviatorEngine.java create mode 100644 debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/script/beanshell/BeanShellEngine.java create mode 100644 debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/script/freeMarker/FreeMarkerEngine.java create mode 100644 debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/script/jexl/JexlEngine.java create mode 100644 debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/script/mvel/MvelEngine.java create mode 100644 debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/script/stringTemplate/StringTemplateEngine.java create mode 100644 debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/script/velocity/VelocityEngine.java create mode 100644 debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/model/ExpressionParserToolTableBean.java create mode 100644 debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/services/debugTools/ExpressionParserToolService.java create mode 100644 debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/view/debugTools/ExpressionParserToolView.java create mode 100644 debugTools/x-ExpressionParserTool/src/main/resources/com/xwintop/xJavaFxTool/fxmlView/debugTools/ExpressionParserTool.fxml create mode 100644 debugTools/x-ExpressionParserTool/src/main/resources/config/toolFxmlLoaderConfiguration.xml create mode 100644 debugTools/x-ExpressionParserTool/src/main/resources/locale/ExpressionParserTool.properties create mode 100644 debugTools/x-ExpressionParserTool/src/main/resources/locale/ExpressionParserTool_en_US.properties diff --git a/debugTools/x-ExpressionParserTool/LICENSE b/debugTools/x-ExpressionParserTool/LICENSE new file mode 100644 index 00000000..9e32cdef --- /dev/null +++ b/debugTools/x-ExpressionParserTool/LICENSE @@ -0,0 +1,127 @@ + 木兰宽松许可证, 第2版 + + 木兰宽松许可证, 第2版 + 2020年1月 http://license.coscl.org.cn/MulanPSL2 + + + 您对“软件”的复制、使用、修改及分发受木兰宽松许可证,第2版(“本许可证”)的如下条款的约束: + + 0. 定义 + + “软件”是指由“贡献”构成的许可在“本许可证”下的程序和相关文档的集合。 + + “贡献”是指由任一“贡献者”许可在“本许可证”下的受版权法保护的作品。 + + “贡献者”是指将受版权法保护的作品许可在“本许可证”下的自然人或“法人实体”。 + + “法人实体”是指提交贡献的机构及其“关联实体”。 + + “关联实体”是指,对“本许可证”下的行为方而言,控制、受控制或与其共同受控制的机构,此处的控制是指有受控方或共同受控方至少50%直接或间接的投票权、资金或其他有价证券。 + + 1. 授予版权许可 + + 每个“贡献者”根据“本许可证”授予您永久性的、全球性的、免费的、非独占的、不可撤销的版权许可,您可以复制、使用、修改、分发其“贡献”,不论修改与否。 + + 2. 授予专利许可 + + 每个“贡献者”根据“本许可证”授予您永久性的、全球性的、免费的、非独占的、不可撤销的(根据本条规定撤销除外)专利许可,供您制造、委托制造、使用、许诺销售、销售、进口其“贡献”或以其他方式转移其“贡献”。前述专利许可仅限于“贡献者”现在或将来拥有或控制的其“贡献”本身或其“贡献”与许可“贡献”时的“软件”结合而将必然会侵犯的专利权利要求,不包括对“贡献”的修改或包含“贡献”的其他结合。如果您或您的“关联实体”直接或间接地,就“软件”或其中的“贡献”对任何人发起专利侵权诉讼(包括反诉或交叉诉讼)或其他专利维权行动,指控其侵犯专利权,则“本许可证”授予您对“软件”的专利许可自您提起诉讼或发起维权行动之日终止。 + + 3. 无商标许可 + + “本许可证”不提供对“贡献者”的商品名称、商标、服务标志或产品名称的商标许可,但您为满足第4条规定的声明义务而必须使用除外。 + + 4. 分发限制 + + 您可以在任何媒介中将“软件”以源程序形式或可执行形式重新分发,不论修改与否,但您必须向接收者提供“本许可证”的副本,并保留“软件”中的版权、商标、专利及免责声明。 + + 5. 免责声明与责任限制 + + “软件”及其中的“贡献”在提供时不带任何明示或默示的担保。在任何情况下,“贡献者”或版权所有者不对任何人因使用“软件”或其中的“贡献”而引发的任何直接或间接损失承担责任,不论因何种原因导致或者基于何种法律理论,即使其曾被建议有此种损失的可能性。 + + 6. 语言 + “本许可证”以中英文双语表述,中英文版本具有同等法律效力。如果中英文版本存在任何冲突不一致,以中文版为准。 + + 条款结束 + + 如何将木兰宽松许可证,第2版,应用到您的软件 + + 如果您希望将木兰宽松许可证,第2版,应用到您的新软件,为了方便接收者查阅,建议您完成如下三步: + + 1, 请您补充如下声明中的空白,包括软件名、软件的首次发表年份以及您作为版权人的名字; + + 2, 请您在软件包的一级目录下创建以“LICENSE”为名的文件,将整个许可证文本放入该文件中; + + 3, 请将如下声明文本放入每个源文件的头部注释中。 + + Copyright (c) [Year] [name of copyright holder] + [Software Name] is licensed under Mulan PSL v2. + You can use this software according to the terms and conditions of the Mulan PSL v2. + You may obtain a copy of Mulan PSL v2 at: + http://license.coscl.org.cn/MulanPSL2 + THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. + See the Mulan PSL v2 for more details. + + + Mulan Permissive Software License,Version 2 + + Mulan Permissive Software License,Version 2 (Mulan PSL v2) + January 2020 http://license.coscl.org.cn/MulanPSL2 + + Your reproduction, use, modification and distribution of the Software shall be subject to Mulan PSL v2 (this License) with the following terms and conditions: + + 0. Definition + + Software means the program and related documents which are licensed under this License and comprise all Contribution(s). + + Contribution means the copyrightable work licensed by a particular Contributor under this License. + + Contributor means the Individual or Legal Entity who licenses its copyrightable work under this License. + + Legal Entity means the entity making a Contribution and all its Affiliates. + + Affiliates means entities that control, are controlled by, or are under common control with the acting entity under this License, ‘control’ means direct or indirect ownership of at least fifty percent (50%) of the voting power, capital or other securities of controlled or commonly controlled entity. + + 1. Grant of Copyright License + + Subject to the terms and conditions of this License, each Contributor hereby grants to you a perpetual, worldwide, royalty-free, non-exclusive, irrevocable copyright license to reproduce, use, modify, or distribute its Contribution, with modification or not. + + 2. Grant of Patent License + + Subject to the terms and conditions of this License, each Contributor hereby grants to you a perpetual, worldwide, royalty-free, non-exclusive, irrevocable (except for revocation under this Section) patent license to make, have made, use, offer for sale, sell, import or otherwise transfer its Contribution, where such patent license is only limited to the patent claims owned or controlled by such Contributor now or in future which will be necessarily infringed by its Contribution alone, or by combination of the Contribution with the Software to which the Contribution was contributed. The patent license shall not apply to any modification of the Contribution, and any other combination which includes the Contribution. If you or your Affiliates directly or indirectly institute patent litigation (including a cross claim or counterclaim in a litigation) or other patent enforcement activities against any individual or entity by alleging that the Software or any Contribution in it infringes patents, then any patent license granted to you under this License for the Software shall terminate as of the date such litigation or activity is filed or taken. + + 3. No Trademark License + + No trademark license is granted to use the trade names, trademarks, service marks, or product names of Contributor, except as required to fulfill notice requirements in Section 4. + + 4. Distribution Restriction + + You may distribute the Software in any medium with or without modification, whether in source or executable forms, provided that you provide recipients with a copy of this License and retain copyright, patent, trademark and disclaimer statements in the Software. + + 5. Disclaimer of Warranty and Limitation of Liability + + THE SOFTWARE AND CONTRIBUTION IN IT ARE PROVIDED WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL ANY CONTRIBUTOR OR COPYRIGHT HOLDER BE LIABLE TO YOU FOR ANY DAMAGES, INCLUDING, BUT NOT LIMITED TO ANY DIRECT, OR INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING FROM YOUR USE OR INABILITY TO USE THE SOFTWARE OR THE CONTRIBUTION IN IT, NO MATTER HOW IT’S CAUSED OR BASED ON WHICH LEGAL THEORY, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + + 6. Language + + THIS LICENSE IS WRITTEN IN BOTH CHINESE AND ENGLISH, AND THE CHINESE VERSION AND ENGLISH VERSION SHALL HAVE THE SAME LEGAL EFFECT. IN THE CASE OF DIVERGENCE BETWEEN THE CHINESE AND ENGLISH VERSIONS, THE CHINESE VERSION SHALL PREVAIL. + + END OF THE TERMS AND CONDITIONS + + How to Apply the Mulan Permissive Software License,Version 2 (Mulan PSL v2) to Your Software + + To apply the Mulan PSL v2 to your work, for easy identification by recipients, you are suggested to complete following three steps: + + i Fill in the blanks in following statement, including insert your software name, the year of the first publication of your software, and your name identified as the copyright owner; + + ii Create a file named “LICENSE” which contains the whole context of this License in the first directory of your software package; + + iii Attach the statement to the appropriate annotated syntax at the beginning of each source file. + + + Copyright (c) [Year] [name of copyright holder] + [Software Name] is licensed under Mulan PSL v2. + You can use this software according to the terms and conditions of the Mulan PSL v2. + You may obtain a copy of Mulan PSL v2 at: + http://license.coscl.org.cn/MulanPSL2 + THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. + See the Mulan PSL v2 for more details. diff --git a/debugTools/x-ExpressionParserTool/README.md b/debugTools/x-ExpressionParserTool/README.md new file mode 100644 index 00000000..98edd5f6 --- /dev/null +++ b/debugTools/x-ExpressionParserTool/README.md @@ -0,0 +1,26 @@ +ExpressionParserTool 表达式解析器调试工具 + +#### 项目简介: +ExpressionParserTool是使用javafx开发的一款表达式解析器调试工具,目前支持[SpringEL](https://docs.spring.io/spring-framework/docs/current/reference/html/core.html) 、[Velocity](http://velocity.apache.org/) 、[FreeMarker](http://freemarker.foofun.cn) 、[StringTemplate](https://www.stringtemplate.org) 、[Mvel](http://mvel.documentnode.com) 、[Aviator](http://fnil.net/aviator) 、[commons-jexl](http://commons.apache.org/proper/commons-jexl/index.html) 、[BeanShell](https://github.com/beanshell/beanshell) 、[QLExpress](https://github.com/alibaba/QLExpress) 等表达式引擎,支持在线调试运行脚本,及定时调度执行脚本。 + +#### 目前支持以下表达式引擎: +- [SpringEL](https://docs.spring.io/spring-framework/docs/current/reference/html/core.html) 是一个支持查询和操作运行时对象导航图功能的强大的表达式语言,不直接依赖于Spring,可独立使用 +- [Velocity](http://velocity.apache.org) 一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象 +- [FreeMarker](http://freemarker.foofun.cn) 一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具 +- [StringTemplate](https://www.stringtemplate.org) 一种基于java的模板引擎库,可以用于生成源代码、web页面、电子邮件等多种样式的文本 +- [Mvel](http://mvel.documentnode.com) 是一个功能强大的基于Java应用程序的表达式语言 +- [Aviator](http://fnil.net/aviator) 是一个高性能、轻量级的java语言实现的表达式求值引擎,主要用于各种表达式的动态求值 +- [commons-jexl](http://commons.apache.org/proper/commons-jexl/index.html) 是一个表达式语言引擎,可以用来在应用或者框架中使用 +- [BeanShell](https://github.com/beanshell/beanshell) 是一个小型的、免费的、可嵌入的 Java 源代码解释器,具有对象脚本语言特性,用 Java 编写 +- [QLExpress](https://github.com/alibaba/QLExpress) 由阿里的电商业务规则、表达式(布尔组合)、特殊数学公式计算(高精度)、语法分析、脚本二次定制等强需求而设计的一门动态脚本引擎解析工具 + +**xJavaFxTool交流QQ群:== [387473650(此群已满)](https://jq.qq.com/?_wv=1027&k=59UDEAD) 请加群②[1104780992](https://jq.qq.com/?_wv=1027&k=bhAdkju9) ==** + +#### 环境搭建说明: +- 开发环境为jdk1.8,基于maven构建 +- 使用eclipase或Intellij Idea开发(推荐使用[Intellij Idea](https://www.jetbrains.com/?from=xJavaFxTool) ) +- 该项目为javaFx开发的实用小工具集[xJavaFxTool](https://gitee.com/xwintop/xJavaFxTool) 的插件,可在xJavaFxTool工具中下载使用。 +- 本项目使用了[lombok](https://projectlombok.org/) ,在查看本项目时如果您没有下载lombok 插件,请先安装,不然找不到get/set等方法 +- 依赖的[xcore包](https://gitee.com/xwintop/xcore) 已上传至git托管的maven平台,git托管maven可参考教程(若无法下载请拉取项目自行编译)。[教程地址:点击进入](http://blog.csdn.net/u011747754/article/details/78574026) + +![表达式解析器调试工具.png](images/表达式解析器调试工具.png) \ No newline at end of file diff --git a/debugTools/x-ExpressionParserTool/README_EN.md b/debugTools/x-ExpressionParserTool/README_EN.md new file mode 100644 index 00000000..361b4d29 --- /dev/null +++ b/debugTools/x-ExpressionParserTool/README_EN.md @@ -0,0 +1 @@ +ExpressionParserTool \ No newline at end of file diff --git a/debugTools/x-ExpressionParserTool/build.gradle b/debugTools/x-ExpressionParserTool/build.gradle new file mode 100644 index 00000000..93a501fa --- /dev/null +++ b/debugTools/x-ExpressionParserTool/build.gradle @@ -0,0 +1,16 @@ +dependencies { + api project(':xcore') + implementation 'org.springframework:spring-expression:5.3.9' + implementation 'com.googlecode.aviator:aviator:5.2.7' + implementation 'org.mvel:mvel2:2.4.12.Final' + implementation 'org.apache.commons:commons-jexl3:3.2.1' + implementation 'org.apache-extras.beanshell:bsh:2.0b6' + implementation 'org.apache.velocity:velocity-engine-core:2.3' + implementation 'org.freemarker:freemarker:2.3.31' + implementation 'org.antlr:ST4:4.3.1' + implementation 'com.alibaba:QLExpress:3.2.0' +} + +group = 'com.xwintop' +version = '0.0.2' +description = 'x-ExpressionParserTool' \ No newline at end of file diff --git "a/debugTools/x-ExpressionParserTool/images/\350\241\250\350\276\276\345\274\217\350\247\243\346\236\220\345\231\250\350\260\203\350\257\225\345\267\245\345\205\267.png" "b/debugTools/x-ExpressionParserTool/images/\350\241\250\350\276\276\345\274\217\350\247\243\346\236\220\345\231\250\350\260\203\350\257\225\345\267\245\345\205\267.png" new file mode 100644 index 0000000000000000000000000000000000000000..b8a24fd229d1d114db565eb49ede2f8526f7fb2d GIT binary patch literal 336978 zcmeGEcQ{=A+6D|Gk|-%mf`lXzz4tCigy?njn&@rx&X9;i5Jc}r9gG%jFj^ucm>}Bd zJ<5z0z4I>jZufq+=lS;iz5l+B!!gTPGrxA#^E$5;s;(+`orIbM4-fCUg1n3-9v*QE z9v&eb(G}pGp!|D`z#lhkpFLBzeQOyGlKq@D0oU&qKMaJ}TnnI{wP~*joEW^!UL-+Iqm^q}$pg z>Bm|Q!-Ppj0uJg@&iVe?%I^!Utzzz9pg*ree{!-%#@*XKm0a1v|F=x zX1!dhE{Feq;_Yy;NGIK_CEh7TTZQo}!ly^=#6xEL#I52EX%A;XU#szS?_}KkUD1;q z&G+6^mV*WH;k0$^{nbVKT?4|aZokJO9}5I>1ZbvRTe$fEZ+e!E^ONr${ew>`wruaw z5xO=)-#6dy*Dg?65kS{Ct!>4Iev0NlGWTM#^Q7TgE4~*P8)f>|7fx6Yqxn!nD_rR#x@phH5*iL*{GmLs( zJ(f0h)kw0HA}ONd$(LZC6$+jgw`4v(ylLxi_#!8tgnG#)YbnnrYkzQhWvYes;1sV$ z%kH#&d8wC28h%Fq`zNAh-A0?f;aY%?O_9e>Vk>9*0bT`eg_t+{_vm7O@!Wls^Du_F z18niZqE}4uhT!)EIyZ~0y50dFe0oioaCk%blGoF3r`8rp(^WlfiZEfa;hy0h`_A|w zM-wrqqi%Tpa~)Vc#trMvU`=hu>E1p%knY-Z)?&Ii^vQHl*x=gf)qqQZ%VRnMAXb^c4L zj&s5E3Q~9J-a_hqgI9Opo&ib{qh+tZxotQ+zHH`i>MtO9TdKwR&E2W+CXJPi0at7V z`o`=B+w`jH6kOQXj$dP8<&D3Re)W}+_Q>hfNJ2&G zB+baj8^O2x9tH=4h=Sy`@uSrw*-3;r0!isqWRA5~NMJCQhsL=q62a;*9~ED1Kalnv z+nz{1^XXo>yQXS|-Brm|XVT+G;Kh?ZVd1^WmX?;Q#v`RTPXo?JY0C}Cw?0F=LNQGX3*w3mItB)IDPkH% z9^bPc{DsB+eb8w<0@Y(HQ2+e={6XQZFC|{+X7`|4Q`Eu4RRMYS0!^YC>z)k$-PN%@ zYi3{eg#E6re2*`5e|?ay9%Gx!BtWvP4(CH-#T+`8g>I;?&KcPToZV9 zdWWF4lc(awUpyx~LR{)ALYISs1LC3e5>7*8!=!9TxHUC>4q12TG>H-0K(h$`xFr`| zn%e7>LSD!P%mBP}DMJL9gqAv%;P?c+=T*S`&q;Od)K;nxzKqi2|^948Ln@&vHar74Au zRuvboaLG91UkCq}%Ji=_iwqFS&n;9rdMRyD`lCtt4UrB9-!dfp!sa%-SUMfENIGNGJ%BbZAI`#Y2mJpru^SIRc}-2C zjb=>E*PG7*W}2W!LUm*=DmMyb@h?=%CvQOBi|Jk~y>hfW=4l=neIc{f_XZI)?pRHB zHnxh$`{Fu9CsSvqUWT>KS%4WB@oL(-Z{L@D>U4c|xcqCtPLZikV5H=sP5lbrL=>N4 zqi?lJy4WBWYKgAdXe6=T$#Uvs&8tMW%*1oEgL&*{)-(1ZlY9^0RLjSlnkV*nE!xSB zTA3v^a!x&0N9SwocUML{I~Wu7_SPos2bvzSH6L%HJv&+R^`12o*83m0hJT-fpBNd} zAFb6xzJ0jcbXZa|X&3c)^L@2VZ;RxqOXKJ8|7G7YeF?`K%NkWug&^x|9t#npmDXw} zQ`q7R+JT^d$=|h@b*U1bW00DW%%^V< zE9RqBwnETDchmJP*ja-IZlJJJNU-FS;{<8|c|Y)Y!xNjAI7)lAFBeNxR$Tmpgp^ce zwz+d9E961NkZIsVAQCcW1uDoJLueN@)N(aG?su)U>f+nYLe+b%R{+X?U?d#K=3RoSj-tC8-4)n-1V@jbtO?!>&e!Y5CkHrGNT&5a6ScEzC zNFEhW_^mhgYG3_f>OJ#zw>%2E^2(KB+!f84(H!h7Jmp_WC4o3LJv&UKO1Eu-!_6&! zB=J(Dbit&iN*i|#On1*0W$+!w#;sq`>ehdJGvN0n?l5#mM>&@<%DXqG^CmJhi!i6U zI^g7RWUu+`WK<~s{>7puNW_AdR$nH-=X7>@a($N?;=guJ=|`Gn=w;Gk_j$X@uGHAl zYI|!@36#FWlRz|$*blR{=SyEcwZiXGnhJMyA{!u~CFqHXZjXeI^eW=|s>^0*Td%Zv z&pR*6cbV^9+jBVF)fe*E67aJ=5=Yt{k&IP&ylDN`J$z*F>D~J)`AwuGBrRmDuaoE|Pgb1*x8^}Awsnv(WT9{G-O$bl z-qWwOdfCew%&1KLUF`G;xQRcl)y_r66>wMcp_OYKCzNMVDJj{*tgacY-eWaRY7jMK z09-kFcF)o`xGI81c!a>Kte7vhR&{sMZ+#?NHk_>p_tra^P5##%!h~36HRN(>eYaeF zzhp13j&^hMp;j{CD=hp(Pg8R?ym_~}%!k*?gN|llVF8Xp&4#fn_mX?uJKO&*g{)sg zp?!B(k`2o4MnHE4b#+;amV;Wun9>Br$bv)}~0W^-0Ax|2J1}?%F=nu0x;@^p8^L zqFD!v>WOW{C>g1b+qeU=23cc=m9Z}D{4SFy4|@z7h)&UFZ+Fbe@6lLI(++3gHMV$& zC49;0i|_W*+S_-+#7tas3AIlo>g!oNPrV91D9tDoO`kD5smmUP1IdwJeE^UTD z{8G~~4Nf%S^P*F;qTOF>+h!wSV9)~PF9VZU0;Q@j!))_$xP#B&LIeMIF0Q8b(iKmi zH-~bI7es+tuqV(-H{u*b&vrmOX1gcww33RxaR*~4xw_C3u*(mo{>k6-m|viTCw^F- z2|uyb0}ItDFlx$_w|wfKU<>t4&d$Hw?;W*~Z3>7i$s@E*0jwbgSUMWl0 zI*d_A>E0f&EXp59|9;Qy!=Aph5b@M6B~&H{_{e*FVw$xkoD0?7Ex!J^nF01J3|!sM zY@l2C>=I1b;~A_MD<`>04ztpVUTF>ZgMhmP$u}g|nABp1G-_am4WL_WHS>*U_)~V&h(yr&I@C%Lrus%C-PpE4jd-22lpdR{wF6v=VZW>NGs^aPX9QR-+PrKz@=cjNA zkFKwaYbeW2Ra%S9iPEnW;w+A;e~MfxZPr_h1fjizQPeG+3ulwNO&&GZSNi)7hBP0v zm&d7@+*ovt`j$7c6)6^K#L+`CwxB=Nl8$__z-=T@e?LJuGXTsJ3_01^lp2OAt(8+k z#cNqS*4|kZ(liffxL<42q-$}tj@|0+)#Dff;zL`%@ZAww%2Nzd{H&Dq)NCn+^#a#; zHTo5uIdm&^s(9edRa*a_0cS^3M`EV?EmSM9uw#q7og9s-Yzjseu!Ue=q!vykk4D>_ zFSL+BS+NEXoC7-I_zKy!7K2u+!3 z^MdbyLqq$$v?s1Ge{`t%)B~2id3vEM zWIk${0AfeBRXJ&-y09`kM7_y%>1P&v8x}T8jekZiFqK50}kd*^!9$ms#zfdo+OXTuA)s(Dz3G+)(KC>xstkN%Ub&B6c!#8RQ?{dL`_dcP|VfwP>Wa*Wgt)(Y)=1aeZ=ikJ9t?NWj~`ezLVy)4ls!P7L(~_yhit zTO~gZ781<6n;U|dFbGrTdZ$yREi$W&M)I&Ggt!s=71BdSAgJ7!qjOe%Cyn${Wy^|UjI z#!3@DmL($f80cy6+0u;0NjIk`22%xlgIW#}AJbE0LuJB>(js8`L(DE4>7eXbK&`c#KLfrR6 z0h7BrpJ=+<@|^fL&TMc5i8$<8u-9JYD}g=safQ#ap>h2oY*%v#E;@b@SK@1|y2XPL zPaJj~5^wCVF85bg-U^+s?@m)khmVgJgI((UUYPX9$0ak;r@m#eR&ARP`X;K8NND0y zhZ)LC&^zA0l`yqz!@u{<4ytF?FA&b{-+s8~_>%Zwk(JI4_r@6jDY zC(-IT@Q3XZzRU!W=0-2G7w;?K6 z<|1=N_Chrw@x5`kq7U+U@2x=+m%~ZEOY1}Ofe6HHk11wP1u+&P^Xd^@y5?&u{=C*} zK<-C$1Sncem=+ZU={vEoQ+QM`BrH2$DgYw1bf^6sg!>W)=ImSxSmDsF>9%!=bUPhlcM#cT`MM3IPw8#EODB?Ejvj zpd*0~X)BJCy;k*jhSMDc|Ekt087D0X`Izp%*%9xk=B(XP!wQB6%l*0WO`7*2acqHP!4eWEygZUck?66|B?enJ?&sa4&FKOvMwO`V~g2mn|&3eA_uA zyY-D_$9vx}qQ%!J!P%rKfgaDQk(X*EXEhOag5xEv7eI|7Nrbq$Nu}SW*~pY#<{4cr z3wTo;T#GijRc@l*Yi|o{3VJ2`J(f%!mNIN#)@WrvRJx;5T02Vus}M9i;?aRgLX``7 z15dYLM+i{8LK4!ppUJC?X@M@)VAsm&&~`oR!vB*V}-vSDuWL;lY9K(Eo`CN z3_sCUfhWtRjZ-v24xfOau}5wPY%FUJrXB*472kJ5Ms5-7(!~VA6b)ymN0JhbRm$_A z1Xf4^2TGNE>O5OL*j&u;>ke8{*O+!Ul4rT2a<>SXbpolGSm@6@{1#od)gv{P&p=@h ztr&rwZs*65shWM;p3_=w(Hl9G=Z?Z8KIBBDnbg41qfWCL@vN7f$Sxrqp@-^&!^Ib9 z1|ESN-)odyu%CTKTYiIM7s_+97tJuN_*_#-)%b&8S-)#dI>TVhq>5l?^3kYf%K>OG zezvIY)lU}} ztkV~>5q0rg{$EHU#d?Y%6WN$9mSjj-Y2XOSQMD@Zl)sEf zma{Nrx^N1sT*9`lv?%d*gM8UQmk2p5>cQf;cIS{)Nw`C2b|U0?zT0YWg2z@5|1{}; z!l17WZhdrKICtxqUGAoRGq(E(O_&bTJ(6g2cDjNMWdt4-#$)N{7t;K0v1N{aW;@U} z;iGYFU1Lk@3?D0ZkH+pAKwcPw!GtvcCZSVwX5;?p9HcqVb^ZVf=uYNn&pw?8dho&( z)N<(-R)uj_)3}NT(L|oyP}l%UtP_FtX)~5V|K{$qL+LYWIKK#gyBEnZI>Xn`HBy)R;MW!8Tm8K>u6rnHHk@MY0JND)#s~_xj>i3XcRUOd0E9F$Inf8v34%z zWN=fwDIlfV$rvYNt~$@O*g#b3uY8cQyg-qydP%%7HR{@;)k%e){Q&9ou}&>r9;?S# zoU?F)SQTqICk@=7SOpLdm5JFtB+{j+PSX4+c1<+u_=8#q+fXpGXcdfUVxv0drxS*iDM`=4wVLvyZLN*%+8+8!Nw*7GJ_a^ZM8fyF+Gh?{HqSgJms4|zH-qoM} z`@xY6T<0m`s&Ml`gv7zGSRu!85$;#9EXwD=-SCJtY;`dQdJwc(76=5gg<8dIn%j*u zP7S?sd9e>U4C`%Zv0J^+hp!Fa&nB2~b0~eF`lg}SN6Ov6Q@q(96B9GAsUkcP7nYPS zO^kOHNP+t6*l=&M|1YZIt5rOPuNw(NUUEcam0RGX zK4cNOCHHNGsc5C;Lr5W-ZwAenM&$;g4BY2aWsbmXLn#K(ef56c!khoOS9pYxS_In7 zEqWBmvf;)0{RFy2$5#^9mc>qz*49xm7WNa~9%pT7(<&*#fy=r@0y#@o2*$ibLK{$i zoh^UpG9_1EikQ9`T3lziA@o*#-Ns(xQ5N}pj?x<(_`_jULHF18eOE3xi*t%%7S-|2 zWNUGO{;jcw`H9?hkKfLxyO(vQk7J2?_+0~RQ|{IH>-DgTzPF+fRqMAX$Dw={bKs}w zJa`v3+o#LoR0V_=hJR$<0OGK^9(d*#@jPI=S55_nP-cBDbu`j*Xa{O#)wbaw{>?`m z)#4jEjdYx#rc~)|0xB$v{T>UymKNkaW0RD~yAd=SxO0@V+J1;@FpDm7@LODy`_b-d zQ=$J!Ut&{S7$4PP>=L9ijy0fMyGRFsBo?(sRr2nZbY=t`VlN@&$9E>y1BT>aq}gKH zVnF<%(t8xd+O{}Q2tJuT$B&nX%3!dYX0n_GCxD^x_wi_It*tmz)TK5q8z|(HZKwyl zg61>-jc`)|*%Y)@*kfJ8BOukwuoJWHzE{6HY7a)gd~T~--NQE`x|kNrCV7vpCEexQ zT}hB>CzgZ%@I>P5cuOCndF`Sje)vW7w3V8<0bwuBOm)pTd(I#-z?RI`#=nbz(U7$cJ$iZaR*pFY8K- z?MNaP2^}&*sIa#F#FJWU<9)-R`Z`(Dg{IhIR=~k+s6<~hD|VZEF{Zg*Us{P zK3mi&ILVPxZaP@RgmN36K1KrK&6(=8%$1w z2<7EthKlKg*g;0@7O@?tuvCxGdSQKF08i5e0bv2}>&k91bhho&ocll0#fKOqW9JtZ zMtv63t)nD%lT6oobL8IIm^b}|oO7caD$~FV#IYtEDp)gjPdk6U$c6xF&c8-?Wk5pJ9GOQR7s8!^cvc{B< z)1*V{_=!m9fwVy%NxXe+=8}gP}Q$FeB zXY;a#pqjR{$4bjuznWvfW%I7_<64DEmI~>KW%0K=3pI?D@1vrQx0+BUjl*4>tqhOd zgw>46#Jz?_psY{?PP9Mm=2!UhQOW#}twJz#yV^q61gRr;_V^Z6GS{Q>bQ$l>wuq9F zT~_^xwBWa!=tM@{{exTsHHyX>yUfvUQOKLrg!P*>uP(q-e?PjV&QN6|P{nh6cDjBx z`l}=MBwNN9l*2loEn@~kD13AucloYA)dYQZ>j*%6XXsrg0*+RNoTs0dW~ew*bP8VI zvdi3#v!hkUYRg4XTPhm+%tZ+MmM8WZDi-IpJ16($B7v%zW9`hlpKoC%9)sFQhY>#0 zGkB^a;*%<=V&mPlyCp_-efe9;RKE9rwo}MJ&yE+RoQiZxHfL*&kNsiac7T#kBUNEx zNvruIm4a`5%rfev(2!N)rr^z~;{{<8Blu3Dv8TQwQT|4JfKIkp#2Ek}y<;+&zO%z! zo$b#wCboJ>R>yB4*;?7Gy&x(d7Jy=ncX;~r>05|yq5-p&)Io=u13G~d{@x2@sX*of z09SBK{!!NabU3{CKwVc7n9mt6@fKgQcZfMx@y(N9OO<|fOGRIM=k0Pe0!e*&b{drs zwx=&_=GX@}*+)Yba?sUSzR@P3Lg@0>kkNe=nu|)*&J3XT@JZ*Q>#y|2JSp9rJeb^L zRnO{ZltC|8xsnBpP4wWYsvyg^mL+ZmoXy?w2Q1D8SPs^GSFHA4qJip>Cxs&sll{Po zcyCoseSdxbk37DepqfqcUr|xVOfbeLZgYwCnIK&y^r5HZfsIRPq~Snuk)umZSGiR> zZpE~o=|02>8-V6+-eGbvwX1a;)620w)tD7#rn!4<`yT)EEba{1o z#q`d*i=agh`cEFql=V9p*zkwD{Qh#N?z08qX50L9&y?nX#7_$3BkpAjzz)^{F@1BT zgx{|BMvA6aXVs}wVEuQ%c+Vvk9fnQr)d7$T*o--EUF)`339YziF?62Yv|N0>q2Fr{ zsBP@?GIk;&W#3BoZb*+Ysif$AkGu~7EJ~C7n3Usq?I*Eifl((^lKfooP6|vauxULX z@HL)$6JAH#@!XBuF%$kNc)PI0jCU}@9A-g+vdc$6h4WX=E7oj% z9$7w8XaUDQ2qQQ2man=QNGcn7c;al?UXKmxnnKRYAwiGh1)V0x^REw{-i%(l&8q(W zEpi?B=gu5^2|^OIW$eGvw)>Xb|7lmH0aJ5!6Z@$C`&s6hmj$#XIS1+)kW2(Fco(P; z3qq^XK^<>59Zq!eALEK}Krr*th_}>HrZ$8&Kt!NOmsT^K@6v_gg)`pk(M3Tb=XRu1P|&N_Fa6XYH6Z7MkT$u&cuG9ai>orzHYU% zqyM^&;DC@QWMYj^skUj^ZXz5t79-RmguK_*Um^2)`h3P7^3WZAKKQ;^iYCj~yiQn0HSrVJ6+0um`y^3Oa!w93f__*0#5E<78lBQRaC zuk#sXqq>h;Wt(UmI;?N%p9<2}y>r2;uB$y^6{Pk5{S=JqRffwuV24)EOPH&p_GQ%o zdqyjluNu-1kBGXGuLZ|K_;&7hdaew=l-mDt(_yl~C#xL@2{mc>t$yI2u+XJvyI%g1 zlAUNfexBwHA`!_BP3a5SlWzm!%>)eAH@?&Ev0A8!%mkB6I1PV#R9(DepDG5Xf}Avf+j{LFkR$)?|vA+dV0H>Fmc81<#+ zJcMO5i=F0(%V(3bVo*d^nH;Ikv5lr4N9(brzAb;V&uu6XuVlgEg4y4g=GQ>XX_2f-U1O_d6X78l$}lI zHyg_AfA~UnJDg;vMK4|@2Wq`lU9o#Oq3C^=gRMPIgolXv>mdSuj-E>QtE-LW4t&38 zug@ju);Rz%{PPiV%~VZqIXL_yrQ6Ja|8d1;yG2;lg0cZ`XqQEp8Ixrql}FutT;z|C z7$uC72=B0%7e9|zJK0pKlODQEX6z+0U%y1?)N*C|@=(E>= zr+TT5ky$ak&XRb+tPb((l!}vh(I|3oCzX@~^HSG$|dOX zTJve>=4t%*QnzKZP5rYDDQ!+Fss$0+TL$?8g=?3w! z&8NQX?EN%e3Sbg>VmG#1Pj;4vdgR2x1_Lj?hTPoKKp}30Dnj}$E7)U-iH%1B&-McS z9vLAXLY@~I)HsZofi87qKzB!|iDw3$kChfUDUKYh)vu2NRZ#`;xexqC4D}c$mlPR2 z&{x}f3pI(II8I~K0BK(UkV5YBK^5YtlM9NL94&yfIR+fr8%5&AA zpE;@TgCY@gERT9nbEmT8m00IeBxPS0+exv=J+~jc6m-4Vqz-p~`Fp!xX-|0si?gpx zy7fo|92{@;?6rIw=;YuB>4rH0DKglMt4mI$(2Vg#ELNnTL}9#ODMXGI>W<+8L{RH)%%-0t8ZYzkC>$k=)X$jf5*oUj* zZapOf5Mu9hMvayhKXC_uMc5t%o~@r92&C$oLaU+MIkY94CSRfgw&{<)2{+BqXP!sP z`pf9RP;`*9Qg*YN|LiRaLI+ooVkvBHY=aaVm_$eRRqP!$8Nb-(-lIEDiJ0-zH8T`B z7-!<{utJsqPSLxnt-2zdJ79T4YRK3U0d5@HHVjt_vu*owv#HY%fWbMd++8|b>a zI!~aqZCSj?9#^BV&RnbnL)r~?zPnD7z{bVGBEJ!~o7HaD>)RWbg`g@)#TENA{k}Q> zXs|Saf}DF)XZEpdky4G#{SqZpRc_L8fKIo%jMEDZllI_HJT5Tb1%fc;>&&k+`zpDN zYJVo$Hd|7&4`znltuC?kyYHl^k>;p4LERb$QUyqMf{kHnw#ASbY*R*XBo=;Zj|2PC za$L+!wfG}>#tFILY>~KhuaYSfsxXe`hsg$7_`_)|>@$w;3blCyIcuj;Ma8mb@o76) zIpbS3T#u@Uni`Q}35!SWg3E2Q6Fn92l?%hKT0r4~tiOd*kM-tJdY}|*dcCU%_E^zvf?NY4PG!WD%-Ck9ZWF0ju z%>JVA8&2a@YP2%0(vakLq`$<#_CeHJdeJ1*lT~9+zc+y{b@)ixBjSR@%K0Oa5s>U) z02TxHd$3HId+Z&n!)>g|FCoaN0GQ<4mp4~aHQ{WoNs^?L96X`F&RLEJME2(udFAXf z<=yk>fq{VpetNc@FLiLbhFazV<9_0jWOSuYuxckKvD;P2pif;%ykEmt8MIA}tSfQjiHkQgcX6cq$NGrIE5In5p0*H#Ap zB^3IbFBzvLS4*+0yY#H(Stw5#P$8o2;`S{j%u2U?^9hs zhW*UTWWPX6JGrm;iXXsO)XYYyC)kbxbR$}*>N11L(L8rxG6L>i0+69<0Cu31HqyH1 z0rxk66=#l6?!DQ3I9LWxXj9hM;Q~qz;zui$jj#BtWA0vTy{!XAhdVvEpM)m@ zoH=ohfR%jCHO*2?V>OkkRj`4C}M{eKias&>Gzpe@C@NSlF@jn-@Qb5>*&=2De-+ zL;p+>fP6TLTjj1^4abaV%LPt8uey`6-P}NO>w@J;8WDgf6$a@0C9cSZkr2?vLxFmn z8gX$IN34y42Ziif;OS!E3dYc>n(Xdc8qVif*?9Ovy z-`5js6ZKGXXA(*#F2mnC;Jd*97opV^N8Zc){}6a}uoS+IoMS zE~desl+rk{gae!oFg9{L1j>kB00vH~#g2A_+km;6jxT3Ndyse#VEjXdO#C2v+ZroX zWQRm2^6C^NiA}3nCWxHPyQ^ma!+a9R=REsWgx}Hu@Vte)I5DOo`S1o-Q=54|!NipA z`wP%3#oz*S)##&aI*~yQttx<~JbF%c)7VgzI&nV&z-KE(8pM=r0qrrEhL|TOTQXkT z@~}}h&}{_AuDu5EP1;C`5;^qE&WXQgCo(y>&^g_v&G<{%SOsP8^FVFRuy@S@w5E_- zD1Z$61~6Z#;K5lGSIqJM)8_zLT&4-pKscFd21B=-u#9nMC}Y%PM<~j}GkRzfoLv$e z=fua1+1%)27~f>dOU$)V9h&b`<}j+n%qFHexl9;&2#?_UJ0lNk=U1j?CJ7q9AMQ9> z>U>;pv)b&C({|$z-Tdfb;=K@NZbH6z{E^2|ExF6IVz78Uo^pL-!*_4JFEVjBvJd2E z^W_AS?IezN!cDetdQ{Y8GRJLp$rf#C{mLKk=`KrRt6g%*^V>D-nBCb8omCsLyf0<4 zN>jSik#rGu*sl7d1^MxcR&^YTKPgy5ky!M+m?qdLV+WX?#*>4dz}=vGp>N_`HL;Fq0DIgnEL8a5KIyY~U=^mv`~_U^ zxvETXE^GQg*|}kw)$kW`I#FyNFo_V*dQA}odyLtsk9{hrb`;uKc+>j2*${LW zl-&Sc#!ntX9HXF}GiN}dAG*%R&2W3W5(8ayv>!#WB)9a-3M#SH#>@(xtu}3cbIIm# z^g{xr)5nRDJ7MTpy4s&FCDi5`&&D{)eoh+iCfy&j3a3D_#og+#aSD5}sF}@nVyl_5 z7;FW~5IysROj;Hhi46?%!uW`B)SZ%3JN!CHhBj&(M~U%OQ!l&jNuj+~X1ke%$)8cF z^&Biejw9pZcHB7O9jmm>7n~X%I4#3LK7(z;Uw(Q+1WB%UvOg}e-OnyKeR1o-V}&=b}^Llu>v z+!vcWxv{EM+1Zp?1<%2y4EW>yVYgk&aGnTT|h)oKJ zllygt#wzI6yOR08Q*xWEKuc>P(c+pG0;~BiKx}Z*;wn{X&QMHHsIivT-A;ZL#t$4^ zTtd9sQXnonKcEdETX_&{32Fc)4A#+E=(`=48XTn&_^b{d<_V9>2S~5a-pU7tW$47S zDrRZo7nKmgHg|AEWu-q?BEouL}j`S-8ilL&;X>k?`hXJkW#N^aw{=X zU`kfB-zM+Kp;>9J&TsF5Uto`k(g$kW4e)n;|DRWdb(Z^K+fA-DKRykk7CF3j80?3{ z963`K4WGK@6Kg4Iz6}{Owes7GGw4`@B3&x|=&Q!O*_Zjg%tBP<*AY(>^4F7WdmI8L zCx^Gg^iz${0IS+H^|qel>znx28_+yt;JPIHM0JmYTVeWeKymt@W6*VO>d}X%KQF`- znIArl&URJM6Y^Zq1BbPxq!0>%UbEt~2I8J;Y1GC=R>+30&RzB-XGA zAf>Mq3IsCq26+vNQWTC2Mki!%StEU<7=6eP+^|0z4%TKQ1Z!2f%zZm3U$0-6Ociy5 zN0sh&IR)@*tFcPIfq_yKmUN6`UucpOHgD%~`#iNmdV2+FfRk>*JqtP;D&an@r3pGZlQFRqV4a2=w9fq8U6DJ4)LKMdJVNhzFIwAw zveN$4XffSR_tDJ)!e#i^TOcDMo|w=@+c=E1?*8v{`&S3gzrhio$z@)>cb5CvZ3X_T zQx4g@MPPw&j0ZJ~3x_B2)XVR(FKy zf*AAvoQE74K3&WGr{bw9Z~xDO_#Y#lyR19JWaOp1YuZTSzc^iBckv#LlUG%aX#Lgc zMnpd`dHlfX!&sZp1-aV)-QoC|T>AV_+as;`|MH>g5cq`3WS2YAj9tDE$p61amcu*W zVtnyrmEga+#Yx1!x>AM9c%5j+E{+@iuW=*No|r^Ekf1(bs_^+Y>HcqK@iU3I6~L4d zY<|$RBmeSNKbd3t*k3CgRdNCEScAkGvyyP=>{)BInYzLVX;a!##;NQ8l1BQXt>4+)_Aaxiga7-roV+}c>RwF z4$`UX>Dd4{b4^fCklkQD=pRxT@&Fj;Mk6#x?pz3O$PyTx-4FA-4Ew{nPOCEk2KbrJ z`ZUcy?k9Wonf%$4Xgr1>aR4Cnzbztho0XlNo^G7njqp>}`FF4}XTHY+us)Mx_yLe4 zcRi1Kpkh(mSzi9Pxj%H42TdQYe;nr&Ik!2}A0GirdsNBpO!&8@Jp=sAjj!qN(0@{j zh^SY6S!|#*%`8Pi=GbZczpI}N@zNBLY|vP>eWF?(bU;H+R+s-Dl(x?=pS)Ub{`!J> z=DZjG^|M!aLxCZmRX<<;LncI4h#m%uuXx_Q@h8j=aB%<;NU(90^^uXugM4g+3vH#! z`7ChZuTD!oVyA8dJMYNG2mIaf(4Oy{1qMu!9N+9B2`4efnV!R#jAEnC;tdD;)sI-#cx>B zZe0JHKXPUvdqU*JvU1t~Pi|LamN>XZJoJiJD=i7$`TOb+f|;pEJK@ZKK8hfO@bzye z5nvZu*FF=U??T9B;EnGuXE;><-UE7r4nNrWD!JsdKW)mBhv`pLRaJe-|9l>Q9L-N6 zV&{_~A}_Yo^9}fy`Maleeu8WPSN=>tej-aCLs-!MhVjpL0w0Qq2hJtJqo>07Psa_& z*cZB2WNR;?t&RSCzs1APZ$4gAXZatk%71kt<$A?t_)7ma-nrjrIbRNo7dy?ryTW@i z1fo}69NxYAZ`{kDO+L^Gn2bk0gZuFD#-BqKbuR)Lf&%epzUQap%s@Up6+v(7R9W)3 zJsl?cz3y#3mg8{qTx#Djer~3@j!vBX!$4%ZkUyj|nj3{VT>qCg0y^tM06b-*3LwYR zZU#IEy}<+`W)DxiADU{C51FjAj>7hntqfS(+S;Zci}%rdU6+?47!LTyw#rNc6+_|l z_5WG6qUHyjyWm12`rn*n<`u#WzctY@Bqa6vUA|TTF9yF!usUyK2Y8YO0F|x;=oi)> z!+k;LD#RX(oSPev0Q*8YyEw%4@>dd}Uo8@s}R z&ZNd)N8&(sTjH~|u!He}M*@6K>zh)?pG?mg{rdUc=?-U2Cp#5Tu`6rM>j6`HtodnX z=bgPwRJf92-Zk1#$8+?=0H{1cfQCICJv}{plbK;^A%`RnY+oMc)&+K#``={&)}v1lTJRF z&Lq>TbImIOnu@}uHa8KHJBcr3G)lHJv*AdWx##EEAE!Z8yCl#YZwWaCfLWjDBsLbh zr^dm~zDt`xtF`65BA^c+1E7>2mZ?#na&ueHOWlAIE9qAU<(-!r_cjK=Y9n{8(`IOm z2J^r>g-|1P_36t|SZHW|upN-gmPCI94pv*p{M(1^wc|~o<;q^{w5s{MyBiH)p4)LB zZ8m1x?$T#;e9wuJ6f=j#QzXR4=SA{%1t!7U&0|ecEP$s>0PQwrv3K}lr#}fvhMEfX zI~g}H>~>m2K+cw&zQ-^s@j(#W;tNUU#Q=pRz+|j+?uoQ9FCrZKs7$6AWT42x)@!4p zd^11|NVZc1vbg@KNd^4)>B0(x%>8JV8CmksV=4~47vJxD8CAcvK&g5I4dEp~$1yz7 z-u;w4I^E&(EBq!}V;a>|p|0)CSKVq96}2d8dW%R~c5j-jEl?!;0JkM2A-9FQwN zV$ALbTH$m?d|W-giTE$ai6Chp{ogdlQfDS$Nt`vdN_%5XC+rUMo4i7Yx$j2%jL;n; z%O+P`>Du>&#u|3?Qy<$#t#V+^(#0Owf4|q?hT5?yD92L$Qzn6vz6vThv>kp8VR`*; zcIt);0r0E`K3S$%gsx9xZDUT) zJJ(JW8*;Al0o~3j@q-r6gBr;W*c;Pjcz{Brs_(|jYK}+oGWMV(+jCm&QM;U^raf;| zY@UJFirq|KM;C$7>5ancCUZSmO@EkKVJ=h~Y8Oa^HuX%IHjy|}^q4=F%Vr*EO4ivr%O*QqT4GLz(sf^Wz`q|;Q!hLhIt?*|gT zxxvmePWq0Hr2rf&tX0UPeRBSM4i+WTpXft#_ z%L;Ynj$fx9x~pS{00}hhVPId`*?xyIXC&?9g)Jq48nF#aUBXk_+{RcVVLRWA=X2O& zFn0stqcq%-C1Zr~EwHKBcZ?i2O~ie1OtS?zRTDO9!tEi@TonDMEW zvqCPR-acN2-+t7;xK=i<8#@Og-0L8Lc2c-Q-$5xcPHZE6nR~aXWNccJ z`?|{z>-UlAQRCgAHr~-cJ(uBL79m;7{Vef}u0J^;n{h%Q$h6LR9#K&U&WF?8QF-i_ z9r!!51}E$^nMUynvmEQ_yDXVX#`Qkaz@h`19db=^>#mH3FHw$-hwn$a*I|820|RlI za#-mca=c$TlD!qUUG}FsWI@^(xN$vF$agz5Ub}Et>;N&4GNN3_v-9G4i!85BYa;-6 zTNbVPSSSfrInPK>sS;Ew_ii$1X=xGZ3uUF5>USj4HDhPu4mE>6r|4;DM5`IH(pGha zgtxhxvFh$*szq~GHOHMQ9O;^=Naz(S4&)yms#x&fhiN=2#3{%i-rqYk#(HUK;|74E zkMmXPl@AK_+pZ}KsRCN8ei!ZV>`r)1UDsw;-to$1dzAKI7vU69*sNAP)1yDGD# zSeK#@To8hM`Xq66-Tbn(-oL`69hoPKiDB)W{dEQ13SX;(x=H0e+?gq(+R^L>+N{>; zzXDz@x35=C49gIx%CM1Enl7CyD%jW1X^FDZFxIaH2)9fAF9n<3Az8Nz0Gh@IE%6+V zy`|K|pjQ;BJVYC2FyZYGQ34Gt`+qol3#h2p_ib1arBoV}PALJA2B~4_?gkO*8YCr^ zkO2fly1N^Op+Q1Gy1Nk=8tLZUbI$La1^Ozpj&eLv50*L7VUxZM(# zAv-Vwk7xX0PvIp;`iX9eLg-5%$yqmm+RX!6uc%|iqS;@j!+9b|X*Q$h7*docQGUD| z*@71QFLz-8xc6h6%5}eooZr$xX#hxhKAP%NBELzF&ty76DxLx)U6Tbh1{xRv9-=z( zvZo3OJo(BwTnW_9<~UzuobZN?3My3Z5}h)`c@2Hqq`Fn(Gnhij_=lx%2T9L@hv{&` zho#5c>7;8B86nJEDn58c{$1vTnwsTlfs}at>Ocm0G*)Jkh@we7S4l`eSlC9^-Vs0? zC4#@S5b(>*WRHF^HbQQRB4A8sf@=lrR=P=y9K@q|u#P(<2TiFU^@nk1goV~aM}@)t&mIIzPv$C7vg=2= z$zt!S6Ae3?ZPpj8C}HEYiMJ2l0JX!1l{{v>ak7_M-#f~DR7tnZ=w6cwd%6`!53yxl z8V#}f$yhwSwzV+2-(s)PS$I>zI9Dv6-{woDeW{J2fkAM5M+a2>m|Vc0+Ur&fr=YpE zD%3lE^UFU)TV;%o6>jlDhpFZb$_ngn5mztc)(Gz^uICIXX_w~rTf*38_(R4wX0_P$ znFLBy2U!lvODx|4sZxOo!xvw=6rG)K@?+n=t$NQSy3-j>xo30(yhs_EiFoH+MTJ>p zEfVD2Un}UUNM{hbQ}&g7*E9tzXgyO>Rdu^~R27p5B+Gd)y!IR> zmL-k>FNL z4xt(B7Bln-`~Vb&b3FWlSfM<={2ezYJ>%yDu<3?Md%J$>Yq3|kXgV#!r#_4m>iX7i zrb|b1l}ZN{Rfc~Sf+e^)$az&-3^iet!Lcq*KZ-aM#w+;Hptyg~hko-e%RNI;(U-j`kucGGyEH z7n0h;0DmCMp2gVORE3C8MrBzy-uu#hlEpabB=%yMqi7)>931S<@30KMO^l^d+Q|1~ z)WX#+z%#uNv)U)TzEtruQ~xW`xQIhFh;tjZ<*u+E4tPC6ud&3VX76cc5i-81E-`x9 zn3Y8w2lB5S+y?O5k1L4`hX+GYmgtj!wy41)6kqv?@H)1xw*m}WPOI|IG~FX)*Eax6 z$xRZ!zL8mh(cH_>{4J&PLdSaX1^uJLGr5!Qo*$j=>>cpwVOzH2{P44riV!flE3viL zHe&uh9Da`HVf_Alr5P->HF)AAxboa~N!P=tjq{|n@_h^=>FetUZ>Kjy;g(x!C%q%l z&B{k&azQLTj+tx1*6dA3EhLpMUFCOS#V)A;?y*1I#eC8~Xy~{Xu%0FdoBQ!%@1gSSV2zwQI+aHK6Y?JX|{0+X|n93i^X?{OcVF+{^;&;HVrW z9xN0F4D(@HM^h`>rAT1_^fU(KM2cl>CchAcqU2pa^$#aeyJQA847brs1cfBD2U8cn zoopUD9(rFM9=v+=f-U)D_YrPtLL7yrX~;bNkQyB7J#9V(4jV!@Jdk)pFM(YcwBa^* zf;bC#7j_a+{Ax6Ua-#`qg44QjN~F5l1b~Cm<9(##H^fW}K-0ZTO+Lds3@aIM2Ou!H z;T!!`U@C+&&f(e1(Rt=9md0Z-m^QjlbktAht0wYNf;{4j3JUnzV8mW>NQSOVtsP$o zb$kzeDd{U1#ME|AH)xfB9RHs+|B-^IFNcBSMmByj+Qt=EuUuB?;k)QmfUNB1mE_jZ z(EHkc6M|Kj&aj_Y>c>lkC4z1Ibyt`Z>Kk5L`uyliPP-?iKG!Ub!6LaM&bh)vThQDT z_ip?3yN|lDoa|DWcJlcilJULJs}wJr4eG{YnX9#kgxYiP?v)hd73$ZT>FKKUWW(P{ zl&okNvaYq;@0C`p_6X=rP(*Hz{jf7=i08JR?g{pgsFUrh+p0a-s!~^}GIvTQE`EOd zmU-gX;a!mZUlAvAdE%l25)F@JVw-+XSVPcp2E_w_z9X%D@P-oMQ#LC+PsZUW)xIpL zAKi4qs!q&at$vR%gffmZR62o*C$G@kA8!FJ!y^?0-80prA|U3Q*i84QFhecO$6Wr6WthhlU%-+yvo~`m z^KjV%@QkyAVXQ-ea@2KkS6^y43`Fx7AB&-DO`UY50)Sgy?l3dh-f@}&HY_Skh6h;{ zzW6GtFr#gtmO$?{tl%XFqf@&Wg2*$w$A*aueNc-+3yLXtS;Y^O>k11rjTy?Zaal=0z?T$GwMGO-j_n|van2ftgSj9>wLa%G-Gt^s58aFR(=|R^LQP11%x~be z7~~xAVzb&~@lfQx%^9oco1tLKf(7hnPEeMq!EmFG4?(-BWz2;59f#W1i64#?8dA5_lG}2WPz-}=|rG_ z`Oe&>MM#QXehHi@a>J8n4rcqvtpBuq+!oHdfbk$iS39KOfvT5lQ@&&WT$qBlv7>cL zqPd1qK$Pot$z3@Ef^FN~gv!C4+#JG=9>>c!HIJT>Ikxgv)2x#x-tKzORObfGV0TV` zGwBv)oY^V~>5-f)i`c7)U6!@!gy*w$JFr++y=^}13!=kcvE6oaoRA`Xz-VM)QmmJ} zQnDmm1MgQa1nKnmoNPwTX;w5AI`49|KfvyDD&BT`OI8X}dj5OZoYs%Zw^PIk68Oi5 z1d>zf5~2~oFSGrlw8d${Y_JJi?>)>;l_wUwuacNywQ*PGMHNQISDt;AFZaR7)v7Azukl`fZRjlX(fM~d&cog?Vj=s@@2P1LVUQPZO z%^kkKVf?v6k(eN70vkKvWl)SSL~5B!0;Pw5S}Fet{l(Y89OjMK6^=Sn=(OWgwC|M^3_&2<7|%4FwkZO1VWqogs|D2$E4*R#8V0DB95g6A()*Sg ze4OO(51C9-D6}oSyjIv8$qf&GlCdJ%yhMc<-IGbGARjO`+BDur<^lrR@Tj}hbGqKC zjQB0BvN0P&QF5IHI-=o3zb$Suq7$kB*1hlqrw*Q9)Z~BN;?y6h_r)__hDq&sC`67r z;b?!U&CA_wEEZj{3DMvT@bledrvZ7RfRd~C@g>%8Lx|Z=Kzs&zp%h+k3c}2symMmZ zGA6JInQQJR-(wCflxISWlp1N2Y>_3WntD8yWTy}UdI<|QjjZx;$omZvn?xLA`ljo? z!x;qf1c zDYbUeG9O3*4|LQ&T2`U8Rp(@gQ}Z}Q=`?fns%6GF1?e3wF--1fy6Y+}bOrr-)2|=f0Ta*43!aLrsv_1ab^+DAWSLtik+dyDB#ixQ6XpQc zTW(3odw77m(G$Cyd>=`-y^zvEak}KK8S8 z=sHpm`b0Kk1-HDpqAJ_^_9gNks#oe=OY@yZ1`RNu-PYS{Qaqmop;X>J%dBDQ7f+ z(-UfXi`W|k(3(Ot*F5xTV;rQzB3ryn#yc3hE$Q-|E4aWWHKqrP>_ z3m)P;F5`pl5*Tw{h-wVoA$-JEbm~{fF45u%^fX`ljeXfr_9wPhMUP7<;P$d`CQodVh_1h#qPg0f)d$tc)9@d&-X38bdP^GZ^;h5LoQLtw z6&Y>$zvmd!fbqD_SD*Y~*kK~3_H3x{N05;;-h5IpsF)mL{`m4xuh zCt2Xn30ssL9F%i=zPWy&x3^j3H1UuvN3Z)$|Lt6)QTY#s-D-S~({kZ_?gSm{t@-f! ztI`%}E=@v+=0 z7!j+4btV4})$irrkAAX1yUF-=&>ez9<`^?OW@|2l%J+j7Gfiie2Ovl#hlTX4Z&(-5Ms3T9zpM}kpIwv{Iz<(p-$%`$v0=^92C zbcCqJf2E;242aw|+GB3C4Pg5NpYGg)83+FU|*v*OciI<9)LYuQB54C>Bu7QZ@uC9c`Hr}pjEDf=( zol|Gn_>Z7rms;xz?vdOXCoO=_FL!|dur~|G4xVVF%I0f5Gd_K?XMU}p7{+$J^_aNU zJ=%lctXz;`?sz%mWLd|2N=LDQxUnFZ)xfG}_88IvUE*o*vu5a2Uvs;RbF~xcXWljS znmrbM;VNOJrd5xyV{&}cIIF`(GV8EQ@-9OmE-&w${gmKgvVA4qu0W-JGVzS{r7UG7 z0|limt)z2x%J=-okK=;kNnQJy_0)`$?iKJW7w<%Ck{6p2Gx&$_^JIJ2n# zrQenKdu)N~n1wbnEg!?)_G2$7u*AgMDJ!t(M|^~zWo?^LtpFG}G`}tw#)z9tL;WDaT7cm? z)E(KskF8o&O5gMlXzcgeA-!${;B-OZ6uDdtB;qSu)J0(;UQVwNr^N{8Xo)PW>z988 z@OMzS>C+C4gKqrxdz%|LjeSL`C*DVu@H@@F8bN_XURm)t??!+3}ddQ=1ZO|s|O zHJ|b$a1_^V@amXMH_Fm^xWHbH>+S)&b@@iK7`^&Ge?{+J&E)s=8W2oVxF(;(6z(aG z7eiW~x=1#8P|GXAAnf)v#G`e!b^N>c%K~;A-u1NJhcCvN?9?n~W% z3rAs-TZx}+S2ePYZPK{zl$+PrcUX?_6gjIgbYr1Zfw73wFZcvc&a`Ycw+?6dA@Sc$ zwyuubb3*ZYR%@dQ+H4UR0NrS^9jEy=T(HIs3&Mdb$X%y-gWp8-(Y-~2BClNJQ(jFy zt3mt7jeDGL=QQK@f#Y*-U`Pur6(-`luZ(>IO9sj!M%Yxx$}g`zWgJ(P5@x?hw0tEI zQ`k+?b2H?p#4*G{IJqgdcMtp3BCdr`R8&;fO}}(Q4q7I4clt?C7;m z^xHc1;R~US*Y*SSsS!~<0=YU3Zb8j!Bj?IEgG`|0{#sK3E!CejffVjt;pwr$KlS)x z3v9tPR0kvP%SzHmQ%hW(D4rOCFicRJRl~G+R`{~}XX*6?3v!P?k5lq}yV%0-p5@=j zIXG`esPHgD7hByG=CD}XwCcJby8@OIIejrH{9Hq|kYT}q+oX70ZPdrdBpAKF z8+thV$rW#AG&ZgaTkGqN5M5urhb(y4+NBnzSZ}u5l3qBMvnBTgwZ{mKTif&%XlknS zO+I+^I7mOS&Ll0_qg*bc+&~ax3GM>76Z(3+|7Y9HpLYKdI}xyX>_onm-#gBz?tP?M z>nbY{3n7rP0%EJDor8V^LJ#wMJHjbbb&I(^1Pe2$)zYZnFONax8$#F3mptam>{47Z z4hQfr)EjrdP{0^>!YDdMM?qYERHCYsVpN$;53nh=FR_yd0@yFo@&s1ye+-@8xEo5t zB8|$BO4uihdv!!5dntxpNLPXRCI#odn75{>KvTxUBW3BK(P4#%b2@}tJBx&a^3MlB zpJ4W;Lpw_Lg{DEC6y9e`n1!RMa0L|Vc+ZH%JRtP)<_8DwV~t&Xy^VaPaG=6C3ch^B zEGf4qiQPqT46<>Smp#imD%G%6au=D3sq(^8VkSwVDGKrveknoSV>Ug2C%vKls1pRQ zi;mXP(ss|X-=6kmOl?Ug0g)utOyyA{QpJd|i zlu47}xT2CN`JN-Oe~TV(L=F|Ni3u;saQ{8P0eXc6u6r;faGZHV_k2W3crzd#;Fh_x z#*l~~zj!UCo*SDniryuWu z!DxAD>oZjdsDxZ(HsS$Y^bv&`3hnq5!jcbk&qlc$muTzH!!2j0#% zyj$>E;1%4P_wYVVvJ&Dg&|`^yhC)MyeC$Mu!mDP5t@Cw*KA=N?d%!U6`jdb6muCBE z`6Gyl7*~UN*I_7Ppx0ieHXuw4?4S97^hpu{p8>?BjDq3e5IR(Uah+XVvfP=^V-^Bm zZ1{zK?;(f=0yHFeWFUg_l%NL89IkY=j%NFdEhPHtAn0|0V(`nBjR48J9lWISRIdm?=C(OtIF2Q9R-=N_wu_}5u+Es1;Br}xUU ze0Y~OY4~U`4?NcT4ZY3J$UnqmZ8Ug>!-6chFK4>#2LUGR?fOjvRIuoO9=Zx2T&$+o z(&oY!Q+Zys-TEL4hOwit$<2NM_&j?cZ5D(;sg<;28EaeqN77?U-{}~-b*+aoh#!Ccy1YhBaJ&293`TU zwJhw<$5z+Ev8pni5F$M$PnclSp#mnTMzX7OIMex35VzJ!GkScHT4{6m*B~bje@ND`Gc{R8!O(@S3{obiNmym$lDbi9O zTeVy-GS$+PD$~oVvKQokErWk9hQ(A=)cP!o8_KvicmH`H5U4nLw$0Zk_u2iPUP9Al zpT2pH3PP_`O-Dz;_h;IT6YcfeM>o;qekk=QqNU*#7?M9}3gCCb^1-5Iy7Ve& zhL7_h(y>rnl{-Y}Wl)sp7(a0gO+Gy<(&4KpN3RzS4o^_%c~Ld^Dkj4YF{sI$rQF(T zUnH?V0lhpag;RHke-0QyXNZ@o1#}M9ox~_XS%%c6IGtINKVN=6fJo0djVP$Vz|%Cm zNiO>Kny-G&;5Hx`G|w$;ppnpTu9rL2muw32jq@81k|5~)I5G}CGG1~74ImWycFQSi znVvUKpFy8FP#t)kGWvj*sHUGhpltWQiFf8BkQwN1JZZ)s&plc6!_J}9Ynav9Q{teS z4WCY!zA~$^uit^64?Kt5UVBVgh_|8Lz)t`mIw)~jVA$=wQ92y@W#Zo4wzjEUzR*x_EMJc4VW7znLQr2`nJb0lF%mSLW152Cj?2$RUwvBh; zBF0MoCpWTkCsp*~KO3<@sg73ABc4ia^_qd)$#r#3=sk}N*+ik@reVS>BNL^m=G1T5 zQk&yT@E`j!CzhWdXk~n<>jSw@ui69#5VZ zl%;Q2N-LDlc6-Y=)HP~W8!%MW)}S*`If8Q8@*lg@djkJ+|R@kfR|xfzGd#A^^5G1(1gy- zLIjq+w6=)1KLER-k3jdo@dx3p5B-3szZbeXvuaq00=hwyGt{tD!m+w5S}8<`Gr+yH z@6O%l&%@qh(j{4D;dlX=xD39}P6~D}TssN3R8!Cs&r06Qs_vrcYb$}PNAn7O*m0$D zR^4hxBN6&pQmYgYdn}A4oG#N)M{lB6inElv)cFp$wC{X|5w?7%vo%KG)wKSN_rVxg z*ELp+uH%=Ht8LB)7dm*lPXZ*0nC7&gl3W5pNp z^cW-GX`xSCE)4qQpd}}AP1*bqhQCE`AVMkAx$~Oxbj$v_G9UmThpL%ZYE!Ho{G|V~ zzOi?Jf9Bgf#YK(K`DDk^&2dGO*RvVYK8&UA=k*nHP@o~9k<0820zbg|h7bL|`GY%^ zxUIzm9d`|@CyYFL=2OZ(7FUaT)s2ym+Omf|&Ns9M5!7qc&w%bbwrFZ%?XdpG`}=d* z`;IP+uJ!rzc*t+=A5@fq?!!G_gatHgc39f3sU*p@U4%~w zPkJTze~Dw=h^q(W^^ueEc|hOnhC>*C+)9;#1O{0Qu$R7qOF#DU3o6^ESZXH5$jpc5d+odzv zy-LCQ;B5*m{HaIcZc^lBHbN`i`;`0M!sBs*N052 zKbicDjaq=l6yKLKqwf5|MpmwAhRuIPFhO!A1daQu)7200G*c>^EuM!MjapHN#(MuT zc9UGb!?kDimB7>|zd>39$n%G|$vL1J*k@1=m~N}w!r|lUnZrt^N#$VqMqR(B&y|3& zC(zM)Ce`@Q=zT+x`M@{}4$rau8Bs}&s*;2Ijrw6`<94J5PQNW|NYeC}6(WtZ^+rcV}bHrOKdEWeK1{ zPe~N+%ehZY-CA3#mNx9$qeJnQg>7LV=DMTxP+3~Cy*hj+Qi)-@C-T{(p8dpwAtRht z1)m{9k{##A6VX_>M?^oSwsp29zf>7j@-D>LI+}^t-+Fngky5O)D!_hFDpbf&dg4Co zu{BGyU+w(e3kIBx0wqyU%_gTt(4W@!pTC1_7+)R-T9}~+0MOkhThI|dgl)iQoeQ=) zW*GU$A-4K$yv#>0Rw#4*v6d<>9Vv#_Uh~eonGoRNmWSrae)pH1dI>S3`rsJ&XvV>5 zv6smdtk#Bcqz@6Ll3cz98V@T&eMQ+=#{C|(vJzu{z39wzSsD~e3xIAPe<5NZY>gK1 zNw8#vP`O0Mmmt#NF7Y)2qHp?Y4OR7p;)jn%1agp`igLOU&z2rM> zN39#%90r5Fm8Vu7Z$|l#$gL5Q^5kQ{vs9|H&NL;{wqzcYB-K0nxM##;`b?3h-2r|6 zj1+>VdqOZvsT8=GZ#9L+K@}#{#NcUkewpw@mC=}wl7*wG+R==cXfC_c{Qmn59;02G z)6UWm*Wq{6N%D_6*+4Sd%>bAA#xvG`OiVPF;afZ5#Y-5irP0WH|1fz zAg?8!7#nNkmKdtkC7Fq@s>@6HI+33FRFn9_Xj|h0%{}FX+p$jwTUttZ#8$EW7VFqV z4CqP{bMyu7c0d_x9)|6bY0P65>mn%xXNk}nJt_Y5tx>=a4(v~G1heti$zdaJQ=|Km zd!L}+?LT?oQqABMmY5y?Fz+c*G3%6-fH-UN=CaL})_L+*TA58vE*pHVF$!%oE^R({ zu~71{p;SmA55qpTpTt|p*teZJyIvNA_f`mri$Gb0it39^2TE>&0UyQTWc;iJKHM!A z5dY3-I@U;8^7UeOi}sfr{NHv}oR6FMUvNq;*%E*qR$cxMgM{7_8r*QzRo|SW zSLmaFS;m!gvsV^J;e?U*ILH0OQXm4r874p+=cunHFS=g8^46F#97SpldZcLw<_fRhhVd9=zT@dx`PicL$f>b5l6jGagZ%*kHFu>Q>9uYB0jX3$#-^9;4YdbrS?G@8 z76|=X$Sy{{ugs66>y&rwH`jYUyvr*->!F%4zwR3U3}J85c2Xh^_-a=@>CI=-bG^gt zo>7)woI;x2pKts3d>^A8)Esb_&O@KE02=19`jjp)sGnYw^IoXQQ>5LB>Q&=q3V|s< zdPk714!NdzxeN%MwhK^w@&HI#KQlT%xefqO_#7v^y8xyCBypP2$?=3*W=#nx?l@lN z0LUXDNM4vfAV?YDDl@Fmx~ACy_wV5cScDks>q+1)J$MBBXy0UP|7GoHMQJ+{C*q=I zP^%QfSqzJqRUT)vVn}(05xSUBTwPL3dVxLC5n5GF)>h~(cYS+w+*Wlu>7qBoGn)HL zBS#S4@-9}&hCugwhx_-kj9L$2`lDEpGHek9-pQlm0qSph<1rFPL`ETcr57Le6qu7M zk8Msa?58~T6st>{o>*p5kek`tojy$Zjjt*uXB$~_3R{Lg-1|6nrJWrX z0c&uIKU{j@5J7O8hS}ncD+??YM;brog!Elf;r-oswe@bP1=2>I75-N{~b4 z<_p2;{!GUIQj#Z)jO@9kl_Gm0;vHBmjjWpA*>SsEYU}=6$T3$`lhCE&C@OIe)mmGN zxK+ArXr4)f>IwI)Vw(Ppx>g=TFJoym0Q#3L6AP(6{o^%<*HFlF~4^-js)$=+AO_ zo}$av_UItFrc)?E$Wuj?+e8+)Qtj3` zIrGs>yby(yF4GpLGkbQyOBrrhmeZ$>XI-44KMd_MCa!$48+ zEx_hKMKJi99cz(+9*!Q%yfhzXRkeytcy+-UHE3 zNTd`ZcF?ftbl$@jP!Q;=t_|9jYaV3~9h_ey3jjl+q*DDIUoL%!t!~4y)p)z)Zsj`t zL$ZOZqr<;xt7g#XNJ6ZKH{G zwEo!Jl&UqnaEki_m|sgpnWoA!Awj760T3 z04q#O#(jMv=*xyGh`tDMUj$2!gyd*QE(RR7latzr6KFnaJ73D6+LQob>vnv6vp6<{ zFWc3@IGJoWKvelB!RhT_|V$tpJV|eIPDoU$Ab9cZH^P=bQ*f=#qk#L zB_+(9nS1(#((6dY)1gS|AT4zDn%3V6=7?B$G1NJud$dpyu^yLJrG}Hl5%ft$=4hm0 z4|ERu)j+O5`bCBz;Mr9f``Wd1$->h?H0H6`V@Ahgdb-;{>tY>Oa=kz;#6&Nq%5Kv( z5m;Y{xH9F3T__R%r!EK?{xbuGN0AIUXuAf)dZR=;c=Mz?WWxSGw6Vy~3@#O2ye{IK z%pEVYE{SzhID0?Y%?@0!^YU^RjQK}p{B6E zLBe0$}V%ZkBk%v*1aB!D61d_Wz6-hVM^Qqq*+rUhq36 z`PLSctMi6U_UM?^Yh7^txLDmy^9TP@yDL$-4s|Zsgt$6ZhR%L6%c)27ZqF&rC2zvG z15g_eTczn@d7J#}hN|SJMwo-q8QY@vaWk(-*k#9pSnYzKf4HX-Q>n5Om|bh{p89j!ZO`6nz#6KwaR*lKd2il*l~Zv zx{%tAgCy%?yCC4q6B&V~)Q|<}cH-RHW!4^S0}+UW5hf!5OV2k?cd4UXkA$7+!xlgU zHG_}0SJ1dm!>HKG0&g?=c4oSFYH^Hq+rDd--R)sF6C&y-A{xg=$2~V=CEUGzvsC}Z zZqNSuGC;k==(sF^c>;QOoa)y`Gur@@XhkEU~7H6^!@)v{gm2XS=NNsWd^zeX$l7xQ`-jMk}^YQmY z9?k}yZNy((0RQp{6{SApIb@kQ(|Q$vA&TO^-5jJf|H6<)pZK+xUh?nV_+RVe-*2To zMM0v4KHfv?ILgj)V2!D(ihl$9<81%=LRvB&;Djd6Khco;*TDSqiNAjjcmfDa<23*J z`dk<5W9^-%g93~EYy{auSgZaM(`d|6C|M};lkYVnD zj-}H7V0^zD-2eUjql+}~br&}^b^8B*-#@@`V)fD5Vft+fB5hX_)ym3hy1*iu<&QT8 zF)$FdLm2i2Y=4gN>yOlF>t`sAh0f_nyHO@Yako>ypNaYB&DIu0XQY`$d6(%N|G%`V ze|>CF2RU(c_KHgWH&*`pt^DIT5e{%eSgCk*WB==-{xY|J9qj*lF*#avqTk)Pj_rRO z&$w9B&CShiK-{zvsl*Imrr*@++Zm=9t|RlXA76b;NFdo7D~tug=y&i|Ocrh1;8^ArAVS=!+dQB z`snEBb3Woi7Q#O!8<0&G;?)f;E4Yu;3@m>|)3Wp&0NBJRBnym5XVW6T`|(`t!#WsX zK`H_eW*oAs0Hvedm8J|jugI?Ch~p;zd{of*pKAdDgYt%>_;uv+bC#*E@LZsVW{Yf2 z8ciucO*=sz@8dZbn9b*?hPi(p{a?G#ALoN0Lj~*&kNs_ac1-Ycb!qdBE=^6pgS9gu z&7d&`Rr_jn9ze$2VUNGotU-Q~q3-aP6@RQiKjSpIj;w$X&N104u>t}~4kG4yM^v_d z9wcrL)oR`2k@_D;`M-|~yn^_K`szRrpv%d)(=Xz>D5p9GgqZ?&?|O&0{hIOLsLscq zRX6bcPfQRc_AT{%Gd1dNVZ6a;iq(TJJjf)Js32V$6tc6QlPCN4P5Q4VfozIXrsFgO9ck9Bo*Vd@5B8i1pDmnv-``~KpyExiB4&}ry*tL_DV z$cI$%X`;*5Bd_9{=QAqmS~EfQ$Yc1Is{Ju;{HRdWz$dl<(*Yc) zQcr`h*wy=uHD=5^j-H+Xr0+9;b4#2#j7$=1u;|_Y?~O>*oF*+wJbA-zQx}}(h%>mS zx?U4r2P6^xxY-sMz!mC(iZ?ixC;wxrq8`8%>U%T^79=9C5EUg${5#L&>w8F6=+(`4 zzYZHN!X4k)`9ln2-#gnSOCcvQ5giIQH#gSs>Zb0WL#HbvIuNRfVzbh=%4liwjoA?S zDFME_LY;zVkJOKmA9_uJZ?S`%5$`?QoCN+jpO5FV$SDwP#6XOk5NjAXj~<86)adt{ z^(B}BWCpf3-!!*50AB2^;p~v(-MJZnxRq!?!ND+Alb~4qKR4~~Jt1ub?~7ml$h@vW z9J-S>%7wvZS+yb|@|Tf6u8FTKm^OxPa(7vqJd9Zad42$z7+9DHE&seGU72sB)6hlF z+Gq))S62W=6pj>|bU~yCPL~UE-{uWwWSJwtkQVyltsBY^dp1Yz~f!1}YT zvx@&Q{6RSCbj83poLg%H`JyuaN1!c+%?$9hii@valT-g?TZ3z;(`vW=udz{IfBDbN z7uCa69)J~h73d?cH4hLPtrIvTPL6@Q0rV~7NKWiTfZ_$f*wgt4_p=m!{$}rUsR!gJ z54Qoe%nGEsDbM?ZpWT>AnQENo&_R=h)iC66OFi%yUF$__pA}xuR$J z?6{=tDj=>p9wxZUhtzK=RFv|<=3Bgj)Xvn?2z&f@$v2NdG|>;P$FqDysHKm~@cjx< zjkWRJ1f-kbg(Y>}YrXL!Z}s$w+yL~4N&RY^Ntk8Ga-m_)=}3WL8Db44L(#3BVE1Od+f9i-6J zHc%eQpC&v=s@<;W*&dc-uL73cy4STu&46IbHb7WmF(Q+BU#aAe%@w)7-bGihBo}>_ z-h91dFOk}#Lw3Xoq)Y9?MQ&Oe6`=Uy?bAT^QLL9=~7bU8!|5n zNqt{lkwCUC;pO}odF!+XF#u=E_vX>yF|ZUkJwf4umBaC}mr#-V*`ZwufRd$yd`K`= z|A3x?vRaOO5P57&R4uSs&G0t;3e5;vwaDU`O6hL=Q3lfl0+gxcZ(Zs2dHw%j7L>>E$}T!eO`@u0)hd#GN9L$PgGOS zwyNejJ&+w3gciko=oTv~RNPr0^(8_PIHC0jS9})yd=s0QJS-u%Z6{Od!CI zq*4~yE^Ax%e>6?YkOc9yt?c9Z^$wSEaPM`Fw-s~|V)z=iVHr-yIsFt$%*-(zI%8XH zP=r79HdfD$UtC>jCOZ>caB`!oca+I&obS~`rz|)uDRe_xzw8=f_BgLRp|rHJ(0=<( z$n%$-Yd;@XRt^|)d;apVCca9qwyjY?q)yD6xi0WCz{WTOr{BO4t%6fwf?AA3eF|8n zp_n^!8my`rkl*_bDcPQ-J#6 zJW(v5Vfp8ZnAV23?;^^5!65JH19X}!gLgUm`PwuAZKQg@05hnP*Lh4%prg2@Ucl0J zzY|9O^AYbX&OP+A^*4K;+c^0XwDiskgOddf_Q*z@|I?9S(TsGYnolLU|8RyRQ5!Os z_d>>IGh2E4WB-V?u*0J+u7xckg)&@&F}3d z`|&~^E|KCJsLN+2FNjp|!z3R-9e9W;)<7Q}?ST%eTS5U?hBF`DOgGMTveU54kWSkj zzGOo)KiVeoZ==mVw*^TgYe?~TT8f8mBk!LL>*(nuEZ&*yz^uYG3{w!pM$hs}Mk57{xg1ro@5Z4BGtsRtkhMl3|eP=~ej~=%R zhuN(cFhoMN4Wik}GCZ_1U`==`;5WIBA657>y=kwpLY+A~90rI9fRNMjY@R~MBRBNy>n`u?H=Z3=O0Gv6}*$jPTuy@K>qtJMe{)f^N_5y4l6PeD?7aP}UjOHVKUjvM8<^ z4~|TcC105VHuH@TH~`vTj|EQW&-t2-Y$pf~gCjREQ9+tPB44iNSM5xIVcK0m-An=2 zr-58go1VjWt$SX39;O&sPtaMV+A9Fu*3*4?LF)!#EBxRaC6N>&ppw*3|3tmbx>;(Du#`Tp8c!W3*du z0F?ofd&606Stg#qR^Ndz00io-HMpUQt?%{y1NJ{VBB6~cZql9g^eV&M`RWrTj)@9D z>adFP8X+}Q>jCh|O9t*Jc^^dbd3XU)44dvOO~~^%NJ)zA;_CSVJ`g6Z%99tb&Ahlr z`Ur|`o{~cMfzH+X)l;N;;1r_*2`4I`Fm~IqgA|z|U|DljB&xChqfV8xLDTQ*9nQzF zz(7_G9$cvp6?dC5jSby!tB?`~Sl71rY&eMfq6t3 za0*lV^zi90;vf$CZcq$ubtHGW;S8XywuWWOJypcaxOgp(ncn#6Tp)%L=rwnn*U;3V z7mz@Nz?^UW4&mAFuM-oumF>uZIn;<_x^%<%INkO;_|9|y>=JMW`X-62?Nk+N*RAYC zrZwabS}ekcr4lJM9p{c+ye#mQx)B4IG%lZ#54L!L&6mA`r4&IJ-1B|U#9*>iSXj_}-`V;3xSoN})`ZVfy_|)g zU;2;8J@%3>u9ERqYC23rJKSAC^kj_30-Aq%i%@OXvFCI%{vTjsOU>-t<4) z3Kfb1hMQp8G9YH3VFT0=KF9m-2fi2&VGL`czLxFiCpK^zIs;9HS&*;1-^I@vq3J0G z@KPfOfkPdPPDw^4-km5|mhf1V#6$y)e*Oejupr=K1CL%#6i1=D!|f=62;{#|QEPPd z`j%@zeq##oxehemn28J(7I>vxVZ6lZC1Nvwrc_H#_`pc+DLK8WZe6nH!4Hn>uRbM5 zUWN{`TN3R}&pE-6257fv_m`rjEM@?^TW^$|ikri6<^@cpPVx9T3AzTrr4?>MpwrIM z25ew^@B2+M2_xy+*4rrIjDzj)9Ou&I&`torRs z1al_Ul{Os6miH-))57183b{K;N5G&^ELR-uL`t^ zZd2dq0Wa@E9L0kn>It1L=}cLtI@OMaYSPsgqAJ}$wBMY8i!1X!@kR)@oHf+&6i|@o zHsX3bGg_{QDyC#RljL>`NF7PZi^~~jjT^&79(ef2fPLFrK%*_{%0Mil^h46%eD}wn zVIuIC1poER2Lp28n^!EBoo-;Qleb^nfE)_hi~)EdyIEOrCh4T0x-Tea3&dw6HMPE8I~a;z@Dvg-Ot5ATbC;Lx*ddUwfj?9T(%cQ0S0i*7M{%FVuaV zm6W(WsZYo5JE6^ce@Nes1=bXZJ8`-Uz*pmW1-;N%n7278D-*Z7XgcX@1p2T}>ic$^ zZ{G^;C7C8tjIZ+4ukT9jLA7wKRf+bO=j#BQ3okAyU#IDJ9)q(%lWx-3{O2 zc^==-`~H5%;UDV34m0=OGjm<%bp~!hhwK<0m`3Kaiiw<5EBrEEe!vYNf*T-mcWRBO zT_=j9hFOK8;l8~dJ*^3r3#q<%te!kgGTs}=aX*IXSOOWm5fpseZ4R9~>Cy@Tx#r3L zY&n3>kov?2^!;|g(1~h$h)jP)#r&0{j|s=>Mj`7AskKHbyx2s^E6?loYOCRX4lF~v;}j_1jIatGA>$K|*6S1&*4Rs%KkPi=#v zm5*HvSt^&31p7y;U0sB7jw_nx&~{r^^%^7W{`8t?rL|ZNp>wg{jxEpep~zGllADhA zR~uX}e5`)8AVs1*1`Zvbr##|wq%)~!D$k}r*9LaxJ$h+X`=&bnwl<}x*mp_K9*$4g;|zDR68vzfF;a}RSnldQGyl;=~L0y^6_WwsW2oA5^6^+rg`S92qjP`br=vqH|630eC$=gybboccyg! zA+0i|8y9=V` z_1qM|ghZ9ll=$5I2Sry9;q$pt!u5QWN%1$_+!v5BW$9T*4fz<4MxdsL0eNQWI$@@f zQnlq_U_4-p21z7-p_zRQz$sI_t}lpfw5dPpRAi8@^C~94O*oi`J>|*NpB~;a{L1O%suP`jYyQI(25eb`7)ifiLM>FK+sHy^&4R$tSq| z2e%g?8g1{b;#kuUl$YGTeW=MxoTW-+XGW649A0@UlSb4ed#V7=XFXy7Oo}cIoIkV- z0^@9*-6+-?T8q$}PyRfMvGTQ|1!0h<*$+Xi;9knF%FLbAsDx%(!P^T91zCef=gy=* z|ABGf&GnF>kqrrs83gTR!28egQt1$4RWYt=H|GMxyB{T^@aDO?w}|g=RXWB?--T}F zbe1KfC|f_8taK1?#NNL*52feYXfwBV*VHXpGq+<@|218ePgMDK-kP7mRpt^McPGiu;#t1M| z0guh#Vn>1AObe%B$^w0PI_i-hljlDw&XXd=H>Z+j~egr9Bce z;ILxX4z2{ga{N$X$=B@d?lA;rYVZQd+zW#|wOG`xxDY~b1#M-b
    G%V?~LqZKbz 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 z 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 z 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 { + @Override + public void handle(WindowEvent event) { + System.exit(0); + } + }); + } + + public static FXMLLoader getFXMLLoader() { + ResourceBundle resourceBundle = ResourceBundle.getBundle("locale.ExpressionParserTool"); + URL url = Object.class.getResource("/com/xwintop/xJavaFxTool/fxmlView/debugTools/ExpressionParserTool.fxml"); + FXMLLoader fXMLLoader = new FXMLLoader(url, resourceBundle); + return fXMLLoader; + } +} \ No newline at end of file diff --git a/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/controller/debugTools/ExpressionParserToolController.java b/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/controller/debugTools/ExpressionParserToolController.java new file mode 100644 index 00000000..b3b3e8c8 --- /dev/null +++ b/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/controller/debugTools/ExpressionParserToolController.java @@ -0,0 +1,266 @@ +package com.xwintop.xJavaFxTool.controller.debugTools; + +import com.xwintop.xJavaFxTool.model.ExpressionParserToolTableBean; +import com.xwintop.xJavaFxTool.services.debugTools.ExpressionParserToolService; +import com.xwintop.xJavaFxTool.view.debugTools.ExpressionParserToolView; +import com.xwintop.xcore.util.javafx.JavaFxViewUtil; +import javafx.beans.value.ChangeListener; +import javafx.beans.value.ObservableValue; +import javafx.collections.FXCollections; +import javafx.collections.ListChangeListener; +import javafx.collections.ObservableList; +import javafx.event.ActionEvent; +import javafx.event.Event; +import javafx.fxml.FXML; +import javafx.scene.control.*; +import javafx.scene.control.cell.CheckBoxTableCell; +import javafx.scene.control.cell.PropertyValueFactory; +import javafx.scene.control.cell.TextFieldTableCell; +import javafx.scene.input.MouseButton; +import javafx.util.Callback; +import lombok.Getter; +import lombok.Setter; +import lombok.extern.slf4j.Slf4j; + +import java.net.URL; +import java.util.ResourceBundle; + +/** + * @ClassName: ExpressionParserToolController + * @Description: 表达式解析器工具类 + * @author: xufeng + * @date: 2021/9/12 22:52 + */ + +@Getter +@Setter +@Slf4j +public class ExpressionParserToolController extends ExpressionParserToolView { + private ExpressionParserToolService expressionParserToolService = new ExpressionParserToolService(this); + private ObservableList tableData = FXCollections.observableArrayList(); + private String[] quartzChoiceBoxStrings = new String[]{"简单表达式", "Cron表达式"}; + private String[] typeChoiceBoxStrings = new String[]{"SpringEl脚本", "SpringEl脚本文件", + "Aviator脚本", "Aviator脚本文件", "Jexl脚本", "Jexl脚本文件", "Mvel脚本", "Mvel脚本文件", + "BeanShell脚本", "BeanShell脚本文件", "Velocity脚本", "Velocity脚本文件", "FreeMarker脚本", + "FreeMarker脚本文件", "StringTemplate脚本", "StringTemplate脚本文件", "QLExpress脚本", "QLExpress脚本文件"}; + + @Override + public void initialize(URL location, ResourceBundle resources) { + initView(); + initEvent(); + initService(); + } + + private void initView() { + expressionParserToolService.loadingConfigure(); + orderTableColumn.setCellValueFactory(new PropertyValueFactory("order")); + orderTableColumn.setCellFactory(TextFieldTableCell.forTableColumn()); + orderTableColumn.setOnEditCommit((TableColumn.CellEditEvent t) -> { + t.getRowValue().setOrder(t.getNewValue()); + }); + + isEnabledTableColumn.setCellValueFactory(new PropertyValueFactory("isEnabled")); + isEnabledTableColumn.setCellFactory(CheckBoxTableCell.forTableColumn(isEnabledTableColumn)); + + scriptTableColumn.setCellValueFactory(new PropertyValueFactory("script")); + scriptTableColumn.setCellFactory(TextFieldTableCell.forTableColumn()); + scriptTableColumn.setOnEditCommit((TableColumn.CellEditEvent t) -> { + t.getRowValue().setScript(t.getNewValue()); + }); + + viewScriptTableColumn.setCellFactory((col) -> { + TableCell cell = new TableCell() { + @Override + public void updateItem(Boolean item, boolean empty) { + super.updateItem(item, empty); + this.setText(null); + this.setGraphic(null); + if (!empty) { + Button delBtn = new Button("查看"); + this.setContentDisplay(ContentDisplay.CENTER); + this.setGraphic(delBtn); + delBtn.setOnMouseClicked((me) -> { + ExpressionParserToolTableBean scriptEngineToolTableBean = tableData.get(this.getIndex()); + expressionParserToolService.showScriptAction(scriptEngineToolTableBean); + }); + } + } + }; + return cell; + }); + + typeTableColumn.setCellValueFactory(new PropertyValueFactory("type")); + typeTableColumn.setCellFactory( + new Callback, TableCell>() { + @Override + public TableCell call(TableColumn param) { + TableCell cell = new TableCell() { + @Override + protected void updateItem(String item, boolean empty) { + super.updateItem(item, empty); + this.setText(null); + this.setGraphic(null); + if (!empty) { + ChoiceBox choiceBox = new ChoiceBox(); + choiceBox.getItems().addAll(typeChoiceBoxStrings); + choiceBox.setValue(tableData.get(this.getIndex()).getType()); + choiceBox.valueProperty().addListener((obVal, oldVal, newVal) -> { + tableData.get(this.getIndex()).setType(newVal); + }); + this.setGraphic(choiceBox); + } + } + }; + return cell; + } + }); + + parameterTableColumn.setCellValueFactory(new PropertyValueFactory("parameter")); + parameterTableColumn.setCellFactory(TextFieldTableCell.forTableColumn()); + parameterTableColumn.setOnEditCommit((TableColumn.CellEditEvent t) -> { + t.getRowValue().setParameter(t.getNewValue()); + }); + + manualTableColumn.setCellFactory((col) -> { + TableCell cell = new TableCell() { + @Override + public void updateItem(Boolean item, boolean empty) { + super.updateItem(item, empty); + this.setText(null); + this.setGraphic(null); + if (!empty) { + Button delBtn = new Button("执行"); + this.setContentDisplay(ContentDisplay.CENTER); + this.setGraphic(delBtn); + delBtn.setOnMouseClicked((me) -> { + ExpressionParserToolTableBean scriptEngineToolTableBean = tableData.get(this.getIndex()); + expressionParserToolService.runAction(scriptEngineToolTableBean); + }); + } + } + }; + return cell; + }); + + isRunAfterActivateTableColumn + .setCellValueFactory(new PropertyValueFactory("isRunAfterActivate")); + isRunAfterActivateTableColumn.setCellFactory(CheckBoxTableCell.forTableColumn(isRunAfterActivateTableColumn)); + + runAfterActivateTableColumn + .setCellValueFactory(new PropertyValueFactory("runAfterActivate")); + runAfterActivateTableColumn.setCellFactory(TextFieldTableCell.forTableColumn()); + runAfterActivateTableColumn.setOnEditCommit((TableColumn.CellEditEvent t) -> { + t.getRowValue().setRunAfterActivate(t.getNewValue()); + }); + + remarksTableColumn.setCellValueFactory(new PropertyValueFactory("remarks")); + remarksTableColumn.setCellFactory(TextFieldTableCell.forTableColumn()); + remarksTableColumn.setOnEditCommit((TableColumn.CellEditEvent t) -> { + t.getRowValue().setRemarks(t.getNewValue()); + }); + + tableViewMain.setItems(tableData); + + quartzChoiceBox.getItems().addAll(quartzChoiceBoxStrings); + quartzChoiceBox.setValue(quartzChoiceBoxStrings[0]); + + typeChoiceBox.getItems().addAll(typeChoiceBoxStrings); + typeChoiceBox.setValue(typeChoiceBoxStrings[0]); + JavaFxViewUtil.setSpinnerValueFactory(intervalSpinner, 60, Integer.MAX_VALUE); + JavaFxViewUtil.setSpinnerValueFactory(repeatCountSpinner, -1, Integer.MAX_VALUE); + } + + private void initEvent() { + tableData.addListener((ListChangeListener.Change tableBean) -> { + try { + saveConfigure(null); + } catch (Exception e) { + log.error("保存配置失败", e); + } + }); + tableViewMain.setOnMouseClicked(event -> { + if (event.getButton() == MouseButton.SECONDARY) { + MenuItem menu_Copy = new MenuItem("复制选中行"); + menu_Copy.setOnAction(event1 -> { + ExpressionParserToolTableBean tableBean = tableViewMain.getSelectionModel().getSelectedItem(); + ExpressionParserToolTableBean tableBean2 = new ExpressionParserToolTableBean(tableBean.getPropertys()); + tableData.add(tableViewMain.getSelectionModel().getSelectedIndex(), tableBean2); + }); + MenuItem menu_Remove = new MenuItem("删除选中行"); + menu_Remove.setOnAction(event1 -> { + tableData.remove(tableViewMain.getSelectionModel().getSelectedItem()); + }); + MenuItem menu_RemoveAll = new MenuItem("删除所有"); + menu_RemoveAll.setOnAction(event1 -> { + tableData.clear(); + }); + tableViewMain.setContextMenu(new ContextMenu(menu_Copy, menu_Remove, menu_RemoveAll)); + } + }); + quartzChoiceBox.valueProperty().addListener(new ChangeListener() { + @Override + public void changed(ObservableValue observable, String oldValue, String newValue) { + if (quartzChoiceBoxStrings[0].equals(newValue)) { + cronTextField.setVisible(false); + simpleScheduleAnchorPane.setVisible(true); + } else if (quartzChoiceBoxStrings[1].equals(newValue)) { + cronTextField.setVisible(true); + simpleScheduleAnchorPane.setVisible(false); + } + } + }); + } + + private void initService() { + } + + @FXML + private void addItemAction(ActionEvent event) { + String id = "x" + String.valueOf(System.currentTimeMillis()).substring(7); + tableData.add(new ExpressionParserToolTableBean(id, isEnabledCheckBox.isSelected(), + scriptTextField.getText(), typeChoiceBox.getValue(), parameterTextField.getText(), false, " ", " ")); + } + + @FXML + private void saveConfigure(ActionEvent event) throws Exception { + expressionParserToolService.saveConfigure(); + } + + @FXML + private void otherSaveConfigureAction(ActionEvent event) throws Exception { + expressionParserToolService.otherSaveConfigureAction(); + } + + @FXML + private void loadingConfigureAction(ActionEvent event) { + expressionParserToolService.loadingConfigureAction(); + } + + @FXML + private void runQuartzAction(ActionEvent event) throws Exception { + if ("定时运行".equals(runQuartzButton.getText())) { + boolean isTrue = expressionParserToolService.runQuartzAction(quartzChoiceBox.getValue(), cronTextField.getText(), intervalSpinner.getValue(), + repeatCountSpinner.getValue()); + if (isTrue) { + runQuartzButton.setText("停止运行"); + } + } else { + boolean isTrue = expressionParserToolService.stopQuartzAction(); + if (isTrue) { + runQuartzButton.setText("定时运行"); + } + } + } + + @FXML + private void runAllAction(ActionEvent event) { + expressionParserToolService.runAllAction(); + } + + /** + * 父控件被移除前调用 + */ + public void onCloseRequest(Event event) throws Exception { + expressionParserToolService.stopQuartzAction(); + } +} \ No newline at end of file diff --git a/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/job/ExpressionParserToolJob.java b/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/job/ExpressionParserToolJob.java new file mode 100644 index 00000000..ddb3f53b --- /dev/null +++ b/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/job/ExpressionParserToolJob.java @@ -0,0 +1,29 @@ +package com.xwintop.xJavaFxTool.job; + +import com.xwintop.xJavaFxTool.services.debugTools.ExpressionParserToolService; +import org.quartz.Job; +import org.quartz.JobExecutionContext; +import org.quartz.JobExecutionException; +import org.quartz.JobKey; + +/** + * @ClassName: ExpressionParserToolJob + * @Description: 表达式解析器调试工具Job + * @author: xufeng + * @date: 2021/9/12 22:52 + */ + +public class ExpressionParserToolJob implements Job{ + + @Override + public void execute(JobExecutionContext context) throws JobExecutionException { + ExpressionParserToolService expressionParserToolService = (ExpressionParserToolService) context.getMergedJobDataMap().get("Service"); + try { + expressionParserToolService.runAllAction(); + } catch (Exception e) { + e.printStackTrace(); + } + JobKey jobKey = context.getJobDetail().getKey(); + System.out.println("执行了"+jobKey); + } +} diff --git a/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/ExpressionParserScheduleManager.java b/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/ExpressionParserScheduleManager.java new file mode 100644 index 00000000..59ee140f --- /dev/null +++ b/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/ExpressionParserScheduleManager.java @@ -0,0 +1,87 @@ +package com.xwintop.xJavaFxTool.manager; + +import com.xwintop.xcore.util.javafx.TooltipUtil; +import lombok.Getter; +import lombok.Setter; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.quartz.*; +import org.quartz.impl.StdSchedulerFactory; + +/** + * @ClassName: ScheduleManager + * @Description: 自动任务管理类 + * @author: xufeng + * @date: 2018/1/25 16:35 + */ + +@Getter +@Setter +@Slf4j +public class ExpressionParserScheduleManager { + private SchedulerFactory sf = new StdSchedulerFactory(); + private String schedulerKeyGroup = "x"; + private String schedulerKeyName = "x" + System.currentTimeMillis(); + + public enum QuartzType { + SIMPLE //简单表达式 + , CRON //Cron表达式 + } + + public void runQuartzAction(Class jobClass, String quartzType, Object jobDataMap, String cronText, int interval, int repeatCount) throws Exception { + if ("简单表达式".equals(quartzType)) { + this.runQuartzAction(jobClass, jobDataMap, interval, repeatCount); + } else if ("Cron表达式".equals(quartzType)) { + if (StringUtils.isEmpty(cronText)) { + TooltipUtil.showToast("cron表达式不能为空。"); + throw new Exception("cron表达式不能为空。"); + } + this.runQuartzAction(jobClass, jobDataMap, cronText); + } + } + + public void runQuartzAction(Class jobClass, Object jobDataMap, int interval, int repeatCount) throws Exception { + runQuartzAction(jobClass, jobDataMap, QuartzType.SIMPLE, null, interval, repeatCount); + } + + public void runQuartzAction(Class jobClass, Object jobDataMap, String cronText) throws Exception { + runQuartzAction(jobClass, jobDataMap, QuartzType.CRON, cronText, 0, 0); + } + + public void runQuartzAction(Class jobClass, Object jobDataMap, QuartzType quartzType, String cronText, int interval, int repeatCount) throws Exception { + schedulerKeyGroup = jobClass.toString(); + schedulerKeyName = schedulerKeyGroup + System.currentTimeMillis(); + JobDetail jobDetail = JobBuilder.newJob(jobClass).withIdentity(schedulerKeyName, schedulerKeyGroup) + .build(); + jobDetail.getJobDataMap().put("Service", jobDataMap); + ScheduleBuilder scheduleBuilder = null; + if (QuartzType.SIMPLE.equals(quartzType)) { + scheduleBuilder = SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(interval)// 时间间隔 + .withRepeatCount(repeatCount);// 重复次数(将执行6次) + } else if (QuartzType.CRON.equals(quartzType)) { + if (StringUtils.isEmpty(cronText)) { + throw new Exception("cron表达式不能为空。"); + } + scheduleBuilder = CronScheduleBuilder.cronSchedule(cronText); + } + // 描叙触发Job执行的时间触发规则,Trigger实例化一个触发器 + Trigger trigger = TriggerBuilder.newTrigger()// 创建一个新的TriggerBuilder来规范一个触发器 + .withIdentity(schedulerKeyName, schedulerKeyGroup)// 给触发器一个名字和组名 + .startNow()// 立即执行 + .withSchedule(scheduleBuilder).build();// 产生触发器 + + // 运行容器,使用SchedulerFactory创建Scheduler实例 + Scheduler scheduler = sf.getScheduler(); + // 向Scheduler添加一个job和trigger + scheduler.scheduleJob(jobDetail, trigger); + if (!scheduler.isStarted()) { + scheduler.start(); + } + } + + public void stopQuartzAction() throws Exception { + Scheduler sched = sf.getScheduler(); + sched.unscheduleJob(new TriggerKey(schedulerKeyName, schedulerKeyGroup)); + sched.deleteJob(new JobKey(schedulerKeyName, schedulerKeyGroup)); + } +} diff --git a/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/script/ExpressionParser.java b/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/script/ExpressionParser.java new file mode 100644 index 00000000..2690b412 --- /dev/null +++ b/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/script/ExpressionParser.java @@ -0,0 +1,21 @@ +package com.xwintop.xJavaFxTool.manager.script; + +import java.io.File; +import java.util.Map; + +/** + * @ClassName: ExpressionParser + * @Description: 表达式解析器接口 + * @author: xufeng + * @date: 2021/9/12 22:50 + */ + +public interface ExpressionParser { + public Object eval(String script) throws Exception;//运行脚本并返回结果 + public Object eval(String script, Map vars) throws Exception;//带参数运行脚本并返回结果 + public Object eval(File scriptFile) throws Exception;//运行脚本文件并返回结果 + + public void exec(String script) throws Exception;//运行脚本 + public void exec(String script, Map vars) throws Exception;//带参数运行脚本 + public void exec(File scriptFile) throws Exception;//运行脚本文件 +} diff --git a/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/script/ExpressionParserManager.java b/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/script/ExpressionParserManager.java new file mode 100644 index 00000000..cd676390 --- /dev/null +++ b/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/script/ExpressionParserManager.java @@ -0,0 +1,124 @@ +package com.xwintop.xJavaFxTool.manager.script; + +import com.xwintop.xJavaFxTool.manager.script.QLExpress.QLExpressEngine; +import com.xwintop.xJavaFxTool.manager.script.SpringEl.SpringElEngine; +import com.xwintop.xJavaFxTool.manager.script.aviator.AviatorEngine; +import com.xwintop.xJavaFxTool.manager.script.beanshell.BeanShellEngine; +import com.xwintop.xJavaFxTool.manager.script.freeMarker.FreeMarkerEngine; +import com.xwintop.xJavaFxTool.manager.script.mvel.MvelEngine; +import com.xwintop.xJavaFxTool.manager.script.jexl.JexlEngine; +import com.xwintop.xJavaFxTool.manager.script.stringTemplate.StringTemplateEngine; +import com.xwintop.xJavaFxTool.manager.script.velocity.VelocityEngine; +import lombok.Getter; +import lombok.Setter; +import lombok.extern.slf4j.Slf4j; + +import java.io.File; +import java.util.Map; + +/** + * @ClassName: ExpressionParserManager + * @Description: 表达式解析器管理类 + * @author: xufeng + * @date: 2021/9/12 22:51 + */ + +@Getter +@Setter +@Slf4j +public class ExpressionParserManager implements ExpressionParser { + private ExpressionParserType expressionParserType; + private ExpressionParser expressionParser = null; + + public ExpressionParserManager() { + } + + public ExpressionParserManager(String expressionParserType) { + this.expressionParserType = ExpressionParserType.getEnum(expressionParserType); + + } + + public ExpressionParserManager(ExpressionParserType expressionParserType) { + this.expressionParserType = expressionParserType; + } + + public ExpressionParser getExpressionParser() { + if (expressionParser == null) { + expressionParser = getEngineByName(this.expressionParserType); + } + return expressionParser; + } + + public static ExpressionParser getEngineByName(String scriptEngineType) { + return getEngineByName(ExpressionParserType.getEnum(scriptEngineType)); + } + + /** + * 根据类型获取脚本引擎 + */ + public static ExpressionParser getEngineByName(ExpressionParserType scriptEngineType) { + ExpressionParser scriptEngine = null; + switch (scriptEngineType) { + case SpringEl: + scriptEngine = new SpringElEngine(); + break; + case Aviator: + scriptEngine = new AviatorEngine(); + break; + case Jexl: + scriptEngine = new JexlEngine(); + break; + case Mvel: + scriptEngine = new MvelEngine(); + break; + case BeanShell: + scriptEngine = new BeanShellEngine(); + break; + case Velocity: + scriptEngine = new VelocityEngine(); + break; + case FreeMarker: + scriptEngine = new FreeMarkerEngine(); + break; + case StringTemplate: + scriptEngine = new StringTemplateEngine(); + break; + case QLExpress: + scriptEngine = new QLExpressEngine(); + break; + default: + break; + } + return scriptEngine; + } + + @Override + public Object eval(String script) throws Exception { + return getExpressionParser().eval(script); + } + + @Override + public Object eval(String script, Map vars) throws Exception { + return getExpressionParser().eval(script, vars); + } + + @Override + public Object eval(File scriptFile) throws Exception { + return getExpressionParser().eval(scriptFile); + } + + @Override + public void exec(String script) throws Exception { + getExpressionParser().exec(script); + } + + @Override + public void exec(String script, Map vars) throws Exception { + getExpressionParser().exec(script, vars); + } + + @Override + public void exec(File scriptFile) throws Exception { + getExpressionParser().exec(scriptFile); + } +} diff --git a/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/script/ExpressionParserType.java b/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/script/ExpressionParserType.java new file mode 100644 index 00000000..db8bf214 --- /dev/null +++ b/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/script/ExpressionParserType.java @@ -0,0 +1,40 @@ +package com.xwintop.xJavaFxTool.manager.script; + +/** + * @ClassName: ExpressionParserType + * @Description: 表达式解析器类型 + * @author: xufeng + * @date: 2021/9/12 22:55 + */ + +public enum ExpressionParserType { + SpringEl("SpringEl"), + Aviator("Aviator"), + Jexl("Jexl"), + BeanShell("BeanShell"), + Mvel("Mvel"), + Velocity("Velocity"), + StringTemplate("StringTemplate"), + QLExpress("QLExpress"), + FreeMarker("FreeMarker"); + private String value; + + ExpressionParserType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + public static ExpressionParserType getEnum(String value) { + ExpressionParserType e = null; + for (ExpressionParserType e1 : ExpressionParserType.values()) { + if (e1.value.equals(value)) { + e = e1; + break; + } + } + return e; + } +} diff --git a/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/script/QLExpress/QLExpressEngine.java b/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/script/QLExpress/QLExpressEngine.java new file mode 100644 index 00000000..7865d2c1 --- /dev/null +++ b/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/script/QLExpress/QLExpressEngine.java @@ -0,0 +1,59 @@ +package com.xwintop.xJavaFxTool.manager.script.QLExpress; + +import com.ql.util.express.DefaultContext; +import com.ql.util.express.ExpressRunner; +import com.xwintop.xJavaFxTool.manager.script.ExpressionParser; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.io.FileUtils; + +import java.io.File; +import java.nio.charset.StandardCharsets; +import java.util.Map; + +/** + * @ClassName: QLExpressEngine + * @Description: QLExpress脚本引擎 + * @author: xufeng + * @date: 2021/9/13 18:34 + */ + +@Slf4j +public class QLExpressEngine implements ExpressionParser { + @Override + public Object eval(String script) throws Exception { + return eval(script, null); + } + + @Override + public Object eval(String script, Map vars) throws Exception { + ExpressRunner runner = new ExpressRunner(); + DefaultContext context = new DefaultContext(); + if (vars != null) { + vars.forEach((o, o2) -> { + context.put(String.valueOf(o), o2); + }); + } + return runner.execute(script, context, null, true, false); + } + + @Override + public Object eval(File scriptFile) throws Exception { + String script = FileUtils.readFileToString(scriptFile, StandardCharsets.UTF_8); + return eval(script); + } + + @Override + public void exec(String script) throws Exception { + exec(script, null); + } + + @Override + public void exec(String script, Map vars) throws Exception { + eval(script, vars); + } + + @Override + public void exec(File scriptFile) throws Exception { + eval(scriptFile); + } +} diff --git a/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/script/SpringEl/SpringElEngine.java b/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/script/SpringEl/SpringElEngine.java new file mode 100644 index 00000000..b0061ac5 --- /dev/null +++ b/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/script/SpringEl/SpringElEngine.java @@ -0,0 +1,62 @@ +package com.xwintop.xJavaFxTool.manager.script.SpringEl; + +import com.xwintop.xJavaFxTool.manager.script.ExpressionParser; +import org.apache.commons.io.FileUtils; +import org.springframework.expression.EvaluationContext; +import org.springframework.expression.Expression; +import org.springframework.expression.spel.standard.SpelExpressionParser; +import org.springframework.expression.spel.support.StandardEvaluationContext; + +import java.io.File; +import java.nio.charset.StandardCharsets; +import java.util.Map; + +/** + * @ClassName: SpringElEngine + * @Description: SpringEl表达式解析器 + * @author: xufeng + * @date: 2021/9/11 23:38 + */ + +public class SpringElEngine implements ExpressionParser { + @Override + public Object eval(String script) throws Exception { + return eval(script, null); + } + + @Override + public Object eval(String script, Map vars) throws Exception { + org.springframework.expression.ExpressionParser paser = new SpelExpressionParser();//创建表达式解析器 + //通过evaluationContext.setVariable可以在上下文中设定变量。 + EvaluationContext context = new StandardEvaluationContext(); + if (vars != null) { + vars.forEach((o, o2) -> { + context.setVariable(String.valueOf(o), o2); + }); + } + //解析表达式,如果表达式是一个模板表达式,需要为解析传入模板解析器上下文。 + Expression expression = paser.parseExpression(script); + return expression.getValue(context); + } + + @Override + public Object eval(File scriptFile) throws Exception { + String script = FileUtils.readFileToString(scriptFile, StandardCharsets.UTF_8); + return eval(script); + } + + @Override + public void exec(String script) throws Exception { + eval(script, null); + } + + @Override + public void exec(String script, Map vars) throws Exception { + eval(script, vars); + } + + @Override + public void exec(File scriptFile) throws Exception { + eval(scriptFile); + } +} diff --git a/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/script/aviator/AviatorEngine.java b/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/script/aviator/AviatorEngine.java new file mode 100644 index 00000000..0db3efb9 --- /dev/null +++ b/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/script/aviator/AviatorEngine.java @@ -0,0 +1,53 @@ +package com.xwintop.xJavaFxTool.manager.script.aviator; + +import com.googlecode.aviator.AviatorEvaluator; +import com.xwintop.xJavaFxTool.manager.script.ExpressionParser; +import org.apache.commons.io.FileUtils; + +import java.io.File; +import java.nio.charset.StandardCharsets; +import java.util.Map; + +/** + * @ClassName: AviatorEngine + * @Description: Aviator表达式解析器 + * @author: xufeng + * @date: 2021/9/12 10:43 + */ + +public class AviatorEngine implements ExpressionParser { + @Override + public Object eval(String script) throws Exception { + return eval(script, null); + } + + @Override + public Object eval(String script, Map ctx) throws Exception { + if (ctx == null) { + return AviatorEvaluator.execute(script); + } else { + return AviatorEvaluator.execute(script, ctx); + } + } + + @Override + public Object eval(File scriptFile) throws Exception { + String script = FileUtils.readFileToString(scriptFile, StandardCharsets.UTF_8); + return eval(script); + } + + @Override + public void exec(String script) throws Exception { + eval(script, null); + } + + @Override + public void exec(String script, Map vars) throws Exception { + eval(script, vars); + } + + @Override + public void exec(File scriptFile) throws Exception { + eval(scriptFile); + } +} diff --git a/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/script/beanshell/BeanShellEngine.java b/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/script/beanshell/BeanShellEngine.java new file mode 100644 index 00000000..8b7b0f5f --- /dev/null +++ b/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/script/beanshell/BeanShellEngine.java @@ -0,0 +1,62 @@ +package com.xwintop.xJavaFxTool.manager.script.beanshell; + +import bsh.EvalError; +import bsh.Interpreter; +import com.xwintop.xJavaFxTool.manager.script.ExpressionParser; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.io.FileUtils; + +import java.io.File; +import java.nio.charset.StandardCharsets; +import java.util.Map; + +/** + * @ClassName: BeanShellEngine + * @Description: BeanShell表达式引擎 + * @author: xufeng + * @date: 2021/9/12 14:49 + */ + +@Slf4j +public class BeanShellEngine implements ExpressionParser { + @Override + public Object eval(String script) throws Exception { + return eval(script, null); + } + + @Override + public Object eval(String script, Map vars) throws Exception { + Interpreter interpreter = new Interpreter(); + if (vars != null) { + vars.forEach((o, o2) -> { + try { + interpreter.set(String.valueOf(o), o2); + } catch (EvalError e) { + log.error("BeanShell设置属性失败!", e); + } + }); + } + return interpreter.eval(script); + } + + @Override + public Object eval(File scriptFile) throws Exception { + String script = FileUtils.readFileToString(scriptFile, StandardCharsets.UTF_8); + return eval(script); + } + + @Override + public void exec(String script) throws Exception { + exec(script, null); + } + + @Override + public void exec(String script, Map vars) throws Exception { + eval(script, vars); + } + + @Override + public void exec(File scriptFile) throws Exception { + eval(scriptFile); + } +} diff --git a/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/script/freeMarker/FreeMarkerEngine.java b/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/script/freeMarker/FreeMarkerEngine.java new file mode 100644 index 00000000..5045e7d6 --- /dev/null +++ b/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/script/freeMarker/FreeMarkerEngine.java @@ -0,0 +1,64 @@ +package com.xwintop.xJavaFxTool.manager.script.freeMarker; + +import com.xwintop.xJavaFxTool.manager.script.ExpressionParser; +import freemarker.cache.StringTemplateLoader; +import freemarker.template.Configuration; +import freemarker.template.Template; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.io.FileUtils; + +import java.io.File; +import java.io.StringWriter; +import java.nio.charset.StandardCharsets; +import java.util.Map; + +/** + * @ClassName: FreeMarkerEngine + * @Description: FreeMarker模板引擎 + * @author: xufeng + * @date: 2021/9/12 19:03 + */ + +@Slf4j +public class FreeMarkerEngine implements ExpressionParser { + @Override + public Object eval(String script) throws Exception { + return eval(script, null); + } + + @Override + public Object eval(String script, Map vars) throws Exception { + Configuration configuration = new Configuration(Configuration.VERSION_2_3_22); + StringTemplateLoader stringTemplateLoader = new StringTemplateLoader(); + Template template; + + stringTemplateLoader.putTemplate("freeMarker.ftl", script); + configuration.setTemplateLoader(stringTemplateLoader); + template = configuration.getTemplate("freeMarker.ftl"); + + StringWriter stringWriter = new StringWriter(); + template.process(vars, stringWriter); + return stringWriter.toString(); + } + + @Override + public Object eval(File scriptFile) throws Exception { + String script = FileUtils.readFileToString(scriptFile, StandardCharsets.UTF_8); + return eval(script); + } + + @Override + public void exec(String script) throws Exception { + exec(script, null); + } + + @Override + public void exec(String script, Map vars) throws Exception { + eval(script, vars); + } + + @Override + public void exec(File scriptFile) throws Exception { + eval(scriptFile); + } +} diff --git a/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/script/jexl/JexlEngine.java b/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/script/jexl/JexlEngine.java new file mode 100644 index 00000000..72d1f08f --- /dev/null +++ b/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/script/jexl/JexlEngine.java @@ -0,0 +1,58 @@ +package com.xwintop.xJavaFxTool.manager.script.jexl; + +import com.xwintop.xJavaFxTool.manager.script.ExpressionParser; +import org.apache.commons.io.FileUtils; +import org.apache.commons.jexl3.JexlBuilder; +import org.apache.commons.jexl3.JexlContext; +import org.apache.commons.jexl3.JexlExpression; +import org.apache.commons.jexl3.MapContext; + +import java.io.File; +import java.nio.charset.StandardCharsets; +import java.util.Map; + +/** + * @ClassName: JexlEngine + * @Description: Jexl表达式引擎 + * @author: xufeng + * @date: 2021/9/12 11:40 + */ + +public class JexlEngine implements ExpressionParser { + @Override + public Object eval(String script) throws Exception { + return eval(script, null); + } + + @Override + public Object eval(String script, Map vars) throws Exception { + org.apache.commons.jexl3.JexlEngine jexl = new JexlBuilder().create(); + // Create an expression + JexlExpression e = jexl.createExpression(script); + // Create a context and add data + JexlContext jc = new MapContext(vars); + // Now evaluate the expression, getting the result + return e.evaluate(jc); + } + + @Override + public Object eval(File scriptFile) throws Exception { + String script = FileUtils.readFileToString(scriptFile, StandardCharsets.UTF_8); + return eval(script); + } + + @Override + public void exec(String script) throws Exception { + exec(script, null); + } + + @Override + public void exec(String script, Map vars) throws Exception { + eval(script, vars); + } + + @Override + public void exec(File scriptFile) throws Exception { + eval(scriptFile); + } +} diff --git a/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/script/mvel/MvelEngine.java b/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/script/mvel/MvelEngine.java new file mode 100644 index 00000000..de08fea8 --- /dev/null +++ b/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/script/mvel/MvelEngine.java @@ -0,0 +1,46 @@ +package com.xwintop.xJavaFxTool.manager.script.mvel; + +import com.xwintop.xJavaFxTool.manager.script.ExpressionParser; +import org.mvel2.MVEL; + +import java.io.File; +import java.util.Map; + +/** + * @ClassName: MvelEngine + * @Description: Mvel表达式解析器 + * @author: xufeng + * @date: 2021/9/12 10:42 + */ + +public class MvelEngine implements ExpressionParser { + @Override + public Object eval(String script) throws Exception { + return eval(script, null); + } + + @Override + public Object eval(String script, Map vars) throws Exception { + return MVEL.eval(script, vars); + } + + @Override + public Object eval(File scriptFile) throws Exception { + return MVEL.evalFile(scriptFile); + } + + @Override + public void exec(String script) throws Exception { + eval(script, null); + } + + @Override + public void exec(String script, Map vars) throws Exception { + eval(script, vars); + } + + @Override + public void exec(File scriptFile) throws Exception { + eval(scriptFile); + } +} diff --git a/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/script/stringTemplate/StringTemplateEngine.java b/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/script/stringTemplate/StringTemplateEngine.java new file mode 100644 index 00000000..40f099d9 --- /dev/null +++ b/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/script/stringTemplate/StringTemplateEngine.java @@ -0,0 +1,55 @@ +package com.xwintop.xJavaFxTool.manager.script.stringTemplate; + +import com.xwintop.xJavaFxTool.manager.script.ExpressionParser; +import org.apache.commons.io.FileUtils; +import org.stringtemplate.v4.ST; + +import java.io.File; +import java.nio.charset.StandardCharsets; +import java.util.Map; + +/** + * @ClassName: StringTemplateEngine + * @Description: StringTemplate模板引擎 + * @author: xufeng + * @date: 2021/9/12 21:58 + */ + +public class StringTemplateEngine implements ExpressionParser { + @Override + public Object eval(String script) throws Exception { + return eval(script, null); + } + + @Override + public Object eval(String script, Map vars) throws Exception { + ST st = new ST(script); + if (vars != null) { + vars.forEach((o, o2) -> { + st.add(String.valueOf(o), o2); + }); + } + return st.render(); + } + + @Override + public Object eval(File scriptFile) throws Exception { + String script = FileUtils.readFileToString(scriptFile, StandardCharsets.UTF_8); + return eval(script); + } + + @Override + public void exec(String script) throws Exception { + exec(script, null); + } + + @Override + public void exec(String script, Map vars) throws Exception { + eval(script, vars); + } + + @Override + public void exec(File scriptFile) throws Exception { + eval(scriptFile); + } +} diff --git a/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/script/velocity/VelocityEngine.java b/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/script/velocity/VelocityEngine.java new file mode 100644 index 00000000..aee2b77c --- /dev/null +++ b/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/manager/script/velocity/VelocityEngine.java @@ -0,0 +1,59 @@ +package com.xwintop.xJavaFxTool.manager.script.velocity; + +import com.xwintop.xJavaFxTool.manager.script.ExpressionParser; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.io.FileUtils; +import org.apache.velocity.VelocityContext; + +import java.io.File; +import java.io.StringWriter; +import java.nio.charset.StandardCharsets; +import java.util.Map; + +/** + * @ClassName: VelocityEngine + * @Description: Velocity模板引擎 + * @author: xufeng + * @date: 2021/9/12 17:01 + */ + +@Slf4j +public class VelocityEngine implements ExpressionParser { + @Override + public Object eval(String script) throws Exception { + return eval(script, null); + } + + @Override + public Object eval(String script, Map ctx) throws Exception { + org.apache.velocity.app.VelocityEngine velocityEngine = new org.apache.velocity.app.VelocityEngine(); + velocityEngine.init(); + VelocityContext velocityContext = new VelocityContext(ctx); + StringWriter stringWriter = new StringWriter(); + if (!velocityEngine.evaluate(velocityContext, stringWriter, "VelocityEngine", script)) { + log.error("解析Velocity模板引擎失败!"); + } + return stringWriter.toString(); + } + + @Override + public Object eval(File scriptFile) throws Exception { + String script = FileUtils.readFileToString(scriptFile, StandardCharsets.UTF_8); + return eval(script); + } + + @Override + public void exec(String script) throws Exception { + eval(script, null); + } + + @Override + public void exec(String script, Map vars) throws Exception { + eval(script, vars); + } + + @Override + public void exec(File scriptFile) throws Exception { + eval(scriptFile); + } +} diff --git a/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/model/ExpressionParserToolTableBean.java b/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/model/ExpressionParserToolTableBean.java new file mode 100644 index 00000000..c4738fbc --- /dev/null +++ b/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/model/ExpressionParserToolTableBean.java @@ -0,0 +1,125 @@ +package com.xwintop.xJavaFxTool.model; + +import javafx.beans.property.BooleanProperty; +import javafx.beans.property.SimpleBooleanProperty; +import javafx.beans.property.SimpleStringProperty; + +/** + * @ClassName: ScriptEngineToolTableBean + * @Description: 脚本调试工具表bean + * @author: xufeng + * @date: 2018/1/27 18:02 + */ + +public class ExpressionParserToolTableBean { + private SimpleStringProperty order;// 序列 + private SimpleBooleanProperty isEnabled;// 是否启用 + private SimpleStringProperty script;// 脚本 + private SimpleStringProperty type;// 执行类型 + private SimpleStringProperty parameter;// 参数 + private SimpleBooleanProperty isRunAfterActivate;// 是否执行触发事件 + private SimpleStringProperty runAfterActivate;// 执行后触发事件 + private SimpleStringProperty remarks;// 备注 + + public ExpressionParserToolTableBean(String order, Boolean isEnabled, String script, String type, String parameter, + Boolean isRunAfterActivate, String runAfterActivate, String remarks) { + this.order = new SimpleStringProperty(order); + this.isEnabled = new SimpleBooleanProperty(isEnabled); + this.script = new SimpleStringProperty(script); + this.type = new SimpleStringProperty(type); + this.parameter = new SimpleStringProperty(parameter); + this.isRunAfterActivate = new SimpleBooleanProperty(isRunAfterActivate); + this.runAfterActivate = new SimpleStringProperty(runAfterActivate); + this.remarks = new SimpleStringProperty(remarks); + } + + public ExpressionParserToolTableBean(String propertys) { + String[] strings = propertys.split("__", 8); + this.order = new SimpleStringProperty(strings[0]); + this.isEnabled = new SimpleBooleanProperty(Boolean.valueOf(strings[1])); + this.script = new SimpleStringProperty(strings[2]); + this.type = new SimpleStringProperty(strings[3]); + this.parameter = new SimpleStringProperty(strings[4]); + this.isRunAfterActivate = new SimpleBooleanProperty(Boolean.valueOf(strings[5])); + this.runAfterActivate = new SimpleStringProperty(strings[6]); + this.remarks = new SimpleStringProperty(strings[7]); + } + + public String getPropertys() { + return order.get() + "__" + isEnabled.get() + "__" + script.get() + "__" + type.get() + "__" + parameter.get() + + "__" + isRunAfterActivate.get() + "__" + runAfterActivate.get() + "__" + remarks.get(); + } + + public String getOrder() { + return order.get(); + } + + public void setOrder(String order) { + this.order.set(order); + } + + public BooleanProperty isEnabledProperty() { + return isEnabled; + } + + public Boolean getIsEnabled() { + return isEnabled.get(); + } + + public void setIsEnabled(Boolean isEnabled) { + this.isEnabled.set(isEnabled); + } + + public String getScript() { + return script.get(); + } + + public void setScript(String script) { + this.script.set(script); + } + + public String getType() { + return type.get(); + } + + public void setType(String type) { + this.type.set(type); + } + + public String getParameter() { + return parameter.get(); + } + + public void setParameter(String parameter) { + this.parameter.set(parameter); + } + + public BooleanProperty isRunAfterActivateProperty() { + return isRunAfterActivate; + } + + public Boolean getIsRunAfterActivate() { + return isRunAfterActivate.get(); + } + + public void setIsRunAfterActivate(Boolean isRunAfterActivate) { + this.isRunAfterActivate.set(isRunAfterActivate); + } + + public String getRunAfterActivate() { + return runAfterActivate.get(); + } + + public void setRunAfterActivate(String runAfterActivate) { + this.runAfterActivate.set(runAfterActivate); + } + + public String getRemarks() { + return remarks.get(); + } + + public void setRemarks(String remarks) { + this.remarks.set(remarks); + } + +} diff --git a/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/services/debugTools/ExpressionParserToolService.java b/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/services/debugTools/ExpressionParserToolService.java new file mode 100644 index 00000000..3c70d3cb --- /dev/null +++ b/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/services/debugTools/ExpressionParserToolService.java @@ -0,0 +1,223 @@ +package com.xwintop.xJavaFxTool.services.debugTools; + +import com.alibaba.fastjson2.JSON; +import com.xwintop.xJavaFxTool.controller.debugTools.ExpressionParserToolController; +import com.xwintop.xJavaFxTool.job.ExpressionParserToolJob; +import com.xwintop.xJavaFxTool.manager.ExpressionParserScheduleManager; +import com.xwintop.xJavaFxTool.manager.script.ExpressionParserManager; +import com.xwintop.xJavaFxTool.model.ExpressionParserToolTableBean; +import com.xwintop.xcore.util.ConfigureUtil; +import com.xwintop.xcore.util.javafx.AlertUtil; +import com.xwintop.xcore.util.javafx.FileChooserUtil; +import com.xwintop.xcore.util.javafx.TooltipUtil; +import javafx.stage.FileChooser; +import lombok.Getter; +import lombok.Setter; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; + +import java.io.File; +import java.util.Map; + +/** + * @ClassName: ScriptEngineToolService + * @Description: 脚本引擎调试工具类 + * @author: xufeng + * @date: 2018/1/28 22:59 + */ + +@Getter +@Setter +@Slf4j +public class ExpressionParserToolService { + private ExpressionParserToolController expressionParserToolController; + private String fileName = "expressionParserToolConfigure.properties"; + private ExpressionParserScheduleManager scheduleManager = new ExpressionParserScheduleManager(); + + public ExpressionParserToolService(ExpressionParserToolController expressionParserToolController) { + this.expressionParserToolController = expressionParserToolController; + } + + /** + * @Title: runAllAction + * @Description: 运行所有动作 + */ + public void runAllAction() { + for (ExpressionParserToolTableBean scriptEngineToolTableBean : expressionParserToolController.getTableData()) { + if (scriptEngineToolTableBean.getIsEnabled()) { + runAction(scriptEngineToolTableBean); + } + } + } + + /** + * @Title: runAction + * @Description: 单独运行 + */ + public void runAction(ExpressionParserToolTableBean scriptEngineToolTableBean) { + String type = scriptEngineToolTableBean.getType(); + String script = scriptEngineToolTableBean.getScript(); + System.out.println("运行:" + type + " : " + script); + addLog("运行:" + type + " : " + script); + Map parameterMap = null; + if (StringUtils.isNotEmpty(scriptEngineToolTableBean.getParameter())) { + parameterMap = JSON.parseObject(scriptEngineToolTableBean.getParameter(), Map.class); + } + try { + Object log = null; + if (expressionParserToolController.getTypeChoiceBoxStrings()[0].equals(type)) {// SpringEl脚本 + log = new ExpressionParserManager("SpringEl").eval(script, parameterMap); + } else if (expressionParserToolController.getTypeChoiceBoxStrings()[1].equals(type)) {// SpringEl脚本文件 + log = new ExpressionParserManager("SpringEl").eval(new File(script)); + } else if (expressionParserToolController.getTypeChoiceBoxStrings()[2].equals(type)) {// Aviator脚本 + log = new ExpressionParserManager("Aviator").eval(script, parameterMap); + } else if (expressionParserToolController.getTypeChoiceBoxStrings()[3].equals(type)) {// Aviator脚本文件 + log = new ExpressionParserManager("Aviator").eval(new File(script)); + } else if (expressionParserToolController.getTypeChoiceBoxStrings()[4].equals(type)) {// Jexl脚本 + log = new ExpressionParserManager("Jexl").eval(script, parameterMap); + } else if (expressionParserToolController.getTypeChoiceBoxStrings()[5].equals(type)) {// Jexl脚本文件 + log = new ExpressionParserManager("Jexl").eval(new File(script)); + } else if (expressionParserToolController.getTypeChoiceBoxStrings()[6].equals(type)) {// Mvel脚本 + log = new ExpressionParserManager("Mvel").eval(script, parameterMap); + } else if (expressionParserToolController.getTypeChoiceBoxStrings()[7].equals(type)) {// Mvel脚本文件 + log = new ExpressionParserManager("Mvel").eval(new File(script)); + } else if (expressionParserToolController.getTypeChoiceBoxStrings()[8].equals(type)) {// BeanShell脚本 + log = new ExpressionParserManager("BeanShell").eval(script, parameterMap); + } else if (expressionParserToolController.getTypeChoiceBoxStrings()[9].equals(type)) {// BeanShell脚本文件 + log = new ExpressionParserManager("BeanShell").eval(new File(script)); + } else if (expressionParserToolController.getTypeChoiceBoxStrings()[10].equals(type)) {// Velocity脚本 + log = new ExpressionParserManager("Velocity").eval(script, parameterMap); + } else if (expressionParserToolController.getTypeChoiceBoxStrings()[11].equals(type)) {// Velocity脚本文件 + log = new ExpressionParserManager("Velocity").eval(new File(script)); + } else if (expressionParserToolController.getTypeChoiceBoxStrings()[12].equals(type)) {// FreeMarker脚本 + log = new ExpressionParserManager("FreeMarker").eval(script, parameterMap); + } else if (expressionParserToolController.getTypeChoiceBoxStrings()[13].equals(type)) {// FreeMarker脚本文件 + log = new ExpressionParserManager("FreeMarker").eval(new File(script)); + } else if (expressionParserToolController.getTypeChoiceBoxStrings()[14].equals(type)) {// StringTemplate脚本 + log = new ExpressionParserManager("StringTemplate").eval(script, parameterMap); + } else if (expressionParserToolController.getTypeChoiceBoxStrings()[15].equals(type)) {// StringTemplate脚本文件 + log = new ExpressionParserManager("StringTemplate").eval(new File(script)); + } else if (expressionParserToolController.getTypeChoiceBoxStrings()[16].equals(type)) {// QLExpress脚本 + log = new ExpressionParserManager("QLExpress").eval(script, parameterMap); + } else if (expressionParserToolController.getTypeChoiceBoxStrings()[17].equals(type)) {// QLExpress脚本文件 + log = new ExpressionParserManager("QLExpress").eval(new File(script)); + } + addLog(log); + //继续执行后触发任务 + if (scriptEngineToolTableBean.getIsRunAfterActivate()) { + for (ExpressionParserToolTableBean tableBean : expressionParserToolController.getTableData()) { + if (tableBean.getOrder().equals(scriptEngineToolTableBean.getRunAfterActivate())) { + runAction(tableBean); + break; + } + } + } + } catch (Exception e) { + log.error("运行脚本出错", e); + } + } + + + /** + * 向控制台添加日志信息 + * + * @param log 日志 + */ + public void addLog(Object log) { + if (log != null) { + this.getExpressionParserToolController().getLogTextArea().appendText("\n" + log.toString()); + } + } + + /** + * @Title: showScriptAction + * @Description: 查看脚本文件 + */ + public void showScriptAction(ExpressionParserToolTableBean scriptEngineToolTableBean) { + String type = scriptEngineToolTableBean.getType(); + String script = scriptEngineToolTableBean.getScript(); + System.out.println("查看:" + type + " : " + script); + try { +// if (scriptEngineToolController.getTypeChoiceBoxStrings()[0].equals(type)) {// 命令行 +// AlertUtil.showInfoAlert("脚本命令", script); +// } else if (scriptEngineToolController.getTypeChoiceBoxStrings()[1].equals(type)) {// 脚本文件 +// Runtime.getRuntime().exec("NotePad.exe " + script); +// } + if (type.contains("文件")) {// 命令行 + Runtime.getRuntime().exec("NotePad.exe " + script); + } else {// 脚本文件 + AlertUtil.showInfoAlert("脚本命令", script); + } + } catch (Exception e) { + log.error("查看脚本失败!!", e); + TooltipUtil.showToast("查看脚本失败!!" + e.getMessage()); + } + } + + public boolean runQuartzAction(String quartzType, String cronText, int interval, int repeatCount) throws Exception { + if ("简单表达式".equals(quartzType)) { + scheduleManager.runQuartzAction(ExpressionParserToolJob.class, this, interval, repeatCount); + } else if ("Cron表达式".equals(quartzType)) { + if (StringUtils.isEmpty(cronText)) { + TooltipUtil.showToast("cron表达式不能为空。"); + return false; + } + scheduleManager.runQuartzAction(ExpressionParserToolJob.class, this, cronText); + } + return true; + } + + public boolean stopQuartzAction() throws Exception { + scheduleManager.stopQuartzAction(); + return true; + } + + public void saveConfigure() throws Exception { + saveConfigure(ConfigureUtil.getConfigureFile(fileName)); + } + + public void saveConfigure(File file) throws Exception { + ConfigureUtil.getConfig(file).clear(); + for (int i = 0; i < expressionParserToolController.getTableData().size(); i++) { + ConfigureUtil.set(file, "tableBean" + i, expressionParserToolController.getTableData().get(i).getPropertys()); + } + TooltipUtil.showToast("保存配置成功,保存在:" + file.getPath()); + } + + public void otherSaveConfigureAction() throws Exception { + File file = FileChooserUtil.chooseSaveFile(fileName, new FileChooser.ExtensionFilter("All File", "*.*"), + new FileChooser.ExtensionFilter("Properties", "*.properties")); + if (file != null) { + saveConfigure(file); + TooltipUtil.showToast("保存配置成功,保存在:" + file.getPath()); + } + } + + public void loadingConfigure() { + loadingConfigure(ConfigureUtil.getConfigureFile(fileName)); + } + + public void loadingConfigure(File file) { + try { + expressionParserToolController.getTableData().clear(); + Map xmlConfigure = ConfigureUtil.getConfig(file); + for (Object t : xmlConfigure.keySet()) { + expressionParserToolController.getTableData().add(new ExpressionParserToolTableBean((String) xmlConfigure.get(t))); + } + } catch (Exception e) { + try { + log.error("加载配置失败:" + e.getMessage()); + TooltipUtil.showToast("加载配置失败:" + e.getMessage()); + } catch (Exception e2) { + } + } + } + + public void loadingConfigureAction() { + File file = FileChooserUtil.chooseFile(new FileChooser.ExtensionFilter("All File", "*.*"), + new FileChooser.ExtensionFilter("Properties", "*.properties")); + if (file != null) { + loadingConfigure(file); + } + } +} \ No newline at end of file diff --git a/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/view/debugTools/ExpressionParserToolView.java b/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/view/debugTools/ExpressionParserToolView.java new file mode 100644 index 00000000..7b32fb4d --- /dev/null +++ b/debugTools/x-ExpressionParserTool/src/main/java/com/xwintop/xJavaFxTool/view/debugTools/ExpressionParserToolView.java @@ -0,0 +1,75 @@ +package com.xwintop.xJavaFxTool.view.debugTools; +import com.xwintop.xJavaFxTool.model.ExpressionParserToolTableBean; +import lombok.Getter; +import lombok.Setter; +import javafx.fxml.Initializable; +import javafx.fxml.FXML; +import javafx.scene.control.Button; +import javafx.scene.control.CheckBox; +import javafx.scene.control.ChoiceBox; +import javafx.scene.control.Spinner; +import javafx.scene.control.TableColumn; +import javafx.scene.control.TableView; +import javafx.scene.control.TextArea; +import javafx.scene.control.TextField; +import javafx.scene.layout.AnchorPane; + +/** + * @ClassName: ExpressionParserToolView + * @Description: 表达式解析器调试工具 + * @author: xufeng + * @date: 2021/9/12 22:56 + */ + +@Getter +@Setter +public abstract class ExpressionParserToolView implements Initializable { + @FXML + protected CheckBox isEnabledCheckBox; + @FXML + protected TextArea scriptTextField; + @FXML + protected ChoiceBox typeChoiceBox; + @FXML + protected TextArea parameterTextField; + @FXML + protected Button addItemButton; + @FXML + protected ChoiceBox quartzChoiceBox; + @FXML + protected TextField cronTextField; + @FXML + protected AnchorPane simpleScheduleAnchorPane; + @FXML + protected Spinner intervalSpinner; + @FXML + protected Spinner repeatCountSpinner; + @FXML + protected Button runQuartzButton; + @FXML + protected Button runAllButton; + @FXML + protected TableView tableViewMain; + @FXML + protected TableColumn orderTableColumn; + @FXML + protected TableColumn isEnabledTableColumn; + @FXML + protected TableColumn scriptTableColumn; + @FXML + protected TableColumn viewScriptTableColumn; + @FXML + protected TableColumn typeTableColumn; + @FXML + protected TableColumn parameterTableColumn; + @FXML + protected TableColumn manualTableColumn; + @FXML + protected TableColumn isRunAfterActivateTableColumn; + @FXML + protected TableColumn runAfterActivateTableColumn; + @FXML + protected TableColumn remarksTableColumn; + @FXML + protected TextArea logTextArea; +} \ No newline at end of file diff --git a/debugTools/x-ExpressionParserTool/src/main/resources/com/xwintop/xJavaFxTool/fxmlView/debugTools/ExpressionParserTool.fxml b/debugTools/x-ExpressionParserTool/src/main/resources/com/xwintop/xJavaFxTool/fxmlView/debugTools/ExpressionParserTool.fxml new file mode 100644 index 00000000..eb4faa38 --- /dev/null +++ b/debugTools/x-ExpressionParserTool/src/main/resources/com/xwintop/xJavaFxTool/fxmlView/debugTools/ExpressionParserTool.fxml @@ -0,0 +1,112 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + +