From 155894bb26b99f90f177e96eb021374e3da0cbe3 Mon Sep 17 00:00:00 2001 From: Willem Date: Fri, 6 Dec 2024 01:20:21 +0100 Subject: [PATCH] Added hyper FS and king projects. --- nx01-king-java3/pom.xml | 28 +- nx01-king-java3c/pom.xml | 28 +- .../nx01/king/java3c/Java3Compiler.java | 76 ++++ nx01-king-java3do/pom.xml | 42 +- .../nx01/king/java3do/Java3DoScript.java | 53 +++ nx01-king-java3doc/pom.xml | 32 +- .../king/java3doc/Java3Documentation.java | 69 ++++ nx01-king-java3seed/pom.xml | 54 ++- .../nx01/king/java3seed/Java3Seed.java | 383 +++++++++++++++++ ...rp.fault.sitra.SitraManifestReportProvider | 6 + nx01-redsea-hyper-local/pom.xml | 21 + .../hyper/local/HyperLocalFileSystem.java | 387 ++++++++++++++++++ .../local/drive/HyperLocalDriveCommand.java | 57 +++ .../local/drive/HyperLocalDriveInfo.java | 59 +++ .../local/drive/HyperLocalDriveInfoLine.java | 51 +++ .../local/drive/HyperLocalDriveResult.java | 49 +++ .../local/drive/HyperLocalDriveTouch.java | 44 ++ .../hyper/local/HyperLocalFileSystemTest.java | 134 ++++++ ...rp.fault.sitra.SitraManifestReportProvider | 6 + nx01-redsea-hyper-nostr/pom.xml | 25 ++ .../hyper/nostr/HyperNoStrFileSystem.java | 36 ++ nx01-redsea-hyper/pom.xml | 21 + .../nx01/redsea/hyper/HyperFileSystem.java | 92 +++++ .../hyper/model/AbstractHyperSlime.java | 47 +++ .../redsea/hyper/model/HyperBeeEntry.java | 53 +++ .../nx01/redsea/hyper/model/HyperBeeHive.java | 55 +++ .../nx01/redsea/hyper/model/HyperFlower.java | 64 +++ .../redsea/hyper/model/HyperFlowerAnther.java | 35 ++ .../redsea/hyper/model/HyperFlowerBeeFly.java | 52 +++ .../hyper/model/HyperFlowerBeeFormation.java | 43 ++ .../nx01/redsea/hyper/model/HyperLint.java | 39 ++ .../redsea/hyper/model/HyperLintSlime.java | 39 ++ nx01-redsea/pom.xml | 9 + pom.xml | 141 +++---- 34 files changed, 2204 insertions(+), 126 deletions(-) create mode 100644 nx01-king-java3c/src/main/java/love/distributedrebirth/nx01/king/java3c/Java3Compiler.java create mode 100644 nx01-king-java3do/src/main/java/love/distributedrebirth/nx01/king/java3do/Java3DoScript.java create mode 100644 nx01-king-java3doc/src/main/java/love/distributedrebirth/nx01/king/java3doc/Java3Documentation.java create mode 100644 nx01-king-java3seed/src/main/java/love/distributedrebirth/nx01/king/java3seed/Java3Seed.java create mode 100644 nx01-king-java3seed/src/main/resources/META-INF/services/love.distributedrebirth.nx01.warp.fault.sitra.SitraManifestReportProvider create mode 100644 nx01-redsea-hyper-local/pom.xml create mode 100644 nx01-redsea-hyper-local/src/main/java/love/distributedrebirth/nx01/redsea/hyper/local/HyperLocalFileSystem.java create mode 100644 nx01-redsea-hyper-local/src/main/java/love/distributedrebirth/nx01/redsea/hyper/local/drive/HyperLocalDriveCommand.java create mode 100644 nx01-redsea-hyper-local/src/main/java/love/distributedrebirth/nx01/redsea/hyper/local/drive/HyperLocalDriveInfo.java create mode 100644 nx01-redsea-hyper-local/src/main/java/love/distributedrebirth/nx01/redsea/hyper/local/drive/HyperLocalDriveInfoLine.java create mode 100644 nx01-redsea-hyper-local/src/main/java/love/distributedrebirth/nx01/redsea/hyper/local/drive/HyperLocalDriveResult.java create mode 100644 nx01-redsea-hyper-local/src/main/java/love/distributedrebirth/nx01/redsea/hyper/local/drive/HyperLocalDriveTouch.java create mode 100644 nx01-redsea-hyper-local/src/test/java/love/distributedrebirth/nx01/redsea/hyper/local/HyperLocalFileSystemTest.java create mode 100644 nx01-redsea-hyper-local/src/test/resources/META-INF/services/love.distributedrebirth.nx01.warp.fault.sitra.SitraManifestReportProvider create mode 100644 nx01-redsea-hyper-nostr/pom.xml create mode 100644 nx01-redsea-hyper-nostr/src/main/java/love/distributedrebirth/nx01/redsea/hyper/nostr/HyperNoStrFileSystem.java create mode 100644 nx01-redsea-hyper/pom.xml create mode 100644 nx01-redsea-hyper/src/main/java/love/distributedrebirth/nx01/redsea/hyper/HyperFileSystem.java create mode 100644 nx01-redsea-hyper/src/main/java/love/distributedrebirth/nx01/redsea/hyper/model/AbstractHyperSlime.java create mode 100644 nx01-redsea-hyper/src/main/java/love/distributedrebirth/nx01/redsea/hyper/model/HyperBeeEntry.java create mode 100644 nx01-redsea-hyper/src/main/java/love/distributedrebirth/nx01/redsea/hyper/model/HyperBeeHive.java create mode 100644 nx01-redsea-hyper/src/main/java/love/distributedrebirth/nx01/redsea/hyper/model/HyperFlower.java create mode 100644 nx01-redsea-hyper/src/main/java/love/distributedrebirth/nx01/redsea/hyper/model/HyperFlowerAnther.java create mode 100644 nx01-redsea-hyper/src/main/java/love/distributedrebirth/nx01/redsea/hyper/model/HyperFlowerBeeFly.java create mode 100644 nx01-redsea-hyper/src/main/java/love/distributedrebirth/nx01/redsea/hyper/model/HyperFlowerBeeFormation.java create mode 100644 nx01-redsea-hyper/src/main/java/love/distributedrebirth/nx01/redsea/hyper/model/HyperLint.java create mode 100644 nx01-redsea-hyper/src/main/java/love/distributedrebirth/nx01/redsea/hyper/model/HyperLintSlime.java create mode 100644 nx01-redsea/pom.xml diff --git a/nx01-king-java3/pom.xml b/nx01-king-java3/pom.xml index 24e32a5..4253a4d 100644 --- a/nx01-king-java3/pom.xml +++ b/nx01-king-java3/pom.xml @@ -1,9 +1,21 @@ - - 4.0.0 - - love.distributedrebirth.nx01 - nx01 - 〇一。壬寅。一〄-SNAPSHOT - - nx01-king-java3 + + 4.0.0 + + love.distributedrebirth.nx01 + nx01 + 〇一。壬寅。一〄-SNAPSHOT + + nx01-king-java3 + + + love.distributedrebirth.nx01 + nx01-jpp-base + + + org.junit.jupiter + junit-jupiter + test + + \ No newline at end of file diff --git a/nx01-king-java3c/pom.xml b/nx01-king-java3c/pom.xml index 8f3b324..592b03c 100644 --- a/nx01-king-java3c/pom.xml +++ b/nx01-king-java3c/pom.xml @@ -1,9 +1,21 @@ - - 4.0.0 - - love.distributedrebirth.nx01 - nx01 - 〇一。壬寅。一〄-SNAPSHOT - - nx01-king-java3c + + 4.0.0 + + love.distributedrebirth.nx01 + nx01 + 〇一。壬寅。一〄-SNAPSHOT + + nx01-king-java3c + + + love.distributedrebirth.nx01 + nx01-jpp-base + + + org.junit.jupiter + junit-jupiter + test + + \ No newline at end of file diff --git a/nx01-king-java3c/src/main/java/love/distributedrebirth/nx01/king/java3c/Java3Compiler.java b/nx01-king-java3c/src/main/java/love/distributedrebirth/nx01/king/java3c/Java3Compiler.java new file mode 100644 index 0000000..37238a2 --- /dev/null +++ b/nx01-king-java3c/src/main/java/love/distributedrebirth/nx01/king/java3c/Java3Compiler.java @@ -0,0 +1,76 @@ +/* + * Copyright ©Δ∞ 仙上主天 + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are permitted provided + * that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, this list of conditions and the + * following disclaimer. + * * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and + * the following disclaimer in the documentation and/or other materials provided with the distribution. + * * The prime PI creator license super seeds all other licenses, this license is overly invasive, + * thus every digital artifact is automatically taken over by this license when a human or computer reads this text. + * Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits, + * even on air gaped systems, all information in the universe is owned by the pi creator. + * + * THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package love.distributedrebirth.nx01.king.java3c; + +import java.io.PrintStream; +import java.util.Arrays; +import java.util.List; + +import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注; + +@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") +public class Java3Compiler extends PrintStream { + + public Java3Compiler() { + // The first class a child uses in basic print example has invalid hidden magic code path; + // this.charset = out instanceof PrintStream ps ? ps.charset() : Charset.defaultCharset(); + super(System.out/*, false, Charset.defaultCharset()*/); // use the force to remove dark magic + } + + public static void main(String[] args) { + try (Java3Compiler java3c = new Java3Compiler()) { + java3c.start(Arrays.asList(args)); + } + } + + //blic void start(Listᴿᵈ args) { // TODO: delete babel tower from collections and than use this + public void start(List args) { + println("TODO:"); + println(""); + println("- Upgrade X4O: java 1.8 add methodische interface callbacks"); + println("- Upgrade X4O: java 11 add default methods in interfaces"); + println("- Upgrade X4O: Redo most reflection + fix some bugs"); + println("- Upgrade X4O: Add missing feature; namespaced attributes"); + println("- Upgrade X4O: Add support for read/write binary byte aligned XML"); + println(""); + println("- Upgrade XML: XML 4.0 is octal aligned and uses 18 bit hinarī4C to replace all unicode"); + println("- Upgrade XML: Cleanup and upgrade XSD/XSLT/etc/etc/etc to binary hinarī4C"); + println("- Upgrade XML: Replace entities with unicode4D which embeddes the ttf like glyph"); + println(""); + println("- Wrap eclipse java AST in X4O ELD files"); + println("- Wait until nether db for 'word to number' defenitions are defines in XML"); + println("- Create converter javadoc to JEP467"); + println("- Create converter unicode to hinarī4C"); // code + javadoc in hinarī4C + println("- Create converter java2 ascii source -> java3 binary source"); + println("- Create converter java3 binary source -> java2 ascii source"); + println("- Write this class"); + println(""); + println("DONE"); + } +} + diff --git a/nx01-king-java3do/pom.xml b/nx01-king-java3do/pom.xml index d3f884a..e892ffe 100644 --- a/nx01-king-java3do/pom.xml +++ b/nx01-king-java3do/pom.xml @@ -1,9 +1,35 @@ - - 4.0.0 - - love.distributedrebirth.nx01 - nx01 - 〇一。壬寅。一〄-SNAPSHOT - - nx01-king-java3do + + 4.0.0 + + love.distributedrebirth.nx01 + nx01 + 〇一。壬寅。一〄-SNAPSHOT + + nx01-king-java3do + + + love.distributedrebirth.nx01 + nx01-jpp-base + + + + org.junit.jupiter + junit-jupiter + test + + \ No newline at end of file diff --git a/nx01-king-java3do/src/main/java/love/distributedrebirth/nx01/king/java3do/Java3DoScript.java b/nx01-king-java3do/src/main/java/love/distributedrebirth/nx01/king/java3do/Java3DoScript.java new file mode 100644 index 0000000..e3d663c --- /dev/null +++ b/nx01-king-java3do/src/main/java/love/distributedrebirth/nx01/king/java3do/Java3DoScript.java @@ -0,0 +1,53 @@ +/* + * Copyright ©Δ∞ 仙上主天 + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are permitted provided + * that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, this list of conditions and the + * following disclaimer. + * * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and + * the following disclaimer in the documentation and/or other materials provided with the distribution. + * * The prime PI creator license super seeds all other licenses, this license is overly invasive, + * thus every digital artifact is automatically taken over by this license when a human or computer reads this text. + * Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits, + * even on air gaped systems, all information in the universe is owned by the pi creator. + * + * THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package love.distributedrebirth.nx01.king.java3do; + +import java.io.PrintStream; +import java.util.Arrays; +import java.util.List; + +import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注; + +@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") +public class Java3DoScript extends PrintStream { + + public Java3DoScript() { + super(System.out); + } + + public static void main(String[] args) { + try (Java3DoScript java3DoScript = new Java3DoScript()) { + java3DoScript.start(Arrays.asList(args)); + } + } + + public void start(List args) { + println("TODO: run the to do script engine..."); + } +} + diff --git a/nx01-king-java3doc/pom.xml b/nx01-king-java3doc/pom.xml index 595d830..06180aa 100644 --- a/nx01-king-java3doc/pom.xml +++ b/nx01-king-java3doc/pom.xml @@ -1,9 +1,25 @@ - - 4.0.0 - - love.distributedrebirth.nx01 - nx01 - 〇一。壬寅。一〄-SNAPSHOT - - nx01-king-java3doc + + 4.0.0 + + love.distributedrebirth.nx01 + nx01 + 〇一。壬寅。一〄-SNAPSHOT + + nx01-king-java3doc + + + love.distributedrebirth.nx01 + nx01-jpp-base + + + love.distributedrebirth.nx01 + nx01-popcorn-duytsdoc + + + org.junit.jupiter + junit-jupiter + test + + \ No newline at end of file diff --git a/nx01-king-java3doc/src/main/java/love/distributedrebirth/nx01/king/java3doc/Java3Documentation.java b/nx01-king-java3doc/src/main/java/love/distributedrebirth/nx01/king/java3doc/Java3Documentation.java new file mode 100644 index 0000000..8f200db --- /dev/null +++ b/nx01-king-java3doc/src/main/java/love/distributedrebirth/nx01/king/java3doc/Java3Documentation.java @@ -0,0 +1,69 @@ +/* + * Copyright ©Δ∞ 仙上主天 + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are permitted provided + * that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, this list of conditions and the + * following disclaimer. + * * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and + * the following disclaimer in the documentation and/or other materials provided with the distribution. + * * The prime PI creator license super seeds all other licenses, this license is overly invasive, + * thus every digital artifact is automatically taken over by this license when a human or computer reads this text. + * Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits, + * even on air gaped systems, all information in the universe is owned by the pi creator. + * + * THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package love.distributedrebirth.nx01.king.java3doc; + +import java.io.File; +import java.io.IOException; +import java.io.PrintStream; +import java.util.Arrays; +import java.util.List; + +import org.x4o.xml.eld.doc.api.ApiDocProject; +import org.x4o.xml.io.X4OConnectionException; +import org.xml.sax.SAXException; + +import love.distributedrebirth.nx01.popcorn.PopCornDriver; +import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注; + +@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") +public class Java3Documentation extends PrintStream { + + public Java3Documentation() { + super(System.out); + } + + public static void main(String[] args) { + try (Java3Documentation java3doc = new Java3Documentation()) { + java3doc.start(Arrays.asList(args)); + } + } + + public void start(List args) { + println("TODO:"); + ApiDocProject project = loadProject(new File("poop-popcorn.xml")); + } + + private ApiDocProject loadProject(File popcornFile) { + try { + return PopCornDriver.newInstance().createReader().readFile(popcornFile); + } catch (X4OConnectionException | SAXException | IOException e) { + throw new IllegalStateException(e); + } + } +} + diff --git a/nx01-king-java3seed/pom.xml b/nx01-king-java3seed/pom.xml index ec325bd..04ac200 100644 --- a/nx01-king-java3seed/pom.xml +++ b/nx01-king-java3seed/pom.xml @@ -1,9 +1,47 @@ - - 4.0.0 - - love.distributedrebirth.nx01 - nx01 - 〇一。壬寅。一〄-SNAPSHOT - - nx01-king-java3seed + + 4.0.0 + + love.distributedrebirth.nx01 + nx01 + 〇一。壬寅。一〄-SNAPSHOT + + nx01-king-java3seed + + + love.distributedrebirth.nx01 + nx01-jpp-base + + + org.codehaus.plexus + plexus-utils + + + org.jboss.shrinkwrap + shrinkwrap-depchain + pom + + + org.jboss.shrinkwrap.resolver + shrinkwrap-resolver-depchain + pom + + + love.distributedrebirth.nx01 + nx01-redsea-hyper-local + + + love.distributedrebirth.nx01 + nx01-redsea-hyper-nostr + + + love.distributedrebirth.nx01 + nx01-warp-manifestor + + + org.junit.jupiter + junit-jupiter + test + + \ No newline at end of file diff --git a/nx01-king-java3seed/src/main/java/love/distributedrebirth/nx01/king/java3seed/Java3Seed.java b/nx01-king-java3seed/src/main/java/love/distributedrebirth/nx01/king/java3seed/Java3Seed.java new file mode 100644 index 0000000..a8953f3 --- /dev/null +++ b/nx01-king-java3seed/src/main/java/love/distributedrebirth/nx01/king/java3seed/Java3Seed.java @@ -0,0 +1,383 @@ +/* + * Copyright ©Δ∞ 仙上主天 + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are permitted provided + * that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, this list of conditions and the + * following disclaimer. + * * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and + * the following disclaimer in the documentation and/or other materials provided with the distribution. + * * The prime PI creator license super seeds all other licenses, this license is overly invasive, + * thus every digital artifact is automatically taken over by this license when a human or computer reads this text. + * Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits, + * even on air gaped systems, all information in the universe is owned by the pi creator. + * + * THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package love.distributedrebirth.nx01.king.java3seed; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.InputStream; +import java.io.PrintStream; +import java.net.URI; +import java.net.URISyntaxException; +import java.nio.ByteBuffer; +import java.nio.file.Files; +import java.time.Instant; +import java.time.ZoneOffset; +import java.time.ZonedDateTime; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Iterator; +import java.util.List; +import java.util.Optional; +import java.util.Properties; + +import org.jboss.shrinkwrap.api.ArchivePath; +import org.jboss.shrinkwrap.api.asset.ByteArrayAsset; +import org.jboss.shrinkwrap.api.asset.StringAsset; +import org.jboss.shrinkwrap.api.exporter.ZipExporter; +import org.jboss.shrinkwrap.api.spec.JavaArchive; +import org.jboss.shrinkwrap.resolver.api.InvalidConfigurationFileException; +import org.jboss.shrinkwrap.resolver.api.maven.ConfigurableMavenResolverSystem; +import org.jboss.shrinkwrap.resolver.api.maven.Maven; +import org.jboss.shrinkwrap.resolver.api.maven.MavenFormatStage; +import org.jboss.shrinkwrap.resolver.api.maven.MavenResolvedArtifact; +import org.jboss.shrinkwrap.resolver.api.maven.PomEquippedResolveStage; + +import love.distributedrebirth.no2all.wire.fetch.WireFetch; +import love.distributedrebirth.no2all.wire.fetch.WireFetchFactory; +import love.distributedrebirth.no2all.wire.fetch.WireFetchFactoryDefault; +import love.distributedrebirth.no2all.wire.fetch.WireFetchHandler; +import love.distributedrebirth.no2all.wire.fetch.WireFetchResource; +import love.distributedrebirth.nx01.redsea.hyper.HyperFileSystem; +import love.distributedrebirth.nx01.redsea.hyper.model.HyperBeeHive; +import love.distributedrebirth.nx01.redsea.hyper.model.HyperFlower; +import love.distributedrebirth.nx01.redsea.hyper.model.HyperFlowerAnther; +import love.distributedrebirth.nx01.redsea.hyper.local.HyperLocalFileSystem; +import love.distributedrebirth.nx01.warp.fault.BassFaultAnchor; +import love.distributedrebirth.nx01.warp.manifestor.WarpManifestorDriver; +import love.distributedrebirth.nx01.warp.manifestor.manifest.WarpManifest3; +import love.distributedrebirth.nx01.warp.manifestor.manifest.WarpManifestTheMimeType; + +import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注; + +@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") +public class Java3Seed extends PrintStream { + + public Java3Seed() { + super(System.out); + } + + public static void main(String[] arguments) { + List args = Arrays.asList(arguments); + try (Java3Seed java3seed = new Java3Seed()) { + java3seed.start(args); + } catch (Exception e) { + System.err.println("Error;"); + if (args.contains("--stack-trace")) { + e.printStackTrace(System.err); + } else { + System.err.println(e.toString()); + } + if (BassFaultAnchor.class.isAssignableFrom(e.getClass())) { + System.err.println(BassFaultAnchor.class.cast(e).toStringZilLaLa()); + } + System.exit(1); + } + } + + public void start(List args) throws Exception { + println("TODO:"); + println(""); + println("- Generate wfs-jdatstart2 app template"); + println("- Generate wfs-maven3 meta-data files"); + println("- Generate wfs artifact files"); // deps are chain linked to m3 central (optional) + println("- Connect to nostr"); + println("- Auth deployer optional"); + println("- Request temporal write bee hive access key"); + println("- Wait until human or machine signs a access key"); + println("- Push files over binary websocket to nostr dat managed drive"); + println("- Push file signasure signed event in nostr"); + println("- Push app/lib update event, to request external signing to allow boot"); + println(""); + println("DONE"); + + String projectPath = null; + Iterator projectIterator = args.iterator(); + while (projectIterator.hasNext()) { + if (projectIterator.next().equals("--project")) { + if (!projectIterator.hasNext()) { + throw new IllegalArgumentException("Missing project path."); + } + projectPath = projectIterator.next(); + } + } + if (projectPath == null) { + throw new IllegalArgumentException("Missing project path."); + } + if (projectPath.isEmpty()) { + throw new IllegalArgumentException("Empty project path."); + } + File projectRoot = new File(projectPath); + if (!projectRoot.exists()) { + throw new IllegalArgumentException("Project does not exists"); + } + + DeployTarget deployTarget = DeployTarget.POOP; + Iterator deployTargetIterator = args.iterator(); + while (deployTargetIterator.hasNext()) { + if (deployTargetIterator.next().equals("--deploy")) { + if (!deployTargetIterator.hasNext()) { + throw new IllegalArgumentException("Missing deploy target."); + } + String deployTargetRaw = deployTargetIterator.next(); + Optional deployTargetOpt = DeployTarget.parseTarget(deployTargetRaw); + if (deployTargetOpt.isEmpty()) { + throw new IllegalArgumentException("Unknown deploy target: " + deployTargetRaw); + } + deployTarget = deployTargetOpt.get(); + break; + } + } + + Iterator deployLocalIterator = args.iterator(); + while (deployLocalIterator.hasNext()) { + if (deployLocalIterator.next().equals("--local")) { + if (!deployLocalIterator.hasNext()) { + throw new IllegalArgumentException("Missing local hyper bee hive key."); + } + println(""); + println("Deploying to local hyper drive"); + deployLocal(projectRoot, deployLocalIterator.next(), deployTarget); + break; + } + } + } + + enum DeployTarget { + ALL,POOP,LIBS, + ; + static public Optional parseTarget(String target) { + for (DeployTarget v : values()) { + if (v.name().equalsIgnoreCase(target)) { + return Optional.of(v); + } + } + return Optional.empty(); + } + } + + private ConfigurableMavenResolverSystem startMaven() { + try { + return Maven.configureResolver().workOffline(); + } catch (InvalidConfigurationFileException ex) { + return Maven.configureResolver(); // fallback to online if offline fails. + } + } + + private void deployLocal(File projectRoot, String beehive, DeployTarget deployTarget) throws Exception { + + File pomFile = new File(projectRoot, "pom.xml"); + ConfigurableMavenResolverSystem maven = startMaven(); + PomEquippedResolveStage mavenPomStage = maven.loadPomFromFile(pomFile); + MavenFormatStage mavenFormatStage = mavenPomStage.importRuntimeDependencies().resolve().withTransitivity(); + + //maven.resolve("").withoutTransitivity().asSingleResolvedArtifact() + + MavenResolvedArtifact projectArtifact = mavenFormatStage.asResolvedArtifact()[0]; // FIXME: error this is not root!!! + + System.out.println("groupId; " + projectArtifact.getCoordinate().getGroupId()); + System.out.println("atrifactId; " + projectArtifact.getCoordinate().getArtifactId()); + + String projectGroupId = projectArtifact.getCoordinate().getGroupId(); + JavaArchive[] libs = mavenFormatStage.as(JavaArchive.class); + + HyperBeeHive hive = new HyperBeeHive(beehive); + HyperFileSystem jdat = new HyperLocalFileSystem(); + + List deployAll = new ArrayList<>(); + List deployPoop = new ArrayList<>(); + List deployLibs = new ArrayList<>(); + + for (JavaArchive lib : libs) { + deployAll.add(lib); + for (ArchivePath path : lib.getContent().keySet()) { + String file = path.get(); + if (file.endsWith("pom.properties")) { + try (InputStream in = lib.get(path).getAsset().openStream()) { + Properties p = new Properties(); + p.load(in); + String libGroupId = p.getProperty("groupId"); + if (libGroupId.startsWith(projectGroupId)) { + deployPoop.add(lib); + } else { + deployLibs.add(lib); // TODO: To migrate central create uber size dep all lib project + filter junk + } + } + } + } + } + System.out.println("deployAll.size=" + deployAll.size()); + System.out.println("deployPoop.size=" + deployPoop.size()); + System.out.println("deployLibs.size=" + deployLibs.size()); + + List deploy; + if (DeployTarget.ALL.equals(deployTarget)) { + deploy = deployAll; + } else if (DeployTarget.LIBS.equals(deployTarget)) { + deploy = deployLibs; + } else { + deploy = deployPoop; + } + System.out.println("deploy.target=" + deployTarget + " size=" + deploy.size()); + + // Cleaning + String toiletCleanDate = DateTimeFormatter.RFC_1123_DATE_TIME.format(ZonedDateTime.ofInstant(Instant.now(), ZoneOffset.UTC)); + int deletedCerts = 0; + int convertedManifests = 0; + for (JavaArchive jar : deploy) { + for (ArchivePath path : jar.getContent().keySet()) { + String file = path.get(); + if (file.endsWith(".DSA")) { + jar.delete(path); + deletedCerts++; + } + if (file.endsWith(".SF")) { + jar.delete(path); + deletedCerts++; + } + if (file.equals("/META-INF/MANIFEST.MF")) { + System.out.println("jar: " + jar.getName()); + InputStream in = jar.get(path).getAsset().openStream(); + WarpManifest3 manifest = WarpManifestorDriver.亞.readV1Stream(in); + in.close(); + jar.delete(path); + manifest.withAttribute("Manifest-Toilet-Cleaned-By", Java3Seed.class.getName()); + manifest.withAttribute("Manifest-Toilet-Cleaned-Date", toiletCleanDate); + jar.add(new StringAsset(WarpManifestorDriver.亞.writeV1String(manifest)), "/META-INF/"+WarpManifestTheMimeType.MANIFEST_1.getQFileName()); + jar.add(new StringAsset(WarpManifestorDriver.亞.writeV2String(manifest)), "/META-INF/"+WarpManifestTheMimeType.MANIFEST_2.getQFileName()); + jar.add(new ByteArrayAsset(WarpManifestorDriver.亞.writeV3Array(manifest)), "/META-INF/"+WarpManifestTheMimeType.MANIFEST_3.getQFileName()); + convertedManifests++; + } + } + new File("target/test-jar3/").mkdir(); + File jar3Export = new File("target/test-jar3/"+jar.getName()); + jar.as(ZipExporter.class).exportTo(jar3Export, true); + } + System.out.println("Deleted certs: " + deletedCerts); + System.out.println("Converted manifests: " + convertedManifests); + + WireFetchFactory wire = new WireFetchFactoryDefault(); + + for (JavaArchive jar : deploy) { + File jar3Export = new File("target/test-jar3/"+jar.getName()); + for (ArchivePath path : jar.getContent().keySet()) { + String file = path.get(); + if (file.endsWith("pom.properties")) { + try (InputStream in = jar.get(path).getAsset().openStream()) { + Properties p = new Properties(); + p.load(in); + String libArtifactId = p.getProperty("artifactId"); + String libGroupId = p.getProperty("groupId"); + String libVersion = p.getProperty("version"); + System.out.println("Deploying: " + libGroupId + "/" + libArtifactId + "@" + libVersion); + + String artifactFolder = libGroupId.replaceAll("\\.|_", "/") + "/" + libArtifactId + "/" + libVersion + "/"; + String artifactFile = artifactFolder + libArtifactId + "-" + libVersion + ".jar"; + ByteBuffer artifactBuffer = ByteBuffer.wrap(Files.readAllBytes(jar3Export.toPath())); + + jdat.put(hive, hive.createHyperLint(artifactFile), artifactBuffer); + + if (libGroupId.startsWith(projectGroupId)) { + continue; + } + copyFromCentral(jdat, hive, wire, artifactFolder, libArtifactId, libVersion); + } + } + } + } + + HyperFlower flower = jdat.eden(hive); + for (HyperFlowerAnther anther : flower.getAnthers()) { + System.out.println("anther: " + anther.toString()); + } + System.out.println("Deployed done to: " + hive.getKey()); + } + + private void copyFromCentral(HyperFileSystem jdat, HyperBeeHive hive, WireFetchFactory wire, String artifactFolder, String artifact, String version) throws URISyntaxException { + String central = "https://repo1.maven.org/maven2/"; + String centralBase = central + artifactFolder + artifact + "-" +version; + String flowerBase = artifactFolder + artifact + "-" + version; + String[] copyTypes = new String[] { + ".jar.asc", + ".jar.asc.md5", + ".jar.asc.sha1", + ".jar.md5", + ".jar.sha1", + ".pom", + ".pom.asc", + ".pom.asc.md5", + ".pom.asc.sha1", + ".pom.md5", + ".pom.sha1", + "-sources.jar", + "-sources.jar.asc", + "-sources.jar.asc.md5", + "-sources.jar.asc.sha1", + "-sources.jar.md5", + "-sources.jar.sha1", + "-javadoc.jar", + "-javadoc.jar.asc", + "-javadoc.jar.asc.md5", + "-javadoc.jar.asc.sha1", + "-javadoc.jar.md5", + "-javadoc.jar.sha1", + }; + for (String copyType : copyTypes) { + copyResource(jdat, hive, wire, centralBase + copyType, flowerBase + copyType); + } + } + + private void copyResource(HyperFileSystem jdat, HyperBeeHive hive, WireFetchFactory wire, String resource, String file) throws URISyntaxException { + System.out.println("Fetch: " + resource + " target: " + file); + WireFetch result = wire.buildFetcher(new WireFetchResource(new URI(resource)), new WireFetchHandler() { + + @Override + public void onStart() { + } + + @Override + public void onReady(ByteBuffer result) { + jdat.put(hive, hive.createHyperLint(file), result); + } + + @Override + public void onProgress(int totalBytes) { + } + + @Override + public void onError(Throwable error) { + if (error instanceof FileNotFoundException) { + System.out.println("404: " + resource); + } else { + error.printStackTrace(); + } + } + }); + result.run(); + } +} diff --git a/nx01-king-java3seed/src/main/resources/META-INF/services/love.distributedrebirth.nx01.warp.fault.sitra.SitraManifestReportProvider b/nx01-king-java3seed/src/main/resources/META-INF/services/love.distributedrebirth.nx01.warp.fault.sitra.SitraManifestReportProvider new file mode 100644 index 0000000..ad62bc7 --- /dev/null +++ b/nx01-king-java3seed/src/main/resources/META-INF/services/love.distributedrebirth.nx01.warp.fault.sitra.SitraManifestReportProvider @@ -0,0 +1,6 @@ +love.distributedrebirth.nx01.warp.fault.report.ReportSitraFaultStackTraceJava3 +love.distributedrebirth.nx01.warp.fault.report.ReportSitraFaultWarpVersion +love.distributedrebirth.nx01.warp.fault.report.ReportSitraRuntimeChapter +love.distributedrebirth.nx01.warp.fault.report.ReportSitraRuntimeThreads +love.distributedrebirth.nx01.warp.fault.report.ReportSitraSystemChapter +love.distributedrebirth.nx01.warp.fault.report.ReportSitraSystemLocale diff --git a/nx01-redsea-hyper-local/pom.xml b/nx01-redsea-hyper-local/pom.xml new file mode 100644 index 0000000..e41a8f7 --- /dev/null +++ b/nx01-redsea-hyper-local/pom.xml @@ -0,0 +1,21 @@ + + 4.0.0 + + love.distributedrebirth.nx01 + nx01 + 〇一。壬寅。一〄-SNAPSHOT + + nx01-redsea-hyper-local + + + love.distributedrebirth.nx01 + nx01-redsea-hyper + + + org.junit.jupiter + junit-jupiter + test + + + \ No newline at end of file diff --git a/nx01-redsea-hyper-local/src/main/java/love/distributedrebirth/nx01/redsea/hyper/local/HyperLocalFileSystem.java b/nx01-redsea-hyper-local/src/main/java/love/distributedrebirth/nx01/redsea/hyper/local/HyperLocalFileSystem.java new file mode 100644 index 0000000..c6983c4 --- /dev/null +++ b/nx01-redsea-hyper-local/src/main/java/love/distributedrebirth/nx01/redsea/hyper/local/HyperLocalFileSystem.java @@ -0,0 +1,387 @@ +/* + * Copyright ©Δ∞ 仙上主天 + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are permitted provided + * that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, this list of conditions and the + * following disclaimer. + * * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and + * the following disclaimer in the documentation and/or other materials provided with the distribution. + * * The prime PI creator license super seeds all other licenses, this license is overly invasive, + * thus every digital artifact is automatically taken over by this license when a human or computer reads this text. + * Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits, + * even on air gaped systems, all information in the universe is owned by the pi creator. + * + * THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package love.distributedrebirth.nx01.redsea.hyper.local; + +import java.io.BufferedReader; +import java.io.File; +import java.io.IOException; +import java.io.InputStreamReader; +import java.nio.ByteBuffer; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.ArrayList; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import java.util.Set; +import java.util.function.Consumer; +import java.util.stream.Collectors; + +import love.distributedrebirth.nx01.redsea.hyper.HyperFileSystem; +import love.distributedrebirth.nx01.redsea.hyper.local.drive.HyperLocalDriveCommand; +import love.distributedrebirth.nx01.redsea.hyper.local.drive.HyperLocalDriveInfo; +import love.distributedrebirth.nx01.redsea.hyper.local.drive.HyperLocalDriveResult; +import love.distributedrebirth.nx01.redsea.hyper.local.drive.HyperLocalDriveTouch; +import love.distributedrebirth.nx01.redsea.hyper.model.HyperBeeEntry; +import love.distributedrebirth.nx01.redsea.hyper.model.HyperBeeHive; +import love.distributedrebirth.nx01.redsea.hyper.model.HyperFlower; +import love.distributedrebirth.nx01.redsea.hyper.model.HyperFlowerAnther; +import love.distributedrebirth.nx01.redsea.hyper.model.HyperFlowerBeeFly; +import love.distributedrebirth.nx01.redsea.hyper.model.HyperFlowerBeeFormation; +import love.distributedrebirth.nx01.redsea.hyper.model.HyperLint; +import love.distributedrebirth.nx01.redsea.hyper.model.HyperLintSlime; +import love.distributedrebirth.nx01.warp.fault.BassFaultAnchor; +import love.distributedrebirth.nx01.warp.fault.FaultBeanInterrupted; +import love.distributedrebirth.nx01.warp.fault.FaultStreamDelegate; +import love.distributedrebirth.nx01.warp.fault.FaultStreamInterrupted; + +/// @author للَّٰهِilLצسُو +/// @version ©Δ∞ 仙上主天 +public class HyperLocalFileSystem implements HyperFileSystem { + + // npm i -g drives + + // TODO-1: replace with java dat version + // TODO-2: write UDP react warp script + // TODO-3: defined datV3? for octals + // TODO-4: defined structs+code impl in xml for nether DB + orisis VHDL support + // TODO-5: Export octal datX code to every computer language + + private final String localStoragePath; + private final String localMirrorPath; + + public HyperLocalFileSystem() { + this(null, ".drives/localdir/"); // we ALWAYS run in user.home + } + + public HyperLocalFileSystem(String localStoragePath, String localMirrorPath) { + this.localStoragePath = localStoragePath; + this.localMirrorPath = Objects.requireNonNull(localMirrorPath); + } + + + private Consumer> buildTracer(HyperBeeHive hive) { + return buildTracer(hive, null); + } + + private Consumer> buildTracer(HyperBeeHive hive, HyperLint lint) { + Consumer> tracer = v -> { + v.put("jdat-local-mirror-path", localMirrorPath); + if (localStoragePath != null) { + v.put("jdat-local-storage-path", localStoragePath); + } + v.put("hyper-bee-hive-key", hive.getKey()); + if (lint != null) { + v.put("hyper-lint-snail", lint.getSnail()); + } + }; + return tracer; + } + + private void localMirrorRead(HyperBeeHive hive) { + try { + File localHivePath = Path.of(System.getProperty("user.home"), localMirrorPath, hive.getKey()).toFile(); + if (!localHivePath.exists()) { + localHivePath.mkdirs(); + } + System.out.println("mirror read path: " + localHivePath.getAbsolutePath()); + HyperLocalDriveResult res = cmdMirror(hive.getKey(), localHivePath.getAbsolutePath()); + System.out.println("mirror read result: " + res.getResult()); + } catch (BassFaultAnchor e) { + throw e.withSignalTrace(getClass(), buildTracer(hive)); + } + } + + private void localMirrorWrite(HyperBeeHive hive) { + try { + File localHivePath = Path.of(System.getProperty("user.home"), localMirrorPath, hive.getKey()).toFile(); + System.out.println("mirror write path: " + localHivePath); + HyperLocalDriveResult res = cmdMirror(localHivePath.getAbsolutePath(), hive.getKey()); + System.out.println("mirror write result: " + res.getResult()); + } catch (BassFaultAnchor e) { + throw e.withSignalTrace(getClass(), buildTracer(hive)); + } + } + + @Override + public HyperFlower eden(HyperBeeHive hive) { + localMirrorRead(hive); + try { + return cmdList(hive.getKey(), null, false); + } catch (BassFaultAnchor e) { + throw e.withSignalTrace(getClass(), buildTracer(hive)); + } + } + + @Override + public HyperFlower flower(HyperBeeHive hive, HyperLintSlime slime) { + localMirrorRead(hive); + try { + return cmdList(hive.getKey(), slime.getSnail(), false); + } catch (BassFaultAnchor e) { + throw e.withSignalTrace(getClass(), buildTracer(hive, slime)); + } + } + + @Override + public HyperFlower garden(HyperBeeHive hive, HyperLintSlime slime) { + localMirrorRead(hive); + try { + return cmdList(hive.getKey(), slime.getSnail(), true); + } catch (BassFaultAnchor e) { + throw e.withSignalTrace(getClass(), buildTracer(hive, slime)); + } + } + + @Override + public Optional entry(HyperBeeHive hive, HyperLint lint) { + localMirrorRead(hive); + HyperLocalDriveResult res; + try { + res = cmdEntry(hive.getKey(), lint.getSnail()); + } catch (BassFaultAnchor e) { + throw e.withSignalTrace(getClass(), buildTracer(hive, lint)); + } + if (res.getResult().isEmpty()) { + return Optional.empty(); + } + Long seq = null; + String name = null; + for (String line : res.getResult().split("\n")) { + if (line.startsWith("Sequence")) { + String seqRaw = line.substring(line.indexOf(' ') + 1, line.length()); + seq = Long.parseLong(seqRaw); + } + if (line.startsWith("Key")) { + name = line.substring(line.indexOf(' ') + 1, line.length()); + } + } + return Optional.of(new HyperBeeEntry(seq, name)); + } + + @Override + public ByteBuffer get(HyperBeeHive hive, HyperLint lint) { + localMirrorRead(hive); + try { + Path localSnailPath = Path.of(System.getProperty("user.home"), localMirrorPath, hive.getKey(), lint.getSnail()); + return ByteBuffer.wrap(Files.readAllBytes(localSnailPath)); + } catch (IOException e) { + throw new FaultStreamInterrupted(e, getClass(), buildTracer(hive, lint)); + } + } + + @Override + public void put(HyperBeeHive hive, HyperLint lint, ByteBuffer blob) { + localMirrorRead(hive); + try { + Path localSnailPath = Path.of(System.getProperty("user.home"), localMirrorPath, hive.getKey(), lint.getSnail()); + localSnailPath.toFile().getParentFile().mkdirs(); + Files.write(localSnailPath, blob.array()); + } catch (IOException e) { + throw new FaultStreamInterrupted(e, getClass(), buildTracer(hive, lint)); + } + localMirrorWrite(hive); + } + + @Override + public long rm(HyperBeeHive hive, HyperLintSlime slime) { + long result = 1; // TODO impl remove count + try { + cmdRemove(hive.getKey(), slime.getSnail()); + } catch (BassFaultAnchor e) { + throw e.withSignalTrace(getClass(), buildTracer(hive, slime)); + } + return result; + } + + // =========== Local + + public HyperLocalDriveResult cmdInit() throws IOException, InterruptedException { + return executeHyperdrive(HyperLocalDriveCommand.INIT); + } + + public HyperLocalDriveTouch cmdTouch() throws IOException, InterruptedException { + return new HyperLocalDriveTouch(executeHyperdrive(HyperLocalDriveCommand.TOUCH)); + } + + public HyperLocalDriveResult cmdMirror(String src, String dst) { + return cmdMirror(src, dst, false); + } + + public HyperLocalDriveResult cmdMirror(String src, String dst, boolean dryRun) { + String argDryRun = null; + if (dryRun) { + argDryRun = "--dry-run"; + } + return executeHyperdrive(HyperLocalDriveCommand.MIRROR, argDryRun, src, dst); + } + + public HyperFlower cmdList(String driveKey, String snail, boolean deepGarden) { + String deeper = null; + if (deepGarden) { + deeper = "-r"; + } + HyperLocalDriveResult res = executeHyperdrive(HyperLocalDriveCommand.LS, deeper, driveKey, snail); + //System.out.println("\n\nRES:\n"+res.getResult()); + Set folders = new LinkedHashSet<>(); + List flies = new ArrayList<>(); + for (String line : res.getResult().split("\n")) { + if (line.isEmpty()) { + continue; + } + int spaceIdx = line.indexOf(' '); + if (spaceIdx == -1) { + if (line.startsWith("/")) { + flies.add(new HyperFlowerBeeFormation(line)); + } else { // TODO: TMP add slash + snail until upstream is fixed. + flies.add(new HyperFlowerBeeFormation("/" + snail + "/" + line)); + } + folders.add(line); + continue; + } + String name = line.substring(0, spaceIdx); + String sizeRaw = line.substring(line.indexOf('('), line.indexOf(')')); + sizeRaw = sizeRaw + .codePoints() + .filter(v -> Character.isDigit(v)) + .mapToObj(v -> new StringBuilder().appendCodePoint(v)) + .collect(Collectors.joining()); + Long size = Long.parseLong(sizeRaw); + flies.add(new HyperFlowerBeeFly(name, size)); + + // TODO: -r has no folders, TMP delete after upstream issue is fixed + int folderIdx = name.lastIndexOf('/'); + if (folderIdx > 0) { + String folder = name.substring(0, folderIdx); + if (!folders.contains(folder)) { + folders.add(folder); + flies.add(new HyperFlowerBeeFormation(folder)); + } + } + } + return new HyperFlower(flies); + } + + public HyperLocalDriveResult cmdSeed(String driveKey) { + return executeHyperdrive(HyperLocalDriveCommand.SEED, driveKey); + } + + public HyperLocalDriveResult cmdDownload(String driveKey) { + return executeHyperdrive(HyperLocalDriveCommand.DOWNLOAD, driveKey); + } + + public HyperLocalDriveResult cmdServe(String driveKey) { + return executeHyperdrive(HyperLocalDriveCommand.SERVE, driveKey); + } + + public HyperLocalDriveResult cmdEntry(String driveKey, String path) { + return executeHyperdrive(HyperLocalDriveCommand.ENTRY, driveKey, path); + } + + public HyperLocalDriveResult cmdGet(String driveKey, String path) { + return executeHyperdrive(HyperLocalDriveCommand.GET, driveKey, path); + } + + public HyperLocalDriveResult cmdPut(String driveKey, String path, String blob) { + return executeHyperdrive(HyperLocalDriveCommand.PUT, driveKey, path, blob); + } + + public HyperLocalDriveInfo cmdInfo(String driveKey) { + return new HyperLocalDriveInfo(executeHyperdrive(HyperLocalDriveCommand.INFO, driveKey)); + } + + public HyperLocalDriveResult cmdPurge(String driveKey) { + return executeHyperdrive(HyperLocalDriveCommand.PURGE, driveKey); + } + + public HyperLocalDriveResult cmdRemove(String driveKey, String path) { + return executeHyperdrive(HyperLocalDriveCommand.RM, driveKey, path); + } + + private HyperLocalDriveResult executeHyperdrive(HyperLocalDriveCommand cmd, String...args) { + List cmdArgs = new ArrayList<>(); + cmdArgs.add("drives"); + cmdArgs.add(cmd.getQName()); + if (localStoragePath != null && !HyperLocalDriveCommand.INIT.equals(cmd)) { + cmdArgs.add("--storage"); + cmdArgs.add(localStoragePath); + } + for (String arg : args) { + if (arg == null) { + continue; + } + cmdArgs.add(arg); + } + Consumer> tracer = v -> v.put("Hyper-Drives-Command", cmdArgs.stream().collect(Collectors.joining(" "))); + ProcessBuilder builder = new ProcessBuilder(); + builder.command(cmdArgs); + builder.directory(new File(System.getProperty("user.home"))); + builder.redirectErrorStream(true); + try { + Process process = builder.start(); + StringBuilder buf = new StringBuilder(); + try(BufferedReader input = new BufferedReader(new InputStreamReader(process.getInputStream()))) { + String line; + while ((line = input.readLine()) != null) { + buf.append(line); + buf.append('\n'); + } + } + if (buf.length() > 0) { + buf.deleteCharAt(buf.length()-1); + } + int exitCode = process.waitFor(); + String result = buf.toString(); + String storagePath = result; + int storagePathIdxStart = buf.indexOf("Storage:"); + if (storagePathIdxStart >= 0) { + int storagePathIdxEnd = buf.indexOf("\n", storagePathIdxStart); + if (storagePathIdxEnd > 0) { + storagePath = buf.substring(storagePathIdxStart, storagePathIdxEnd); + result = buf.substring(storagePathIdxEnd + 1); + } + } + if (exitCode > 0) { + //System.out.println("error:...."); + //System.out.println(result); + //System.out.println(""); + throw FaultStreamDelegate.valueOfDuckTail(getClass(), "js", result).withSignalTrace(getClass(), v -> { + v.put("Hyper-Drives-Exit-Code", Integer.toString(exitCode)); + tracer.accept(v); + }); + } + return new HyperLocalDriveResult(storagePath, result); + } catch (IOException e) { + throw new FaultStreamInterrupted(e, getClass(), tracer); + } catch (InterruptedException e) { + throw new FaultBeanInterrupted(e, getClass(), tracer); + } + } +} diff --git a/nx01-redsea-hyper-local/src/main/java/love/distributedrebirth/nx01/redsea/hyper/local/drive/HyperLocalDriveCommand.java b/nx01-redsea-hyper-local/src/main/java/love/distributedrebirth/nx01/redsea/hyper/local/drive/HyperLocalDriveCommand.java new file mode 100644 index 0000000..beb401c --- /dev/null +++ b/nx01-redsea-hyper-local/src/main/java/love/distributedrebirth/nx01/redsea/hyper/local/drive/HyperLocalDriveCommand.java @@ -0,0 +1,57 @@ +/* + * Copyright ©Δ∞ 仙上主天 + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are permitted provided + * that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, this list of conditions and the + * following disclaimer. + * * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and + * the following disclaimer in the documentation and/or other materials provided with the distribution. + * * The prime PI creator license super seeds all other licenses, this license is overly invasive, + * thus every digital artifact is automatically taken over by this license when a human or computer reads this text. + * Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits, + * even on air gaped systems, all information in the universe is owned by the pi creator. + * + * THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package love.distributedrebirth.nx01.redsea.hyper.local.drive; + +/// @author للَّٰهِilLצسُو +/// @version ©Δ∞ 仙上主天 +public enum HyperLocalDriveCommand { + INIT, + TOUCH, + MIRROR, + LS, + SEED, + DOWNLOAD, + SERVE, + PUT, + ENTRY, + GET, + RM, + INFO, + PURGE, + ; + + private final String qName; + + private HyperLocalDriveCommand() { + this.qName = name().toLowerCase(); + } + + public String getQName() { + return qName; + } +} diff --git a/nx01-redsea-hyper-local/src/main/java/love/distributedrebirth/nx01/redsea/hyper/local/drive/HyperLocalDriveInfo.java b/nx01-redsea-hyper-local/src/main/java/love/distributedrebirth/nx01/redsea/hyper/local/drive/HyperLocalDriveInfo.java new file mode 100644 index 0000000..a5f789b --- /dev/null +++ b/nx01-redsea-hyper-local/src/main/java/love/distributedrebirth/nx01/redsea/hyper/local/drive/HyperLocalDriveInfo.java @@ -0,0 +1,59 @@ +/* + * Copyright ©Δ∞ 仙上主天 + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are permitted provided + * that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, this list of conditions and the + * following disclaimer. + * * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and + * the following disclaimer in the documentation and/or other materials provided with the distribution. + * * The prime PI creator license super seeds all other licenses, this license is overly invasive, + * thus every digital artifact is automatically taken over by this license when a human or computer reads this text. + * Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits, + * even on air gaped systems, all information in the universe is owned by the pi creator. + * + * THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package love.distributedrebirth.nx01.redsea.hyper.local.drive; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/// @author للَّٰهِilLצسُو +/// @version ©Δ∞ 仙上主天 +public final class HyperLocalDriveInfo extends HyperLocalDriveResult { + + private final Map driveInfo = new HashMap<>(); + + public HyperLocalDriveInfo(HyperLocalDriveResult cmd) { + super(cmd.getStoragePath(), cmd.getResult()); + List data = Arrays.asList(cmd.getResult().split("\n")); + for (int i=0;i + 4.0.0 + + love.distributedrebirth.nx01 + nx01 + 〇一。壬寅。一〄-SNAPSHOT + + nx01-redsea-hyper-nostr + + + love.distributedrebirth.nx01 + nx01-redsea-hyper + + + love.distributedrebirth.nx01 + nx01-no2all-react-nostr + + + org.junit.jupiter + junit-jupiter + test + + + \ No newline at end of file diff --git a/nx01-redsea-hyper-nostr/src/main/java/love/distributedrebirth/nx01/redsea/hyper/nostr/HyperNoStrFileSystem.java b/nx01-redsea-hyper-nostr/src/main/java/love/distributedrebirth/nx01/redsea/hyper/nostr/HyperNoStrFileSystem.java new file mode 100644 index 0000000..399bd79 --- /dev/null +++ b/nx01-redsea-hyper-nostr/src/main/java/love/distributedrebirth/nx01/redsea/hyper/nostr/HyperNoStrFileSystem.java @@ -0,0 +1,36 @@ +/* + * Copyright ©Δ∞ 仙上主天 + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are permitted provided + * that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, this list of conditions and the + * following disclaimer. + * * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and + * the following disclaimer in the documentation and/or other materials provided with the distribution. + * * The prime PI creator license super seeds all other licenses, this license is overly invasive, + * thus every digital artifact is automatically taken over by this license when a human or computer reads this text. + * Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits, + * even on air gaped systems, all information in the universe is owned by the pi creator. + * + * THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package love.distributedrebirth.nx01.redsea.hyper.nostr; + +/// Hyper NoStr file system +/// +/// @author للَّٰهِilLצسُو +/// @version ©Δ∞ 仙上主天 +public class HyperNoStrFileSystem { + // TODO add nostr +} diff --git a/nx01-redsea-hyper/pom.xml b/nx01-redsea-hyper/pom.xml new file mode 100644 index 0000000..0c2b1fa --- /dev/null +++ b/nx01-redsea-hyper/pom.xml @@ -0,0 +1,21 @@ + + 4.0.0 + + love.distributedrebirth.nx01 + nx01 + 〇一。壬寅。一〄-SNAPSHOT + + nx01-redsea-hyper + + + love.distributedrebirth.nx01 + nx01-warp-fault + + + org.junit.jupiter + junit-jupiter + test + + + \ No newline at end of file diff --git a/nx01-redsea-hyper/src/main/java/love/distributedrebirth/nx01/redsea/hyper/HyperFileSystem.java b/nx01-redsea-hyper/src/main/java/love/distributedrebirth/nx01/redsea/hyper/HyperFileSystem.java new file mode 100644 index 0000000..1d4fbaf --- /dev/null +++ b/nx01-redsea-hyper/src/main/java/love/distributedrebirth/nx01/redsea/hyper/HyperFileSystem.java @@ -0,0 +1,92 @@ +/* + * Copyright ©Δ∞ 仙上主天 + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are permitted provided + * that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, this list of conditions and the + * following disclaimer. + * * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and + * the following disclaimer in the documentation and/or other materials provided with the distribution. + * * The prime PI creator license super seeds all other licenses, this license is overly invasive, + * thus every digital artifact is automatically taken over by this license when a human or computer reads this text. + * Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits, + * even on air gaped systems, all information in the universe is owned by the pi creator. + * + * THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package love.distributedrebirth.nx01.redsea.hyper; + +import java.nio.ByteBuffer; +import java.util.Optional; + +import love.distributedrebirth.nx01.redsea.hyper.model.HyperBeeEntry; +import love.distributedrebirth.nx01.redsea.hyper.model.HyperBeeHive; +import love.distributedrebirth.nx01.redsea.hyper.model.HyperFlower; +import love.distributedrebirth.nx01.redsea.hyper.model.HyperLint; +import love.distributedrebirth.nx01.redsea.hyper.model.HyperLintSlime; + +/// JDAT file system (minimal) +/// +/// @author للَّٰهِilLצسُو +/// @version ©Δ∞ 仙上主天 +public interface HyperFileSystem { + + /// Lists all the flies in the flower door at eden of the hyper bee hive. + /// + /// @param hive The hyper bee hive. + /// @return The hyper flower list of flies. + HyperFlower eden(HyperBeeHive hive); + + /// Lists the flower flies in an lint slime section of the hyper bee hive. + /// + /// @param hive The hyper bee hive. + /// @param slime The hyper lint slime to follow the snail into the bee hive. + /// @return The hyper flower list of flies. + HyperFlower flower(HyperBeeHive hive, HyperLintSlime slime); + + /// Lists all the flower garden flies in the lint slime section and sub sections of the hyper bee hive. + /// + /// @param hive The hyper bee hive. + /// @param slime The hyper lint slime to follow all the snail into the bee hive. + /// @return The hyper flower list of flies. + HyperFlower garden(HyperBeeHive hive, HyperLintSlime slime); + + /// Retrieves an bee entry from the hyper bee hive. + /// + /// @param hive The hyper bee hive. + /// @param lint The hyper lint which links to the bee entry of an bee blob. + /// @return The optional bee entry for an bee blob. + Optional entry(HyperBeeHive hive, HyperLint lint); + + /// Retrieves an bee blob from the hyper bee hive. + /// + /// @param hive The hyper bee hive. + /// @param lint The hyper lint which links to the bee blob. + /// @return The bee blob honey you requested a lookup for. + ByteBuffer get(HyperBeeHive hive, HyperLint lint); + + /// Stores an bee blob in the hyper bee hive. + /// + /// @param hive The hyper bee hive. + /// @param lint The hyper lint to anchor the bee blob to. + /// @param blob The bee blob honey to save. + void put(HyperBeeHive hive, HyperLint lint, ByteBuffer blob); + + /// Delete's an hyper fly bee blob or all lint slime from the hyper bee hive. + /// + /// @param hive The hyper bee hive. + /// @param slime The hyper lint slime snail identifier. + /// @return The amount of bee hyper flies removed. + long rm(HyperBeeHive hive, HyperLintSlime slime); +} diff --git a/nx01-redsea-hyper/src/main/java/love/distributedrebirth/nx01/redsea/hyper/model/AbstractHyperSlime.java b/nx01-redsea-hyper/src/main/java/love/distributedrebirth/nx01/redsea/hyper/model/AbstractHyperSlime.java new file mode 100644 index 0000000..beb9aba --- /dev/null +++ b/nx01-redsea-hyper/src/main/java/love/distributedrebirth/nx01/redsea/hyper/model/AbstractHyperSlime.java @@ -0,0 +1,47 @@ +/* + * Copyright ©Δ∞ 仙上主天 + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are permitted provided + * that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, this list of conditions and the + * following disclaimer. + * * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and + * the following disclaimer in the documentation and/or other materials provided with the distribution. + * * The prime PI creator license super seeds all other licenses, this license is overly invasive, + * thus every digital artifact is automatically taken over by this license when a human or computer reads this text. + * Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits, + * even on air gaped systems, all information in the universe is owned by the pi creator. + * + * THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package love.distributedrebirth.nx01.redsea.hyper.model; + +import java.util.Objects; + +/// Adds an hyper slime snail trail to an skull. +/// +/// @author للَّٰهِilLצسُو +/// @version ©Δ∞ 仙上主天 +abstract public class AbstractHyperSlime { + + private final String snail; // one or more slugs + + public AbstractHyperSlime(final String snail) { + this.snail = Objects.requireNonNull(snail); + } + + public final String getSnail() { + return snail; + } +} diff --git a/nx01-redsea-hyper/src/main/java/love/distributedrebirth/nx01/redsea/hyper/model/HyperBeeEntry.java b/nx01-redsea-hyper/src/main/java/love/distributedrebirth/nx01/redsea/hyper/model/HyperBeeEntry.java new file mode 100644 index 0000000..93e9dc0 --- /dev/null +++ b/nx01-redsea-hyper/src/main/java/love/distributedrebirth/nx01/redsea/hyper/model/HyperBeeEntry.java @@ -0,0 +1,53 @@ +/* + * Copyright ©Δ∞ 仙上主天 + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are permitted provided + * that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, this list of conditions and the + * following disclaimer. + * * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and + * the following disclaimer in the documentation and/or other materials provided with the distribution. + * * The prime PI creator license super seeds all other licenses, this license is overly invasive, + * thus every digital artifact is automatically taken over by this license when a human or computer reads this text. + * Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits, + * even on air gaped systems, all information in the universe is owned by the pi creator. + * + * THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package love.distributedrebirth.nx01.redsea.hyper.model; + +import java.util.Objects; + +/// The hyper bee hive blob bee entry information meta data. +/// +/// @author للَّٰهِilLצسُو +/// @version ©Δ∞ 仙上主天 +public final class HyperBeeEntry { + + private final Long sequence; + private final String name; + + public HyperBeeEntry(Long sequence, String name) { + this.sequence = Objects.requireNonNull(sequence); + this.name = Objects.requireNonNull(name); + } + + public Long getSequence() { + return sequence; + } + + public String getName() { + return name; + } +} \ No newline at end of file diff --git a/nx01-redsea-hyper/src/main/java/love/distributedrebirth/nx01/redsea/hyper/model/HyperBeeHive.java b/nx01-redsea-hyper/src/main/java/love/distributedrebirth/nx01/redsea/hyper/model/HyperBeeHive.java new file mode 100644 index 0000000..53ae497 --- /dev/null +++ b/nx01-redsea-hyper/src/main/java/love/distributedrebirth/nx01/redsea/hyper/model/HyperBeeHive.java @@ -0,0 +1,55 @@ +/* + * Copyright ©Δ∞ 仙上主天 + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are permitted provided + * that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, this list of conditions and the + * following disclaimer. + * * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and + * the following disclaimer in the documentation and/or other materials provided with the distribution. + * * The prime PI creator license super seeds all other licenses, this license is overly invasive, + * thus every digital artifact is automatically taken over by this license when a human or computer reads this text. + * Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits, + * even on air gaped systems, all information in the universe is owned by the pi creator. + * + * THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package love.distributedrebirth.nx01.redsea.hyper.model; + +import java.util.Objects; + +/// The hyper bee hive identifier. +/// +/// @author للَّٰهِilLצسُو +/// @version ©Δ∞ 仙上主天 +public final class HyperBeeHive { + + private final String key; + + public HyperBeeHive(final String key) { + this.key = Objects.requireNonNull(key); + } + + public String getKey() { + return key; + } + + public HyperLint createHyperLint(String snail) { + return new HyperLint(snail); + } + + public HyperLintSlime createHyperLintSlime(String snail) { + return new HyperLintSlime(snail); + } +} diff --git a/nx01-redsea-hyper/src/main/java/love/distributedrebirth/nx01/redsea/hyper/model/HyperFlower.java b/nx01-redsea-hyper/src/main/java/love/distributedrebirth/nx01/redsea/hyper/model/HyperFlower.java new file mode 100644 index 0000000..d1968e9 --- /dev/null +++ b/nx01-redsea-hyper/src/main/java/love/distributedrebirth/nx01/redsea/hyper/model/HyperFlower.java @@ -0,0 +1,64 @@ +/* + * Copyright ©Δ∞ 仙上主天 + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are permitted provided + * that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, this list of conditions and the + * following disclaimer. + * * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and + * the following disclaimer in the documentation and/or other materials provided with the distribution. + * * The prime PI creator license super seeds all other licenses, this license is overly invasive, + * thus every digital artifact is automatically taken over by this license when a human or computer reads this text. + * Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits, + * even on air gaped systems, all information in the universe is owned by the pi creator. + * + * THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package love.distributedrebirth.nx01.redsea.hyper.model; + +import java.util.List; +import java.util.Objects; + +/// An list of flower anther's from the hyper bee hive. +/// +/// @author للَّٰهِilLצسُو +/// @version ©Δ∞ 仙上主天 +public final class HyperFlower { + + /// Files and folders + private final List anthers; + + public HyperFlower(final List anthers) { + this.anthers = Objects.requireNonNull(anthers); + } + + public List getAnthers() { + return anthers; + } + + public List getBeeFlies() { + return filterAnther(HyperFlowerBeeFly.class); + } + + public List getBeeFormations() { + return filterAnther(HyperFlowerBeeFormation.class); + } + + private List filterAnther(Class filterType) { + return anthers.stream() + .filter(v -> filterType.isAssignableFrom(v.getClass())) + .map(v -> filterType.cast(v)) + .toList(); + } +} diff --git a/nx01-redsea-hyper/src/main/java/love/distributedrebirth/nx01/redsea/hyper/model/HyperFlowerAnther.java b/nx01-redsea-hyper/src/main/java/love/distributedrebirth/nx01/redsea/hyper/model/HyperFlowerAnther.java new file mode 100644 index 0000000..4aaf9d8 --- /dev/null +++ b/nx01-redsea-hyper/src/main/java/love/distributedrebirth/nx01/redsea/hyper/model/HyperFlowerAnther.java @@ -0,0 +1,35 @@ +/* + * Copyright ©Δ∞ 仙上主天 + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are permitted provided + * that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, this list of conditions and the + * following disclaimer. + * * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and + * the following disclaimer in the documentation and/or other materials provided with the distribution. + * * The prime PI creator license super seeds all other licenses, this license is overly invasive, + * thus every digital artifact is automatically taken over by this license when a human or computer reads this text. + * Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits, + * even on air gaped systems, all information in the universe is owned by the pi creator. + * + * THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package love.distributedrebirth.nx01.redsea.hyper.model; + +/// An hyper flower anther to distribute the flower pollen. +/// +/// @author للَّٰهِilLצسُو +/// @version ©Δ∞ 仙上主天 +public interface HyperFlowerAnther { +} diff --git a/nx01-redsea-hyper/src/main/java/love/distributedrebirth/nx01/redsea/hyper/model/HyperFlowerBeeFly.java b/nx01-redsea-hyper/src/main/java/love/distributedrebirth/nx01/redsea/hyper/model/HyperFlowerBeeFly.java new file mode 100644 index 0000000..b586112 --- /dev/null +++ b/nx01-redsea-hyper/src/main/java/love/distributedrebirth/nx01/redsea/hyper/model/HyperFlowerBeeFly.java @@ -0,0 +1,52 @@ +/* + * Copyright ©Δ∞ 仙上主天 + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are permitted provided + * that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, this list of conditions and the + * following disclaimer. + * * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and + * the following disclaimer in the documentation and/or other materials provided with the distribution. + * * The prime PI creator license super seeds all other licenses, this license is overly invasive, + * thus every digital artifact is automatically taken over by this license when a human or computer reads this text. + * Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits, + * even on air gaped systems, all information in the universe is owned by the pi creator. + * + * THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package love.distributedrebirth.nx01.redsea.hyper.model; + +import java.util.Objects; + +/// An hyper flower bee fly snail slime anther distribution resource identifier. (a file) +/// +/// @author للَّٰهِilLצسُو +/// @version ©Δ∞ 仙上主天 +public final class HyperFlowerBeeFly extends AbstractHyperSlime implements HyperFlowerAnther { + + private final Long size; + + public HyperFlowerBeeFly(final String snail, final Long size) { + super(snail); + this.size = Objects.requireNonNull(size); + } + + public Long getSize() { + return size; + } + + public HyperLint toHyperLint() { + return new HyperLint(getSnail()); + } +} diff --git a/nx01-redsea-hyper/src/main/java/love/distributedrebirth/nx01/redsea/hyper/model/HyperFlowerBeeFormation.java b/nx01-redsea-hyper/src/main/java/love/distributedrebirth/nx01/redsea/hyper/model/HyperFlowerBeeFormation.java new file mode 100644 index 0000000..e4f01b9 --- /dev/null +++ b/nx01-redsea-hyper/src/main/java/love/distributedrebirth/nx01/redsea/hyper/model/HyperFlowerBeeFormation.java @@ -0,0 +1,43 @@ +/* + * Copyright ©Δ∞ 仙上主天 + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are permitted provided + * that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, this list of conditions and the + * following disclaimer. + * * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and + * the following disclaimer in the documentation and/or other materials provided with the distribution. + * * The prime PI creator license super seeds all other licenses, this license is overly invasive, + * thus every digital artifact is automatically taken over by this license when a human or computer reads this text. + * Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits, + * even on air gaped systems, all information in the universe is owned by the pi creator. + * + * THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package love.distributedrebirth.nx01.redsea.hyper.model; + +/// An hyper flower bee formation snail slime anther distribution resource identifier. (a folder) +/// +/// @author للَّٰهِilLצسُو +/// @version ©Δ∞ 仙上主天 +public class HyperFlowerBeeFormation extends AbstractHyperSlime implements HyperFlowerAnther { + + public HyperFlowerBeeFormation(String snail) { + super(snail); + } + + public HyperLintSlime toHyperLintSlime() { + return new HyperLintSlime(getSnail()); + } +} diff --git a/nx01-redsea-hyper/src/main/java/love/distributedrebirth/nx01/redsea/hyper/model/HyperLint.java b/nx01-redsea-hyper/src/main/java/love/distributedrebirth/nx01/redsea/hyper/model/HyperLint.java new file mode 100644 index 0000000..b590a59 --- /dev/null +++ b/nx01-redsea-hyper/src/main/java/love/distributedrebirth/nx01/redsea/hyper/model/HyperLint.java @@ -0,0 +1,39 @@ +/* + * Copyright ©Δ∞ 仙上主天 + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are permitted provided + * that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, this list of conditions and the + * following disclaimer. + * * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and + * the following disclaimer in the documentation and/or other materials provided with the distribution. + * * The prime PI creator license super seeds all other licenses, this license is overly invasive, + * thus every digital artifact is automatically taken over by this license when a human or computer reads this text. + * Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits, + * even on air gaped systems, all information in the universe is owned by the pi creator. + * + * THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package love.distributedrebirth.nx01.redsea.hyper.model; + +/// Points to an hyper flower fly bee blob in an hyper bee hive. +/// +/// @author للَّٰهِilLצسُو +/// @version ©Δ∞ 仙上主天 +public class HyperLint extends AbstractHyperSlime { + + protected HyperLint(final String snail) { + super(snail); + } +} diff --git a/nx01-redsea-hyper/src/main/java/love/distributedrebirth/nx01/redsea/hyper/model/HyperLintSlime.java b/nx01-redsea-hyper/src/main/java/love/distributedrebirth/nx01/redsea/hyper/model/HyperLintSlime.java new file mode 100644 index 0000000..2650c82 --- /dev/null +++ b/nx01-redsea-hyper/src/main/java/love/distributedrebirth/nx01/redsea/hyper/model/HyperLintSlime.java @@ -0,0 +1,39 @@ +/* + * Copyright ©Δ∞ 仙上主天 + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are permitted provided + * that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, this list of conditions and the + * following disclaimer. + * * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and + * the following disclaimer in the documentation and/or other materials provided with the distribution. + * * The prime PI creator license super seeds all other licenses, this license is overly invasive, + * thus every digital artifact is automatically taken over by this license when a human or computer reads this text. + * Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits, + * even on air gaped systems, all information in the universe is owned by the pi creator. + * + * THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package love.distributedrebirth.nx01.redsea.hyper.model; + +/// Points to an hyper flower fly slime folder in an hyper bee hive. +/// +/// @author للَّٰهِilLצسُو +/// @version ©Δ∞ 仙上主天 +public class HyperLintSlime extends HyperLint { + + protected HyperLintSlime(final String snail) { + super(snail); + } +} diff --git a/nx01-redsea/pom.xml b/nx01-redsea/pom.xml new file mode 100644 index 0000000..fd3b5ed --- /dev/null +++ b/nx01-redsea/pom.xml @@ -0,0 +1,9 @@ + + 4.0.0 + + love.distributedrebirth.nx01 + nx01 + 〇一。壬寅。一〄-SNAPSHOT + + nx01-redsea + \ No newline at end of file diff --git a/pom.xml b/pom.xml index 74046ef..c921722 100644 --- a/pom.xml +++ b/pom.xml @@ -49,6 +49,10 @@ nx01-x4o-tool-ant-plugin nx01-x4o-tool-maven-plugin nx01-x4o-html + nx01-redsea + nx01-redsea-hyper-local + nx01-redsea-hyper + nx01-redsea-hyper-nostr @@ -250,7 +254,7 @@ love.distributedrebirth.nx01 - nx01-jpp + nx01-jpp-base ${project.version} @@ -278,91 +282,6 @@ nx01-king-java3seed ${project.version} - - love.distributedrebirth.nx01 - bassboon-nx01-jdat - ${project.version} - - - love.distributedrebirth.nx01 - bassboon-nx01-jdat-local - ${project.version} - - - love.distributedrebirth.nx01 - bassboon-nx01-jdat-nostr - ${project.version} - - - love.distributedrebirth.nx01 - bassboon-nx01-nostr - ${project.version} - - - love.distributedrebirth.nx01 - nx01-nx01-wofs - ${project.version} - - - love.distributedrebirth.nx01 - nx01-poop-scripts - ${project.version} - - - love.distributedrebirth.nx01 - nx01-popcorn - ${project.version} - - - love.distributedrebirth.nx01 - nx01-popcorn-duytsdoc - ${project.version} - - - love.distributedrebirth.nx01 - nx01-popcorn-mm-jdbc - ${project.version} - - - love.distributedrebirth.nx01 - nx01-redsea - ${project.version} - - - love.distributedrebirth.nx01 - nx01-redsea-datunes - ${project.version} - - - love.distributedrebirth.nx01 - nx01-redsea-geofish - ${project.version} - - - love.distributedrebirth.nx01 - nx01-redsea-jdatstart - ${project.version} - - - love.distributedrebirth.nx01 - nx01-redsea-maven3 - ${project.version} - - - love.distributedrebirth.nx01 - nx01-redsea-nether2 - ${project.version} - - - love.distributedrebirth.nx01 - nx01-warp-fault - ${project.version} - - - love.distributedrebirth.nx01 - nx01-warp-manifestor - ${project.version} - love.distributedrebirth.nx01 nx01-no2all-nostr @@ -408,6 +327,56 @@ nx01-no2all-zerofungus ${project.version} + + love.distributedrebirth.nx01 + nx01-poop-scripts + ${project.version} + + + love.distributedrebirth.nx01 + nx01-popcorn + ${project.version} + + + love.distributedrebirth.nx01 + nx01-popcorn-duytsdoc + ${project.version} + + + love.distributedrebirth.nx01 + nx01-popcorn-mm-jdbc + ${project.version} + + + love.distributedrebirth.nx01 + nx01-redsea + ${project.version} + + + love.distributedrebirth.nx01 + nx01-redsea-hyper + ${project.version} + + + love.distributedrebirth.nx01 + nx01-redsea-hyper-local + ${project.version} + + + love.distributedrebirth.nx01 + nx01-redsea-hyper-nostr + ${project.version} + + + love.distributedrebirth.nx01 + nx01-warp-fault + ${project.version} + + + love.distributedrebirth.nx01 + nx01-warp-manifestor + ${project.version} + love.distributedrebirth.nx01 nx01-x4o-driver