You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2021/01/26 20:00:27 UTC

[isis] branch master updated: ISIS-2431: fixes the swagger tagger

This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git


The following commit(s) were added to refs/heads/master by this push:
     new ec324c9  ISIS-2431: fixes the swagger tagger
ec324c9 is described below

commit ec324c919cc8134511de4cf5543f33df4b9bc7fd
Author: Andi Huber <ah...@apache.org>
AuthorDate: Tue Jan 26 21:00:09 2021 +0100

    ISIS-2431: fixes the swagger tagger
---
 .../jdo/metamodel/menu/JdoMetamodelMenu.java       |  2 +-
 .../service/swagger/internal/TaggerDefault.java    | 36 ++++++++++------------
 2 files changed, 18 insertions(+), 20 deletions(-)

diff --git a/persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/menu/JdoMetamodelMenu.java b/persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/menu/JdoMetamodelMenu.java
index 294f938..b0a913d 100644
--- a/persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/menu/JdoMetamodelMenu.java
+++ b/persistence/jdo/metamodel/src/main/java/org/apache/isis/persistence/jdo/metamodel/menu/JdoMetamodelMenu.java
@@ -39,7 +39,7 @@ import org.apache.isis.persistence.jdo.provider.entities.JdoFacetContext;
 
 import lombok.val;
 
-@Named("isisJdoDn5.JdoMetamodelMenu")
+@Named("isisJdoDn.JdoMetamodelMenu")
 @DomainService(objectType = "isisJdoDn.JdoMetamodelMenu")
 @DomainServiceLayout(
         named = "Prototyping",
diff --git a/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/swagger/internal/TaggerDefault.java b/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/swagger/internal/TaggerDefault.java
index aadf083..41bf622 100644
--- a/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/swagger/internal/TaggerDefault.java
+++ b/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/swagger/internal/TaggerDefault.java
@@ -20,20 +20,20 @@ package org.apache.isis.viewer.restfulobjects.rendering.service.swagger.internal
 
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 import javax.inject.Named;
 
 import org.springframework.stereotype.Component;
 
 import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.commons.internal.base._Strings;
 
 @Component
 @Named("isisMetaModel.TaggerDefault")
 public class TaggerDefault implements Tagger {
 
-    static Pattern tagSpringFramework = Pattern.compile("^org\\.springframework\\.([^\\.]+)\\.(.+)$");
-    static Pattern tagPatternIsisExtensions2 = Pattern.compile("^isisExt(.+)$");
-    static Pattern tagPatternIsisExtensions = Pattern.compile("^org\\.apache\\.isis\\.extensions\\.([^\\.]+)\\.(.+)$");
     static Pattern tagPatternForFqcn = Pattern.compile("^.*\\.([^\\.]+)\\.([^\\.]+)$");
     static Pattern tagPatternForTwoParts = Pattern.compile("^([^\\.]+)\\.([^\\.]+)$");
     static Pattern tagPatternForJaxbDto = Pattern.compile("^.*\\.([^\\.]+)\\.(v[0-9][^\\.]*)\\.([^\\.]+)$");
@@ -45,16 +45,17 @@ public class TaggerDefault implements Tagger {
         if (objType.startsWith("org.apache.isis.")) {
             return ". apache isis internals";
         }
-        
-        Matcher matcher;
-        matcher = tagSpringFramework.matcher(objType);
-        if (matcher.matches()) {
-            return "> spring framework " + matcher.group(1);
+        if (objType.startsWith("isis.applib.")) {
+            return ". apache isis applib";
         }
-        matcher = tagPatternIsisExtensions.matcher(objType);
-        if (matcher.matches()) {
-            return ". apache isis extensions - " + matcher.group(1);
+        if (objType.startsWith("isisExt.")) {
+            return ". apache isis extensions - " + partsOf(objType).skip(1).limit(1).collect(Collectors.joining("."));
+        }
+        if (objType.startsWith("org.springframework.")) {
+            return "> spring framework " + partsOf(objType).skip(2).limit(1).collect(Collectors.joining("."));
         }
+        
+        Matcher matcher;
         matcher = tagPatternForJaxbDto.matcher(objType);
         if (matcher.matches()) {
             return matcher.group(1);
@@ -65,18 +66,15 @@ public class TaggerDefault implements Tagger {
         }
         matcher = tagPatternForTwoParts.matcher(objType);
         if (matcher.matches()) {
-            if (objType.startsWith("isis.applib.")) {
-                return ". apache isis applib";
-            }
-
-            if (objType.startsWith("isisExt")) {
-                return ". apache isis extensions - " + matcher.group(1);
-            }
-
             return matcher.group(1);
         }
         
         return fallback != null? fallback: objType;
     }
 
+    
+    private static Stream<String> partsOf(final String objType) {
+        return _Strings.splitThenStream(objType, ".");
+    }
+    
 }