diff --git a/build.xml b/build.xml new file mode 100644 index 0000000..b858609 --- /dev/null +++ b/build.xml @@ -0,0 +1,122 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/plugin.xml b/plugin.xml new file mode 100644 index 0000000..1d2e862 --- /dev/null +++ b/plugin.xml @@ -0,0 +1,27 @@ + + + com.fr.plugin.repository.seed + + yes + no + 1.2 + 10.0 + 2018-10-30 + rinoux + + + + com.fr.plugin + + + + + + + + + + + + s + \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..3f832d1 --- /dev/null +++ b/pom.xml @@ -0,0 +1,44 @@ + + + 4.0.0 + + + com.fr.core + core-web-atom + 10.0 + compile + + + com.fr.core + core-web-atom + 10.0 + compile + + + + com.fr.plugin + starter + 10.0 + + + jar + com.fr.plugin.***m + + + + ${project.basedir}\..\webroot\WEB-INF\plugins\plugin-com.fr.plugin.***-版本\classes + + + + org.apache.maven.plugins + maven-compiler-plugin + + 6 + 6 + + + + + \ No newline at end of file diff --git a/src/main/java/com/fr/plugin/seed/repository/SEEDFactoryProvider.java b/src/main/java/com/fr/plugin/seed/repository/SEEDFactoryProvider.java new file mode 100644 index 0000000..e04408b --- /dev/null +++ b/src/main/java/com/fr/plugin/seed/repository/SEEDFactoryProvider.java @@ -0,0 +1,33 @@ +package com.fr.plugin.seed.repository; + +import com.fr.io.base.provider.RepositoryFactoryProvider; +import com.fr.io.context.ResourceModuleContext; +import com.fr.io.fun.AbstractRepositoryFactoryProvider; +import com.fr.log.FineLoggerFactory; +import com.fr.plugin.seed.repository.core.SEEDRepositoryFactory; +import com.fr.plugin.transform.ExecuteFunctionRecord; +import com.fr.plugin.transform.FunctionRecorder; + +/** + * SEED, Shared Ensured External Directory共享外部目录 + *

+ * Created by rinoux on 2018-11-30. + */ +@FunctionRecorder +public class SEEDFactoryProvider extends AbstractRepositoryFactoryProvider { + private static final SEEDRepositoryFactory FACTORY = new SEEDRepositoryFactory(); + + static { + try { + ResourceModuleContext.addFactory(FACTORY); + } catch (Exception e) { + FineLoggerFactory.getLogger().error("Add repository factory {} failed.", FACTORY.getIdentity()); + } + } + + @Override + @ExecuteFunctionRecord + public RepositoryFactoryProvider getFactory() { + return FACTORY; + } +} diff --git a/src/main/java/com/fr/plugin/seed/repository/SEEDLocaleFinder.java b/src/main/java/com/fr/plugin/seed/repository/SEEDLocaleFinder.java new file mode 100644 index 0000000..c00dafa --- /dev/null +++ b/src/main/java/com/fr/plugin/seed/repository/SEEDLocaleFinder.java @@ -0,0 +1,15 @@ +package com.fr.plugin.seed.repository; + +import com.fr.stable.fun.impl.AbstractLocaleFinder; + +/** + * @author rinoux + * @version 10.0 + * Created by rinoux on 2019/9/5 + */ +public class SEEDLocaleFinder extends AbstractLocaleFinder { + @Override + public String find() { + return "com/fr/plugin/locale/seed"; + } +} diff --git a/src/main/java/com/fr/plugin/seed/repository/core/SEEDRepositoryFactory.java b/src/main/java/com/fr/plugin/seed/repository/core/SEEDRepositoryFactory.java new file mode 100644 index 0000000..3e179bf --- /dev/null +++ b/src/main/java/com/fr/plugin/seed/repository/core/SEEDRepositoryFactory.java @@ -0,0 +1,22 @@ +package com.fr.plugin.seed.repository.core; + +import com.fr.io.base.provider.impl.SimpleRepositoryFactory; +import com.fr.io.config.RepositoryConfig; +import com.fr.io.repository.ResourceRepository; +import com.fr.io.repository.base.fs.FileSystemRepository; + +/** + * Created by rinoux on 2018-11-30. + */ +public class SEEDRepositoryFactory extends SimpleRepositoryFactory { + + public SEEDRepositoryFactory() { + super("SEED"); + } + + + @Override + public ResourceRepository produce(String repoName, String workRoot) { + return new FileSystemRepository(repoName, workRoot); + } +} diff --git a/src/main/java/com/fr/plugin/seed/repository/decision/SEEDComponent.java b/src/main/java/com/fr/plugin/seed/repository/decision/SEEDComponent.java new file mode 100644 index 0000000..daac5e2 --- /dev/null +++ b/src/main/java/com/fr/plugin/seed/repository/decision/SEEDComponent.java @@ -0,0 +1,18 @@ +package com.fr.plugin.seed.repository.decision; + +import com.fr.web.struct.Component; +import com.fr.web.struct.browser.RequestClient; +import com.fr.web.struct.category.ScriptPath; + +/** + * Created by rinoux on 2018-11-30. + */ +public class SEEDComponent extends Component { + + public static final SEEDComponent KEY = new SEEDComponent(); + + @Override + public ScriptPath script(RequestClient req) { + return ScriptPath.build("com/fr/plugin/seed/repository/decision/js/bundle.js"); + } +} diff --git a/src/main/java/com/fr/plugin/seed/repository/decision/SEEDWebResource.java b/src/main/java/com/fr/plugin/seed/repository/decision/SEEDWebResource.java new file mode 100644 index 0000000..47d0c6a --- /dev/null +++ b/src/main/java/com/fr/plugin/seed/repository/decision/SEEDWebResource.java @@ -0,0 +1,20 @@ +package com.fr.plugin.seed.repository.decision; + +import com.fr.decision.fun.impl.AbstractWebResourceProvider; +import com.fr.decision.web.MainComponent; +import com.fr.web.struct.Atom; + +/** + * Created by rinoux on 2018-11-30. + */ +public class SEEDWebResource extends AbstractWebResourceProvider { + @Override + public Atom attach() { + return MainComponent.KEY; + } + + @Override + public Atom client() { + return SEEDComponent.KEY; + } +} diff --git a/src/main/resources/com/fr/plugin/locale/seed.properties b/src/main/resources/com/fr/plugin/locale/seed.properties new file mode 100644 index 0000000..3f229b6 --- /dev/null +++ b/src/main/resources/com/fr/plugin/locale/seed.properties @@ -0,0 +1 @@ +Plugin-Seed_Title=\u5171\u4EAB\u5916\u90E8\u76EE\u5F55 \ No newline at end of file diff --git a/src/main/resources/com/fr/plugin/locale/seed_en_US.properties b/src/main/resources/com/fr/plugin/locale/seed_en_US.properties new file mode 100644 index 0000000..b72998e --- /dev/null +++ b/src/main/resources/com/fr/plugin/locale/seed_en_US.properties @@ -0,0 +1 @@ +Plugin-Seed_Title=Shared External Directory \ No newline at end of file diff --git a/src/main/resources/com/fr/plugin/locale/seed_ja_JP.properties b/src/main/resources/com/fr/plugin/locale/seed_ja_JP.properties new file mode 100644 index 0000000..23b7644 --- /dev/null +++ b/src/main/resources/com/fr/plugin/locale/seed_ja_JP.properties @@ -0,0 +1 @@ +Plugin-Seed_Title=\u5171\u6709\u5916\u90E8\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA \ No newline at end of file diff --git a/src/main/resources/com/fr/plugin/locale/seed_ko_KR.properties b/src/main/resources/com/fr/plugin/locale/seed_ko_KR.properties new file mode 100644 index 0000000..05c9fbc --- /dev/null +++ b/src/main/resources/com/fr/plugin/locale/seed_ko_KR.properties @@ -0,0 +1 @@ +Plugin-Seed_Title=\uACF5\uC720 \uC678\uBD80 \uB514\uB809\uD1A0\uB9AC \ No newline at end of file diff --git a/src/main/resources/com/fr/plugin/locale/seed_zh_CN.properties b/src/main/resources/com/fr/plugin/locale/seed_zh_CN.properties new file mode 100644 index 0000000..3f229b6 --- /dev/null +++ b/src/main/resources/com/fr/plugin/locale/seed_zh_CN.properties @@ -0,0 +1 @@ +Plugin-Seed_Title=\u5171\u4EAB\u5916\u90E8\u76EE\u5F55 \ No newline at end of file diff --git a/src/main/resources/com/fr/plugin/locale/seed_zh_TW.properties b/src/main/resources/com/fr/plugin/locale/seed_zh_TW.properties new file mode 100644 index 0000000..76a7c45 --- /dev/null +++ b/src/main/resources/com/fr/plugin/locale/seed_zh_TW.properties @@ -0,0 +1 @@ +Plugin-Seed_Title=\u5171\u4EAB\u5916\u90E8\u76EE\u9304 \ No newline at end of file diff --git a/src/main/resources/com/fr/plugin/seed/repository/decision/js/bundle.js b/src/main/resources/com/fr/plugin/seed/repository/decision/js/bundle.js new file mode 100644 index 0000000..b0added --- /dev/null +++ b/src/main/resources/com/fr/plugin/seed/repository/decision/js/bundle.js @@ -0,0 +1,71 @@ +BI.config("dec.constant.intelligence.cluster.file.server", function (items) { + items.push({ + value: "SEED", + id: "decision-intelligence-cluster-file-seed", // id + text: BI.i18nText("Plugin-Seed_Title"), // 文字 + cardType: "dec.intelligence.cluster.file.seed" + }); + return items; +}); + + +!(function () { + var LABEL_WIDTH = 116, EDITOR_WIDTH = 300; + var SEED = BI.inherit(BI.Widget, { + + props: { + baseCls: "dec-cluster-ftp", + value: {} + }, + + _store: function () { + return BI.Models.getModel("dec.model.intelligence.cluster.file.seed", { + value: this.options.value + }); + }, + + watch: {}, + + render: function () { + var self = this, o = this.options; + return { + type: "bi.vertical", + tgap: 15, + items: [] + }; + }, + + getValue: function () { + return {}; + }, + + validation: function () { + return true; + } + }); + BI.shortcut("dec.intelligence.cluster.file.seed", SEED); +})(); + + +!(function () { + var Model = BI.inherit(Fix.Model, { + + state: function () { + var val = this.options.value; + return {}; + }, + + computed: { + encodingArray: function () { + return BI.map(DecCst.EncodeConstants.ENCODING_ARRAY, function (i, v) { + return { + value: v + }; + }); + } + }, + + actions: {} + }); + BI.model("dec.model.intelligence.cluster.file.seed", Model); +})(); \ No newline at end of file