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 2015/03/04 18:15:25 UTC

[1/2] isis git commit: ISIS-1068: rationalizing domain service menuOrder.

Repository: isis
Updated Branches:
  refs/heads/master 870d1880a -> f74a1ffab


ISIS-1068: rationalizing domain service menuOrder.

Also:
- minor enhancement to ServicesInstaller added while debugging menu order issues.


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

Branch: refs/heads/master
Commit: 53b1f704e113d2e932f0b8de8fd801e989e05cd2
Parents: 870d188
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Wed Mar 4 17:11:20 2015 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Wed Mar 4 17:14:52 2015 +0000

----------------------------------------------------------------------
 .../ServicesInstallerFromAnnotation.java        | 33 +++++++++++++-------
 .../i18n/po/TranslationServicePoMenu.java       |  6 ++--
 .../fixture/DomainAppFixturesService.java       |  2 +-
 .../fixture/DomainAppFixturesService.java       |  2 +-
 4 files changed, 26 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/53b1f704/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerFromAnnotation.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerFromAnnotation.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerFromAnnotation.java
index 68e9dd3..b4434d4 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerFromAnnotation.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerFromAnnotation.java
@@ -20,7 +20,6 @@
 package org.apache.isis.core.runtime.services;
 
 import java.lang.reflect.Modifier;
-import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -98,12 +97,12 @@ public class ServicesInstallerFromAnnotation extends InstallerAbstract implement
      *     Otherwise these are read from the {@link org.apache.isis.core.commons.config.IsisConfiguration}
      * </p>
      */
