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 2018/02/27 21:03:33 UTC
[isis] branch master updated: ISIS-1827 applib: remove uses of
guava with Internal API
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 58f8ad8 ISIS-1827 applib: remove uses of guava with Internal API
58f8ad8 is described below
commit 58f8ad8b7466edcc07eedea77d467847c4e74a18
Author: Andi Huber <ah...@apache.org>
AuthorDate: Tue Feb 27 22:03:05 2018 +0100
ISIS-1827 applib: remove uses of guava with Internal API
---
.../apache/isis/applib/AppManifestAbstract.java | 15 +-
.../apache/isis/applib/DomainObjectContainer.java | 3 +-
.../java/org/apache/isis/applib/Identifier.java | 13 +-
.../main/java/org/apache/isis/applib/Module.java | 29 +-
.../org/apache/isis/applib/ModuleAbstract.java | 5 +-
.../isis/applib/ModuleOrBuilderAbstract.java | 14 +-
.../isis/applib/NonRecoverableException.java | 4 +-
.../apache/isis/applib/RecoverableException.java | 24 +-
.../fixturescripts/BuilderScriptAbstract.java | 5 +-
.../applib/fixturescripts/ExecutionParameters.java | 40 +-
.../applib/fixturescripts/FixtureResultList.java | 13 +-
.../isis/applib/fixturescripts/FixtureScript.java | 16 +-
.../isis/applib/fixturescripts/FixtureScripts.java | 79 +-
.../setup/PersonaEnumPersistAll.java | 5 +-
.../teardown/TeardownFixtureAbstract.java | 7 +-
.../teardown/TeardownFixtureAbstract2.java | 7 +-
.../layout/component/CollectionLayoutData.java | 20 +-
.../isis/applib/layout/component/FieldSet.java | 26 +-
.../layout/component/PropertyLayoutData.java | 5 +-
.../isis/applib/layout/grid/GridAbstract.java | 21 +-
.../isis/applib/layout/grid/bootstrap3/BS3Col.java | 15 +-
.../applib/layout/grid/bootstrap3/BS3Grid.java | 25 +-
.../isis/applib/layout/grid/bootstrap3/BS3Row.java | 5 +-
.../isis/applib/layout/grid/bootstrap3/BS3Tab.java | 5 +-
.../applib/layout/grid/bootstrap3/BS3TabGroup.java | 5 +-
.../applib/layout/menubars/MenuBarsAbstract.java | 5 +-
.../applib/layout/menubars/bootstrap3/BS3Menu.java | 5 +-
.../layout/menubars/bootstrap3/BS3MenuBar.java | 5 +-
.../layout/menubars/bootstrap3/BS3MenuSection.java | 5 +-
.../isis/applib/services/bookmark/Bookmark.java | 7 +-
.../applib/services/command/CommandDefault.java | 11 +-
.../services/config/ConfigurationProperty.java | 17 +-
.../services/conmap/ContentMappingService.java | 10 +-
.../services/eventbus/AbstractDomainEvent.java | 7 +-
.../applib/services/eventbus/AbstractUiEvent.java | 5 +-
.../applib/services/eventbus/EventBusService.java | 7 +-
.../exceprecog/ExceptionRecognizerAbstract.java | 45 +-
.../exceprecog/ExceptionRecognizerComposite.java | 5 +-
.../exceprecog/ExceptionRecognizerForType.java | 7 +-
...eptionRecognizerCompositeForJdoObjectStore.java | 5 +-
.../applib/services/hsqldb/HsqlDbManagerMenu.java | 8 +-
.../applib/services/i18n/TranslatableString.java | 5 +-
.../isis/applib/services/iactn/Interaction.java | 11 +-
.../jaxb/CatalogingSchemaOutputResolver.java | 11 +-
.../isis/applib/services/jaxb/JaxbService.java | 10 +-
.../services/metamodel/MetaModelServicesMenu.java | 13 +-
.../queryresultscache/QueryResultsCache.java | 10 +-
.../applib/services/scratchpad/Scratchpad.java | 6 +-
.../isis/applib/services/sudo/SudoService.java | 5 +-
.../java/org/apache/isis/applib/util/Clause.java | 17 +-
.../java/org/apache/isis/applib/util/JaxbUtil.java | 37 +-
.../apache/isis/applib/util/ObjectContracts.java | 19 +-
.../java/org/apache/isis/applib/value/Blob.java | 16 +-
.../java/org/apache/isis/applib/value/Clob.java | 6 +-
.../apache/isis/schema/utils/ChangesDtoUtils.java | 8 +-
.../apache/isis/schema/utils/CommandDtoUtils.java | 8 +-
.../apache/isis/schema/utils/CommonDtoUtils.java | 108 ++-
.../isis/schema/utils/InteractionDtoUtils.java | 803 +++++++++++----------
.../Module_Util_transitiveDependenciesOf_Test.java | 35 +-
.../applib/internal/compare/ComparatorsTest.java | 8 +-
.../QueryDefaultTest_withStart_or_withCount.java | 4 +-
...onRecognizerCompositeForJdoObjectStoreTest.java | 15 +-
.../XmlSnapshotServiceAbstractTest.java | 12 +-
.../ObjectContractsTest_equals_and_hashCode.java | 10 +-
64 files changed, 814 insertions(+), 923 deletions(-)
diff --git a/core/applib/src/main/java/org/apache/isis/applib/AppManifestAbstract.java b/core/applib/src/main/java/org/apache/isis/applib/AppManifestAbstract.java
index aa49dbc..86bf441 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/AppManifestAbstract.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/AppManifestAbstract.java
@@ -23,10 +23,9 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-
import org.apache.isis.applib.fixturescripts.FixtureScript;
+import org.apache.isis.applib.internal.collections._Lists;
+import org.apache.isis.applib.internal.collections._Maps;
/**
* Convenience adapter, configured using an {@link Builder}.
@@ -45,7 +44,7 @@ public abstract class AppManifestAbstract implements AppManifest {
overrideModules(builderModules);
this.modules = builderModules;
- final List<Class<?>> builderAdditionalServices = Lists.newArrayList(builder.getAllAdditionalServices());
+ final List<Class<?>> builderAdditionalServices = _Lists.newArrayList(builder.getAllAdditionalServices());
overrideAdditionalServices(builderAdditionalServices);
this.additionalServices = builderAdditionalServices;
@@ -91,14 +90,14 @@ public abstract class AppManifestAbstract implements AppManifest {
if(builder instanceof AppManifestAbstract2.Builder) {
return ((AppManifestAbstract2.Builder) builder).fixtures;
}
- return Lists.newArrayList();
+ return _Lists.newArrayList();
}
private Map<String, String> createConfigurationProperties(
final List<PropertyResource> propertyResources,
final Map<String,String> individualConfigProps,
final List<Class<? extends FixtureScript>> fixtures) {
- final Map<String, String> props = Maps.newHashMap();
+ final Map<String, String> props = _Maps.newHashMap();
for (PropertyResource propertyResource : propertyResources) {
propertyResource.loadPropsInto(props);
}
@@ -215,7 +214,7 @@ public abstract class AppManifestAbstract implements AppManifest {
public static abstract class BuilderAbstract<B extends BuilderAbstract<B>> extends ModuleOrBuilderAbstract<B> {
String authMechanism = "shiro";
- List<Class<? extends FixtureScript>> fixtures = Lists.newArrayList();
+ List<Class<? extends FixtureScript>> fixtures = _Lists.newArrayList();
public B withAuthMechanism(final String authMechanism) {
this.authMechanism = authMechanism;
@@ -236,7 +235,7 @@ public abstract class AppManifestAbstract implements AppManifest {
}
List<Class<?>> getAllAdditionalModules() {
- return Lists.newArrayList(additionalModules);
+ return _Lists.newArrayList(additionalModules);
}
Set<Class<?>> getAllAdditionalServices() {
diff --git a/core/applib/src/main/java/org/apache/isis/applib/DomainObjectContainer.java b/core/applib/src/main/java/org/apache/isis/applib/DomainObjectContainer.java
index 2850c9f..cb37aae 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/DomainObjectContainer.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/DomainObjectContainer.java
@@ -33,7 +33,8 @@ import org.apache.isis.applib.services.xactn.TransactionService;
* domain objects, and which provides functionality to those domain objects
* in order that they might interact or have knowledge of with the "outside world".
*
- * @deprecated - use {@link MessageService}, {@link TitleService}, {@link RepositoryService}, {@link FactoryService}, {@link UserService}, {@link TransactionService}.
+ * @deprecated - use {@link MessageService}, {@link TitleService}, {@link RepositoryService},
+ * {@link FactoryService}, {@link UserService}, {@link TransactionService}.
*/
@Deprecated
public interface DomainObjectContainer {
diff --git a/core/applib/src/main/java/org/apache/isis/applib/Identifier.java b/core/applib/src/main/java/org/apache/isis/applib/Identifier.java
index 258de6f..3d2b989 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/Identifier.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/Identifier.java
@@ -23,9 +23,10 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.StringTokenizer;
+import java.util.stream.Collectors;
-import com.google.common.base.Joiner;
-import com.google.common.collect.Lists;
+import org.apache.isis.applib.internal.base._NullSafe;
+import org.apache.isis.applib.internal.collections._Lists;
public class Identifier implements Comparable<Identifier> {
@@ -117,7 +118,7 @@ public class Identifier implements Comparable<Identifier> {
if (parameterClasses == null) {
return EMPTY_LIST_OF_STRINGS;
}
- final List<String> parameterClassNames = Lists.newArrayList();
+ final List<String> parameterClassNames = _Lists.newArrayList();
for (final Class<?> parameterClass : parameterClasses) {
parameterClassNames.add(parameterClass.getName());
}
@@ -238,7 +239,9 @@ public class Identifier implements Comparable<Identifier> {
private void appendParameterNamesTo(final StringBuilder buf) {
buf.append('(');
- Joiner.on(',').appendTo(buf, parameterNames);
+ buf.append(
+ _NullSafe.stream(parameterNames)
+ .collect(Collectors.joining(",")) );
buf.append(')');
}
@@ -431,7 +434,7 @@ class NameUtils {
}
public static List<String> naturalNames(final List<String> names) {
- final List<String> naturalNames = Lists.newArrayList();
+ final List<String> naturalNames = _Lists.newArrayList();
for (final String name : names) {
naturalNames.add(NameUtils.naturalName(name));
}
diff --git a/core/applib/src/main/java/org/apache/isis/applib/Module.java b/core/applib/src/main/java/org/apache/isis/applib/Module.java
index 3e567b7..01c2fc9 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/Module.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/Module.java
@@ -23,12 +23,11 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-import com.google.common.collect.Sets;
-
import org.apache.isis.applib.annotation.DomainService;
import org.apache.isis.applib.fixturescripts.FixtureScript;
+import org.apache.isis.applib.internal.collections._Lists;
+import org.apache.isis.applib.internal.collections._Maps;
+import org.apache.isis.applib.internal.collections._Sets;
/**
* Represents a collection of entities and domain services that provide a set of coherent functionality under a
@@ -58,7 +57,7 @@ import org.apache.isis.applib.fixturescripts.FixtureScript;
* <b>IMPORTANT</b>: implementations are expected to have value-semantics. This allows each {@link Module} to define
* its respective {@link #getDependencies() dependencies} simply by instantiating the {@link Module}s on which
* it depends. The framework relies on value semantics to remove any duplicates from the computed graph of
- * all depenencies for the entire running application. The easiest way to simply inherit from
+ * all dependencies for the entire running application. The easiest way to simply inherit from
* {@link ModuleAbstract}.
* </p>
*/
@@ -124,11 +123,11 @@ public interface Module {
* </p>
*/
static List<Module> transitiveDependenciesOf(Module module) {
- final List<Module> ordered = Lists.newArrayList();
- final List<Module> visited = Lists.newArrayList();
+ final List<Module> ordered = _Lists.newArrayList();
+ final List<Module> visited = _Lists.newArrayList();
appendDependenciesTo(ordered, module, visited);
- final LinkedHashSet<Module> sequencedSet = Sets.newLinkedHashSet(ordered);
- return Lists.newArrayList(sequencedSet);
+ final LinkedHashSet<Module> sequencedSet = _Sets.newLinkedHashSet(ordered);
+ return _Lists.newArrayList(sequencedSet);
}
/**
@@ -140,7 +139,7 @@ public interface Module {
* </p>
*/
static List<Class<?>> transitiveAdditionalModulesOf(Module module) {
- final Set<Class<?>> modules = Sets.newHashSet();
+ final Set<Class<?>> modules = _Sets.newHashSet();
final List<Module> transitiveDependencies = transitiveDependenciesOf(module);
for (Module transitiveDependency : transitiveDependencies) {
final Set<Class<?>> additionalModules = transitiveDependency.getAdditionalModules();
@@ -153,7 +152,7 @@ public interface Module {
modules.addAll(additionalModules);
}
}
- return Lists.newArrayList(modules);
+ return _Lists.newArrayList(modules);
}
/**
@@ -165,7 +164,7 @@ public interface Module {
* </p>
*/
static List<Class<?>> transitiveAdditionalServicesOf(Module module) {
- final Set<Class<?>> services = Sets.newHashSet();
+ final Set<Class<?>> services = _Sets.newHashSet();
final List<Module> transitiveDependencies = Util.transitiveDependenciesOf(module);
for (Module transitiveDependency : transitiveDependencies) {
final Set<Class<?>> additionalServices = transitiveDependency.getAdditionalServices();
@@ -173,7 +172,7 @@ public interface Module {
services.addAll(additionalServices);
}
}
- return Lists.newArrayList(services);
+ return _Lists.newArrayList(services);
}
private static void appendDependenciesTo(
@@ -203,7 +202,7 @@ public interface Module {
}
static Map<String, String> transitiveIndividualConfigPropsOf(final Module module) {
- final Map<String,String> transitiveIndividualConfigProps = Maps.newLinkedHashMap();
+ final Map<String,String> transitiveIndividualConfigProps = _Maps.newLinkedHashMap();
final List<Module> transitiveDependencies = transitiveDependenciesOf(module);
for (Module transitiveDependency : transitiveDependencies) {
@@ -213,7 +212,7 @@ public interface Module {
}
static List<PropertyResource> transitivePropertyResourcesOf(final Module module) {
- final List<PropertyResource> transitivePropertyResources = Lists.newArrayList();
+ final List<PropertyResource> transitivePropertyResources = _Lists.newArrayList();
final List<Module> transitiveDependencies = transitiveDependenciesOf(module);
for (Module transitiveDependency : transitiveDependencies) {
diff --git a/core/applib/src/main/java/org/apache/isis/applib/ModuleAbstract.java b/core/applib/src/main/java/org/apache/isis/applib/ModuleAbstract.java
index 8366f34..d5d63b6 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/ModuleAbstract.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/ModuleAbstract.java
@@ -28,8 +28,7 @@ import javax.xml.bind.annotation.XmlTransient;
import org.apache.isis.applib.fixturescripts.FixtureScript;
import org.apache.isis.applib.internal.base._NullSafe;
-
-import com.google.common.collect.Sets;
+import org.apache.isis.applib.internal.collections._Sets;
/**
* Adapter for {@link Module} which has a default no-op implementation.
@@ -46,7 +45,7 @@ public abstract class ModuleAbstract
@Override
@XmlTransient
public Set<Module> getDependencies() {
- return Sets.newLinkedHashSet();
+ return _Sets.newLinkedHashSet();
}
@XmlElement(name = "module", required = true)
diff --git a/core/applib/src/main/java/org/apache/isis/applib/ModuleOrBuilderAbstract.java b/core/applib/src/main/java/org/apache/isis/applib/ModuleOrBuilderAbstract.java
index ab4b31d..07e2841 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/ModuleOrBuilderAbstract.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/ModuleOrBuilderAbstract.java
@@ -25,9 +25,9 @@ import java.util.Set;
import javax.xml.bind.annotation.XmlTransient;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-import com.google.common.collect.Sets;
+import org.apache.isis.applib.internal.collections._Lists;
+import org.apache.isis.applib.internal.collections._Maps;
+import org.apache.isis.applib.internal.collections._Sets;
/**
* Factors out the commonality between {@link AppManifestAbstract.Builder} and {@link ModuleAbstract}.
@@ -36,11 +36,11 @@ import com.google.common.collect.Sets;
*/
abstract class ModuleOrBuilderAbstract<B extends ModuleOrBuilderAbstract<B>> {
- final Set<Class<?>> additionalModules = Sets.newLinkedHashSet();
- final Set<Class<?>> additionalServices = Sets.newLinkedHashSet();
+ final Set<Class<?>> additionalModules = _Sets.newLinkedHashSet();
+ final Set<Class<?>> additionalServices = _Sets.newLinkedHashSet();
- final Map<String,String> individualConfigProps = Maps.newLinkedHashMap();
- final List<PropertyResource> propertyResources = Lists.newArrayList();
+ final Map<String,String> individualConfigProps = _Maps.newLinkedHashMap();
+ final List<PropertyResource> propertyResources = _Lists.newArrayList();
ModuleOrBuilderAbstract() {}
diff --git a/core/applib/src/main/java/org/apache/isis/applib/NonRecoverableException.java b/core/applib/src/main/java/org/apache/isis/applib/NonRecoverableException.java
index 58236cc..f59b1fb7 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/NonRecoverableException.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/NonRecoverableException.java
@@ -19,7 +19,7 @@
package org.apache.isis.applib;
-import com.google.common.base.Strings;
+import org.apache.isis.applib.internal.base._Strings;
import org.apache.isis.applib.services.exceprecog.TranslatableException;
import org.apache.isis.applib.services.i18n.TranslatableString;
@@ -83,7 +83,7 @@ public class NonRecoverableException extends RuntimeException implements Transla
this.translationContext =
translationContextClass != null
? (translationContextClass.getName() +
- (!Strings.isNullOrEmpty(translationContextMethod)
+ (!_Strings.isNullOrEmpty(translationContextMethod)
? "#" + translationContextMethod
: "")
)
diff --git a/core/applib/src/main/java/org/apache/isis/applib/RecoverableException.java b/core/applib/src/main/java/org/apache/isis/applib/RecoverableException.java
index 34b0ee6..da962e1 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/RecoverableException.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/RecoverableException.java
@@ -19,13 +19,8 @@
package org.apache.isis.applib;
-import java.util.Iterator;
-import java.util.List;
-
-import com.google.common.base.Strings;
-import com.google.common.base.Throwables;
-import com.google.common.collect.Iterables;
-
+import org.apache.isis.applib.internal.base._Strings;
+import org.apache.isis.applib.internal.exceptions._Exceptions;
import org.apache.isis.applib.services.exceprecog.TranslatableException;
import org.apache.isis.applib.services.i18n.TranslatableString;
@@ -98,7 +93,7 @@ public class RecoverableException extends RuntimeException implements Translatab
this.translationContext =
translationContextClass != null
? (translationContextClass.getName() +
- (!Strings.isNullOrEmpty(translationContextMethod)
+ (!_Strings.isNullOrEmpty(translationContextMethod)
? "#" + translationContextMethod
: "")
)
@@ -127,11 +122,14 @@ public class RecoverableException extends RuntimeException implements Translatab
private Util() {}
public static RecoverableException getRecoverableExceptionIfAny(final Exception ex) {
- final List<Throwable> causalChain = Throwables.getCausalChain(ex);
- final Iterable<RecoverableException> appEx =
- Iterables.filter(causalChain, RecoverableException.class);
- final Iterator<RecoverableException> iterator = appEx.iterator();
- return iterator.hasNext() ? iterator.next() : null;
+
+ return _Exceptions.streamCausalChain(ex)
+ .filter(t->t instanceof RecoverableException)
+ .map(t->(RecoverableException)t)
+ .findFirst()
+ .orElse(null)
+ ;
+
}
}
diff --git a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/BuilderScriptAbstract.java b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/BuilderScriptAbstract.java
index e185cf2..2dd8260 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/BuilderScriptAbstract.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/BuilderScriptAbstract.java
@@ -20,9 +20,8 @@ package org.apache.isis.applib.fixturescripts;
import java.util.List;
-import com.google.common.collect.Lists;
-
import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.applib.internal.collections._Lists;
public abstract class BuilderScriptAbstract<T,F extends BuilderScriptAbstract<T,F>>
extends FixtureScript implements WithPrereqs<T,F>, FixtureScriptWithExecutionStrategy {
@@ -90,7 +89,7 @@ public abstract class BuilderScriptAbstract<T,F extends BuilderScriptAbstract<T,
return persona.findUsing(serviceRegistry);
}
- private final List<WithPrereqs.Block<T,F>> prereqs = Lists.newArrayList();
+ private final List<WithPrereqs.Block<T,F>> prereqs = _Lists.newArrayList();
@Override
public F setPrereq(WithPrereqs.Block<T,F> prereq) {
diff --git a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/ExecutionParameters.java b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/ExecutionParameters.java
index b7f8f8d..ae0d08a 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/ExecutionParameters.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/ExecutionParameters.java
@@ -18,19 +18,16 @@
*/
package org.apache.isis.applib.fixturescripts;
-import java.io.IOException;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Collections;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import com.google.common.base.Strings;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Maps;
-import com.google.common.io.CharSource;
import org.apache.isis.applib.internal.base._Casts;
+import org.apache.isis.applib.internal.base._Strings;
+import org.apache.isis.applib.internal.collections._Maps;
import org.joda.time.DateTime;
import org.joda.time.LocalDate;
import org.joda.time.LocalDateTime;
@@ -49,20 +46,17 @@ public class ExecutionParameters {
}
static Map<String, String> asKeyValueMap(final String parameters) {
- final Map<String, String> keyValues = Maps.newLinkedHashMap();
+ final Map<String, String> keyValues = _Maps.newLinkedHashMap();
if (parameters != null) {
try {
- final ImmutableList<String> lines = CharSource.wrap(parameters).readLines();
- for (final String line : lines) {
- if (line == null) {
- continue;
- }
+ _Strings.splitThenStream(parameters, "\n")
+ .forEach(line->{
final Matcher matcher = keyEqualsValuePattern.matcher(line);
if (matcher.matches()) {
keyValues.put(matcher.group(1).trim(), matcher.group(2).trim());
}
- }
- } catch (final IOException e) {
+ });
+ } catch (final Exception e) {
// ignore, shouldn't happen
}
}
@@ -120,7 +114,7 @@ public class ExecutionParameters {
public Boolean getParameterAsBoolean(final String parameterName) {
final String value = getParameter(parameterName);
- if (Strings.isNullOrEmpty(value)) {
+ if (_Strings.isNullOrEmpty(value)) {
return null;
}
return Boolean.valueOf(value);
@@ -128,7 +122,7 @@ public class ExecutionParameters {
public Byte getParameterAsByte(final String parameterName) {
final String value = getParameter(parameterName);
- if (Strings.isNullOrEmpty(value)) {
+ if (_Strings.isNullOrEmpty(value)) {
return null;
}
return Byte.valueOf(value);
@@ -136,7 +130,7 @@ public class ExecutionParameters {
public Short getParameterAsShort(final String parameterName) {
final String value = getParameter(parameterName);
- if (Strings.isNullOrEmpty(value)) {
+ if (_Strings.isNullOrEmpty(value)) {
return null;
}
return Short.valueOf(value);
@@ -144,7 +138,7 @@ public class ExecutionParameters {
public Integer getParameterAsInteger(final String parameterName) {
final String value = getParameter(parameterName);
- if (Strings.isNullOrEmpty(value)) {
+ if (_Strings.isNullOrEmpty(value)) {
return null;
}
return Integer.valueOf(value);
@@ -152,7 +146,7 @@ public class ExecutionParameters {
public Long getParameterAsLong(final String parameterName) {
final String value = getParameter(parameterName);
- if (Strings.isNullOrEmpty(value)) {
+ if (_Strings.isNullOrEmpty(value)) {
return null;
}
return Long.valueOf(value);
@@ -160,7 +154,7 @@ public class ExecutionParameters {
public Float getParameterAsFloat(final String parameterName) {
final String value = getParameter(parameterName);
- if (Strings.isNullOrEmpty(value)) {
+ if (_Strings.isNullOrEmpty(value)) {
return null;
}
return Float.valueOf(value);
@@ -168,7 +162,7 @@ public class ExecutionParameters {
public Double getParameterAsDouble(final String parameterName) {
final String value = getParameter(parameterName);
- if (Strings.isNullOrEmpty(value)) {
+ if (_Strings.isNullOrEmpty(value)) {
return null;
}
return Double.valueOf(value);
@@ -176,7 +170,7 @@ public class ExecutionParameters {
public Character getParameterAsCharacter(final String parameterName) {
final String value = getParameter(parameterName);
- if (Strings.isNullOrEmpty(value)) {
+ if (_Strings.isNullOrEmpty(value)) {
return null;
}
return Character.valueOf(value.charAt(0));
@@ -184,7 +178,7 @@ public class ExecutionParameters {
public BigInteger getParameterAsBigInteger(final String parameterName) {
final String value = getParameter(parameterName);
- if (Strings.isNullOrEmpty(value)) {
+ if (_Strings.isNullOrEmpty(value)) {
return null;
}
return new BigInteger(value);
@@ -192,7 +186,7 @@ public class ExecutionParameters {
public BigDecimal getParameterAsBigDecimal(final String parameterName) {
final String value = getParameter(parameterName);
- if (Strings.isNullOrEmpty(value)) {
+ if (_Strings.isNullOrEmpty(value)) {
return null;
}
return new BigDecimal(value);
diff --git a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureResultList.java b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureResultList.java
index 0ffd878..1e25b43 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureResultList.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureResultList.java
@@ -24,9 +24,8 @@ import java.util.Map;
import java.util.concurrent.atomic.AtomicInteger;
import org.apache.isis.applib.internal.base._Casts;
-
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
+import org.apache.isis.applib.internal.collections._Lists;
+import org.apache.isis.applib.internal.collections._Maps;
/**
* Collecting parameter.
@@ -50,7 +49,7 @@ public class FixtureResultList {
//region > list of FixtureResults
- private final List<FixtureResult> list = Lists.newArrayList();
+ private final List<FixtureResult> list = _Lists.newArrayList();
/**
* Irrespective of the setting for {@link FixtureScripts#getMultipleExecutionStrategy()}, this list ensures
@@ -69,9 +68,9 @@ public class FixtureResultList {
* </p>
* {@link org.apache.isis.applib.fixturescripts.FixtureScript}s used to generate this result list.
*/
- private final List<FixtureScript> fixtureScriptList = Lists.newArrayList();
+ private final List<FixtureScript> fixtureScriptList = _Lists.newArrayList();
- private final Map<String, FixtureResult> fixtureResultByKey = Maps.newHashMap();
+ private final Map<String, FixtureResult> fixtureResultByKey = _Maps.newHashMap();
public <T> T add(final FixtureScript script, final T object) {
return add(script, nextItemFor(script), object);
@@ -108,7 +107,7 @@ public class FixtureResultList {
//region > nextItemFor
- private final Map<FixtureScript, AtomicInteger> itemNumberByScript = Maps.newHashMap();
+ private final Map<FixtureScript, AtomicInteger> itemNumberByScript = _Maps.newHashMap();
String nextItemFor(final FixtureScript script) {
AtomicInteger atomicInteger = itemNumberByScript.get(script);
diff --git a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureScript.java b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureScript.java
index 7167a07..139e86c 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureScript.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureScript.java
@@ -37,6 +37,8 @@ import org.apache.isis.applib.fixtures.FixtureType;
import org.apache.isis.applib.fixtures.InstallableFixture;
import org.apache.isis.applib.internal.base._Casts;
import org.apache.isis.applib.internal.base._Strings;
+import org.apache.isis.applib.internal.collections._Lists;
+import org.apache.isis.applib.internal.collections._Maps;
import org.apache.isis.applib.internal.exceptions._Exceptions;
import org.apache.isis.applib.services.factory.FactoryService;
import org.apache.isis.applib.services.registry.ServiceRegistry;
@@ -48,10 +50,6 @@ import org.apache.isis.applib.services.xactn.TransactionService;
import org.joda.time.LocalDate;
import org.joda.time.LocalDateTime;
-import com.google.common.base.Strings;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-
@ViewModelLayout(named="Script")
public abstract class FixtureScript
extends AbstractViewModel
@@ -689,7 +687,7 @@ public abstract class FixtureScript
* but used only by {@link FixtureScripts.MultipleExecutionStrategy#EXECUTE_ONCE_BY_VALUE} to determine whether
* should execute or not.
*/
- private final List<FixtureScript> previouslyExecuted = Lists.newArrayList();
+ private final List<FixtureScript> previouslyExecuted = _Lists.newArrayList();
/**
* Returns a list of the {@link FixtureScript} instances that have already been executed.
@@ -711,13 +709,13 @@ public abstract class FixtureScript
* used and populated only if the {@link FixtureScripts.MultipleExecutionStrategy#EXECUTE_ONCE_BY_CLASS}
* strategy is in use.
*/
- private final Map<Class<? extends FixtureScript>, FixtureScript> fixtureScriptByClass = Maps.newLinkedHashMap();
+ private final Map<Class<? extends FixtureScript>, FixtureScript> fixtureScriptByClass = _Maps.newLinkedHashMap();
/**
* used and populated only if the {@link FixtureScripts.MultipleExecutionStrategy#EXECUTE_ONCE_BY_VALUE}
* strategy is in use.
*/
- private final Map<FixtureScript, FixtureScript> fixtureScriptByValue = Maps.newLinkedHashMap();
+ private final Map<FixtureScript, FixtureScript> fixtureScriptByValue = _Maps.newLinkedHashMap();
//endregion
@@ -759,7 +757,7 @@ public abstract class FixtureScript
//endregion
private static String pad(final String str, final int padTo) {
- return Strings.padEnd(str, padTo, ' ');
+ return _Strings.padEnd(str, padTo, ' ');
}
static int roundup(final int n, final int roundTo) {
@@ -767,7 +765,7 @@ public abstract class FixtureScript
}
- private Map<Class<?>, Object> userData = Maps.newHashMap();
+ private Map<Class<?>, Object> userData = _Maps.newHashMap();
@Programmatic
public void setUserData(final Object object) {
userData.put(object.getClass(), object);
diff --git a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureScripts.java b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureScripts.java
index 2a6d52c..ae8d024 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureScripts.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureScripts.java
@@ -24,13 +24,11 @@ import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Set;
+import java.util.function.Predicate;
+import java.util.stream.Collectors;
import javax.annotation.PostConstruct;
-import com.google.common.base.Predicate;
-import com.google.common.collect.Collections2;
-import com.google.common.collect.Lists;
-
import org.apache.isis.applib.AbstractService;
import org.apache.isis.applib.DomainObjectContainer;
import org.apache.isis.applib.ViewModel;
@@ -42,6 +40,8 @@ import org.apache.isis.applib.annotation.Parameter;
import org.apache.isis.applib.annotation.ParameterLayout;
import org.apache.isis.applib.annotation.Programmatic;
import org.apache.isis.applib.annotation.RestrictTo;
+import org.apache.isis.applib.internal.base._NullSafe;
+import org.apache.isis.applib.internal.collections._Lists;
import org.apache.isis.applib.internal.exceptions._Exceptions;
import org.apache.isis.applib.services.bookmark.BookmarkService;
import org.apache.isis.applib.services.classdiscovery.ClassDiscoveryService;
@@ -63,7 +63,7 @@ import org.apache.isis.applib.util.ObjectContracts;
*/
public abstract class FixtureScripts extends AbstractService {
- //region > Specification, nonPersistedObjectsStrategy, multipleExecutionStrategy enums
+ // -- Specification, nonPersistedObjectsStrategy, multipleExecutionStrategy enums
/**
* How to handle objects that are to be
@@ -156,9 +156,7 @@ public abstract class FixtureScripts extends AbstractService {
}
}
- //endregion
-
- //region > constructors
+ // -- constructors
/**
* @param specification - specifies how the service will find instances and execute them.
@@ -167,9 +165,7 @@ public abstract class FixtureScripts extends AbstractService {
this.specification = specification;
}
- //endregion
-
- //region > packagePrefix, nonPersistedObjectsStrategy, multipleExecutionStrategy
+ // -- packagePrefix, nonPersistedObjectsStrategy, multipleExecutionStrategy
private FixtureScriptsSpecification specification;
@@ -209,17 +205,14 @@ public abstract class FixtureScripts extends AbstractService {
return specification.getMultipleExecutionStrategy();
}
- //endregion
-
- //region > init
+ // -- init
+
@Programmatic
@PostConstruct
public void init() {
}
- //endregion
-
- //region > fixtureScriptList (lazily built)
+ // -- fixtureScriptList (lazily built)
private List<FixtureScript> fixtureScriptList;
@Programmatic
@@ -231,7 +224,7 @@ public abstract class FixtureScripts extends AbstractService {
}
private List<FixtureScript> findAndInstantiateFixtureScripts() {
- final List<FixtureScript> fixtureScripts = Lists.newArrayList();
+ final List<FixtureScript> fixtureScripts = _Lists.newArrayList();
final Set<Class<? extends FixtureScript>> fixtureScriptSubtypes =
findFixtureScriptSubTypesInPackage();
for (final Class<? extends FixtureScript> fixtureScriptCls : fixtureScriptSubtypes) {
@@ -277,9 +270,7 @@ public abstract class FixtureScripts extends AbstractService {
}
- //endregion
-
- //region > fixtureTracing (thread-local)
+ // -- fixtureTracing (thread-local)
private final ThreadLocal<PrintStream> fixtureTracing = new ThreadLocal<PrintStream>(){{
set(System.out);
@@ -295,9 +286,7 @@ public abstract class FixtureScripts extends AbstractService {
this.fixtureTracing.set(fixtureTracing);
}
- //endregion
-
- //region > runFixtureScript (prototype action)
+ // -- runFixtureScript (prototype action)
/**
* To make this action usable in the UI, override either {@link #choices0RunFixtureScript()} or
@@ -331,17 +320,14 @@ public abstract class FixtureScripts extends AbstractService {
return getFixtureScriptList();
}
protected List<FixtureScript> autoComplete0RunFixtureScript(final @MinLength(1) String arg) {
- return Lists.newArrayList(
- Collections2.filter(getFixtureScriptList(), new Predicate<FixtureScript>() {
- @Override
- public boolean apply(final FixtureScript input) {
- return contains(input.getFriendlyName()) || contains(input.getLocalName());
- }
-
- private boolean contains(final String str) {
- return str != null && str.contains(arg);
- }
- }));
+
+ final Predicate<String> contains = str -> str != null && str.contains(arg);
+
+ return _NullSafe.stream(getFixtureScriptList())
+ .filter(script->{
+ return contains.test(script.getFriendlyName()) || contains.test(script.getLocalName());
+ })
+ .collect(Collectors.toList());
}
public String disableRunFixtureScript() {
return getFixtureScriptList().isEmpty()? "No fixture scripts found under package '" + getPackagePrefix() + "'": null;
@@ -354,10 +340,7 @@ public abstract class FixtureScripts extends AbstractService {
return fixtureScript.run(parameters);
}
-
- //endregion
-
- //region > programmatic API
+ // -- programmatic API
@Programmatic
public void runFixtureScript(final FixtureScript... fixtureScriptList) {
@@ -410,9 +393,7 @@ public abstract class FixtureScripts extends AbstractService {
return FixtureScript.ExecutionContext.create(executionParameters, this);
}
- //endregion
-
- //region > hooks
+ // -- hooks
/**
* Optional hook.
@@ -428,10 +409,7 @@ public abstract class FixtureScripts extends AbstractService {
}
-
- //endregion
-
- //region > memento support for FixtureScript
+ // -- memento support for FixtureScript
String mementoFor(final FixtureScript fs) {
@@ -444,9 +422,7 @@ public abstract class FixtureScripts extends AbstractService {
fs.setParentPath(memento.get("path", String.class));
}
- //endregion
-
- //region > helpers (package level)
+ // -- helpers (package level)
@Programmatic
FixtureResult newFixtureResult(final FixtureScript script, final String subkey, final Object object, final boolean firstTime) {
@@ -480,9 +456,7 @@ public abstract class FixtureScripts extends AbstractService {
return object != null? titleService.titleOf(object): "(null)";
}
- //endregion
-
- //region > injected services
+ // -- injected services
@javax.inject.Inject
DomainObjectContainer container;
@@ -510,6 +484,5 @@ public abstract class FixtureScripts extends AbstractService {
@javax.inject.Inject
ExecutionParametersService executionParametersService;
- //endregion
}
\ No newline at end of file
diff --git a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/setup/PersonaEnumPersistAll.java b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/setup/PersonaEnumPersistAll.java
index e729ad8..f4fbe03 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/setup/PersonaEnumPersistAll.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/setup/PersonaEnumPersistAll.java
@@ -20,13 +20,12 @@ package org.apache.isis.applib.fixturescripts.setup;
import java.util.List;
-import com.google.common.collect.Lists;
-
import org.apache.isis.applib.fixturescripts.BuilderScriptAbstract;
import org.apache.isis.applib.fixturescripts.FixtureScript;
import org.apache.isis.applib.fixturescripts.FixtureScriptWithExecutionStrategy;
import org.apache.isis.applib.fixturescripts.FixtureScripts;
import org.apache.isis.applib.fixturescripts.PersonaWithBuilderScript;
+import org.apache.isis.applib.internal.collections._Lists;
public class PersonaEnumPersistAll<E extends Enum<E> & PersonaWithBuilderScript<T,F>, T, F extends BuilderScriptAbstract<T,F>>
extends FixtureScript
@@ -53,7 +52,7 @@ public class PersonaEnumPersistAll<E extends Enum<E> & PersonaWithBuilderScript<
/**
* The objects created by this fixture (output).
*/
- private final List<T> objects = Lists.newArrayList();
+ private final List<T> objects = _Lists.newArrayList();
public List<T> getObjects() {
return objects;
}
diff --git a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/teardown/TeardownFixtureAbstract.java b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/teardown/TeardownFixtureAbstract.java
index 8483b9d..8c16f2d 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/teardown/TeardownFixtureAbstract.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/teardown/TeardownFixtureAbstract.java
@@ -21,9 +21,8 @@ package org.apache.isis.applib.fixturescripts.teardown;
import javax.inject.Inject;
import javax.jdo.metadata.TypeMetadata;
-import com.google.common.base.Strings;
-
import org.apache.isis.applib.fixturescripts.FixtureScript;
+import org.apache.isis.applib.internal.base._Strings;
import org.apache.isis.applib.services.jdosupport.IsisJdoSupport;
public abstract class TeardownFixtureAbstract extends FixtureScript {
@@ -38,10 +37,10 @@ public abstract class TeardownFixtureAbstract extends FixtureScript {
} else {
final String schema = metadata.getSchema();
String table = metadata.getTable();
- if(Strings.isNullOrEmpty(table)) {
+ if(_Strings.isNullOrEmpty(table)) {
table = cls.getSimpleName();
}
- if(Strings.isNullOrEmpty(schema)) {
+ if(_Strings.isNullOrEmpty(schema)) {
deleteFrom(table);
} else {
deleteFrom(schema, table);
diff --git a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/teardown/TeardownFixtureAbstract2.java b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/teardown/TeardownFixtureAbstract2.java
index 3b403f2..13d5c74 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/teardown/TeardownFixtureAbstract2.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/teardown/TeardownFixtureAbstract2.java
@@ -26,8 +26,7 @@ import javax.jdo.metadata.DiscriminatorMetadata;
import javax.jdo.metadata.InheritanceMetadata;
import javax.jdo.metadata.TypeMetadata;
-import com.google.common.base.Strings;
-
+import org.apache.isis.applib.internal.base._Strings;
import org.apache.isis.applib.services.jdosupport.IsisJdoSupport;
public abstract class TeardownFixtureAbstract2 extends TeardownFixtureAbstract {
@@ -45,7 +44,7 @@ public abstract class TeardownFixtureAbstract2 extends TeardownFixtureAbstract {
final String table = tableOf(cls);
this.preDeleteFrom(cls);
- if (Strings.isNullOrEmpty(schema)) {
+ if (_Strings.isNullOrEmpty(schema)) {
this.deleteFromWhere(table, column, value);
} else {
this.deleteFromWhere(schema, table, column, value);
@@ -75,7 +74,7 @@ public abstract class TeardownFixtureAbstract2 extends TeardownFixtureAbstract {
return tableOf(cls.getSuperclass());
}
final String table = metadata.getTable();
- return !Strings.isNullOrEmpty(table) ? table : cls.getSimpleName();
+ return !_Strings.isNullOrEmpty(table) ? table : cls.getSimpleName();
}
protected String discriminatorValueOf(final Class<?> cls) {
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/component/CollectionLayoutData.java b/core/applib/src/main/java/org/apache/isis/applib/layout/component/CollectionLayoutData.java
index 730d0a6..086e2e2 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/component/CollectionLayoutData.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/component/CollectionLayoutData.java
@@ -27,10 +27,8 @@ import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;
import javax.xml.bind.annotation.XmlType;
-import com.google.common.base.Function;
-import com.google.common.collect.Lists;
-
import org.apache.isis.applib.annotation.Where;
+import org.apache.isis.applib.internal.collections._Lists;
import org.apache.isis.applib.layout.links.Link;
/**
@@ -200,7 +198,7 @@ public class CollectionLayoutData
- private List<ActionLayoutData> actions = Lists.newArrayList();
+ private List<ActionLayoutData> actions = _Lists.newArrayList();
// no wrapper
@XmlElement(name = "action", required = false)
@@ -266,20 +264,6 @@ public class CollectionLayoutData
this.link = link;
}
- @Deprecated //[ahuber] not used, or otherwise replace with java 8+ function variant
- public static class Functions {
- private Functions(){}
-
- public static Function<CollectionLayoutData, String> id() {
- return new Function<CollectionLayoutData, String>() {
- @Override
- public String apply(final CollectionLayoutData metadata) {
- return metadata.getId();
- }
- };
- }
- }
-
@Override public String toString() {
return "CollectionLayoutData{" +
"id='" + id + '\'' +
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/component/FieldSet.java b/core/applib/src/main/java/org/apache/isis/applib/layout/component/FieldSet.java
index 0f04033..5045604 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/component/FieldSet.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/component/FieldSet.java
@@ -21,17 +21,14 @@ package org.apache.isis.applib.layout.component;
import java.io.Serializable;
import java.util.List;
-import javax.annotation.Nullable;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;
import javax.xml.bind.annotation.XmlType;
-import com.google.common.base.Function;
-import com.google.common.collect.Lists;
-
import org.apache.isis.applib.annotation.MemberOrder;
+import org.apache.isis.applib.internal.collections._Lists;
import org.apache.isis.applib.layout.grid.bootstrap3.BS3Col;
/**
@@ -138,7 +135,7 @@ public class FieldSet
- private List<ActionLayoutData> actions = Lists.newArrayList();
+ private List<ActionLayoutData> actions = _Lists.newArrayList();
// no wrapper
@XmlElement(name = "action", required = false)
@@ -152,7 +149,7 @@ public class FieldSet
- private List<PropertyLayoutData> properties = Lists.newArrayList();
+ private List<PropertyLayoutData> properties = _Lists.newArrayList();
// no wrapper; required=false because may be auto-generated
@XmlElement(name = "property", required = false)
@@ -183,9 +180,6 @@ public class FieldSet
}
-
-
-
private String metadataError;
/**
@@ -200,20 +194,6 @@ public class FieldSet
this.metadataError = metadataError;
}
-
- @Deprecated //[ahuber] not used, or otherwise replace with java 8+ function variant
- public static class Util {
- private Util(){}
- public static Function<? super FieldSet, String> nameOf() {
- return new Function<FieldSet, String>() {
- @Nullable @Override
- public String apply(@Nullable final FieldSet fieldSet) {
- return fieldSet.getName();
- }
- };
- }
- }
-
@Override public String toString() {
return "FieldSet{" +
"id='" + id + '\'' +
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/component/PropertyLayoutData.java b/core/applib/src/main/java/org/apache/isis/applib/layout/component/PropertyLayoutData.java
index 97925a4..1c28eda 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/component/PropertyLayoutData.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/component/PropertyLayoutData.java
@@ -27,13 +27,12 @@ import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;
import javax.xml.bind.annotation.XmlType;
-import com.google.common.collect.Lists;
-
import org.apache.isis.applib.annotation.LabelPosition;
import org.apache.isis.applib.annotation.PromptStyle;
import org.apache.isis.applib.annotation.RenderDay;
import org.apache.isis.applib.annotation.Repainting;
import org.apache.isis.applib.annotation.Where;
+import org.apache.isis.applib.internal.collections._Lists;
import org.apache.isis.applib.layout.links.Link;
/**
@@ -253,7 +252,7 @@ public class PropertyLayoutData
this.repainting = repainting;
}
- private List<ActionLayoutData> actions = Lists.newArrayList();
+ private List<ActionLayoutData> actions = _Lists.newArrayList();
// no wrapper
@XmlElement(name = "action", required = false)
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/grid/GridAbstract.java b/core/applib/src/main/java/org/apache/isis/applib/layout/grid/GridAbstract.java
index d66c8f1..77f529c 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/grid/GridAbstract.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/grid/GridAbstract.java
@@ -23,10 +23,9 @@ import java.util.List;
import javax.xml.bind.annotation.XmlTransient;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-
import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.applib.internal.collections._Lists;
+import org.apache.isis.applib.internal.collections._Maps;
import org.apache.isis.applib.layout.component.ActionLayoutData;
import org.apache.isis.applib.layout.component.ActionLayoutDataOwner;
import org.apache.isis.applib.layout.component.CollectionLayoutData;
@@ -102,7 +101,7 @@ public abstract class GridAbstract implements Grid {
if(actionLayoutDatas == null) {
return;
}
- for (final ActionLayoutData actionLayoutData : Lists.newArrayList(actionLayoutDatas)) {
+ for (final ActionLayoutData actionLayoutData : _Lists.newArrayList(actionLayoutDatas)) {
actionLayoutData.setOwner(actionLayoutDataOwner);
visitor.visit(actionLayoutData);
}
@@ -114,12 +113,12 @@ public abstract class GridAbstract implements Grid {
*/
protected void traverseFieldSets(final FieldSetOwner fieldSetOwner, final GridAbstract.Visitor visitor) {
final List<FieldSet> fieldSets = fieldSetOwner.getFieldSets();
- for (FieldSet fieldSet : Lists.newArrayList(fieldSets)) {
+ for (FieldSet fieldSet : _Lists.newArrayList(fieldSets)) {
fieldSet.setOwner(fieldSetOwner);
visitor.visit(fieldSet);
traverseActions(fieldSet, visitor);
final List<PropertyLayoutData> properties = fieldSet.getProperties();
- for (final PropertyLayoutData property : Lists.newArrayList(properties)) {
+ for (final PropertyLayoutData property : _Lists.newArrayList(properties)) {
property.setOwner(fieldSet);
visitor.visit(property);
traverseActions(property, visitor);
@@ -134,7 +133,7 @@ public abstract class GridAbstract implements Grid {
protected void traverseCollections(
final CollectionLayoutDataOwner owner, final GridAbstract.Visitor visitor) {
final List<CollectionLayoutData> collections = owner.getCollections();
- for (CollectionLayoutData collection : Lists.newArrayList(collections)) {
+ for (CollectionLayoutData collection : _Lists.newArrayList(collections)) {
collection.setOwner(owner);
visitor.visit(collection);
traverseActions(collection, visitor);
@@ -145,7 +144,7 @@ public abstract class GridAbstract implements Grid {
@Programmatic
@XmlTransient
public LinkedHashMap<String, PropertyLayoutData> getAllPropertiesById() {
- final LinkedHashMap<String, PropertyLayoutData> propertiesById = Maps.newLinkedHashMap();
+ final LinkedHashMap<String, PropertyLayoutData> propertiesById = _Maps.newLinkedHashMap();
visit(new BS3Grid.VisitorAdapter() {
public void visit(final PropertyLayoutData propertyLayoutData) {
propertiesById.put(propertyLayoutData.getId(), propertyLayoutData);
@@ -158,7 +157,7 @@ public abstract class GridAbstract implements Grid {
@Programmatic
@XmlTransient
public LinkedHashMap<String, CollectionLayoutData> getAllCollectionsById() {
- final LinkedHashMap<String, CollectionLayoutData> collectionsById = Maps.newLinkedHashMap();
+ final LinkedHashMap<String, CollectionLayoutData> collectionsById = _Maps.newLinkedHashMap();
visit(new BS3Grid.VisitorAdapter() {
@Override
@@ -173,7 +172,7 @@ public abstract class GridAbstract implements Grid {
@Programmatic
@XmlTransient
public LinkedHashMap<String, ActionLayoutData> getAllActionsById() {
- final LinkedHashMap<String, ActionLayoutData> actionsById = Maps.newLinkedHashMap();
+ final LinkedHashMap<String, ActionLayoutData> actionsById = _Maps.newLinkedHashMap();
visit(new BS3Grid.VisitorAdapter() {
@Override
@@ -188,7 +187,7 @@ public abstract class GridAbstract implements Grid {
@Programmatic
@XmlTransient
public LinkedHashMap<String, FieldSet> getAllFieldSetsByName() {
- final LinkedHashMap<String, FieldSet> fieldSetsByName = Maps.newLinkedHashMap();
+ final LinkedHashMap<String, FieldSet> fieldSetsByName = _Maps.newLinkedHashMap();
visit(new BS3Grid.VisitorAdapter() {
@Override
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Col.java b/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Col.java
index 12d9fa0..5531dc7 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Col.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Col.java
@@ -26,8 +26,7 @@ import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
-import com.google.common.collect.Lists;
-
+import org.apache.isis.applib.internal.collections._Lists;
import org.apache.isis.applib.layout.component.ActionLayoutData;
import org.apache.isis.applib.layout.component.ActionLayoutDataOwner;
import org.apache.isis.applib.layout.component.CollectionLayoutData;
@@ -156,7 +155,7 @@ public class BS3Col extends BS3RowContent
}
- private List<SizeSpan> sizeSpans = Lists.newArrayList();
+ private List<SizeSpan> sizeSpans = _Lists.newArrayList();
// no wrapper
@XmlElement(name = "sizeSpan", required = false)
@@ -170,7 +169,7 @@ public class BS3Col extends BS3RowContent
- private List<ActionLayoutData> actions = Lists.newArrayList();
+ private List<ActionLayoutData> actions = _Lists.newArrayList();
// no wrapper
@XmlElementRef(type = ActionLayoutData.class, name = "action", required = false)
@@ -184,7 +183,7 @@ public class BS3Col extends BS3RowContent
- private List<BS3Row> rows = Lists.newArrayList();
+ private List<BS3Row> rows = _Lists.newArrayList();
// no wrapper
@XmlElement(name = "row", required = false)
@@ -198,7 +197,7 @@ public class BS3Col extends BS3RowContent
- private List<BS3TabGroup> tabGroups = Lists.newArrayList();
+ private List<BS3TabGroup> tabGroups = _Lists.newArrayList();
// no wrapper
@XmlElement(name = "tabGroup", required = false)
@@ -212,7 +211,7 @@ public class BS3Col extends BS3RowContent
- private List<FieldSet> fieldSets = Lists.newArrayList();
+ private List<FieldSet> fieldSets = _Lists.newArrayList();
// no wrapper
@XmlElementRef(type=FieldSet.class, name = "fieldSet", required = false)
@@ -226,7 +225,7 @@ public class BS3Col extends BS3RowContent
- private List<CollectionLayoutData> collections = Lists.newArrayList();
+ private List<CollectionLayoutData> collections = _Lists.newArrayList();
// no wrapper
@XmlElementRef(type=CollectionLayoutData.class, name = "collection", required = false)
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Grid.java b/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Grid.java
index 785beab..897ef29 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Grid.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Grid.java
@@ -27,10 +27,9 @@ import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;
import javax.xml.bind.annotation.XmlType;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-
import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.applib.internal.collections._Lists;
+import org.apache.isis.applib.internal.collections._Maps;
import org.apache.isis.applib.layout.component.ActionLayoutData;
import org.apache.isis.applib.layout.component.CollectionLayoutData;
import org.apache.isis.applib.layout.component.DomainObjectLayoutData;
@@ -78,7 +77,7 @@ public class BS3Grid extends GridAbstract implements BS3Element, Dto, BS3RowOwne
- private List<BS3Row> rows = Lists.newArrayList();
+ private List<BS3Row> rows = _Lists.newArrayList();
// no wrapper
@XmlElement(name = "row", required = true)
@@ -92,7 +91,7 @@ public class BS3Grid extends GridAbstract implements BS3Element, Dto, BS3RowOwne
- private List<String> metadataErrors = Lists.newArrayList();
+ private List<String> metadataErrors = _Lists.newArrayList();
/**
* For diagnostics; populated by the framework if and only if a metadata error.
@@ -108,8 +107,8 @@ public class BS3Grid extends GridAbstract implements BS3Element, Dto, BS3RowOwne
- //TODO [ahuber] unused
- private BS3RowOwner owner;
+ @SuppressWarnings("unused")
+ private BS3RowOwner owner;
@@ -167,7 +166,7 @@ public class BS3Grid extends GridAbstract implements BS3Element, Dto, BS3RowOwne
protected void traverseRows(final BS3RowOwner rowOwner, final Grid.Visitor visitor) {
final BS3Grid.Visitor bs3Visitor = asBs3Visitor(visitor);
final List<BS3Row> rows = rowOwner.getRows();
- for (BS3Row bs3Row : Lists.newArrayList(rows)) {
+ for (BS3Row bs3Row : _Lists.newArrayList(rows)) {
bs3Row.setOwner(this);
bs3Visitor.preVisit(bs3Row);
bs3Visitor.visit(bs3Row);
@@ -179,7 +178,7 @@ public class BS3Grid extends GridAbstract implements BS3Element, Dto, BS3RowOwne
private void traverseCols(final Grid.Visitor visitor, final BS3Row bs3Row) {
final BS3Grid.Visitor bs3Visitor = asBs3Visitor(visitor);
final List<BS3RowContent> cols = bs3Row.getCols();
- for (BS3RowContent rowContent : Lists.newArrayList(cols)) {
+ for (BS3RowContent rowContent : _Lists.newArrayList(cols)) {
rowContent.setOwner(bs3Row);
if(rowContent instanceof BS3Col) {
final BS3Col bs3Col = (BS3Col) rowContent;
@@ -216,7 +215,7 @@ public class BS3Grid extends GridAbstract implements BS3Element, Dto, BS3RowOwne
final Grid.Visitor visitor) {
final BS3Grid.Visitor bs3Visitor = asBs3Visitor(visitor);
final List<BS3TabGroup> tabGroups = bs3TabGroupOwner.getTabGroups();
- for (BS3TabGroup bs3TabGroup : Lists.newArrayList(tabGroups)) {
+ for (BS3TabGroup bs3TabGroup : _Lists.newArrayList(tabGroups)) {
bs3TabGroup.setOwner(bs3TabGroupOwner);
bs3Visitor.preVisit(bs3TabGroup);
bs3Visitor.visit(bs3TabGroup);
@@ -230,7 +229,7 @@ public class BS3Grid extends GridAbstract implements BS3Element, Dto, BS3RowOwne
final Grid.Visitor visitor) {
final BS3Grid.Visitor bs3Visitor = asBs3Visitor(visitor);
final List<BS3Tab> tabs = bs3TabOwner.getTabs();
- for (BS3Tab tab : Lists.newArrayList(tabs)) {
+ for (BS3Tab tab : _Lists.newArrayList(tabs)) {
tab.setOwner(bs3TabOwner);
bs3Visitor.preVisit(tab);
bs3Visitor.visit(tab);
@@ -267,7 +266,7 @@ public class BS3Grid extends GridAbstract implements BS3Element, Dto, BS3RowOwne
@Programmatic
@XmlTransient
public LinkedHashMap<String, BS3Tab> getAllTabsByName() {
- final LinkedHashMap<String, BS3Tab> tabsByName = Maps.newLinkedHashMap();
+ final LinkedHashMap<String, BS3Tab> tabsByName = _Maps.newLinkedHashMap();
visit(new BS3Grid.VisitorAdapter() {
@Override
@@ -282,7 +281,7 @@ public class BS3Grid extends GridAbstract implements BS3Element, Dto, BS3RowOwne
@Programmatic
@XmlTransient
public LinkedHashMap<String, HasCssId> getAllCssId() {
- final LinkedHashMap<String, HasCssId> divsByCssId = Maps.newLinkedHashMap();
+ final LinkedHashMap<String, HasCssId> divsByCssId = _Maps.newLinkedHashMap();
visit(new BS3Grid.VisitorAdapter() {
@Override
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Row.java b/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Row.java
index 5fd3b56..ca61432 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Row.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Row.java
@@ -27,9 +27,8 @@ import javax.xml.bind.annotation.XmlElementRefs;
import javax.xml.bind.annotation.XmlTransient;
import javax.xml.bind.annotation.XmlType;
-import com.google.common.collect.Lists;
-
import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.applib.internal.collections._Lists;
/**
* Contains a row of content, either on the top-level {@link BS3Grid page} or at any other lower-level element that can
@@ -67,7 +66,7 @@ public class BS3Row extends BS3ElementAbstract implements HasCssId, BS3RowConten
- private List<BS3RowContent> cols = Lists.newArrayList();
+ private List<BS3RowContent> cols = _Lists.newArrayList();
// no wrapper
@XmlElementRefs({
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Tab.java b/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Tab.java
index a724a2d..827726b 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Tab.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Tab.java
@@ -27,9 +27,8 @@ import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlTransient;
import javax.xml.bind.annotation.XmlType;
-import com.google.common.collect.Lists;
-
import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.applib.internal.collections._Lists;
import org.apache.isis.applib.layout.component.ActionLayoutData;
import org.apache.isis.applib.layout.component.CollectionLayoutData;
import org.apache.isis.applib.layout.component.DomainObjectLayoutData;
@@ -64,7 +63,7 @@ public class BS3Tab extends BS3ElementAbstract implements BS3RowOwner {
}
- private List<BS3Row> rows = Lists.newArrayList();
+ private List<BS3Row> rows = _Lists.newArrayList();
// no wrapper
@XmlElement(name = "row", required = true)
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3TabGroup.java b/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3TabGroup.java
index 4ad42af..e85332b 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3TabGroup.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3TabGroup.java
@@ -25,9 +25,8 @@ import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlTransient;
import javax.xml.bind.annotation.XmlType;
-import com.google.common.collect.Lists;
-
import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.applib.internal.collections._Lists;
/**
* Represents a tab group containing one or more {@link BS3Tab tab}s.
@@ -80,7 +79,7 @@ public class BS3TabGroup extends BS3ElementAbstract implements BS3TabOwner {
- private List<BS3Tab> tabs = Lists.newArrayList();
+ private List<BS3Tab> tabs = _Lists.newArrayList();
// no wrapper; required=false because may be auto-generated
@XmlElement(name = "tab", required = false)
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/MenuBarsAbstract.java b/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/MenuBarsAbstract.java
index a2ff209..5c45fbe 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/MenuBarsAbstract.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/MenuBarsAbstract.java
@@ -23,9 +23,8 @@ import java.util.LinkedHashMap;
import javax.xml.bind.annotation.XmlTransient;
-import com.google.common.collect.Maps;
-
import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.applib.internal.collections._Maps;
import org.apache.isis.applib.layout.component.ServiceActionLayoutData;
@SuppressWarnings("serial") // serial versionId to be provided by concrete class
@@ -48,7 +47,7 @@ public abstract class MenuBarsAbstract implements MenuBars, Serializable {
@Programmatic
@XmlTransient
public LinkedHashMap<String, ServiceActionLayoutData> getAllServiceActionsByObjectTypeAndId() {
- final LinkedHashMap<String, ServiceActionLayoutData> serviceActionsByObjectTypeAndId = Maps.newLinkedHashMap();
+ final LinkedHashMap<String, ServiceActionLayoutData> serviceActionsByObjectTypeAndId = _Maps.newLinkedHashMap();
visit(new MenuBars.Visitor() {
public void visit(final ServiceActionLayoutData serviceActionLayoutData) {
serviceActionsByObjectTypeAndId.put(serviceActionLayoutData.getObjectTypeAndId(), serviceActionLayoutData);
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3Menu.java b/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3Menu.java
index bb32527..32ce084 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3Menu.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3Menu.java
@@ -25,9 +25,8 @@ import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-import com.google.common.collect.Lists;
-
import org.apache.isis.applib.annotation.DomainServiceLayout;
+import org.apache.isis.applib.internal.collections._Lists;
import org.apache.isis.applib.layout.menubars.Menu;
/**
@@ -79,7 +78,7 @@ public class BS3Menu implements Menu, Serializable {
- private List<BS3MenuSection> sections = Lists.newArrayList();
+ private List<BS3MenuSection> sections = _Lists.newArrayList();
// no wrapper
@XmlElement(name = "section", required = true)
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3MenuBar.java b/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3MenuBar.java
index 927f7a8..229946b 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3MenuBar.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3MenuBar.java
@@ -24,9 +24,8 @@ import java.util.List;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-import com.google.common.collect.Lists;
-
import org.apache.isis.applib.annotation.DomainServiceLayout;
+import org.apache.isis.applib.internal.collections._Lists;
import org.apache.isis.applib.layout.menubars.MenuBar;
/**
@@ -46,7 +45,7 @@ public class BS3MenuBar implements MenuBar, Serializable {
}
- private List<BS3Menu> menus = Lists.newArrayList();
+ private List<BS3Menu> menus = _Lists.newArrayList();
// no wrapper
@XmlElement(name = "menu", required = true)
diff --git a/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3MenuSection.java b/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3MenuSection.java
index 399da0b..5fe83e5 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3MenuSection.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3MenuSection.java
@@ -24,8 +24,7 @@ import java.util.List;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-import com.google.common.collect.Lists;
-
+import org.apache.isis.applib.internal.collections._Lists;
import org.apache.isis.applib.layout.component.ServiceActionLayoutData;
import org.apache.isis.applib.layout.component.ServiceActionLayoutDataOwner;
import org.apache.isis.applib.layout.menubars.MenuSection;
@@ -47,7 +46,7 @@ public class BS3MenuSection implements MenuSection, Serializable, ServiceActionL
}
- private List<ServiceActionLayoutData> serviceActions = Lists.newArrayList();
+ private List<ServiceActionLayoutData> serviceActions = _Lists.newArrayList();
// no wrapper
@Override
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/bookmark/Bookmark.java b/core/applib/src/main/java/org/apache/isis/applib/services/bookmark/Bookmark.java
index 0afa0b8..b8ed3d3 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/bookmark/Bookmark.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/bookmark/Bookmark.java
@@ -21,9 +21,8 @@ package org.apache.isis.applib.services.bookmark;
import java.io.Serializable;
import java.util.Iterator;
-import com.google.common.base.Splitter;
-
import org.apache.isis.applib.annotation.Value;
+import org.apache.isis.applib.internal.base._Strings;
import org.apache.isis.applib.internal.exceptions._Exceptions;
import org.apache.isis.schema.common.v1.BookmarkObjectState;
import org.apache.isis.schema.common.v1.OidDto;
@@ -39,7 +38,7 @@ public class Bookmark implements Serializable {
private static final long serialVersionUID = 1L;
- protected static final char SEPARATOR = ':';
+ protected static final String SEPARATOR = ":";
public static Bookmark create(final String str) {
return str != null? new Bookmark(str): null;
@@ -138,7 +137,7 @@ public class Bookmark implements Serializable {
* Round-trip with {@link #toString()} representation.
*/
public Bookmark(final String toString) {
- this(Splitter.on(SEPARATOR).split(toString).iterator());
+ this(_Strings.splitThenStream(toString, SEPARATOR).iterator());
}
private Bookmark(final Iterator<String> split) {
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/command/CommandDefault.java b/core/applib/src/main/java/org/apache/isis/applib/services/command/CommandDefault.java
index 33f104f..9404f02 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/command/CommandDefault.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/command/CommandDefault.java
@@ -24,12 +24,11 @@ import java.util.Map;
import java.util.UUID;
import java.util.concurrent.atomic.AtomicInteger;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-
import org.apache.isis.applib.annotation.CommandExecuteIn;
import org.apache.isis.applib.annotation.CommandPersistence;
import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.applib.internal.collections._Lists;
+import org.apache.isis.applib.internal.collections._Maps;
import org.apache.isis.applib.services.bookmark.Bookmark;
import org.apache.isis.applib.services.eventbus.ActionDomainEvent;
import org.apache.isis.applib.util.ObjectContracts;
@@ -188,7 +187,7 @@ public class CommandDefault implements Command {
//region > actionDomainEvent (peek/pop/flush)
- private final LinkedList<ActionDomainEvent<?>> actionDomainEvents = Lists.newLinkedList();
+ private final LinkedList<ActionDomainEvent<?>> actionDomainEvents = _Lists.newLinkedList();
@Override
public ActionDomainEvent<?> peekActionDomainEvent() {
@@ -211,7 +210,7 @@ public class CommandDefault implements Command {
@Programmatic
public List<ActionDomainEvent<?>> flushActionDomainEvents() {
final List<ActionDomainEvent<?>> events =
- Collections.unmodifiableList(Lists.newArrayList(actionDomainEvents));
+ Collections.unmodifiableList(_Lists.newArrayList(actionDomainEvents));
actionDomainEvents.clear();
return events;
}
@@ -353,7 +352,7 @@ public class CommandDefault implements Command {
//region > next
- private final Map<String, AtomicInteger> sequenceByName = Maps.newHashMap();
+ private final Map<String, AtomicInteger> sequenceByName = _Maps.newHashMap();
@Deprecated
@Override
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/config/ConfigurationProperty.java b/core/applib/src/main/java/org/apache/isis/applib/services/config/ConfigurationProperty.java
index 4248cc3..20ccb19 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/config/ConfigurationProperty.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/config/ConfigurationProperty.java
@@ -19,21 +19,19 @@
package org.apache.isis.applib.services.config;
-import java.util.Collections;
import java.util.List;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
-import com.google.common.base.Strings;
-import com.google.common.collect.ComparisonChain;
-import com.google.common.collect.Lists;
-
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.Title;
+import org.apache.isis.applib.internal.base._NullSafe;
+import org.apache.isis.applib.internal.base._Strings;
+import org.apache.isis.applib.internal.collections._Lists;
@XmlRootElement(name = "configurationProperty")
@XmlType(
@@ -84,20 +82,19 @@ public class ConfigurationProperty implements Comparable<ConfigurationProperty>
@Override
public int compareTo(final ConfigurationProperty other) {
- return ComparisonChain.start()
- .compare(getKey(), other.getKey())
- .result();
+ return _NullSafe.compareNullsLast(getKey(), other.getKey());
}
public static class Util {
private static final List<String> PROTECTED_KEYS =
- Collections.unmodifiableList(Lists.newArrayList("password", "apiKey", "authToken"));
+ _Lists.unmodifiable("password", "apiKey", "authToken");
+
private Util(){}
static boolean isProtected(final String key) {
- if(Strings.isNullOrEmpty(key)) {
+ if(_Strings.isNullOrEmpty(key)) {
return false;
}
final String toLowerCase = key.toLowerCase();
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/conmap/ContentMappingService.java b/core/applib/src/main/java/org/apache/isis/applib/services/conmap/ContentMappingService.java
index 8de4d66..19c960c 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/conmap/ContentMappingService.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/conmap/ContentMappingService.java
@@ -20,12 +20,12 @@ package org.apache.isis.applib.services.conmap;
import java.util.List;
import java.util.Map;
+import java.util.stream.Collectors;
import javax.ws.rs.core.MediaType;
-import com.google.common.base.Joiner;
-
import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.applib.internal.base._NullSafe;
public interface ContentMappingService {
@@ -49,7 +49,11 @@ public interface ContentMappingService {
}
}
throw new IllegalArgumentException(
- "Could not locate x-ro-domain-type parameter in any of the provided media types; got: " + Joiner.on(", ").join(acceptableMediaTypes));
+ "Could not locate x-ro-domain-type parameter in any of the provided media types; got: " +
+ _NullSafe.stream(acceptableMediaTypes)
+ .filter(_NullSafe::isPresent)
+ .map(Object::toString)
+ .collect(Collectors.joining(", ")) );
}
public static boolean isSupported(
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/eventbus/AbstractDomainEvent.java b/core/applib/src/main/java/org/apache/isis/applib/services/eventbus/AbstractDomainEvent.java
index 024721a..8632376 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/eventbus/AbstractDomainEvent.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/eventbus/AbstractDomainEvent.java
@@ -21,12 +21,9 @@ package org.apache.isis.applib.services.eventbus;
import java.util.EventObject;
import java.util.Map;
-import javax.ws.rs.HEAD;
-
-import com.google.common.collect.Maps;
-
import org.apache.isis.applib.Identifier;
import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.applib.internal.collections._Maps;
import org.apache.isis.applib.internal.exceptions._Exceptions;
import org.apache.isis.applib.services.i18n.TranslatableString;
import org.apache.isis.applib.util.ObjectContracts;
@@ -307,7 +304,7 @@ public abstract class AbstractDomainEvent<S> extends java.util.EventObject {
/**
* Provides a mechanism to pass data to the next {@link #getEventPhase() phase}.
*/
- private final Map<Object, Object> userData = Maps.newHashMap();
+ private final Map<Object, Object> userData = _Maps.newHashMap();
/**
* Obtain user-data, as set by a previous {@link #getEventPhase() phase}.
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/eventbus/AbstractUiEvent.java b/core/applib/src/main/java/org/apache/isis/applib/services/eventbus/AbstractUiEvent.java
index c0f74af..9528be8 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/eventbus/AbstractUiEvent.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/eventbus/AbstractUiEvent.java
@@ -21,8 +21,7 @@ package org.apache.isis.applib.services.eventbus;
import java.util.EventObject;
import java.util.Map;
-import com.google.common.collect.Maps;
-
+import org.apache.isis.applib.internal.collections._Maps;
import org.apache.isis.applib.util.ObjectContracts;
public abstract class AbstractUiEvent<S> extends EventObject {
@@ -71,7 +70,7 @@ public abstract class AbstractUiEvent<S> extends EventObject {
/**
* Provides a mechanism to pass data around.
*/
- private final Map<Object, Object> userData = Maps.newHashMap();
+ private final Map<Object, Object> userData = _Maps.newHashMap();
/**
* Obtain user-data, as set by any other subscribers.
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/eventbus/EventBusService.java b/core/applib/src/main/java/org/apache/isis/applib/services/eventbus/EventBusService.java
index 3b83cbb..21d350d 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/eventbus/EventBusService.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/eventbus/EventBusService.java
@@ -23,9 +23,8 @@ import java.util.Set;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
-import com.google.common.collect.Sets;
-
import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.applib.internal.collections._Sets;
/**
* A service implementing an Event Bus, allowing arbitrary events to be posted and
@@ -184,14 +183,14 @@ public abstract class EventBusService {
//region > subscribers
- private final Set<Object> subscribers = Sets.newConcurrentHashSet();
+ private final Set<Object> subscribers = _Sets.newConcurrentHashSet();
/**
* Returns an immutable snapshot of the current subscribers.
*/
@Programmatic
public Set<Object> getSubscribers() {
- return Collections.unmodifiableSet(Sets.newLinkedHashSet(subscribers));
+ return Collections.unmodifiableSet(_Sets.newLinkedHashSet(subscribers));
}
//endregion
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/ExceptionRecognizerAbstract.java b/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/ExceptionRecognizerAbstract.java
index 4965b49..0962c7f 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/ExceptionRecognizerAbstract.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/ExceptionRecognizerAbstract.java
@@ -18,7 +18,6 @@
*/
package org.apache.isis.applib.services.exceprecog;
-import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.function.Function;
@@ -28,13 +27,13 @@ import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.applib.internal.exceptions._Exceptions;
import org.apache.isis.applib.services.i18n.TranslatableString;
import org.apache.isis.applib.services.i18n.TranslationService;
+import org.junit.internal.Throwables;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.common.base.Throwables;
-
/**
* Abstract implementation of {@link ExceptionRecognizer} that looks
* exceptions meeting the {@link Predicate} supplied in the constructor
@@ -131,27 +130,29 @@ public abstract class ExceptionRecognizerAbstract implements ExceptionRecognizer
@Programmatic
public String recognize(Throwable ex) {
- List<Throwable> causalChain = Throwables.getCausalChain(ex);
- for (Throwable throwable : causalChain) {
- if(predicate.test(throwable)) {
- if(logRecognizedExceptions) {
- LOG.info("Recognized exception, stacktrace : ", throwable);
- }
- if(ex instanceof TranslatableException) {
- final TranslatableException translatableException = (TranslatableException) ex;
- final TranslatableString translatableMessage = translatableException.getTranslatableMessage();
- final String translationContext = translatableException.getTranslationContext();
- if(translatableMessage != null && translationContext != null) {
- return translatableMessage.translate(translationService, translationContext);
- }
+
+ return _Exceptions.streamCausalChain(ex)
+ .filter(predicate)
+ .map(throwable->{
+ if(logRecognizedExceptions) {
+ LOG.info("Recognized exception, stacktrace : ", throwable);
+ }
+ if(ex instanceof TranslatableException) {
+ final TranslatableException translatableException = (TranslatableException) ex;
+ final TranslatableString translatableMessage = translatableException.getTranslatableMessage();
+ final String translationContext = translatableException.getTranslationContext();
+ if(translatableMessage != null && translationContext != null) {
+ return translatableMessage.translate(translationService, translationContext);
}
- final Throwable rootCause = Throwables.getRootCause(throwable);
- final String rootCauseMessage = rootCause.getMessage();
- final String parsedMessage = messageParser.apply(rootCauseMessage);
- return parsedMessage;
}
- }
- return null;
+ final Throwable rootCause = _Exceptions.getRootCause(throwable);
+ final String rootCauseMessage = rootCause.getMessage();
+ final String parsedMessage = messageParser.apply(rootCauseMessage);
+ return parsedMessage;
+ })
+ .findFirst()
+ .orElse(null);
+
}
@Programmatic
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/ExceptionRecognizerComposite.java b/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/ExceptionRecognizerComposite.java
index 3d4b4db..af8469c 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/ExceptionRecognizerComposite.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/ExceptionRecognizerComposite.java
@@ -25,9 +25,8 @@ import java.util.Map;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
-import com.google.common.collect.Lists;
-
import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.applib.internal.collections._Lists;
import org.apache.isis.applib.services.i18n.TranslationService;
import org.apache.isis.applib.services.registry.ServiceRegistry;
@@ -46,7 +45,7 @@ import org.apache.isis.applib.services.registry.ServiceRegistry;
*/
public class ExceptionRecognizerComposite implements ExceptionRecognizer {
- private final List<ExceptionRecognizer> exceptionRecognizers = Lists.newArrayList();
+ private final List<ExceptionRecognizer> exceptionRecognizers = _Lists.newArrayList();
public ExceptionRecognizerComposite(final ExceptionRecognizer... exceptionRecognizers) {
this(Arrays.asList(exceptionRecognizers));
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/ExceptionRecognizerForType.java b/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/ExceptionRecognizerForType.java
index 2537a55..86c2360 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/ExceptionRecognizerForType.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/ExceptionRecognizerForType.java
@@ -24,7 +24,8 @@ import java.util.function.Predicate;
import javax.jdo.JDODataStoreException;
-import com.google.common.base.Throwables;
+import org.apache.isis.applib.internal.exceptions._Exceptions;
+import org.junit.internal.Throwables;
/**
* An specific implementation of {@link ExceptionRecognizer} that looks for an
@@ -60,7 +61,7 @@ public class ExceptionRecognizerForType extends ExceptionRecognizerAbstract {
*/
protected final static Predicate<Throwable> excluding(final String... messages) {
return input->{
- final List<Throwable> causalChain = Throwables.getCausalChain(input);
+ final List<Throwable> causalChain = _Exceptions.getCausalChain(input);
for (String message : messages) {
for (Throwable throwable : causalChain) {
final String throwableMessage = throwable.getMessage();
@@ -94,7 +95,7 @@ public class ExceptionRecognizerForType extends ExceptionRecognizerAbstract {
*/
protected final static Predicate<Throwable> including(final String... messages) {
return input->{
- final List<Throwable> causalChain = Throwables.getCausalChain(input);
+ final List<Throwable> causalChain = _Exceptions.getCausalChain(input);
for (String message : messages) {
for (Throwable throwable : causalChain) {
final String throwableMessage = throwable.getMessage();
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/jdo/ExceptionRecognizerCompositeForJdoObjectStore.java b/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/jdo/ExceptionRecognizerCompositeForJdoObjectStore.java
index 7536de5..46612ce 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/jdo/ExceptionRecognizerCompositeForJdoObjectStore.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/jdo/ExceptionRecognizerCompositeForJdoObjectStore.java
@@ -22,11 +22,10 @@ import java.util.Map;
import javax.annotation.PostConstruct;
-import com.google.common.base.Strings;
-
import org.apache.isis.applib.annotation.DomainService;
import org.apache.isis.applib.annotation.NatureOfService;
import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.applib.internal.base._Strings;
import org.apache.isis.applib.services.exceprecog.ExceptionRecognizer;
import org.apache.isis.applib.services.exceprecog.ExceptionRecognizerComposite;
@@ -64,7 +63,7 @@ public class ExceptionRecognizerCompositeForJdoObjectStore extends ExceptionReco
private static boolean getElseFalse(final Map<String, String> properties, final String key) {
final String value = properties.get(key);
- return !Strings.isNullOrEmpty(value) && Boolean.parseBoolean(value);
+ return !_Strings.isNullOrEmpty(value) && Boolean.parseBoolean(value);
}
protected void addChildren() {
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/hsqldb/HsqlDbManagerMenu.java b/core/applib/src/main/java/org/apache/isis/applib/services/hsqldb/HsqlDbManagerMenu.java
index bc0586f..a7f5fc3 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/hsqldb/HsqlDbManagerMenu.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/hsqldb/HsqlDbManagerMenu.java
@@ -22,10 +22,6 @@ import java.util.Map;
import javax.annotation.PostConstruct;
-import com.google.common.base.Strings;
-
-import org.hsqldb.util.DatabaseManagerSwing;
-
import org.apache.isis.applib.IsisApplibModule;
import org.apache.isis.applib.annotation.Action;
import org.apache.isis.applib.annotation.ActionLayout;
@@ -34,7 +30,9 @@ import org.apache.isis.applib.annotation.DomainServiceLayout;
import org.apache.isis.applib.annotation.NatureOfService;
import org.apache.isis.applib.annotation.RestrictTo;
import org.apache.isis.applib.annotation.SemanticsOf;
+import org.apache.isis.applib.internal.base._Strings;
import org.apache.isis.applib.internal.context._Context;
+import org.hsqldb.util.DatabaseManagerSwing;
@DomainService(
nature = NatureOfService.VIEW_MENU_ONLY,
@@ -78,7 +76,7 @@ public class HsqlDbManagerMenu {
} catch (ClassNotFoundException e) {
return true;
}
- return Strings.isNullOrEmpty(url) || !url.contains("hsqldb:mem");
+ return _Strings.isNullOrEmpty(url) || !url.contains("hsqldb:mem");
}
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/i18n/TranslatableString.java b/core/applib/src/main/java/org/apache/isis/applib/services/i18n/TranslatableString.java
index 8cf6762..f659b7f 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/i18n/TranslatableString.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/i18n/TranslatableString.java
@@ -23,9 +23,10 @@ import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import com.google.common.collect.Lists;
+
import org.apache.isis.applib.annotation.Programmatic;
import org.apache.isis.applib.annotation.Value;
+import org.apache.isis.applib.internal.collections._Lists;
@Value
public final class TranslatableString {
@@ -214,7 +215,7 @@ public final class TranslatableString {
static String format(String format, Map<String, Object> values)
{
StringBuilder formatter = new StringBuilder(format);
- List<Object> valueList = Lists.newArrayList();
+ List<Object> valueList = _Lists.newArrayList();
Matcher matcher = Pattern.compile("\\{(\\w+)}").matcher(format);
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/iactn/Interaction.java b/core/applib/src/main/java/org/apache/isis/applib/services/iactn/Interaction.java
index f5c082c..32ae4fb 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/iactn/Interaction.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/iactn/Interaction.java
@@ -27,11 +27,10 @@ import java.util.UUID;
import java.util.concurrent.Callable;
import java.util.concurrent.atomic.AtomicInteger;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-
import org.apache.isis.applib.annotation.Programmatic;
import org.apache.isis.applib.annotation.Value;
+import org.apache.isis.applib.internal.collections._Lists;
+import org.apache.isis.applib.internal.collections._Maps;
import org.apache.isis.applib.services.HasTransactionId;
import org.apache.isis.applib.services.clock.ClockService;
import org.apache.isis.applib.services.command.Command;
@@ -100,7 +99,7 @@ public class Interaction implements HasTransactionId {
//region > push/pop/current/get/clear Execution(s)
- private final List<Execution<?,?>> executionGraphs = Lists.newArrayList();
+ private final List<Execution<?,?>> executionGraphs = _Lists.newArrayList();
private Execution<?,?> currentExecution;
private Execution<?,?> priorExecution;
@@ -307,7 +306,7 @@ public class Interaction implements HasTransactionId {
}
- private final Map<String, AtomicInteger> maxBySequence = Maps.newHashMap();
+ private final Map<String, AtomicInteger> maxBySequence = _Maps.newHashMap();
/**
* Generates numbers in a named sequence. The name of the sequence can be arbitrary, though note that the
@@ -405,7 +404,7 @@ public class Interaction implements HasTransactionId {
//region > parent, children
- private final List<Execution<?,?>> children = Lists.newArrayList();
+ private final List<Execution<?,?>> children = _Lists.newArrayList();
private Execution<?,?> parent;
/**
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/jaxb/CatalogingSchemaOutputResolver.java b/core/applib/src/main/java/org/apache/isis/applib/services/jaxb/CatalogingSchemaOutputResolver.java
index 0408bab..3616b7e 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/jaxb/CatalogingSchemaOutputResolver.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/jaxb/CatalogingSchemaOutputResolver.java
@@ -32,9 +32,8 @@ import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-
+import org.apache.isis.applib.internal.collections._Lists;
+import org.apache.isis.applib.internal.collections._Maps;
import org.w3c.dom.Attr;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
@@ -52,7 +51,7 @@ class CatalogingSchemaOutputResolver extends SchemaOutputResolver {
private static final String SCHEMA_LOCATION_CORRECT = "http://isis.apache.org/schema/common/common.xsd";
private final JaxbService.IsisSchemas isisSchemas;
- private final List<String> namespaceUris = Lists.newArrayList();
+ private final List<String> namespaceUris = _Lists.newArrayList();
public CatalogingSchemaOutputResolver(final JaxbService.IsisSchemas isisSchemas) {
this.isisSchemas = isisSchemas;
@@ -62,7 +61,7 @@ class CatalogingSchemaOutputResolver extends SchemaOutputResolver {
return namespaceUris;
}
- private Map<String, StreamResultWithWriter> schemaResultByNamespaceUri = Maps.newLinkedHashMap();
+ private Map<String, StreamResultWithWriter> schemaResultByNamespaceUri = _Maps.newLinkedHashMap();
public String getSchemaTextFor(final String namespaceUri) {
final StreamResultWithWriter streamResult = schemaResultByNamespaceUri.get(namespaceUri);
@@ -140,7 +139,7 @@ class CatalogingSchemaOutputResolver extends SchemaOutputResolver {
}
public Map<String, String> asMap() {
- final Map<String,String> map = Maps.newLinkedHashMap();
+ final Map<String,String> map = _Maps.newLinkedHashMap();
final List<String> namespaceUris = getNamespaceUris();
for (String namespaceUri : namespaceUris) {
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/jaxb/JaxbService.java b/core/applib/src/main/java/org/apache/isis/applib/services/jaxb/JaxbService.java
index 18fe039..5fb3432 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/jaxb/JaxbService.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/jaxb/JaxbService.java
@@ -29,14 +29,12 @@ import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
-import com.google.common.collect.MapMaker;
-import com.google.common.collect.Maps;
-
import org.apache.isis.applib.ApplicationException;
import org.apache.isis.applib.NonRecoverableException;
import org.apache.isis.applib.annotation.Programmatic;
import org.apache.isis.applib.internal.base._Casts;
import org.apache.isis.applib.internal.base._NullSafe;
+import org.apache.isis.applib.internal.collections._Maps;
import org.apache.isis.applib.services.dto.Dto_downloadXsd;
import org.apache.isis.applib.util.JaxbUtil;
@@ -104,7 +102,7 @@ public interface JaxbService {
@Override
public Object fromXml(final JAXBContext jaxbContext, final String xml) {
- return fromXml(jaxbContext, xml, Maps.newHashMap());
+ return fromXml(jaxbContext, xml, _Maps.newHashMap());
}
@Override
public Object fromXml(final JAXBContext jaxbContext, final String xml, final Map<String, Object> unmarshallerProperties) {
@@ -128,7 +126,7 @@ public interface JaxbService {
@Override
public <T> T fromXml(final Class<T> domainClass, final String xml) {
- return fromXml(domainClass, xml, Maps.newHashMap());
+ return fromXml(domainClass, xml, _Maps.newHashMap());
}
@Override
public <T> T fromXml(final Class<T> domainClass, final String xml, final Map<String, Object> unmarshallerProperties) {
@@ -146,7 +144,7 @@ public interface JaxbService {
@Override
public String toXml(final Object domainObject) {
- return toXml(domainObject, Maps.newHashMap());
+ return toXml(domainObject, _Maps.newHashMap());
}
@Override
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/metamodel/MetaModelServicesMenu.java b/core/applib/src/main/java/org/apache/isis/applib/services/metamodel/MetaModelServicesMenu.java
index 3a0e242..cfa8604 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/metamodel/MetaModelServicesMenu.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/metamodel/MetaModelServicesMenu.java
@@ -19,13 +19,12 @@
package org.apache.isis.applib.services.metamodel;
import java.util.List;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
import javax.activation.MimeType;
import javax.activation.MimeTypeParseException;
-import com.google.common.base.Joiner;
-import com.google.common.collect.Lists;
-
import org.apache.isis.applib.IsisApplibModule;
import org.apache.isis.applib.annotation.Action;
import org.apache.isis.applib.annotation.ActionLayout;
@@ -36,6 +35,7 @@ import org.apache.isis.applib.annotation.NatureOfService;
import org.apache.isis.applib.annotation.ParameterLayout;
import org.apache.isis.applib.annotation.RestrictTo;
import org.apache.isis.applib.annotation.SemanticsOf;
+import org.apache.isis.applib.internal.collections._Lists;
import org.apache.isis.applib.value.Clob;
@DomainService(
@@ -105,7 +105,7 @@ public class MetaModelServicesMenu {
}
private static List<String> asList(final List<DomainMember> rows) {
- final List<String> list = Lists.newArrayList();
+ final List<String> list = _Lists.newArrayList();
list.add(header());
for (final DomainMember row : rows) {
list.add(asTextCsv(row));
@@ -120,7 +120,7 @@ public class MetaModelServicesMenu {
}
private static String asTextCsv(final DomainMember row) {
- return Joiner.on(",").join(
+ return Stream.of(
row.getClassType(),
row.getPackageName(),
row.getClassName(),
@@ -136,7 +136,8 @@ public class MetaModelServicesMenu {
row.getChoices(),
row.getAutoComplete(),
row.getDefault(),
- row.getValidate());
+ row.getValidate())
+ .collect(Collectors.joining(","));
}
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/queryresultscache/QueryResultsCache.java b/core/applib/src/main/java/org/apache/isis/applib/services/queryresultscache/QueryResultsCache.java
index 3191db6..134555e 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/queryresultscache/QueryResultsCache.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/queryresultscache/QueryResultsCache.java
@@ -23,11 +23,6 @@ import java.util.concurrent.Callable;
import javax.enterprise.context.RequestScoped;
import javax.inject.Inject;
-import com.google.common.collect.Maps;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
import org.apache.isis.applib.AbstractSubscriber;
import org.apache.isis.applib.annotation.DomainService;
import org.apache.isis.applib.annotation.NatureOfService;
@@ -35,7 +30,10 @@ import org.apache.isis.applib.annotation.Programmatic;
import org.apache.isis.applib.fixturescripts.events.FixturesInstalledEvent;
import org.apache.isis.applib.fixturescripts.events.FixturesInstallingEvent;
import org.apache.isis.applib.internal.base._Casts;
+import org.apache.isis.applib.internal.collections._Maps;
import org.apache.isis.applib.services.WithTransactionScope;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* This service (API and implementation) provides a mechanism by which idempotent query results can be cached for the duration of an interaction.
@@ -139,7 +137,7 @@ public class QueryResultsCache implements WithTransactionScope {
// //////////////////////////////////////
- private final Map<Key, Value<?>> cache = Maps.newHashMap();
+ private final Map<Key, Value<?>> cache = _Maps.newHashMap();
@Programmatic
public <T> T execute(final Callable<T> callable, final Class<?> callingClass, final String methodName, final Object... keys) {
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/scratchpad/Scratchpad.java b/core/applib/src/main/java/org/apache/isis/applib/services/scratchpad/Scratchpad.java
index e030934..9f45dbe 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/scratchpad/Scratchpad.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/scratchpad/Scratchpad.java
@@ -19,11 +19,13 @@
package org.apache.isis.applib.services.scratchpad;
import java.util.Map;
+
import javax.enterprise.context.RequestScoped;
-import com.google.common.collect.Maps;
+
import org.apache.isis.applib.annotation.DomainService;
import org.apache.isis.applib.annotation.NatureOfService;
import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.applib.internal.collections._Maps;
/**
* This service (API and implementation) provides a mechanism to interchange information between multiple objects invoked in the same
@@ -46,7 +48,7 @@ public class Scratchpad {
* Provides a mechanism for each object being acted upon to pass
* data to the next object.
*/
- private final Map<Object, Object> userData = Maps.newHashMap();
+ private final Map<Object, Object> userData = _Maps.newHashMap();
/**
* Obtain user-data, as set by a previous object being acted upon.
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/sudo/SudoService.java b/core/applib/src/main/java/org/apache/isis/applib/services/sudo/SudoService.java
index 1c42f4b..3047270 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/sudo/SudoService.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/sudo/SudoService.java
@@ -21,13 +21,14 @@ package org.apache.isis.applib.services.sudo;
import java.util.List;
import java.util.concurrent.Callable;
-import org.apache.isis.applib.DomainObjectContainer;
+
+import org.apache.isis.applib.services.user.UserService;
import org.apache.isis.applib.annotation.Programmatic;
/**
* Intended only for use by fixture scripts and integration tests, allows a block of code to execute
* while the {@link org.apache.isis.applib.DomainObjectContainer container}'s
- * {@link DomainObjectContainer#getUser() getUser()} method returns the specified user/role as the effective user.
+ * {@link UserService#getUser() getUser()} method returns the specified user/role as the effective user.
*/
public interface SudoService {
diff --git a/core/applib/src/main/java/org/apache/isis/applib/util/Clause.java b/core/applib/src/main/java/org/apache/isis/applib/util/Clause.java
index 3bc87af..cd74311 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/util/Clause.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/util/Clause.java
@@ -23,8 +23,7 @@ import java.util.Comparator;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import com.google.common.base.Strings;
-import com.google.common.collect.Ordering;
+import org.apache.isis.applib.internal.base._Strings;
class Clause {
private static Pattern pattern = Pattern.compile("\\W*(\\w+)\\W*(asc|asc nullsFirst|asc nullsLast|desc|desc nullsFirst|desc nullsLast)?\\W*");
@@ -32,25 +31,29 @@ class Clause {
ASC {
@Override
public Comparator<Comparable<?>> getOrdering() {
- return Ordering.natural().nullsFirst();
+ // legacy of Ordering.natural().nullsFirst();
+ return Comparator.nullsFirst(Comparator.<Comparable>naturalOrder());
}
},
ASC_NULLS_LAST {
@Override
public Comparator<Comparable<?>> getOrdering() {
- return Ordering.natural().nullsLast();
+ // legacy of Ordering.natural().nullsLast();
+ return Comparator.nullsLast(Comparator.<Comparable>naturalOrder());
}
},
DESC {
@Override
public Comparator<Comparable<?>> getOrdering() {
- return Ordering.natural().nullsLast().reverse();
+ // legacy of Ordering.natural().nullsLast().reverse();
+ return ASC_NULLS_LAST.getOrdering().reversed();
}
},
DESC_NULLS_LAST {
@Override
public Comparator<Comparable<?>> getOrdering() {
- return Ordering.natural().nullsFirst().reverse();
+ // legacy of Ordering.natural().nullsFirst().reverse();
+ return ASC.getOrdering().reversed();
}
};
@@ -111,7 +114,7 @@ class Clause {
}
}
private static String upperFirst(final String str) {
- if (Strings.isNullOrEmpty(str)) {
+ if (_Strings.isNullOrEmpty(str)) {
return str;
}
if (str.length() == 1) {
diff --git a/core/applib/src/main/java/org/apache/isis/applib/util/JaxbUtil.java b/core/applib/src/main/java/org/apache/isis/applib/util/JaxbUtil.java
index f71ccdf..85e2341 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/util/JaxbUtil.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/util/JaxbUtil.java
@@ -21,7 +21,6 @@ import java.io.IOException;
import java.io.Reader;
import java.io.StringReader;
import java.io.Writer;
-import java.net.URL;
import java.nio.charset.Charset;
import java.util.Map;
@@ -30,17 +29,17 @@ import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
-import com.google.common.collect.MapMaker;
-import com.google.common.io.Resources;
-
import org.apache.isis.applib.internal.base._Casts;
+import org.apache.isis.applib.internal.collections._Maps;
+import org.apache.isis.applib.internal.resources._Resource;
/**
- * Helper methods for converting {@link javax.xml.bind.annotation.XmlRootElement}-annotated class to-and-from XML. Intended primarily for
- * test use only (the {@link JAXBContext} is not cached).
+ * Helper methods for converting {@link javax.xml.bind.annotation.XmlRootElement}-annotated class to-and-from XML.
+ * Intended primarily for test use only (the {@link JAXBContext} is not cached).
*
* <p>
- * For example usage, see <a href="https://github.com/isisaddons/isis-module-publishmq">Isis addons' publishmq module</a> (non-ASF)
+ * For example usage, see <a href="https://github.com/isisaddons/isis-module-publishmq">Isis addons' publishmq module</a>
+ * (non-ASF)
* </p>
*/
public class JaxbUtil {
@@ -64,8 +63,8 @@ public class JaxbUtil {
final String resourceName,
final Charset charset,
final Class<T> dtoClass) throws IOException {
- final URL url = Resources.getResource(contextClass, resourceName);
- final String s = Resources.toString(url, charset);
+
+ final String s = _Resource.loadAsString(contextClass, resourceName, charset);
return fromXml(new StringReader(s), dtoClass);
}
@@ -87,18 +86,18 @@ public class JaxbUtil {
}
}
- private static Map<Class<?>, JAXBContext> jaxbContextByClass = new MapMaker().concurrencyLevel(10).makeMap();
+ private static Map<Class<?>, JAXBContext> jaxbContextByClass = _Maps.newConcurrentHashMap();
public static <T> JAXBContext jaxbContextFor(final Class<T> dtoClass) {
- JAXBContext jaxbContext = jaxbContextByClass.get(dtoClass);
- if(jaxbContext == null) {
- try {
- jaxbContext = JAXBContext.newInstance(dtoClass);
- } catch (JAXBException e) {
- throw new RuntimeException(e);
- }
- jaxbContextByClass.put(dtoClass, jaxbContext);
+ return jaxbContextByClass.computeIfAbsent(dtoClass, JaxbUtil::contextOf );
+ }
+
+ private static <T> JAXBContext contextOf(final Class<T> dtoClass) {
+ try {
+ return JAXBContext.newInstance(dtoClass);
+ } catch (JAXBException e) {
+ throw new RuntimeException(e);
}
- return jaxbContext;
}
+
}
diff --git a/core/applib/src/main/java/org/apache/isis/applib/util/ObjectContracts.java b/core/applib/src/main/java/org/apache/isis/applib/util/ObjectContracts.java
index a9c8328..b7ecb23 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/util/ObjectContracts.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/util/ObjectContracts.java
@@ -19,19 +19,19 @@ package org.apache.isis.applib.util;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
+import java.util.stream.Collectors;
import org.apache.isis.applib.internal.base._Casts;
+import org.apache.isis.applib.internal.base._NullSafe;
+import org.apache.isis.applib.internal.base._Strings;
+import org.apache.isis.applib.internal.collections._Lists;
import com.google.common.base.Function;
import com.google.common.base.Objects;
import com.google.common.base.Objects.ToStringHelper;
-import com.google.common.base.Splitter;
import com.google.common.collect.ComparisonChain;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Lists;
import com.google.common.collect.Ordering;
-
public class ObjectContracts {
//region > compare
@@ -142,7 +142,7 @@ public class ObjectContracts {
}
private static int hashCode(final Object obj, final Iterable<String> propertyNamesIter) {
- final List<Object> propertyValues = Lists.newArrayList();
+ final List<Object> propertyValues = _Lists.newArrayList();
for (final Clause clause : clausesFor(propertyNamesIter)) {
final Object propertyValue = clause.getValueOf(obj);
if(propertyValue != null) {
@@ -209,11 +209,14 @@ public class ObjectContracts {
//region > helpers
private static Iterable<Clause> clausesFor(final Iterable<String> iterable) {
- return Iterables.transform(iterable, Clause::parse);
+ return _NullSafe.stream(iterable)
+ .map(Clause::parse)
+ .collect(Collectors.toList());
}
private static Iterable<String> csvToIterable(final String propertyNames) {
- return Splitter.on(',').split(propertyNames);
+ return _Strings.splitThenStream(propertyNames, ",")
+ .collect(Collectors.toList());
}
private static List<String> varargsToIterable(final String[] iterable) {
@@ -228,7 +231,7 @@ public class ObjectContracts {
String evaluate(Object o);
}
- private final List<ToStringEvaluator> evaluators = Lists.newArrayList();
+ private final List<ToStringEvaluator> evaluators = _Lists.newArrayList();
public ObjectContracts with(ToStringEvaluator evaluator) {
evaluators.add(evaluator);
diff --git a/core/applib/src/main/java/org/apache/isis/applib/value/Blob.java b/core/applib/src/main/java/org/apache/isis/applib/value/Blob.java
index 7403c4d..71580df 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/value/Blob.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/value/Blob.java
@@ -26,8 +26,6 @@ import java.io.Serializable;
import javax.activation.MimeType;
import javax.activation.MimeTypeParseException;
-import com.google.common.io.ByteSource;
-
public final class Blob implements NamedWithMimeType, Serializable {
/**
@@ -88,9 +86,19 @@ public final class Blob implements NamedWithMimeType, Serializable {
public byte[] getBytes() {
return bytes;
}
-
+
+ /**
+ * Does not close the OutputStream.
+ * @param os
+ * @throws IOException
+ */
public void writeBytesTo(final OutputStream os) throws IOException {
- ByteSource.wrap(bytes).copyTo(os);
+ if(os==null) {
+ return;
+ }
+ if(bytes!=null) {
+ os.write(bytes);
+ }
}
@Override
diff --git a/core/applib/src/main/java/org/apache/isis/applib/value/Clob.java b/core/applib/src/main/java/org/apache/isis/applib/value/Clob.java
index 41b7b7e..b846671 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/value/Clob.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/value/Clob.java
@@ -26,8 +26,6 @@ import java.io.Writer;
import javax.activation.MimeType;
import javax.activation.MimeTypeParseException;
-import com.google.common.io.CharSource;
-
public final class Clob implements NamedWithMimeType, Serializable {
private final String name;
@@ -92,7 +90,9 @@ public final class Clob implements NamedWithMimeType, Serializable {
}
public void writeCharsTo(final Writer wr) throws IOException {
- CharSource.wrap(chars).copyTo(wr);
+ if(wr!=null && chars!=null){
+ wr.append(chars);
+ }
}
@Override
diff --git a/core/applib/src/main/java/org/apache/isis/schema/utils/ChangesDtoUtils.java b/core/applib/src/main/java/org/apache/isis/schema/utils/ChangesDtoUtils.java
index 575ca9d..5aee28f 100644
--- a/core/applib/src/main/java/org/apache/isis/schema/utils/ChangesDtoUtils.java
+++ b/core/applib/src/main/java/org/apache/isis/schema/utils/ChangesDtoUtils.java
@@ -24,7 +24,6 @@ import java.io.PrintStream;
import java.io.Reader;
import java.io.StringReader;
import java.io.Writer;
-import java.net.URL;
import java.nio.charset.Charset;
import javax.xml.bind.JAXBContext;
@@ -32,8 +31,7 @@ import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
-import com.google.common.io.Resources;
-
+import org.apache.isis.applib.internal.resources._Resource;
import org.apache.isis.applib.util.JaxbUtil;
import org.apache.isis.schema.chg.v1.ChangesDto;
@@ -69,8 +67,8 @@ public final class ChangesDtoUtils {
final Class<?> contextClass,
final String resourceName,
final Charset charset) throws IOException {
- final URL url = Resources.getResource(contextClass, resourceName);
- final String s = Resources.toString(url, charset);
+
+ final String s = _Resource.loadAsString(contextClass, resourceName, charset);
return fromXml(new StringReader(s));
}
diff --git a/core/applib/src/main/java/org/apache/isis/schema/utils/CommandDtoUtils.java b/core/applib/src/main/java/org/apache/isis/schema/utils/CommandDtoUtils.java
index dddebc6..d3f8347 100644
--- a/core/applib/src/main/java/org/apache/isis/schema/utils/CommandDtoUtils.java
+++ b/core/applib/src/main/java/org/apache/isis/schema/utils/CommandDtoUtils.java
@@ -23,7 +23,6 @@ import java.io.IOException;
import java.io.Reader;
import java.io.StringReader;
import java.io.Writer;
-import java.net.URL;
import java.nio.charset.Charset;
import javax.xml.bind.JAXBContext;
@@ -31,8 +30,7 @@ import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
-import com.google.common.io.Resources;
-
+import org.apache.isis.applib.internal.resources._Resource;
import org.apache.isis.applib.util.JaxbUtil;
import org.apache.isis.schema.cmd.v1.ActionDto;
import org.apache.isis.schema.cmd.v1.CommandDto;
@@ -73,8 +71,8 @@ public final class CommandDtoUtils {
final Class<?> contextClass,
final String resourceName,
final Charset charset) throws IOException {
- final URL url = Resources.getResource(contextClass, resourceName);
- final String s = Resources.toString(url, charset);
+
+ final String s = _Resource.loadAsString(contextClass, resourceName, charset);
return fromXml(new StringReader(s));
}
diff --git a/core/applib/src/main/java/org/apache/isis/schema/utils/CommonDtoUtils.java b/core/applib/src/main/java/org/apache/isis/schema/utils/CommonDtoUtils.java
index 1ba83ab..f6670b7 100644
--- a/core/applib/src/main/java/org/apache/isis/schema/utils/CommonDtoUtils.java
+++ b/core/applib/src/main/java/org/apache/isis/schema/utils/CommonDtoUtils.java
@@ -18,11 +18,19 @@
*/
package org.apache.isis.schema.utils;
+import static org.apache.isis.applib.internal.collections._Maps.entry;
+
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Collection;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Optional;
+import java.util.function.Function;
import org.apache.isis.applib.internal.base._Casts;
+import org.apache.isis.applib.internal.base._Strings;
+import org.apache.isis.applib.internal.collections._Maps;
import org.apache.isis.applib.internal.context._Context;
import org.apache.isis.applib.internal.exceptions._Exceptions;
import org.apache.isis.applib.services.bookmark.Bookmark;
@@ -49,60 +57,44 @@ import org.joda.time.LocalDate;
import org.joda.time.LocalDateTime;
import org.joda.time.LocalTime;
-import com.google.common.base.Function;
-import com.google.common.base.Objects;
-import com.google.common.base.Optional;
-import com.google.common.base.Predicate;
-import com.google.common.base.Strings;
-import com.google.common.collect.FluentIterable;
-import com.google.common.collect.ImmutableMap;
-
public final class CommonDtoUtils {
- //region > PARAM_DTO_TO_NAME, PARAM_DTO_TO_TYPE
-
- public static final Function<ParamDto, String> PARAM_DTO_TO_NAME = new Function<ParamDto, String>() {
- @Override public String apply(final ParamDto paramDto) {
- return paramDto.getName();
- }
- };
- public static final Function<ParamDto, ValueType> PARAM_DTO_TO_TYPE = new Function<ParamDto, ValueType>() {
- @Override public ValueType apply(final ParamDto paramDto) {
- return paramDto.getType();
- }
- };
- //endregion
-
- //region > asValueType
- private final static ImmutableMap<Class<?>, ValueType> valueTypeByClass =
- new ImmutableMap.Builder<Class<?>, ValueType>()
- .put(String.class, ValueType.STRING)
- .put(byte.class, ValueType.BYTE)
- .put(Byte.class, ValueType.BYTE)
- .put(short.class, ValueType.SHORT)
- .put(Short.class, ValueType.SHORT)
- .put(int.class, ValueType.INT)
- .put(Integer.class, ValueType.INT)
- .put(long.class, ValueType.LONG)
- .put(Long.class, ValueType.LONG)
- .put(char.class, ValueType.CHAR)
- .put(Character.class, ValueType.CHAR)
- .put(boolean.class, ValueType.BOOLEAN)
- .put(Boolean.class, ValueType.BOOLEAN)
- .put(float.class, ValueType.FLOAT)
- .put(Float.class, ValueType.FLOAT)
- .put(double.class, ValueType.DOUBLE)
- .put(Double.class, ValueType.DOUBLE)
- .put(BigInteger.class, ValueType.BIG_INTEGER)
- .put(BigDecimal.class, ValueType.BIG_DECIMAL)
- .put(DateTime.class, ValueType.JODA_DATE_TIME)
- .put(LocalDateTime.class, ValueType.JODA_LOCAL_DATE_TIME)
- .put(LocalDate.class, ValueType.JODA_LOCAL_DATE)
- .put(LocalTime.class, ValueType.JODA_LOCAL_TIME)
- .put(java.sql.Timestamp.class, ValueType.JAVA_SQL_TIMESTAMP)
- .put(Blob.class, ValueType.BLOB)
- .put(Clob.class, ValueType.CLOB)
- .build();
+ // -- PARAM_DTO_TO_NAME, PARAM_DTO_TO_TYPE
+
+ public static final Function<ParamDto, String> PARAM_DTO_TO_NAME = ParamDto::getName;
+ public static final Function<ParamDto, ValueType> PARAM_DTO_TO_TYPE = ParamDto::getType;
+
+ // -- asValueType
+ private final static Map<Class<?>, ValueType> valueTypeByClass =
+ _Maps.unmodifiableEntries(
+ entry(String.class, ValueType.STRING),
+ entry(String.class, ValueType.STRING),
+ entry(byte.class, ValueType.BYTE),
+ entry(Byte.class, ValueType.BYTE),
+ entry(short.class, ValueType.SHORT),
+ entry(Short.class, ValueType.SHORT),
+ entry(int.class, ValueType.INT),
+ entry(Integer.class, ValueType.INT),
+ entry(long.class, ValueType.LONG),
+ entry(Long.class, ValueType.LONG),
+ entry(char.class, ValueType.CHAR),
+ entry(Character.class, ValueType.CHAR),
+ entry(boolean.class, ValueType.BOOLEAN),
+ entry(Boolean.class, ValueType.BOOLEAN),
+ entry(float.class, ValueType.FLOAT),
+ entry(Float.class, ValueType.FLOAT),
+ entry(double.class, ValueType.DOUBLE),
+ entry(Double.class, ValueType.DOUBLE),
+ entry(BigInteger.class, ValueType.BIG_INTEGER),
+ entry(BigDecimal.class, ValueType.BIG_DECIMAL),
+ entry(DateTime.class, ValueType.JODA_DATE_TIME),
+ entry(LocalDateTime.class, ValueType.JODA_LOCAL_DATE_TIME),
+ entry(LocalDate.class, ValueType.JODA_LOCAL_DATE),
+ entry(LocalTime.class, ValueType.JODA_LOCAL_TIME),
+ entry(java.sql.Timestamp.class, ValueType.JAVA_SQL_TIMESTAMP),
+ entry(Blob.class, ValueType.BLOB),
+ entry(Clob.class, ValueType.CLOB)
+ );
public static ValueType asValueType(final Class<?> type) {
final ValueType valueType = valueTypeByClass.get(type);
@@ -334,7 +326,7 @@ public final class CommonDtoUtils {
return valueDto.isBoolean();
case CHAR:
final String aChar = valueDto.getChar();
- if(Strings.isNullOrEmpty(aChar)) { return null; }
+ if(_Strings.isNullOrEmpty(aChar)) { return null; }
return (Object)aChar.charAt(0);
case BIG_DECIMAL:
return valueDto.getBigDecimal();
@@ -484,13 +476,9 @@ public final class CommonDtoUtils {
}
private static Optional<MapDto.Entry> entryIfAnyFor(final MapDto mapDto, final String key) {
- return FluentIterable.from(mapDto.getEntry())
- .firstMatch(new Predicate<MapDto.Entry>() {
- @Override
- public boolean apply(final MapDto.Entry entry) {
- return Objects.equal(entry.getKey(), key);
- }
- });
+ return mapDto.getEntry().stream()
+ .filter(entry->Objects.equals(entry.getKey(), key))
+ .findFirst();
}
}
diff --git a/core/applib/src/main/java/org/apache/isis/schema/utils/InteractionDtoUtils.java b/core/applib/src/main/java/org/apache/isis/schema/utils/InteractionDtoUtils.java
index 650d29a..625060f 100644
--- a/core/applib/src/main/java/org/apache/isis/schema/utils/InteractionDtoUtils.java
+++ b/core/applib/src/main/java/org/apache/isis/schema/utils/InteractionDtoUtils.java
@@ -24,20 +24,19 @@ import java.io.PrintStream;
import java.io.Reader;
import java.io.StringReader;
import java.io.Writer;
-import java.net.URL;
import java.nio.charset.Charset;
import java.util.Collections;
import java.util.List;
+import java.util.stream.Collectors;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Lists;
-import com.google.common.io.Resources;
-
+import org.apache.isis.applib.internal.base._NullSafe;
+import org.apache.isis.applib.internal.collections._Lists;
+import org.apache.isis.applib.internal.resources._Resource;
import org.apache.isis.applib.services.bookmark.Bookmark;
import org.apache.isis.applib.services.bookmark.BookmarkService;
import org.apache.isis.applib.services.iactn.Interaction;
@@ -57,400 +56,404 @@ import org.apache.isis.schema.ixn.v1.PropertyEditDto;
public final class InteractionDtoUtils {
- public static void init() {
- getJaxbContext();
- }
-
-
- //region > marshalling
- static JAXBContext jaxbContext;
- static JAXBContext getJaxbContext() {
- if(jaxbContext == null) {
- jaxbContext = JaxbUtil.jaxbContextFor(InteractionDto.class);
- }
- return jaxbContext;
- }
-
- public static InteractionDto fromXml(final Reader reader) {
- try {
- final Unmarshaller un = getJaxbContext().createUnmarshaller();
- return (InteractionDto) un.unmarshal(reader);
- } catch (JAXBException e) {
- throw new RuntimeException(e);
- }
- }
-
- public static InteractionDto fromXml(final String xml) {
- return fromXml(new StringReader(xml));
- }
-
- public static InteractionDto fromXml(
- final Class<?> contextClass,
- final String resourceName,
- final Charset charset) throws IOException {
- final URL url = Resources.getResource(contextClass, resourceName);
- final String s = Resources.toString(url, charset);
- return fromXml(new StringReader(s));
- }
-
- public static String toXml(final InteractionDto interactionDto) {
- final CharArrayWriter caw = new CharArrayWriter();
- toXml(interactionDto, caw);
- return caw.toString();
- }
-
- public static void toXml(final InteractionDto interactionDto, final Writer writer) {
- try {
- final Marshaller m = getJaxbContext().createMarshaller();
- m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
- m.marshal(interactionDto, writer);
- } catch (JAXBException e) {
- throw new RuntimeException(e);
- }
- }
- //endregion
-
- //region > newInteractionDto
-
- /**
- * Encapsulates the mechanism for obtaining a {@link MemberExecutionDto} DTO (XML memento) of the provided
- * in-memory {@link Interaction.Execution}.
- */
- public enum Strategy {
- FLAT {
-
- @Override
- public MemberExecutionDto dtoFor(final Interaction.Execution<?, ?> execution) {
- return execution.getDto();
- }
- },
- DEEP {
- @Override
- public MemberExecutionDto dtoFor(final Interaction.Execution<?, ?> execution) {
- return traverse(execution);
- }
-
- private MemberExecutionDto traverse(final Interaction.Execution<?, ?> parentExecution) {
-
- final MemberExecutionDto parentDto = clone(parentExecution.getDto());
-
- final List<Interaction.Execution<?, ?>> children = parentExecution.getChildren();
- for (Interaction.Execution<?, ?> childExecution : children) {
- final MemberExecutionDto childDto = clone(childExecution.getDto());
- final MemberExecutionDto.ChildExecutions childExecutions =
- InteractionDtoUtils.childExecutionsOf(parentDto);
- childExecutions.getExecution().add(childDto);
- traverse(childExecution);
- }
-
- return parentDto;
- }
-
- private MemberExecutionDto clone(final MemberExecutionDto memberExecutionDto) {
- return MemberExecutionDtoUtils.clone(memberExecutionDto);
- }
-
- //endregion
-
- };
-
-
- public abstract MemberExecutionDto dtoFor(final Interaction.Execution<?, ?> execution);
-
- }
-
- private static MemberExecutionDto.ChildExecutions childExecutionsOf(final MemberExecutionDto dto) {
- MemberExecutionDto.ChildExecutions childExecutions = dto.getChildExecutions();
- if(childExecutions == null) {
- childExecutions = new MemberExecutionDto.ChildExecutions();
- dto.setChildExecutions(childExecutions);
- }
- return childExecutions;
- }
-
- /**
- * Creates a {@link InteractionDto} (serializable to XML) for the provided
- * {@link Interaction.Execution} (the applib object).
- */
- public static InteractionDto newInteractionDto(final Interaction.Execution<?, ?> execution) {
- return newInteractionDto(execution, Strategy.FLAT);
- }
-
- /**
- * Creates a {@link InteractionDto} (serializable to XML) for the provided
- * {@link Interaction.Execution} (the applib object).
- */
- public static InteractionDto newInteractionDto(
- final Interaction.Execution<?, ?> execution,
- final Strategy strategy) {
-
- final MemberExecutionDto memberExecutionDto = strategy.dtoFor(execution);
- return newInteractionDto(execution, memberExecutionDto);
- }
-
- private static InteractionDto newInteractionDto(
- final Interaction.Execution<?, ?> execution,
- final MemberExecutionDto executionDto) {
- final Interaction interaction = execution.getInteraction();
- final String transactionId = interaction.getTransactionId().toString();
-
- return InteractionDtoUtils.newInteractionDto(transactionId, executionDto);
- }
-
- private static InteractionDto newInteractionDto(
- final String transactionId,
- final MemberExecutionDto executionDto) {
- final InteractionDto interactionDto = new InteractionDto();
-
- interactionDto.setMajorVersion("1");
- interactionDto.setMinorVersion("0");
-
- interactionDto.setTransactionId(transactionId);
- interactionDto.setExecution(executionDto);
-
- executionDto.setInteractionType(
- executionDto instanceof ActionInvocationDto
- ? InteractionType.ACTION_INVOCATION
- : InteractionType.PROPERTY_EDIT);
-
- return interactionDto;
- }
-
-
-
- //endregion
-
- //region > newActionInvocation, newPropertyModification
-
- public static ActionInvocationDto newActionInvocation(
- final int sequence,
- final Bookmark targetBookmark,
- final String targetTitle,
- final String actionIdentifier,
- final List<ParamDto> parameterDtos,
- final String user) {
-
- return (ActionInvocationDto) newMemberExecutionDto(
- InteractionType.ACTION_INVOCATION, sequence,
- targetBookmark, targetTitle, actionIdentifier,
- parameterDtos, null,
- user);
- }
-
- public static PropertyEditDto newPropertyEdit(
- final int sequence,
- final Bookmark targetBookmark,
- final String targetTitle,
- final String propertyIdentifier,
- final ValueWithTypeDto newValueDto,
- final String user) {
- return (PropertyEditDto) newMemberExecutionDto(
- InteractionType.PROPERTY_EDIT, sequence,
- targetBookmark, targetTitle, propertyIdentifier,
- null, newValueDto,
- user);
- }
-
- private static MemberExecutionDto newMemberExecutionDto(
- final InteractionType type,
- final int sequence,
- final Bookmark targetBookmark,
- final String targetTitle,
- final String memberId,
- final List<ParamDto> parameterDtos,
- final ValueWithTypeDto newValueDto,
- final String user) {
-
- final MemberExecutionDto executionDto;
- if(type == InteractionType.ACTION_INVOCATION) {
-
- final ActionInvocationDto invocation = new ActionInvocationDto();
- final ParamsDto invocationParameters = parametersFor(invocation);
- invocation.setParameters(invocationParameters);
- invocationParameters.getParameter().addAll(parameterDtos);
-
- executionDto = invocation;
- } else {
- final PropertyEditDto edit = new PropertyEditDto();
- edit.setNewValue(newValueDto);
-
- executionDto = edit;
- }
-
- executionDto.setSequence(sequence);
-
- final OidDto target = targetBookmark.toOidDto();
- executionDto.setTarget(target);
-
- executionDto.setTitle(targetTitle);
- executionDto.setUser(user);
-
- final String logicalMemberId = deriveLogicalMemberId(targetBookmark, memberId);
- executionDto.setLogicalMemberIdentifier(logicalMemberId);
- executionDto.setMemberIdentifier(memberId);
- return executionDto;
- }
-
- static String deriveLogicalMemberId(final Bookmark bookmark, final String memberId) {
- String objectType = bookmark.getObjectType();
- int hashAt = memberId.lastIndexOf("#");
- String localMemberId = hashAt >= 0 && hashAt < memberId.length() ? memberId.substring(hashAt + 1) : memberId;
- return objectType + "#" + localMemberId;
- }
-
- //endregion
-
- //region > invocationFor, actionFor, timingsFor
-
- private static ActionInvocationDto actionInvocationFor(final InteractionDto interactionDto) {
- ActionInvocationDto invocation = (ActionInvocationDto) interactionDto.getExecution();
- if(invocation == null) {
- invocation = new ActionInvocationDto();
- interactionDto.setExecution(invocation);
- invocation.setInteractionType(InteractionType.ACTION_INVOCATION);
- }
- return invocation;
- }
-
-// TODO not used
-// private static PropertyEditDto propertyEditFor(final InteractionDto interactionDto) {
-// PropertyEditDto edit = (PropertyEditDto) interactionDto.getExecution();
-// if(edit == null) {
-// edit = new PropertyEditDto();
-// interactionDto.setExecution(edit);
-// edit.setInteractionType(InteractionType.PROPERTY_EDIT);
-// }
-// return edit;
-// }
-
- private static List<ParamDto> parameterListFor(final InteractionDto ixnDto) {
- return parameterListFor(actionInvocationFor(ixnDto));
- }
-
- private static ParamsDto parametersFor(final ActionInvocationDto invocationDto) {
- ParamsDto parameters = invocationDto.getParameters();
- if(parameters == null) {
- parameters = new ParamsDto();
- invocationDto.setParameters(parameters);
- }
- return parameters;
- }
-
- private static List<ParamDto> parameterListFor(final ActionInvocationDto invocationDto) {
- return parametersFor(invocationDto).getParameter();
- }
-
- //endregion
-
- //region > addParamArg
-
- public static void addParamArg(
- final InteractionDto interactionDto,
- final String parameterName,
- final Class<?> parameterType,
- final Object arg,
- final BookmarkService bookmarkService) {
-
- final List<ParamDto> params = parameterListFor(interactionDto);
- ParamDto paramDto = CommonDtoUtils.newParamDto(parameterName, parameterType, arg, bookmarkService);
- params.add(paramDto);
- }
- //endregion
-
- //region > addReturn
-
- /**
- *
- * @param returnType - to determine the value type (if any)
- * @param result - either a value type (possibly boxed primitive), or a reference type
- * @param bookmarkService - used if not a value type
- */
- public static void addReturn(
- final ActionInvocationDto invocationDto,
- final Class<?> returnType,
- final Object result, final BookmarkService bookmarkService) {
- final ValueWithTypeDto returned = CommonDtoUtils
- .newValueWithTypeDto(returnType, result, bookmarkService);
- invocationDto.setReturned(returned);
- }
- //endregion
-
- //region > getParameters, getParameterNames, getParameterTypes
- public static List<ParamDto> getParameters(final ActionInvocationDto ai) {
- final List<ParamDto> params = parameterListFor(ai);
- final int parameterNumber = getNumberOfParameters(ai);
- final List<ParamDto> paramDtos = Lists.newArrayList();
- for (int i = 0; i < parameterNumber; i++) {
- final ParamDto paramDto = params.get(i);
- paramDtos.add(paramDto);
- }
- return Collections.unmodifiableList(paramDtos);
- }
-
- private static int getNumberOfParameters(final ActionInvocationDto ai) {
- final List<ParamDto> params = parameterListFor(ai);
- return params != null ? params.size() : 0;
- }
-
- public static List<String> getParameterNames(final ActionInvocationDto ai) {
- return immutableList(Iterables.transform(getParameters(ai), CommonDtoUtils.PARAM_DTO_TO_NAME));
- }
- public static List<ValueType> getParameterTypes(final ActionInvocationDto ai) {
- return immutableList(Iterables.transform(getParameters(ai), CommonDtoUtils.PARAM_DTO_TO_TYPE));
- }
-
- private static <T> List<T> immutableList(final Iterable<T> iterable) {
- return Collections.unmodifiableList(Lists.newArrayList(iterable));
- }
-
- //endregion
-
- //region > getParameter, getParameterName, getParameterType, getParameterArgument
- public static ParamDto getParameter(final ActionInvocationDto ai, final int paramNum) {
- final int parameterNumber = getNumberOfParameters(ai);
- if(paramNum > parameterNumber) {
- throw new IllegalArgumentException(String.format("No such parameter %d (the memento has %d parameters)", paramNum, parameterNumber));
- }
- final List<ParamDto> parameters = getParameters(ai);
- return parameters.get(paramNum);
- }
-
- public static ValueDto getParameterArgument(final ActionInvocationDto ai, final int paramNum) {
- return getParameter(ai, paramNum);
- }
-
- public static String getParameterName(final ActionInvocationDto ai, final int paramNum) {
- final ParamDto paramDto = getParameter(ai, paramNum);
- return paramDto.getName();
- }
-
- public static ValueType getParameterType(final ActionInvocationDto ai, final int paramNum) {
- final ParamDto paramDto = getParameter(ai, paramNum);
- return paramDto.getType();
- }
- public static boolean isNull(final ActionInvocationDto ai, int paramNum) {
- final ParamDto paramDto = getParameter(ai, paramNum);
- return paramDto.isNull();
- }
- //endregion
-
- //region > getParameterArgValue
- public static <T> T getParameterArgValue(final ActionInvocationDto ai, int paramNum, Class<T> inferClass) {
- final ParamDto paramDto = getParameter(ai, paramNum);
- return CommonDtoUtils.getValue(paramDto);
- }
- public static <T> T getParameterArgValue(final ActionInvocationDto ai, int paramNum) {
- final ParamDto paramDto = getParameter(ai, paramNum);
- return CommonDtoUtils.getValue(paramDto);
- }
- //endregion
-
-
- //region > debugging (dump)
- public static void dump(final InteractionDto ixnDto, final PrintStream out) throws JAXBException {
- out.println(toXml(ixnDto));
- }
-
- //endregion
+ public static void init() {
+ getJaxbContext();
+ }
+
+
+ //region > marshalling
+ static JAXBContext jaxbContext;
+ static JAXBContext getJaxbContext() {
+ if(jaxbContext == null) {
+ jaxbContext = JaxbUtil.jaxbContextFor(InteractionDto.class);
+ }
+ return jaxbContext;
+ }
+
+ public static InteractionDto fromXml(final Reader reader) {
+ try {
+ final Unmarshaller un = getJaxbContext().createUnmarshaller();
+ return (InteractionDto) un.unmarshal(reader);
+ } catch (JAXBException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ public static InteractionDto fromXml(final String xml) {
+ return fromXml(new StringReader(xml));
+ }
+
+ public static InteractionDto fromXml(
+ final Class<?> contextClass,
+ final String resourceName,
+ final Charset charset) throws IOException {
+
+ final String s = _Resource.loadAsString(contextClass, resourceName, charset);
+ return fromXml(new StringReader(s));
+ }
+
+ public static String toXml(final InteractionDto interactionDto) {
+ final CharArrayWriter caw = new CharArrayWriter();
+ toXml(interactionDto, caw);
+ return caw.toString();
+ }
+
+ public static void toXml(final InteractionDto interactionDto, final Writer writer) {
+ try {
+ final Marshaller m = getJaxbContext().createMarshaller();
+ m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
+ m.marshal(interactionDto, writer);
+ } catch (JAXBException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ //endregion
+
+ //region > newInteractionDto
+
+ /**
+ * Encapsulates the mechanism for obtaining a {@link MemberExecutionDto} DTO (XML memento) of the provided
+ * in-memory {@link Interaction.Execution}.
+ */
+ public enum Strategy {
+ FLAT {
+
+ @Override
+ public MemberExecutionDto dtoFor(final Interaction.Execution<?, ?> execution) {
+ return execution.getDto();
+ }
+ },
+ DEEP {
+ @Override
+ public MemberExecutionDto dtoFor(final Interaction.Execution<?, ?> execution) {
+ return traverse(execution);
+ }
+
+ private MemberExecutionDto traverse(final Interaction.Execution<?, ?> parentExecution) {
+
+ final MemberExecutionDto parentDto = clone(parentExecution.getDto());
+
+ final List<Interaction.Execution<?, ?>> children = parentExecution.getChildren();
+ for (Interaction.Execution<?, ?> childExecution : children) {
+ final MemberExecutionDto childDto = clone(childExecution.getDto());
+ final MemberExecutionDto.ChildExecutions childExecutions =
+ InteractionDtoUtils.childExecutionsOf(parentDto);
+ childExecutions.getExecution().add(childDto);
+ traverse(childExecution);
+ }
+
+ return parentDto;
+ }
+
+ private MemberExecutionDto clone(final MemberExecutionDto memberExecutionDto) {
+ return MemberExecutionDtoUtils.clone(memberExecutionDto);
+ }
+
+ //endregion
+
+ };
+
+
+ public abstract MemberExecutionDto dtoFor(final Interaction.Execution<?, ?> execution);
+
+ }
+
+ private static MemberExecutionDto.ChildExecutions childExecutionsOf(final MemberExecutionDto dto) {
+ MemberExecutionDto.ChildExecutions childExecutions = dto.getChildExecutions();
+ if(childExecutions == null) {
+ childExecutions = new MemberExecutionDto.ChildExecutions();
+ dto.setChildExecutions(childExecutions);
+ }
+ return childExecutions;
+ }
+
+ /**
+ * Creates a {@link InteractionDto} (serializable to XML) for the provided
+ * {@link Interaction.Execution} (the applib object).
+ */
+ public static InteractionDto newInteractionDto(final Interaction.Execution<?, ?> execution) {
+ return newInteractionDto(execution, Strategy.FLAT);
+ }
+
+ /**
+ * Creates a {@link InteractionDto} (serializable to XML) for the provided
+ * {@link Interaction.Execution} (the applib object).
+ */
+ public static InteractionDto newInteractionDto(
+ final Interaction.Execution<?, ?> execution,
+ final Strategy strategy) {
+
+ final MemberExecutionDto memberExecutionDto = strategy.dtoFor(execution);
+ return newInteractionDto(execution, memberExecutionDto);
+ }
+
+ private static InteractionDto newInteractionDto(
+ final Interaction.Execution<?, ?> execution,
+ final MemberExecutionDto executionDto) {
+ final Interaction interaction = execution.getInteraction();
+ final String transactionId = interaction.getTransactionId().toString();
+
+ return InteractionDtoUtils.newInteractionDto(transactionId, executionDto);
+ }
+
+ private static InteractionDto newInteractionDto(
+ final String transactionId,
+ final MemberExecutionDto executionDto) {
+ final InteractionDto interactionDto = new InteractionDto();
+
+ interactionDto.setMajorVersion("1");
+ interactionDto.setMinorVersion("0");
+
+ interactionDto.setTransactionId(transactionId);
+ interactionDto.setExecution(executionDto);
+
+ executionDto.setInteractionType(
+ executionDto instanceof ActionInvocationDto
+ ? InteractionType.ACTION_INVOCATION
+ : InteractionType.PROPERTY_EDIT);
+
+ return interactionDto;
+ }
+
+
+
+ //endregion
+
+ //region > newActionInvocation, newPropertyModification
+
+ public static ActionInvocationDto newActionInvocation(
+ final int sequence,
+ final Bookmark targetBookmark,
+ final String targetTitle,
+ final String actionIdentifier,
+ final List<ParamDto> parameterDtos,
+ final String user) {
+
+ return (ActionInvocationDto) newMemberExecutionDto(
+ InteractionType.ACTION_INVOCATION, sequence,
+ targetBookmark, targetTitle, actionIdentifier,
+ parameterDtos, null,
+ user);
+ }
+
+ public static PropertyEditDto newPropertyEdit(
+ final int sequence,
+ final Bookmark targetBookmark,
+ final String targetTitle,
+ final String propertyIdentifier,
+ final ValueWithTypeDto newValueDto,
+ final String user) {
+ return (PropertyEditDto) newMemberExecutionDto(
+ InteractionType.PROPERTY_EDIT, sequence,
+ targetBookmark, targetTitle, propertyIdentifier,
+ null, newValueDto,
+ user);
+ }
+
+ private static MemberExecutionDto newMemberExecutionDto(
+ final InteractionType type,
+ final int sequence,
+ final Bookmark targetBookmark,
+ final String targetTitle,
+ final String memberId,
+ final List<ParamDto> parameterDtos,
+ final ValueWithTypeDto newValueDto,
+ final String user) {
+
+ final MemberExecutionDto executionDto;
+ if(type == InteractionType.ACTION_INVOCATION) {
+
+ final ActionInvocationDto invocation = new ActionInvocationDto();
+ final ParamsDto invocationParameters = parametersFor(invocation);
+ invocation.setParameters(invocationParameters);
+ invocationParameters.getParameter().addAll(parameterDtos);
+
+ executionDto = invocation;
+ } else {
+ final PropertyEditDto edit = new PropertyEditDto();
+ edit.setNewValue(newValueDto);
+
+ executionDto = edit;
+ }
+
+ executionDto.setSequence(sequence);
+
+ final OidDto target = targetBookmark.toOidDto();
+ executionDto.setTarget(target);
+
+ executionDto.setTitle(targetTitle);
+ executionDto.setUser(user);
+
+ final String logicalMemberId = deriveLogicalMemberId(targetBookmark, memberId);
+ executionDto.setLogicalMemberIdentifier(logicalMemberId);
+ executionDto.setMemberIdentifier(memberId);
+ return executionDto;
+ }
+
+ static String deriveLogicalMemberId(final Bookmark bookmark, final String memberId) {
+ String objectType = bookmark.getObjectType();
+ int hashAt = memberId.lastIndexOf("#");
+ String localMemberId = hashAt >= 0 && hashAt < memberId.length() ? memberId.substring(hashAt + 1) : memberId;
+ return objectType + "#" + localMemberId;
+ }
+
+ //endregion
+
+ //region > invocationFor, actionFor, timingsFor
+
+ private static ActionInvocationDto actionInvocationFor(final InteractionDto interactionDto) {
+ ActionInvocationDto invocation = (ActionInvocationDto) interactionDto.getExecution();
+ if(invocation == null) {
+ invocation = new ActionInvocationDto();
+ interactionDto.setExecution(invocation);
+ invocation.setInteractionType(InteractionType.ACTION_INVOCATION);
+ }
+ return invocation;
+ }
+
+ // TODO not used
+ // private static PropertyEditDto propertyEditFor(final InteractionDto interactionDto) {
+ // PropertyEditDto edit = (PropertyEditDto) interactionDto.getExecution();
+ // if(edit == null) {
+ // edit = new PropertyEditDto();
+ // interactionDto.setExecution(edit);
+ // edit.setInteractionType(InteractionType.PROPERTY_EDIT);
+ // }
+ // return edit;
+ // }
+
+ private static List<ParamDto> parameterListFor(final InteractionDto ixnDto) {
+ return parameterListFor(actionInvocationFor(ixnDto));
+ }
+
+ private static ParamsDto parametersFor(final ActionInvocationDto invocationDto) {
+ ParamsDto parameters = invocationDto.getParameters();
+ if(parameters == null) {
+ parameters = new ParamsDto();
+ invocationDto.setParameters(parameters);
+ }
+ return parameters;
+ }
+
+ private static List<ParamDto> parameterListFor(final ActionInvocationDto invocationDto) {
+ return parametersFor(invocationDto).getParameter();
+ }
+
+ //endregion
+
+ //region > addParamArg
+
+ public static void addParamArg(
+ final InteractionDto interactionDto,
+ final String parameterName,
+ final Class<?> parameterType,
+ final Object arg,
+ final BookmarkService bookmarkService) {
+
+ final List<ParamDto> params = parameterListFor(interactionDto);
+ ParamDto paramDto = CommonDtoUtils.newParamDto(parameterName, parameterType, arg, bookmarkService);
+ params.add(paramDto);
+ }
+ //endregion
+
+ //region > addReturn
+
+ /**
+ *
+ * @param returnType - to determine the value type (if any)
+ * @param result - either a value type (possibly boxed primitive), or a reference type
+ * @param bookmarkService - used if not a value type
+ */
+ public static void addReturn(
+ final ActionInvocationDto invocationDto,
+ final Class<?> returnType,
+ final Object result, final BookmarkService bookmarkService) {
+ final ValueWithTypeDto returned = CommonDtoUtils
+ .newValueWithTypeDto(returnType, result, bookmarkService);
+ invocationDto.setReturned(returned);
+ }
+ //endregion
+
+ //region > getParameters, getParameterNames, getParameterTypes
+ public static List<ParamDto> getParameters(final ActionInvocationDto ai) {
+ final List<ParamDto> params = parameterListFor(ai);
+ final int parameterNumber = getNumberOfParameters(ai);
+ final List<ParamDto> paramDtos = _Lists.newArrayList();
+ for (int i = 0; i < parameterNumber; i++) {
+ final ParamDto paramDto = params.get(i);
+ paramDtos.add(paramDto);
+ }
+ return Collections.unmodifiableList(paramDtos);
+ }
+
+ private static int getNumberOfParameters(final ActionInvocationDto ai) {
+ final List<ParamDto> params = parameterListFor(ai);
+ return params != null ? params.size() : 0;
+ }
+
+ public static List<String> getParameterNames(final ActionInvocationDto ai) {
+ return Collections.unmodifiableList(
+ _NullSafe.stream(getParameters(ai))
+ .map(CommonDtoUtils.PARAM_DTO_TO_NAME)
+ .collect(Collectors.toList())
+ );
+ }
+ public static List<ValueType> getParameterTypes(final ActionInvocationDto ai) {
+ return Collections.unmodifiableList(
+ _NullSafe.stream(getParameters(ai))
+ .map(CommonDtoUtils.PARAM_DTO_TO_TYPE)
+ .collect(Collectors.toList())
+ );
+ }
+
+ //endregion
+
+ //region > getParameter, getParameterName, getParameterType, getParameterArgument
+ public static ParamDto getParameter(final ActionInvocationDto ai, final int paramNum) {
+ final int parameterNumber = getNumberOfParameters(ai);
+ if(paramNum > parameterNumber) {
+ throw new IllegalArgumentException(String.format("No such parameter %d (the memento has %d parameters)", paramNum, parameterNumber));
+ }
+ final List<ParamDto> parameters = getParameters(ai);
+ return parameters.get(paramNum);
+ }
+
+ public static ValueDto getParameterArgument(final ActionInvocationDto ai, final int paramNum) {
+ return getParameter(ai, paramNum);
+ }
+
+ public static String getParameterName(final ActionInvocationDto ai, final int paramNum) {
+ final ParamDto paramDto = getParameter(ai, paramNum);
+ return paramDto.getName();
+ }
+
+ public static ValueType getParameterType(final ActionInvocationDto ai, final int paramNum) {
+ final ParamDto paramDto = getParameter(ai, paramNum);
+ return paramDto.getType();
+ }
+ public static boolean isNull(final ActionInvocationDto ai, int paramNum) {
+ final ParamDto paramDto = getParameter(ai, paramNum);
+ return paramDto.isNull();
+ }
+ //endregion
+
+ //region > getParameterArgValue
+ public static <T> T getParameterArgValue(final ActionInvocationDto ai, int paramNum, Class<T> inferClass) {
+ final ParamDto paramDto = getParameter(ai, paramNum);
+ return CommonDtoUtils.getValue(paramDto);
+ }
+ public static <T> T getParameterArgValue(final ActionInvocationDto ai, int paramNum) {
+ final ParamDto paramDto = getParameter(ai, paramNum);
+ return CommonDtoUtils.getValue(paramDto);
+ }
+ //endregion
+
+
+ //region > debugging (dump)
+ public static void dump(final InteractionDto ixnDto, final PrintStream out) throws JAXBException {
+ out.println(toXml(ixnDto));
+ }
+
+ //endregion
}
diff --git a/core/applib/src/test/java/org/apache/isis/applib/Module_Util_transitiveDependenciesOf_Test.java b/core/applib/src/test/java/org/apache/isis/applib/Module_Util_transitiveDependenciesOf_Test.java
index d20c454..a5e43cb 100644
--- a/core/applib/src/test/java/org/apache/isis/applib/Module_Util_transitiveDependenciesOf_Test.java
+++ b/core/applib/src/test/java/org/apache/isis/applib/Module_Util_transitiveDependenciesOf_Test.java
@@ -18,20 +18,19 @@
*/
package org.apache.isis.applib;
+import static org.junit.Assert.assertTrue;
+
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Set;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Sets;
-
+import org.apache.isis.applib.internal.collections._Lists;
+import org.apache.isis.applib.internal.collections._Sets;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
-import static org.junit.Assert.assertTrue;
-
public class Module_Util_transitiveDependenciesOf_Test {
@Rule
@@ -63,22 +62,22 @@ public class Module_Util_transitiveDependenciesOf_Test {
}
@Override
public Set<Class<?>> getAdditionalModules() {
- return Sets.<Class<?>>newHashSet(ModuleP.class);
+ return _Sets.<Class<?>>unmodifiable(ModuleP.class);
}
};
final Module moduleD = new ModuleImpl("D") {
@Override public Set<Module> getDependencies() {
- return Sets.newHashSet(moduleE);
+ return _Sets.unmodifiable(moduleE);
}
};
final Module moduleC = new ModuleImpl("C") {
@Override public Set<Module> getDependencies() {
- return Sets.newHashSet(moduleE, moduleD);
+ return _Sets.unmodifiable(moduleE, moduleD);
}
@Override
public Set<Class<?>> getAdditionalModules() {
- return Sets.newHashSet(ModuleQ.class, ModuleR.class);
+ return _Sets.unmodifiable(ModuleQ.class, ModuleR.class);
}
{
withAdditionalServices(ServiceY.class, ServiceZ.class);
@@ -86,29 +85,29 @@ public class Module_Util_transitiveDependenciesOf_Test {
};
final Module moduleB = new ModuleImpl("B") {
@Override public Set<Module> getDependencies() {
- return Sets.newHashSet(moduleF, moduleC);
+ return _Sets.unmodifiable(moduleF, moduleC);
}
};
final Module moduleA = new ModuleImpl("A") {
@Override public Set<Module> getDependencies() {
- return Sets.newHashSet(moduleE, moduleC);
+ return _Sets.unmodifiable(moduleE, moduleC);
}
};
final Module moduleG = new ModuleImpl("G") {
@Override public Set<Module> getDependencies() {
- return Sets.newHashSet(moduleH);
+ return _Sets.unmodifiable(moduleH);
}
};
final Module moduleH = new ModuleImpl("H") {
@Override public Set<Module> getDependencies() {
- return Sets.newHashSet(moduleI);
+ return _Sets.unmodifiable(moduleI);
}
};
final Module moduleI = new ModuleImpl("I") {
@Override public Set<Module> getDependencies() {
- return Sets.newHashSet(moduleG);
+ return _Sets.unmodifiable(moduleG);
}
};
@@ -133,16 +132,16 @@ public class Module_Util_transitiveDependenciesOf_Test {
assertTransitiveDependencies(
moduleE, Arrays.asList(moduleE));
assertTransitiveDependenciesAsClass(
- moduleE, Lists.<Class<?>>newArrayList(ModuleP.class));
+ moduleE, _Lists.<Class<?>>unmodifiable(ModuleP.class));
assertTransitiveServices(
- moduleE, Lists.<Class<?>>newArrayList(ServiceX.class));
+ moduleE, _Lists.<Class<?>>unmodifiable(ServiceX.class));
assertTransitiveDependencies(
moduleD, Arrays.asList(moduleE, moduleD));
assertTransitiveDependenciesAsClass(
- moduleD, Lists.<Class<?>>newArrayList(ModuleP.class));
+ moduleD, _Lists.<Class<?>>unmodifiable(ModuleP.class));
assertTransitiveServices(
- moduleD, Lists.<Class<?>>newArrayList(ServiceX.class));
+ moduleD, _Lists.<Class<?>>unmodifiable(ServiceX.class));
assertTransitiveDependencies(
moduleC, Arrays.asList(moduleE, moduleD, moduleC));
diff --git a/core/applib/src/test/java/org/apache/isis/applib/internal/compare/ComparatorsTest.java b/core/applib/src/test/java/org/apache/isis/applib/internal/compare/ComparatorsTest.java
index e29f771..4d21a50 100644
--- a/core/applib/src/test/java/org/apache/isis/applib/internal/compare/ComparatorsTest.java
+++ b/core/applib/src/test/java/org/apache/isis/applib/internal/compare/ComparatorsTest.java
@@ -27,14 +27,12 @@ import java.util.List;
import java.util.SortedSet;
import java.util.TreeSet;
+import org.apache.isis.applib.internal.collections._Lists;
import org.junit.Assert;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
-import com.google.common.collect.Iterators;
-import com.google.common.collect.Lists;
-
public class ComparatorsTest {
@Rule
@@ -146,13 +144,13 @@ public class ComparatorsTest {
}
private static List<String> ofL(String... str) {
- return Lists.newArrayList(ofS(str));
+ return _Lists.newArrayList(ofS(str));
}
private static void assertThatSorting(Collection<String> input, List<String> expected) {
final SortedSet<String> treeSet = new TreeSet<String>(_Comparators.deweyOrderComparator);
treeSet.addAll(input);
- final List<String> strings = Arrays.asList(Iterators.toArray(treeSet.iterator(), String.class));
+ final List<String> strings = _Lists.newArrayList(treeSet);
Assert.assertThat(strings, is(expected));
}
}
diff --git a/core/applib/src/test/java/org/apache/isis/applib/query/QueryDefaultTest_withStart_or_withCount.java b/core/applib/src/test/java/org/apache/isis/applib/query/QueryDefaultTest_withStart_or_withCount.java
index df1c3bb..990b9d8 100644
--- a/core/applib/src/test/java/org/apache/isis/applib/query/QueryDefaultTest_withStart_or_withCount.java
+++ b/core/applib/src/test/java/org/apache/isis/applib/query/QueryDefaultTest_withStart_or_withCount.java
@@ -16,11 +16,9 @@
*/
package org.apache.isis.applib.query;
-import static org.hamcrest.CoreMatchers.*;
+import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
-import com.google.common.collect.ImmutableMap;
-
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
diff --git a/core/applib/src/test/java/org/apache/isis/applib/services/exceprecog/jdo/ExceptionRecognizerCompositeForJdoObjectStoreTest.java b/core/applib/src/test/java/org/apache/isis/applib/services/exceprecog/jdo/ExceptionRecognizerCompositeForJdoObjectStoreTest.java
index ae9973d..80c6947 100644
--- a/core/applib/src/test/java/org/apache/isis/applib/services/exceprecog/jdo/ExceptionRecognizerCompositeForJdoObjectStoreTest.java
+++ b/core/applib/src/test/java/org/apache/isis/applib/services/exceprecog/jdo/ExceptionRecognizerCompositeForJdoObjectStoreTest.java
@@ -18,18 +18,15 @@
*/
package org.apache.isis.applib.services.exceprecog.jdo;
-import java.util.Collections;
+import static org.hamcrest.Matchers.is;
+import static org.junit.Assert.assertThat;
-import com.google.common.collect.ImmutableBiMap;
+import java.util.Collections;
+import org.apache.isis.applib.internal.collections._Maps;
import org.junit.Before;
import org.junit.Test;
-import org.apache.isis.applib.services.exceprecog.jdo.ExceptionRecognizerCompositeForJdoObjectStore;
-
-import static org.hamcrest.Matchers.is;
-import static org.junit.Assert.assertThat;
-
public class ExceptionRecognizerCompositeForJdoObjectStoreTest {
private boolean[] called;
@@ -57,7 +54,7 @@ public class ExceptionRecognizerCompositeForJdoObjectStoreTest {
@Test
public void whenDisabledFlagSetToTrue() throws Exception {
// when
- recog.init(ImmutableBiMap.of(ExceptionRecognizerCompositeForJdoObjectStore.KEY_DISABLE, "true"));
+ recog.init(_Maps.unmodifiable(ExceptionRecognizerCompositeForJdoObjectStore.KEY_DISABLE, "true"));
// then
assertThat(called[0], is(false));
@@ -66,7 +63,7 @@ public class ExceptionRecognizerCompositeForJdoObjectStoreTest {
@Test
public void whenDisabledFlagSetToFalse() throws Exception {
// when
- recog.init(ImmutableBiMap.of(ExceptionRecognizerCompositeForJdoObjectStore.KEY_DISABLE, "false"));
+ recog.init(_Maps.unmodifiable(ExceptionRecognizerCompositeForJdoObjectStore.KEY_DISABLE, "false"));
// then
assertThat(called[0], is(true));
diff --git a/core/applib/src/test/java/org/apache/isis/applib/services/xmlsnapshot/XmlSnapshotServiceAbstractTest.java b/core/applib/src/test/java/org/apache/isis/applib/services/xmlsnapshot/XmlSnapshotServiceAbstractTest.java
index 8379ce7..25398ef 100644
--- a/core/applib/src/test/java/org/apache/isis/applib/services/xmlsnapshot/XmlSnapshotServiceAbstractTest.java
+++ b/core/applib/src/test/java/org/apache/isis/applib/services/xmlsnapshot/XmlSnapshotServiceAbstractTest.java
@@ -21,14 +21,11 @@ import static org.junit.Assert.assertThat;
import java.math.BigDecimal;
import java.math.BigInteger;
-import java.net.URL;
import java.nio.charset.Charset;
import java.util.Locale;
-import com.google.common.io.Resources;
-
+import org.apache.isis.applib.internal.resources._Resource;
import org.joda.time.LocalDate;
-import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.w3c.dom.Document;
@@ -41,9 +38,10 @@ public class XmlSnapshotServiceAbstractTest {
@Before
public void setUp() throws Exception {
- URL resource = Resources.getResource(XmlSnapshotServiceAbstractTest.class, "XmlSnapshotServiceAbstractTest.xml");
- xmlStr = Resources.toString(resource, Charset.forName("UTF-8"));
-
+ xmlStr = _Resource.loadAsString(
+ XmlSnapshotServiceAbstractTest.class,
+ "XmlSnapshotServiceAbstractTest.xml",
+ Charset.forName("UTF-8"));
xmlSnapshotService = new XmlSnapshotServiceForUnitTesting();
}
diff --git a/core/applib/src/test/java/org/apache/isis/applib/util/ObjectContractsTest_equals_and_hashCode.java b/core/applib/src/test/java/org/apache/isis/applib/util/ObjectContractsTest_equals_and_hashCode.java
index a7732d2..89dee00 100644
--- a/core/applib/src/test/java/org/apache/isis/applib/util/ObjectContractsTest_equals_and_hashCode.java
+++ b/core/applib/src/test/java/org/apache/isis/applib/util/ObjectContractsTest_equals_and_hashCode.java
@@ -18,11 +18,9 @@ package org.apache.isis.applib.util;
import java.util.List;
-import com.google.common.collect.Lists;
-
-import org.junit.Before;
-
+import org.apache.isis.applib.internal.collections._Lists;
import org.apache.isis.core.unittestsupport.value.ValueTypeContractTestAbstract;
+import org.junit.Before;
public class ObjectContractsTest_equals_and_hashCode extends ValueTypeContractTestAbstract<InvoiceItem3> {
@@ -39,7 +37,7 @@ public class ObjectContractsTest_equals_and_hashCode extends ValueTypeContractTe
@Override
protected List<InvoiceItem3> getObjectsWithSameValue() {
- return Lists.newArrayList(
+ return _Lists.unmodifiable(
InvoiceItem3.newInvoiceItem(inv123, "A", new Integer(1)),
InvoiceItem3.newInvoiceItem(inv123, "A", new Integer(1))
);
@@ -47,7 +45,7 @@ public class ObjectContractsTest_equals_and_hashCode extends ValueTypeContractTe
@Override
protected List<InvoiceItem3> getObjectsWithDifferentValue() {
- return Lists.newArrayList(
+ return _Lists.unmodifiable(
InvoiceItem3.newInvoiceItem(null, "A", new Integer(2)),
InvoiceItem3.newInvoiceItem(inv456, "A", new Integer(2)),
InvoiceItem3.newInvoiceItem(inv123, null, new Integer(1)),
--
To stop receiving notification emails like this one, please contact
ahuber@apache.org.