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 2020/01/31 11:22:11 UTC
[isis] branch master updated: ISIS-2158: replace Tuple in
grid-service (code quality)
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 17337ed ISIS-2158: replace Tuple in grid-service (code quality)
17337ed is described below
commit 17337ed117ca003e29c9ec48ef2c72541e23139f
Author: Andi Huber <ah...@apache.org>
AuthorDate: Fri Jan 31 12:22:02 2020 +0100
ISIS-2158: replace Tuple in grid-service (code quality)
---
.../services/grid/GridSystemServiceAbstract.java | 37 +++++++---------------
.../grid/bootstrap3/GridSystemServiceBS3.java | 19 +++++------
2 files changed, 22 insertions(+), 34 deletions(-)
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/GridSystemServiceAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/GridSystemServiceAbstract.java
index cb0e0fb..4d3e390 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/GridSystemServiceAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/GridSystemServiceAbstract.java
@@ -18,10 +18,10 @@
*/
package org.apache.isis.core.metamodel.services.grid;
-import java.util.Collection;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Stream;
@@ -53,7 +53,7 @@ import org.apache.isis.applib.services.jaxb.JaxbService;
import org.apache.isis.applib.services.message.MessageService;
import org.apache.isis.core.commons.internal.base._Casts;
import org.apache.isis.core.commons.internal.base._Strings;
-import org.apache.isis.core.commons.internal.collections._Lists;
+import org.apache.isis.core.commons.internal.collections._Sets;
import org.apache.isis.core.commons.internal.environment.IsisSystemEnvironment;
import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
@@ -116,6 +116,8 @@ import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
+import lombok.Value;
+import lombok.val;
import lombok.extern.log4j.Log4j2;
@Log4j2
@@ -374,33 +376,18 @@ implements GridSystemService<G> {
}
-
- protected static class Tuple<T> {
- public final T first;
- public final T second;
- private Tuple(final T first, final T second) {
- this.first = first;
- this.second = second;
- }
- public static <T> Tuple<T> of(final T first, final T second) {
- return new Tuple<>(first, second);
- }
+ @Value(staticConstructor = "of")
+ protected static class SurplusAndMissing {
+ public final Set<String> surplus;
+ public final Set<String> missing;
}
-
- /**
- * Returns a 2-element tuple of [first-second, second-first]
- */
- protected static <T> Tuple<List<T>> surplusAndMissing(final Collection<T> first, final Collection<T> second){
- final List<T> firstNotSecond = _Lists.newArrayList(first);
- firstNotSecond.removeAll(second);
- final List<T> secondNotFirst = _Lists.newArrayList(second);
- secondNotFirst.removeAll(first);
- return Tuple.of(firstNotSecond, secondNotFirst);
+ protected static SurplusAndMissing surplusAndMissing(final Set<String> first, final Set<String> second){
+ val firstNotSecond = _Sets.minus(first, second);
+ val secondNotFirst = _Sets.minus(second, first);
+ return SurplusAndMissing.of(firstNotSecond, secondNotFirst);
}
-
-
// //////////////////////////////////////
@Programmatic
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/bootstrap3/GridSystemServiceBS3.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/bootstrap3/GridSystemServiceBS3.java
index 0c9d0d0..7a68d0e 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/bootstrap3/GridSystemServiceBS3.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/bootstrap3/GridSystemServiceBS3.java
@@ -344,10 +344,10 @@ public class GridSystemServiceBS3 extends GridSystemServiceAbstract<BS3Grid> {
}
// add missing properties will be added to the first fieldset of the specified column
- final Tuple<List<String>> propertyIdTuple =
+ val surplusAndMissingPropertyIds =
surplusAndMissing(propertyLayoutDataById.keySet(), oneToOneAssociationById.keySet());
- final List<String> surplusPropertyIds = propertyIdTuple.first;
- final List<String> missingPropertyIds = propertyIdTuple.second;
+ val surplusPropertyIds = surplusAndMissingPropertyIds.getSurplus();
+ val missingPropertyIds = surplusAndMissingPropertyIds.getMissing();
for (String surplusPropertyId : surplusPropertyIds) {
propertyLayoutDataById.get(surplusPropertyId).setMetadataError("No such property");
@@ -425,10 +425,10 @@ public class GridSystemServiceBS3 extends GridSystemServiceAbstract<BS3Grid> {
}
// any missing collections will be added as tabs to a new TabGroup in the specified column
- final Tuple<List<String>> collectionIdTuple =
+ val surplusAndMissingCollectionIds =
surplusAndMissing(collectionLayoutDataById.keySet(), oneToManyAssociationById.keySet());
- final List<String> surplusCollectionIds = collectionIdTuple.first;
- final List<String> missingCollectionIds = collectionIdTuple.second;
+ val surplusCollectionIds = surplusAndMissingCollectionIds.getSurplus();
+ val missingCollectionIds = surplusAndMissingCollectionIds.getMissing();
for (String surplusCollectionId : surplusCollectionIds) {
collectionLayoutDataById.get(surplusCollectionId).setMetadataError("No such collection");
@@ -456,10 +456,11 @@ public class GridSystemServiceBS3 extends GridSystemServiceAbstract<BS3Grid> {
}
// any missing actions will be added as actions in the specified column
- final Tuple<List<String>> actionIdTuple =
+ val surplusAndMissingActionIds =
surplusAndMissing(actionLayoutDataById.keySet(), objectActionById.keySet());
- final List<String> surplusActionIds = actionIdTuple.first;
- final List<String> possiblyMissingActionIds = actionIdTuple.second;
+ val surplusActionIds = surplusAndMissingActionIds.getSurplus();
+ val possiblyMissingActionIds = surplusAndMissingActionIds.getMissing();
+
final List<String> associatedActionIds = _Lists.newArrayList();
final List<ObjectAction> sortedPossiblyMissingActions =