-    public void withPackagePrefixes(String... packagePrefixes) {
+    public void withPackagePrefixes(final String... packagePrefixes) {
         this.packagePrefixes = Joiner.on(",").join(packagePrefixes);
     }
 
     @Override
-    public void setIgnoreFailures(boolean ignoreFailures) {
+    public void setIgnoreFailures(final boolean ignoreFailures) {
         // no-op
     }
 
@@ -153,7 +152,7 @@ public class ServicesInstallerFromAnnotation extends InstallerAbstract implement
     private static Function<String,String> trim() {
         return new Function<String,String>(){
             @Override
-            public String apply(String input) {
+            public String apply(final String input) {
                 return input.trim();
             }
         };
@@ -163,7 +162,7 @@ public class ServicesInstallerFromAnnotation extends InstallerAbstract implement
         return new Predicate<Class<?>>() {
 
             @Override
-            public boolean apply(Class<?> input) {
+            public boolean apply(final Class<?> input) {
                 return input == null;
             }
         };
@@ -173,7 +172,7 @@ public class ServicesInstallerFromAnnotation extends InstallerAbstract implement
         return new Predicate<Class<?>>() {
 
             @Override
-            public boolean apply(Class<?> input) {
+            public boolean apply(final Class<?> input) {
                 return Modifier.isAbstract(input.getModifiers());
             }
         };
@@ -185,7 +184,7 @@ public class ServicesInstallerFromAnnotation extends InstallerAbstract implement
     private Map<DeploymentType, List<Object>> servicesByDeploymentType = Maps.newHashMap();
 
     @Override
-    public List<Object> getServices(DeploymentType deploymentType) {
+    public List<Object> getServices(final DeploymentType deploymentType) {
         initIfRequired();
 
         List<Object> serviceList = servicesByDeploymentType.get(deploymentType);
@@ -204,8 +203,8 @@ public class ServicesInstallerFromAnnotation extends InstallerAbstract implement
     // //////////////////////////////////////
 
     public void appendServices(
-            DeploymentType deploymentType,
-            SortedMap<String, SortedSet<String>> positionedServices) {
+            final DeploymentType deploymentType,
+            final SortedMap<String, SortedSet<String>> positionedServices) {
         initIfRequired();
 
         final List<String> packagePrefixList = asList(packagePrefixes);
@@ -221,12 +220,13 @@ public class ServicesInstallerFromAnnotation extends InstallerAbstract implement
             // we want the class name in order to instantiate it
             // (and *not* the value of the @DomainServiceLayout(named=...) annotation attribute)
             final String fullyQualifiedClassName = cls.getName();
+            final String name = nameOf(cls);
 
             ServicesInstallerUtils.appendInPosition(positionedServices, order, fullyQualifiedClassName);
         }
     }
 
-    private static String orderOf(Class<?> cls) {
+    private static String orderOf(final Class<?> cls) {
         final DomainServiceLayout domainServiceLayout = cls.getAnnotation(DomainServiceLayout.class);
         String order = domainServiceLayout != null ? domainServiceLayout.menuOrder(): null;
         if(order == null || order.equals("" + Integer.MAX_VALUE)) {
@@ -236,8 +236,17 @@ public class ServicesInstallerFromAnnotation extends InstallerAbstract implement
         return order;
     }
 
-    protected ArrayList<String> asList(String packagePrefixes1) {
-        return Lists.newArrayList(Iterables.transform(Splitter.on(",").split(packagePrefixes1), trim()));
+    private static String nameOf(final Class<?> cls) {
+        final DomainServiceLayout domainServiceLayout = cls.getAnnotation(DomainServiceLayout.class);
+        String name = domainServiceLayout != null ? domainServiceLayout.named(): null;
+        if(name == null) {
+            name = cls.getName();
+        }
+        return name;
+    }
+
+    protected List<String> asList(final String csv) {
+        return Lists.newArrayList(Iterables.transform(Splitter.on(",").split(csv), trim()));
     }
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/53b1f704/core/runtime/src/main/java/org/apache/isis/core/runtime/services/i18n/po/TranslationServicePoMenu.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/i18n/po/TranslationServicePoMenu.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/i18n/po/TranslationServicePoMenu.java
index 9d5a236..6b737a3 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/i18n/po/TranslationServicePoMenu.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/i18n/po/TranslationServicePoMenu.java
@@ -36,7 +36,7 @@ import org.apache.isis.applib.value.Clob;
 @DomainServiceLayout(
         named = "Prototyping",
         menuBar = DomainServiceLayout.MenuBar.SECONDARY,
-        menuOrder = "500"
+        menuOrder = "500.500"
 )
 public class TranslationServicePoMenu {
 
@@ -70,7 +70,7 @@ public class TranslationServicePoMenu {
     @ActionLayout(
             cssClassFa = "fa-download"
     )
-    @MemberOrder(sequence="500.10")
+    @MemberOrder(sequence="500.500.1")
     public Clob downloadTranslations(
             @ParameterLayout(named = ".pot file name")
             final String potFileName) {
@@ -102,7 +102,7 @@ public class TranslationServicePoMenu {
             named="Clear translation cache",
             cssClassFa = "fa-trash"
     )
-    @MemberOrder(sequence="500.20")
+    @MemberOrder(sequence="500.500.2")
     public void resetTranslationCache() {
         translationService.clearCache();
     }

http://git-wip-us.apache.org/repos/asf/isis/blob/53b1f704/example/application/simpleapp/fixture/src/main/java/domainapp/fixture/DomainAppFixturesService.java
----------------------------------------------------------------------
diff --git a/example/application/simpleapp/fixture/src/main/java/domainapp/fixture/DomainAppFixturesService.java b/example/application/simpleapp/fixture/src/main/java/domainapp/fixture/DomainAppFixturesService.java
index 854f395..8d63c63 100644
--- a/example/application/simpleapp/fixture/src/main/java/domainapp/fixture/DomainAppFixturesService.java
+++ b/example/application/simpleapp/fixture/src/main/java/domainapp/fixture/DomainAppFixturesService.java
@@ -39,7 +39,7 @@ import org.apache.isis.applib.fixturescripts.SimpleFixtureScript;
 @DomainServiceLayout(
         named="Prototyping",
         menuBar = DomainServiceLayout.MenuBar.SECONDARY,
-        menuOrder = "20"
+        menuOrder = "500"
 )
 public class DomainAppFixturesService extends FixtureScripts {
 

http://git-wip-us.apache.org/repos/asf/isis/blob/53b1f704/example/archetype/simpleapp/src/main/resources/archetype-resources/fixture/src/main/java/domainapp/fixture/DomainAppFixturesService.java
----------------------------------------------------------------------
diff --git a/example/archetype/simpleapp/src/main/resources/archetype-resources/fixture/src/main/java/domainapp/fixture/DomainAppFixturesService.java b/example/archetype/simpleapp/src/main/resources/archetype-resources/fixture/src/main/java/domainapp/fixture/DomainAppFixturesService.java
index 875589b..6c89c64 100644
--- a/example/archetype/simpleapp/src/main/resources/archetype-resources/fixture/src/main/java/domainapp/fixture/DomainAppFixturesService.java
+++ b/example/archetype/simpleapp/src/main/resources/archetype-resources/fixture/src/main/java/domainapp/fixture/DomainAppFixturesService.java
@@ -42,7 +42,7 @@ import org.apache.isis.applib.fixturescripts.SimpleFixtureScript;
 @DomainServiceLayout(
         named="Prototyping",
         menuBar = DomainServiceLayout.MenuBar.SECONDARY,
-        menuOrder = "20"
+        menuOrder = "500"
 )
 public class DomainAppFixturesService extends FixtureScripts {
 


[2/2] isis git commit: ISIS-1069: DomainChangeJdoAbstract#open should not be annotated as being a bulk action.

Posted by da...@apache.org.
ISIS-1069: DomainChangeJdoAbstract#open should not be annotated as being a bulk action.


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

Branch: refs/heads/master
Commit: f74a1ffab86fc879b29b373e8c9f001224e7fedf
Parents: 53b1f70
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Wed Mar 4 17:12:54 2015 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Wed Mar 4 17:15:11 2015 +0000

----------------------------------------------------------------------
 .../objectstore/jdo/applib/service/DomainChangeJdoAbstract.java  | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/f74a1ffa/core/applib/src/main/java/org/apache/isis/objectstore/jdo/applib/service/DomainChangeJdoAbstract.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/objectstore/jdo/applib/service/DomainChangeJdoAbstract.java b/core/applib/src/main/java/org/apache/isis/objectstore/jdo/applib/service/DomainChangeJdoAbstract.java
index a19837a..368508e 100644
--- a/core/applib/src/main/java/org/apache/isis/objectstore/jdo/applib/service/DomainChangeJdoAbstract.java
+++ b/core/applib/src/main/java/org/apache/isis/objectstore/jdo/applib/service/DomainChangeJdoAbstract.java
@@ -27,7 +27,6 @@ import org.apache.isis.applib.annotation.ActionLayout;
 import org.apache.isis.applib.annotation.DomainObject;
 import org.apache.isis.applib.annotation.DomainObjectLayout;
 import org.apache.isis.applib.annotation.Editing;
-import org.apache.isis.applib.annotation.InvokeOn;
 import org.apache.isis.applib.annotation.MemberGroupLayout;
 import org.apache.isis.applib.annotation.MemberOrder;
 import org.apache.isis.applib.annotation.Programmatic;
@@ -214,8 +213,7 @@ public abstract class DomainChangeJdoAbstract {
     // //////////////////////////////////////
 
     @Action(
-            semantics = SemanticsOf.SAFE,
-            invokeOn = InvokeOn.OBJECT_AND_COLLECTION
+            semantics = SemanticsOf.SAFE
     )
     @ActionLayout(
             named = "Open"