You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2017/02/18 16:10:25 UTC

[02/15] isis git commit: ISIS-1561: fixes tagging for swagger menus

ISIS-1561: fixes tagging for swagger menus


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/339d1b3c
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/339d1b3c
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/339d1b3c

Branch: refs/heads/master
Commit: 339d1b3c3e5b03404fdaf6360fb1132af9800eed
Parents: 31a6812
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Wed Feb 15 21:53:02 2017 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Wed Feb 15 21:53:02 2017 +0000

----------------------------------------------------------------------
 .../services/swagger/internal/Tagger.java         | 18 +++++++++++++-----
 .../services/user/UserServiceDefault.java         |  2 ++
 .../services/swagger/internal/TaggerTest.java     | 16 ++++++++++++++--
 .../modules/simple/dom/impl/SimpleObjectMenu.java |  3 +--
 4 files changed, 30 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/339d1b3c/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/swagger/internal/Tagger.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/swagger/internal/Tagger.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/swagger/internal/Tagger.java
index 19f71d9..adb9936 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/swagger/internal/Tagger.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/swagger/internal/Tagger.java
@@ -24,19 +24,24 @@ import java.util.regex.Pattern;
 class Tagger {
 
     static Pattern tagPatternIsisAddons = Pattern.compile("^org\\.isisaddons\\.module\\.([^\\.]+)\\.(.+)$");
+    static Pattern tagPatternIncodeCatalog = Pattern.compile("^org\\.incode\\.module\\.([^\\.]+)\\.(.+)$");
     static Pattern tagPatternForFqcn = Pattern.compile("^.*\\.([^\\.]+)\\.([^\\.]+)$");
-    static Pattern tagPatternForSchemaTable = Pattern.compile("^([^\\.]+)\\.([^\\.]+)$");
+    static Pattern tagPatternForTwoParts = Pattern.compile("^([^\\.]+)\\.([^\\.]+)$");
     static Pattern tagPatternForJaxbDto = Pattern.compile("^.*\\.([^\\.]+)\\.(v[0-9][^\\.]*)\\.([^\\.]+)$");
 
     String tagFor(final String str, final String fallback) {
-        if (str.startsWith("org.apache.isis")) {
+        if (str.startsWith("org.apache.isis.")) {
             return "> apache isis internals";
         }
 
         Matcher matcher;
         matcher = tagPatternIsisAddons.matcher(str);
         if (matcher.matches()) {
-            return "isisaddons " + matcher.group(1);
+            return "isisaddons.org " + matcher.group(1);
+        }
+        matcher = tagPatternIncodeCatalog.matcher(str);
+        if (matcher.matches()) {
+            return "catalog.incode.org " + matcher.group(1);
         }
         matcher = tagPatternForJaxbDto.matcher(str);
         if (matcher.matches()) {
@@ -46,9 +51,12 @@ class Tagger {
         if (matcher.matches()) {
             return matcher.group(1);
         }
-        matcher = tagPatternForSchemaTable.matcher(str);
+        matcher = tagPatternForTwoParts.matcher(str);
         if (matcher.matches()) {
-            // special cases for other Isis addons
+            if (str.startsWith("isisApplib")) {
+                return "> apache isis applib";
+            }
+            // special cases for other Isis addons, eg "isissecurity"
             if (str.startsWith("isis")) {
                 return "isisaddons " + str.substring(4, str.indexOf("."));
             }

http://git-wip-us.apache.org/repos/asf/isis/blob/339d1b3c/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/user/UserServiceDefault.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/user/UserServiceDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/user/UserServiceDefault.java
index 28827a8..bc4e822 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/user/UserServiceDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/user/UserServiceDefault.java
@@ -81,6 +81,7 @@ public class UserServiceDefault implements UserService {
         final String user;
         final List<String> roles;
 
+
         UserAndRoleOverrides(final String user) {
             this(user, null);
         }
@@ -119,6 +120,7 @@ public class UserServiceDefault implements UserService {
     /**
      * Not API; for use by the implementation of sudo/runAs (see {@link SudoService} etc.
      */
+    @Programmatic
     public UserAndRoleOverrides currentOverridesIfAny() {
         final Stack<UserAndRoleOverrides> userAndRoleOverrides = overrides.get();
         return !userAndRoleOverrides.empty()

http://git-wip-us.apache.org/repos/asf/isis/blob/339d1b3c/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/swagger/internal/TaggerTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/swagger/internal/TaggerTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/swagger/internal/TaggerTest.java
index 945d73e..48b0b4f 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/swagger/internal/TaggerTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/swagger/internal/TaggerTest.java
@@ -55,15 +55,27 @@ public class TaggerTest {
         @Test
         public void isisAddons() throws Exception {
             String tag = new Tagger().tagFor("org.isisaddons.module.security.app.feature.ApplicationClass", null);
-            assertThat(tag, is(equalTo("isisaddons security")));
+            assertThat(tag, is(equalTo("isisaddons.org security")));
         }
 
         @Test
-        public void applib() throws Exception {
+        public void incodeCatalog() throws Exception {
+            String tag = new Tagger().tagFor("org.incode.module.communications.foo.bar.FooBar", null);
+            assertThat(tag, is(equalTo("catalog.incode.org communications")));
+        }
+
+        @Test
+        public void internals() throws Exception {
             String tag = new Tagger().tagFor("org.apache.isis.applib.fixturescripts.FixtureResult", null);
             assertThat(tag, is(equalTo("> apache isis internals")));
         }
 
+        @Test
+        public void applib() throws Exception {
+            String tag = new Tagger().tagFor("isisApplib.ConfigurationServiceMenu", null);
+            assertThat(tag, is(equalTo("> apache isis applib")));
+        }
+
     }
 
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/339d1b3c/example/application/simpleapp/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObjectMenu.java
----------------------------------------------------------------------
diff --git a/example/application/simpleapp/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObjectMenu.java b/example/application/simpleapp/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObjectMenu.java
index 63a03a0..e0ac401 100644
--- a/example/application/simpleapp/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObjectMenu.java
+++ b/example/application/simpleapp/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObjectMenu.java
@@ -33,6 +33,7 @@ import org.apache.isis.applib.services.eventbus.ActionDomainEvent;
 
 @DomainService(
         nature = NatureOfService.VIEW_MENU_ONLY,
+        objectType = "simple.SimpleObjectMenu",
         repositoryFor = SimpleObject.class
 )
 @DomainServiceLayout(
@@ -41,8 +42,6 @@ import org.apache.isis.applib.services.eventbus.ActionDomainEvent;
 )
 public class SimpleObjectMenu {
 
-    public String getId() { return "simpleObjects"; }
-
     @Action(semantics = SemanticsOf.SAFE)
     @ActionLayout(bookmarking = BookmarkPolicy.AS_ROOT)
     @MemberOrder(sequence = "1")