From e1d86eeb54e9704e1726b558243e6b9c869c9879 Mon Sep 17 00:00:00 2001 From: FrankHossfeld Date: Tue, 8 Sep 2020 10:46:47 +0200 Subject: [PATCH] #136 - remove useless warning --- .../client/internal/route/RouteParser.java | 4 +- .../internal/route/RouteParserTest.java | 40 +++++++++++++++++++ 2 files changed, 42 insertions(+), 2 deletions(-) diff --git a/nalu/src/main/java/com/github/nalukit/nalu/client/internal/route/RouteParser.java b/nalu/src/main/java/com/github/nalukit/nalu/client/internal/route/RouteParser.java index 0c367bd4d..dcf2f8388 100644 --- a/nalu/src/main/java/com/github/nalukit/nalu/client/internal/route/RouteParser.java +++ b/nalu/src/main/java/com/github/nalukit/nalu/client/internal/route/RouteParser.java @@ -186,10 +186,10 @@ String generate(String route, // in case there are more parameters then placesholders, we add them add the end! long numberOfPlaceHolders = Stream.of(partsOfRoute) - .filter("*"::equals) + .filter(s -> "*".equals(s) || s.startsWith(":")) .count(); if (params.length > numberOfPlaceHolders) { - String sbExeption = "Warning: route >>" + route + "<< has less parameter placeholder >>" + numberOfPlaceHolders + "<< than the number of parameters in the list of parameters >>" + params.length + "<< --> adding Prameters add the end of the url"; + String sbExeption = "Warning: route >>" + route + "<< has less parameter placeholder >>" + numberOfPlaceHolders + "<< than the number of parameters in the list of parameters >>" + params.length + "<< --> adding Parameters add the end of the url"; this.eventBus.fireEvent(LogEvent.create() .sdmOnly(true) .addMessage(sbExeption)); diff --git a/nalu/src/test/java/com/github/nalukit/nalu/client/internal/route/RouteParserTest.java b/nalu/src/test/java/com/github/nalukit/nalu/client/internal/route/RouteParserTest.java index 7cf27733e..f112db3a0 100644 --- a/nalu/src/test/java/com/github/nalukit/nalu/client/internal/route/RouteParserTest.java +++ b/nalu/src/test/java/com/github/nalukit/nalu/client/internal/route/RouteParserTest.java @@ -534,6 +534,27 @@ void parse34() { } } + @Test + void parse35() { + String route = "/application/person/:ptNr/detail/"; + try { + RouteResult routeResult = RouteParser.get() + .parse(route, + this.shellConfiguration, + this.routerConfiguration); + Assert.assertThat(routeResult.getShell(), + is("/application")); + Assert.assertThat(routeResult.getRoute(), + is("/application/person/*/detail")); + Assert.assertThat(routeResult.getParameterValues() + .get(0), + is(":ptNr")); + } catch (RouterException e) { + throw new AssertionError("no exception expected here!", + e); + } + } + @Test void generate01() { String hash = RouteParser.get() @@ -552,4 +573,23 @@ void generate02() { is("application/person/1/detail")); } + @Test + void generate03() { + String hash = RouteParser.get() + .generate("/application/person/list", + "A", + "B"); + Assert.assertThat(hash, + is("application/person/list/A/B")); + } + + @Test + void generate04() { + String hash = RouteParser.get() + .generate("/application/person/list", + "A"); + Assert.assertThat(hash, + is("application/person/list/A")); + } + } \ No newline at end of file