diff --git a/nx01-jpp-base/src/main/java/ᒢᐩᐩ/ᣕᓑᔿᒃᓫᣗ/ᙆᓫᣗᒄᑊᣕᣔᒻ/PrimordialZerdinalSpaceMaterializer.java b/nx01-jpp-base/src/main/java/ᒢᐩᐩ/ᣕᓑᔿᒃᓫᣗ/ᙆᓫᣗᒄᑊᣕᣔᒻ/PrimordialZerdinalSpaceMaterializer.java index 7828a9f..03efb28 100644 --- a/nx01-jpp-base/src/main/java/ᒢᐩᐩ/ᣕᓑᔿᒃᓫᣗ/ᙆᓫᣗᒄᑊᣕᣔᒻ/PrimordialZerdinalSpaceMaterializer.java +++ b/nx01-jpp-base/src/main/java/ᒢᐩᐩ/ᣕᓑᔿᒃᓫᣗ/ᙆᓫᣗᒄᑊᣕᣔᒻ/PrimordialZerdinalSpaceMaterializer.java @@ -33,6 +33,7 @@ import java.util.function.Consumer; import java.util.function.Function; import java.util.stream.Collectors; +import ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᒢObjectTBone; import ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᣳᣝᐤᣜᣳ.ᐪᓫᣗᔿᑊᣕᣔᐪᐤᣗ.T002ᖟ; import ᒢᐩᐩ.ᒼᐤᒻᒻᓫᒼᐪᑊᐤᣕᔆ.ArrayLadderᴿᵂ; import ᒢᐩᐩ.ᒼᐤᒻᒻᓫᒼᐪᑊᐤᣕᔆ.Ladderᴿᵈ; @@ -45,19 +46,20 @@ import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAu /// @author للَّٰهِilLצسُو /// @version ©Δ∞ 仙上主天 @DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天") -public interface PrimordialZerdinalSpaceMaterializer> extends PrimordialZerdinalSpaceBoundary { +public interface PrimordialZerdinalSpaceMaterializer> extends PrimordialZerdinalSpaceBoundary, ᒢObjectTBone { /// Materialize an number from the bounded zerdinal number space. T zerdinalMaterializeSpace(int zerdinal); default RopeOfAzraelᴿᵈ zerdinalSpaceRope() { - return new RopeOfAzraelᴿᵈ () { + return new RopeOfAzraelᴿᵈ() { int zerdinalSpaceWalker = 0; + @Override public T002ᖟ hasNextᴿᵈ() { return T002ᖟ.valueOf(zerdinalSpaceWalker < zerdinalSpaceBoundary()); } - + @Override public T nextᴿᵈ() { if (zerdinalSpaceWalker >= zerdinalSpaceBoundary()) { @@ -84,7 +86,7 @@ public interface PrimordialZerdinalSpaceMaterializer v); } - default Map zerdinalSpaceRodsToMap(Function keyMapper) { + default Map zerdinalSpaceRodsToMap(Function keyMapper) { return zerdinalSpaceRodsToLadder().streamᴿᵈ().collect(Collectors.toMap(keyMapper, v -> v)); } } diff --git a/nx01-jpp-base/src/main/java/ᒢᐩᐩ/ᣕᓑᔿᒃᓫᣗ/ᙆᓫᣗᒄᑊᣕᣔᒻ/ᣔᒃᣔᒼᓑᔆ/ZerdinalAḃåčȕs̈Rȧñk.java b/nx01-jpp-base/src/main/java/ᒢᐩᐩ/ᣕᓑᔿᒃᓫᣗ/ᙆᓫᣗᒄᑊᣕᣔᒻ/ᣔᒃᣔᒼᓑᔆ/ZerdinalAḃåčȕs̈Rȧñk.java index 31762ff..95697ca 100644 --- a/nx01-jpp-base/src/main/java/ᒢᐩᐩ/ᣕᓑᔿᒃᓫᣗ/ᙆᓫᣗᒄᑊᣕᣔᒻ/ᣔᒃᣔᒼᓑᔆ/ZerdinalAḃåčȕs̈Rȧñk.java +++ b/nx01-jpp-base/src/main/java/ᒢᐩᐩ/ᣕᓑᔿᒃᓫᣗ/ᙆᓫᣗᒄᑊᣕᣔᒻ/ᣔᒃᣔᒼᓑᔆ/ZerdinalAḃåčȕs̈Rȧñk.java @@ -47,20 +47,20 @@ public interface ZerdinalAḃåčȕs̈Rȧñk signal, String key, Number value) { + return withSignalTrace(signal, key, value.toString()); + } + public final BassFaultAnchor withSignalTrace(Class signal, String key, String value) { fetchTraceSignalMap(signal).put(key, value); return this; diff --git a/nx01-warp-fault/src/test/java/love/distributedrebirth/nx01/warp/fault/FaultSignalTraceTest.java b/nx01-warp-fault/src/test/java/love/distributedrebirth/nx01/warp/fault/FaultSignalTraceTest.java index 66701f2..af8edde 100644 --- a/nx01-warp-fault/src/test/java/love/distributedrebirth/nx01/warp/fault/FaultSignalTraceTest.java +++ b/nx01-warp-fault/src/test/java/love/distributedrebirth/nx01/warp/fault/FaultSignalTraceTest.java @@ -43,51 +43,60 @@ public class FaultSignalTraceTest { } } static class SpaceB { - static void traceRootAccess() { + static void traceRootAccess(int productColor) { try { SpaceA.traceRoot(); } catch (FaultBeanInstantiation e) { - throw e.withSignalTrace(SpaceB.class, "Name", "FoodSection").withSignalTrace(SpaceB.class, "From", "FoodEmail"); + // test auto-esc of email header protection from java manifest v1 output + // and add stuff on the general whiteboard to play games + // and normal fault context signal tracing + throw e.withSignalTrace(SpaceB.class, "Name", "FoodSection") + .withSignalTrace(SpaceB.class, "From", "FoodEmail") + .withSignalTrace(SpaceB.class, "product-color", productColor) + .appendOnWhitePaper("Paper-SpaceB", "sissors"); } } } static class SpaceC { - static void traceRootCatchBass() { + static void traceRootCatchBass(String bearbar) { try { - SpaceB.traceRootAccess(); + SpaceB.traceRootAccess((int) bearbar.charAt(0)); } catch (BassFaultAnchor e) { throw e.withSignalTrace(SpaceC.class, v -> { + v.put("bearbar", bearbar); v.put("Junit-Foo", "Bar"); - v.put("Junit-仙上主天", "仙上主天"); + v.put("Junit-仙上主天", "仙上主天"); // only works with manifest v2++ }).appendOnWhitePaper("Paper-SpaceC", "rock"); } } } static class SpaceD { - static void traceWrapClassic() { + static void traceWrapClassic(String foobar) { try { - SpaceC.traceRootCatchBass(); + SpaceC.traceRootCatchBass(foobar); } catch (Exception e) { - throw new IllegalArgumentException("Classic argument missing wrapper", e); + // classic java error wrapping to add meta info like call arguments for context in stack trace + throw new IllegalArgumentException("Classic argument missing wrapper with foobar " + foobar, e); } } } static class SpaceE { - static void traceWrap() { + static void traceWrap(int eSpaceMine) { try { - SpaceD.traceWrapClassic(); + SpaceD.traceWrapClassic("" + eSpaceMine * 1234); } catch (Exception e) { - throw new FaultBeanState(e, SpaceD.class).appendOnWhitePaper("Paper-SpaceE", "sissors"); + throw new FaultStreamDelegate(e, SpaceD.class) + .withSignalTrace(SpaceE.class, "eSpaceMine", eSpaceMine); } } } @Test public void testFaultString() { - FaultBeanState error = null; + BassFaultAnchor error = null; try { - SpaceE.traceWrap(); - } catch (FaultBeanState e) { + SpaceE.traceWrap(123); + } catch (BassFaultAnchor e) { error = e; } Assertions.assertNotNull(error); @@ -97,14 +106,14 @@ public class FaultSignalTraceTest { //System.out.println(errorText.length()); // 3185, 3433 Assertions.assertNotNull(errorText); Assertions.assertTrue(errorText.contains(error.getMessage())); - Assertions.assertTrue(errorText.contains("FaultBeanState")); + Assertions.assertTrue(errorText.contains("FaultStreamDelegate")); } @Test public void testFaultStringSitra() { BassFaultAnchor error = null; try { - SpaceE.traceWrap(); + SpaceE.traceWrap(123); } catch (BassFaultAnchor e) { error = e; } @@ -119,5 +128,7 @@ public class FaultSignalTraceTest { Assertions.assertTrue(sitraText.contains("FoodSection")); Assertions.assertTrue(sitraText.contains("SpaceC")); Assertions.assertTrue(sitraText.contains("Junit-Foo: Bar")); + Assertions.assertTrue(sitraText.contains("eSpaceMine: 123")); + Assertions.assertTrue(sitraText.contains("product-color: 49")); } } diff --git a/nx01-x4o-fc18/src/main/java/org/x4o/fc18/FourCornerUnicodeImport.java b/nx01-x4o-fc18/src/main/java/org/x4o/fc18/FourCornerUnicodeImport.java index bbb5a5c..ecb0883 100644 --- a/nx01-x4o-fc18/src/main/java/org/x4o/fc18/FourCornerUnicodeImport.java +++ b/nx01-x4o-fc18/src/main/java/org/x4o/fc18/FourCornerUnicodeImport.java @@ -209,7 +209,7 @@ public class FourCornerUnicodeImport { } else if ('\u205F' == ctx.codePoint) { space = 76; // medium math space 4/18 em = like u2008 } else if ('\u3000' == ctx.codePoint) { - space = 222; // CJK space fullwidth (??? or use 100% here ?) + space = 100; // CJK space fullwidth (china space is equal to real space of virtual user defined unicode4D space drawing) } else if ('\u180E' == ctx.codePoint) { space = 2; // mongolian vowel separator } else if ('\u200B' == ctx.codePoint) { diff --git a/nx01-x4o-fc18/src/main/java/org/x4o/fc18/zion7/FourCornerZionStenoLexer.java b/nx01-x4o-fc18/src/main/java/org/x4o/fc18/zion7/FourCornerZionStenoLexer.java index caa8e72..be5a8e0 100644 --- a/nx01-x4o-fc18/src/main/java/org/x4o/fc18/zion7/FourCornerZionStenoLexer.java +++ b/nx01-x4o-fc18/src/main/java/org/x4o/fc18/zion7/FourCornerZionStenoLexer.java @@ -383,7 +383,7 @@ public class FourCornerZionStenoLexer { public StenoScannerWordCakeSlice(FCFlameWordDish course) { super(course.cakePointMin(), course.cakePointMax()); - this.course = Objects.requireNonNull(course); + this.course = course; } @Override