You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2018/02/14 14:33:33 UTC
[isis] branch master updated (1b19e6e -> 96a2a78)
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git.
from 1b19e6e ISIS-1810: fixes compile issues arising from merge
add e29b26f ISIS-1852 allow local thread variable propagation to any child threads
add 3706fa9 ISIS-1852 testcase backported to JDK 7
new 0d749ce ISIS-1852: fixes unit test
new c149771 Merge branch 'ISIS-1852_parallel_stream_patch'
add b958267 ISIS-1846 beginning with consolidation of internal utilities
add c16086d Merge branch 'master' into ISIS-1846_internal_utils
add c407760 ISIS-1846 consolidate utilities
add 3ccfd33 ISIS-1846 deduplicate uses of asNaturalName2 and other
add 44af17e ISIS-1846 deprecate StringPredicates and StringFunctions, refactoring any references to use the new $String utility class
add 0622780 ISIS-1846 use mixin naming convention for package private support classes
add bc59167 ISIS-1846 add missing license header
add b6f8293 ISIS-1846 StringOperator: improved name for composing method
add debea9f ISIS-1846 consolidate comparator algorithms into $Comparators
add 47790a6 ISIS-1846 refactoring: less heap pollution on sequence compare
add 25f8b31 ISIS-1846 underscore(_) instead of dollar($) prefix for internal classes
add 7ba8fd6 ISIS-1845 fix EventBusServiceDefaultTest NPE
add 8b865d6 ISIS-1845 fix all tests in ObjectReflectorDefaultTest_object
add 4a90358 ISIS-1846 test cases added for new utility classes
add 954c03d ISIS-1827 refactoring out some guava predicate usages yet without breaking API
add c32e448 ISIS-1827 cleanup public API java-doc in RepositoryService
add 890cff5 ISIS-1827 reflect API changes in RepositoryServiceInternalDefault
add 03823d7 ISIS-1827 guava free drop-in replacement for all ExceptionRecognizers
add 6631872 ISIS-1827 reflect applib changes in ExceptionRecognizerDocDefault
add 77b179b ISIS-1846 add capitalize to new _String utility + tests, cleanup Enums
add 463947d ISIS-1846 fix Enums copy paste error
add 62c3f3b ISIS-1827 added tests for all ExceptionRecognizers to reflect applib additions
add dd3029c ISIS-1827 mark some unused public static guava functions deprecated
add 7613ee7 ISIS-1846 consolidate uses of capitalize
add 996cf2980 ISIS-1846 another occurrence of capitalize consolidated
add a5931f6 ISIS-1846 clarify corner cases for string splitting + tests
add 70a5f0d ISIS-1846 introduces _Constants (internal API)
add 286b2c5 ISIS-1846 consolidate uses of constants 'emptyObjects' + 'emptyClasses'
add c09cffb ISIS-1846 make constants final
add 3b9aded ISIS-1841 replace uses of deprecated Nullable with Java's Optional
add 8b19f8a ISIS-1841 Nullable, Closure, IterableExtensions removed (after refactoring, no longer needed), tests removed or adapted
add 9c2514c ISIS-1841 remove unused setter, that does nothing anyway
add fe219d0 ISIS-1846 add _Exceptions to internal API
add 7d5b538 ISIS-1841 cleanup some compiler warnings
add 8e8b5f1 ISIS-1841 refactoring switch statements
add 7743f0b ISIS-1846 java-doc: simplify warnings for internal API use
add 3bb3683 ISIS-1846 major refactoring: introduces _Reflect (internal API)
add da7b587 ISIS-1846 minor refactoring: introduces _Context (internal API)
add 5dd9f73 ISIS-1846 improve java-doc
add 71101fc ISIS-1846 put empty string array also in _Constants for convenience
add 66cd1f2 ISIS-1846 java-doc improved
add 62725eb ISIS-1846 added reviewer notes and questions
add 8ebd313 ISIS-1846 thread-safe (atomic) writes to _Context (singleton-store)
new e989ad9 Merge remote-tracking branch 'origin/ISIS-1846_internal_utils'
new c1d0732 ISIS-1846: fixes unit test (had accidentally changed contract)
new e0cb085 ISIS-1846: reinstates reflections as a non-optional compile-time dependency, since required for both compile and runtime.
new 96a2a78 ISIS-1852: removes debug System.out.println
The 6 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
core/applib/pom.xml | 23 +-
.../java/org/apache/isis/applib/AppManifest.java | 120 +--------
.../apache/isis/applib/AppManifestAbstract.java | 3 +-
.../org/apache/isis/applib/IsisApplibModule.java | 5 +-
.../org/apache/isis/applib/ModuleAbstract.java | 4 +-
.../fixturescripts/BuilderScriptAbstract.java | 4 +-
.../applib/fixturescripts/ExecutionParameters.java | 6 +-
.../applib/fixturescripts/FixtureResultList.java | 4 +-
.../isis/applib/fixturescripts/FixtureScript.java | 41 +--
.../isis/applib/fixturescripts/FixtureScripts.java | 3 +
.../isis/applib/fixturescripts/StringUtil.java | 79 ------
.../_Constants.java} | 45 ++--
.../{util/Casts.java => internal/base/_Casts.java} | 18 +-
.../isis/applib/internal/base/_NullSafe.java} | 74 ++++--
.../apache/isis/applib/internal/base/_Strings.java | 232 +++++++++++++++++
.../internal/base/_Strings_NaturalNames.java | 94 +++++++
.../internal/base/_Strings_SplitIterator.java | 73 ++++++
.../isis/applib/internal/base}/package-info.java | 15 +-
.../compare/_Comparators.java} | 37 +--
.../compare/_Comparators_SequenceCompare.java} | 53 ++--
.../applib/internal/compare}/package-info.java | 15 +-
.../isis/applib/internal/context/_Context.java | 151 +++++++++++
.../applib/internal/context}/package-info.java | 15 +-
.../applib/internal/exceptions/_Exceptions.java | 85 +++++++
.../applib/internal/exceptions}/package-info.java | 15 +-
.../apache/isis/applib/internal}/package-info.java | 15 +-
.../isis/applib/internal/reflection/_Reflect.java | 83 ++++++
.../internal/reflection/_Reflect_Discovery.java | 85 +++++++
.../internal/reflection/_Reflect_Manifest.java | 147 +++++++++++
.../applib/internal/reflection}/package-info.java | 15 +-
.../layout/component/CollectionLayoutData.java | 3 +-
.../isis/applib/layout/component/FieldSet.java | 2 +-
.../applib/layout/grid/bootstrap3/BS3ClearFix.java | 1 +
.../layout/grid/bootstrap3/BS3ElementAbstract.java | 1 +
.../applib/layout/grid/bootstrap3/BS3Grid.java | 2 +-
.../isis/applib/layout/grid/bootstrap3/BS3Tab.java | 4 +-
.../applib/layout/menubars/MenuBarsAbstract.java | 1 +
.../applib/layout/menubars/bootstrap3/BS3Menu.java | 5 -
.../layout/menubars/bootstrap3/BS3MenuBars.java | 5 +
.../java/org/apache/isis/applib/query/Query.java | 2 +-
.../services/appfeat/ApplicationMemberType.java | 15 +-
.../isis/applib/services/bookmark/Bookmark.java | 5 +-
.../ClassDiscoveryServiceUsingReflections.java | 35 +--
.../isis/applib/services/dto/DtoMappingHelper.java | 6 +-
.../services/eventbus/AbstractDomainEvent.java | 15 ++
.../exceprecog/ExceptionRecognizerAbstract.java | 57 ++++-
.../exceprecog/ExceptionRecognizerForType.java | 1 +
...rType.java => ExceptionRecognizerForType2.java} | 63 ++---
...xceptionRecognizerForJDODataStoreException.java | 4 +-
...traintViolationForeignKeyNoActionException.java | 17 +-
...ionRecognizerForJDOObjectNotFoundException.java | 5 +-
...yConstraintViolationUniqueOrIndexException.java | 17 +-
.../isis/applib/services/jaxb/JaxbService.java | 10 +-
.../queryresultscache/QueryResultsCache.java | 4 +-
.../services/repository/RepositoryService.java | 26 +-
.../isis/applib/spec/AbstractSpecification2.java | 4 +-
.../java/org/apache/isis/applib/util/Enums.java | 40 +--
.../java/org/apache/isis/applib/util/JaxbUtil.java | 4 +-
.../apache/isis/applib/util/ObjectContracts.java | 6 +-
.../org/apache/isis/applib/util/TitleBuffer.java | 8 +-
.../apache/isis/schema/utils/CommonDtoUtils.java | 20 +-
.../isis/schema/utils/InteractionDtoUtils.java | 19 +-
.../isis/schema/utils/MemberExecutionDtoUtils.java | 4 +-
.../isis/applib/internal/base/NullSafeTest.java | 116 +++++++++
.../isis/applib/internal/base/StringsTest.java | 243 ++++++++++++++++++
.../applib/internal/compare/ComparatorsTest.java | 158 ++++++++++++
...t.java => ExceptionRecognizerForType2Test.java} | 12 +-
.../exceprecog/ExceptionRecognizerGeneralTest.java | 32 ++-
.../core/commons/exceptions/ExceptionUtils.java | 6 +-
.../org/apache/isis/core/commons/lang/Closure.java | 32 ---
.../isis/core/commons/lang/IterableExtensions.java | 39 ---
.../apache/isis/core/commons/lang/Nullable.java | 49 ----
.../isis/core/commons/lang/ObjectExtensions.java | 4 +-
.../isis/core/commons/lang/StringExtensions.java | 70 +-----
.../isis/core/commons/lang/StringFunctions.java | 7 +-
.../isis/core/commons/lang/StringPredicates.java | 7 +-
.../isis/core/commons/reflection/Reflect.java | 167 -------------
.../isis/core/metamodel/adapter/oid/Oid.java | 9 +-
.../isis/core/metamodel/facetapi/FacetUtil.java | 10 +-
.../core/metamodel/facets/MethodFinderUtils.java | 16 +-
...ctionInvocationFacetForDomainEventAbstract.java | 15 +-
.../ActionDefaultsFacetViaMethodFactory.java | 3 +-
.../facets/all/i18n/NamedFacetTranslated.java | 2 +-
.../DomainObjectAnnotationFacetFactory.java | 9 +-
.../AuditableFacetForDomainObjectAnnotation.java | 5 +-
.../domainservice/DomainServiceMenuOrder.java | 5 +-
.../ignore/javalang/RemoveMethodsFacetFactory.java | 3 +-
.../MemberGroupLayoutFacetProperties.java | 25 +-
.../recreatable/RecreatableObjectFacetFactory.java | 8 +-
.../ActionParameterAutoCompleteFacetViaMethod.java | 3 +-
...rameterChoicesFacetDerivedFromChoicesFacet.java | 3 +-
.../method/ActionChoicesFacetViaMethodFactory.java | 3 +-
.../ActionParameterChoicesFacetViaMethod.java | 9 +-
...cetInvertedByNullableAnnotationOnParameter.java | 4 +-
...ropertyChoicesFacetDerivedFromChoicesFacet.java | 5 +-
.../MemberOrderFacetComparator.java | 4 +-
.../exceprecog/ExceptionRecognizerDocDefault.java | 7 +-
.../services/grid/GridLoaderServiceDefault.java | 3 +-
.../RepositoryServiceInternalDefault.java | 33 ++-
.../core/metamodel/spec/feature/ObjectAction.java | 18 +-
.../specloader/specimpl/ObjectActionDefault.java | 4 +-
.../core/metamodel/util/DeweyOrderComparator.java | 51 +---
.../commons/lang/IterableExtensionsTest_fold.java | 45 ----
.../metamodel/facets/MethodFinderUtilsTest.java | 27 +-
.../apache/isis/core/metamodel/facets/Utils.java | 3 +-
core/pom.xml | 21 +-
.../isis/core/runtime/headless/IsisSystem.java | 2 +-
.../core/runtime/services/ServiceInstantiator.java | 6 +-
.../services/ServicesInstallerFromAnnotation.java | 36 ++-
.../core/runtime/system/context/IsisContext.java | 102 ++++----
.../system/session/IsisSessionFactoryBuilder.java | 8 +-
.../IsisComponentProvider.java | 38 ++-
.../objectstore/jdo/service/RegisterEntities.java | 39 +--
.../DummyAction.java | 3 +-
.../runtime/services/ServiceInstantiatorTest.java | 278 ++++++++++++---------
.../eventbus/EventBusServiceDefaultTest.java | 22 +-
.../core/specsupport/specs/CukeGlueAbstract.java | 16 +-
core/unittestsupport/pom.xml | 1 +
.../wicket/model/models/EntityCollectionModel.java | 44 ++--
.../models/LowestCommonSuperclassClosureTest.java | 33 ++-
.../wicket/ui/components/layout/bs3/col/Col.java | 18 +-
.../components/layout/bs3/tabs/TabGroupPanel.java | 29 +--
122 files changed, 2507 insertions(+), 1433 deletions(-)
delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/fixturescripts/StringUtil.java
copy core/applib/src/main/java/org/apache/isis/applib/{AbstractViewModel.java => internal/_Constants.java} (54%)
rename core/applib/src/main/java/org/apache/isis/applib/{util/Casts.java => internal/base/_Casts.java} (72%)
rename core/{metamodel/src/main/java/org/apache/isis/core/commons/lang/NullSafe.java => applib/src/main/java/org/apache/isis/applib/internal/base/_NullSafe.java} (64%)
create mode 100644 core/applib/src/main/java/org/apache/isis/applib/internal/base/_Strings.java
create mode 100644 core/applib/src/main/java/org/apache/isis/applib/internal/base/_Strings_NaturalNames.java
create mode 100644 core/applib/src/main/java/org/apache/isis/applib/internal/base/_Strings_SplitIterator.java
copy core/{runtime/src/main/java/org/apache/isis/core/runtime/fixtures => applib/src/main/java/org/apache/isis/applib/internal/base}/package-info.java (75%)
rename core/applib/src/main/java/org/apache/isis/applib/{util/Streams.java => internal/compare/_Comparators.java} (53%)
rename core/{metamodel/src/main/java/org/apache/isis/core/commons/compare/SequenceCompare.java => applib/src/main/java/org/apache/isis/applib/internal/compare/_Comparators_SequenceCompare.java} (62%)
copy core/{runtime/src/main/java/org/apache/isis/core/runtime/fixtures => applib/src/main/java/org/apache/isis/applib/internal/compare}/package-info.java (75%)
create mode 100644 core/applib/src/main/java/org/apache/isis/applib/internal/context/_Context.java
copy core/{runtime/src/main/java/org/apache/isis/core/runtime/fixtures => applib/src/main/java/org/apache/isis/applib/internal/context}/package-info.java (75%)
create mode 100644 core/applib/src/main/java/org/apache/isis/applib/internal/exceptions/_Exceptions.java
copy core/{runtime/src/main/java/org/apache/isis/core/runtime/fixtures => applib/src/main/java/org/apache/isis/applib/internal/exceptions}/package-info.java (74%)
copy core/{runtime/src/main/java/org/apache/isis/core/runtime/fixtures => applib/src/main/java/org/apache/isis/applib/internal}/package-info.java (75%)
create mode 100644 core/applib/src/main/java/org/apache/isis/applib/internal/reflection/_Reflect.java
create mode 100644 core/applib/src/main/java/org/apache/isis/applib/internal/reflection/_Reflect_Discovery.java
create mode 100644 core/applib/src/main/java/org/apache/isis/applib/internal/reflection/_Reflect_Manifest.java
copy core/{runtime/src/main/java/org/apache/isis/core/runtime/fixtures => applib/src/main/java/org/apache/isis/applib/internal/reflection}/package-info.java (74%)
copy core/applib/src/main/java/org/apache/isis/applib/services/exceprecog/{ExceptionRecognizerForType.java => ExceptionRecognizerForType2.java} (73%)
create mode 100644 core/applib/src/test/java/org/apache/isis/applib/internal/base/NullSafeTest.java
create mode 100644 core/applib/src/test/java/org/apache/isis/applib/internal/base/StringsTest.java
create mode 100644 core/applib/src/test/java/org/apache/isis/applib/internal/compare/ComparatorsTest.java
copy core/applib/src/test/java/org/apache/isis/applib/services/exceprecog/{ExceptionRecognizerForTypeTest.java => ExceptionRecognizerForType2Test.java} (84%)
delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/commons/lang/Closure.java
delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/commons/lang/IterableExtensions.java
delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/commons/lang/Nullable.java
delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/commons/reflection/Reflect.java
delete mode 100644 core/metamodel/src/test/java/org/apache/isis/core/commons/lang/IterableExtensionsTest_fold.java
--
To stop receiving notification emails like this one, please contact
danhaywood@apache.org.
[isis] 01/06: ISIS-1852: fixes unit test
Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
commit 0d749cec1c964b903150988d5e1457bda65f185e
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Wed Feb 14 13:56:23 2018 +0000
ISIS-1852: fixes unit test
the algorithm was wrong, I think
---
.../core/runtime/services/ServiceInstantiator.java | 2 +-
.../runtime/services/ServiceInstantiatorTest.java | 47 ++++++++++++----------
2 files changed, 26 insertions(+), 23 deletions(-)
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServiceInstantiator.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServiceInstantiator.java
index 77adb02..1643c2d 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServiceInstantiator.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServiceInstantiator.java
@@ -160,7 +160,7 @@ public final class ServiceInstantiator {
// Allow serviceByThread to be propagated from the thread that starts the request
// to any child-threads, hence InheritableThreadLocal.
private InheritableThreadLocal<T> serviceByThread = new InheritableThreadLocal<>();
-
+
@Override
public Object invoke(final Object proxied, final Method proxyMethod, final Method proxiedMethod, final Object[] args) throws Throwable {
diff --git a/core/runtime/src/test/java/org/apache/isis/core/runtime/services/ServiceInstantiatorTest.java b/core/runtime/src/test/java/org/apache/isis/core/runtime/services/ServiceInstantiatorTest.java
index d12766e..6bf03e7 100644
--- a/core/runtime/src/test/java/org/apache/isis/core/runtime/services/ServiceInstantiatorTest.java
+++ b/core/runtime/src/test/java/org/apache/isis/core/runtime/services/ServiceInstantiatorTest.java
@@ -16,26 +16,30 @@
*/
package org.apache.isis.core.runtime.services;
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-
+import java.util.Collections;
+import java.util.List;
import java.util.concurrent.BrokenBarrierException;
import java.util.concurrent.CyclicBarrier;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
-import java.util.concurrent.atomic.AtomicInteger;
import javax.enterprise.context.RequestScoped;
-import org.apache.isis.core.commons.config.IsisConfigurationDefault;
-import org.apache.isis.core.metamodel.services.ServicesInjector;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
+import com.google.common.collect.Lists;
+
import org.jmock.auto.Mock;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
+import org.apache.isis.core.commons.config.IsisConfigurationDefault;
+import org.apache.isis.core.metamodel.services.ServicesInjector;
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
public class ServiceInstantiatorTest {
@Rule
@@ -139,7 +143,8 @@ public class ServiceInstantiatorTest {
final AccumulatingCalculator calculator =
serviceInstantiator.createInstance(AccumulatingCalculator.class);
- final AtomicInteger counter = new AtomicInteger();
+
+ final List<Integer> interimTotals = Collections.synchronizedList(Lists.newArrayList());
final int n = 100;
final int nThreads = 8;
@@ -151,21 +156,17 @@ public class ServiceInstantiatorTest {
for(int i=1;i<=n;++i) {
final int j=i;
- execService.submit(new Runnable() {
-
- @Override
- public void run() {
- try {
+ execService.submit(() -> {
+ try {
- // access the request scoped calculator on a child thread of 'main'
- calculator.add(j);
- counter.addAndGet(calculator.getTotal());
+ // access the request scoped calculator on a child thread of 'main'
+ calculator.add(j);
+ interimTotals.add(calculator.getTotal());
- } catch (Exception e) {
- System.err.println(e.getMessage());
- }
- }
- });
+ } catch (Exception e) {
+ System.err.println(e.getMessage());
+ }
+ });
}
@@ -175,7 +176,9 @@ public class ServiceInstantiatorTest {
((RequestScopedService)calculator).__isis_endRequest();
- assertThat(counter.intValue(), is(n*(n+1)/2));
+ assertThat(interimTotals.size(), is(n));
+ final Integer maxTotal = Collections.max(interimTotals);
+ assertThat(maxTotal, is(n*(n+1)/2));
}
public static class SingletonCalculator {
--
To stop receiving notification emails like this one, please contact
danhaywood@apache.org.
[isis] 06/06: ISIS-1852: removes debug System.out.println
Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
commit 96a2a78533369b9f8cc2e8eb63a32e3420336ef1
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Wed Feb 14 14:33:17 2018 +0000
ISIS-1852: removes debug System.out.println
---
.../java/org/apache/isis/core/runtime/services/ServiceInstantiator.java | 2 --
1 file changed, 2 deletions(-)
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServiceInstantiator.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServiceInstantiator.java
index 1643c2d..421f17a 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServiceInstantiator.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServiceInstantiator.java
@@ -164,8 +164,6 @@ public final class ServiceInstantiator {
@Override
public Object invoke(final Object proxied, final Method proxyMethod, final Method proxiedMethod, final Object[] args) throws Throwable {
- System.out.println("invoke: "+proxyMethod.getName()+" "+this);
-
cacheMethodsIfNecessary(cls);
if(proxyMethod.getName().equals("__isis_startRequest")) {
--
To stop receiving notification emails like this one, please contact
danhaywood@apache.org.
[isis] 02/06: Merge branch 'ISIS-1852_parallel_stream_patch'
Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
commit c1497719fa8276b0d5b8ac2a83771beabf821e39
Merge: 1b19e6e 0d749ce
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Wed Feb 14 13:58:14 2018 +0000
Merge branch 'ISIS-1852_parallel_stream_patch'
.../core/runtime/services/ServiceInstantiator.java | 8 +-
.../runtime/services/ServiceInstantiatorTest.java | 278 ++++++++++++---------
2 files changed, 171 insertions(+), 115 deletions(-)
--
To stop receiving notification emails like this one, please contact
danhaywood@apache.org.
[isis] 03/06: Merge remote-tracking branch
'origin/ISIS-1846_internal_utils'
Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
commit e989ad937057a074023042691a0b65df036740b1
Merge: c149771 8ebd313
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Wed Feb 14 13:59:38 2018 +0000
Merge remote-tracking branch 'origin/ISIS-1846_internal_utils'
# Conflicts:
# core/applib/src/main/java/org/apache/isis/applib/services/eventbus/AbstractDomainEvent.java
# core/applib/src/main/java/org/apache/isis/schema/utils/CommonDtoUtils.java
# core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectAction.java
core/applib/pom.xml | 20 +-
.../java/org/apache/isis/applib/AppManifest.java | 120 +---------
.../apache/isis/applib/AppManifestAbstract.java | 3 +-
.../org/apache/isis/applib/IsisApplibModule.java | 5 +-
.../org/apache/isis/applib/ModuleAbstract.java | 4 +-
.../fixturescripts/BuilderScriptAbstract.java | 4 +-
.../applib/fixturescripts/ExecutionParameters.java | 6 +-
.../applib/fixturescripts/FixtureResultList.java | 4 +-
.../isis/applib/fixturescripts/FixtureScript.java | 41 ++--
.../isis/applib/fixturescripts/FixtureScripts.java | 3 +
.../isis/applib/fixturescripts/StringUtil.java | 79 -------
.../Streams.java => internal/_Constants.java} | 42 ++--
.../apache/isis/applib/internal/base/_Casts.java} | 34 +--
.../isis/applib/internal/base/_NullSafe.java} | 74 +++++--
.../apache/isis/applib/internal/base/_Strings.java | 232 ++++++++++++++++++++
.../internal/base/_Strings_NaturalNames.java | 94 ++++++++
.../internal/base/_Strings_SplitIterator.java | 73 +++++++
.../Casts.java => internal/base/package-info.java} | 21 +-
.../applib/internal/compare/_Comparators.java} | 52 +++--
.../compare/_Comparators_SequenceCompare.java} | 53 +++--
.../applib/internal/compare/package-info.java} | 20 +-
.../isis/applib/internal/context/_Context.java | 151 +++++++++++++
.../applib/internal/context/package-info.java} | 20 +-
.../applib/internal/exceptions/_Exceptions.java | 85 +++++++
.../applib/internal/exceptions/package-info.java} | 20 +-
.../apache/isis/applib/internal/package-info.java} | 20 +-
.../isis/applib/internal/reflection/_Reflect.java | 83 +++++++
.../internal/reflection/_Reflect_Discovery.java | 85 +++++++
.../internal/reflection/_Reflect_Manifest.java | 147 +++++++++++++
.../applib/internal/reflection/package-info.java} | 20 +-
.../layout/component/CollectionLayoutData.java | 3 +-
.../isis/applib/layout/component/FieldSet.java | 2 +-
.../applib/layout/grid/bootstrap3/BS3ClearFix.java | 1 +
.../layout/grid/bootstrap3/BS3ElementAbstract.java | 1 +
.../applib/layout/grid/bootstrap3/BS3Grid.java | 2 +-
.../isis/applib/layout/grid/bootstrap3/BS3Tab.java | 4 +-
.../applib/layout/menubars/MenuBarsAbstract.java | 1 +
.../applib/layout/menubars/bootstrap3/BS3Menu.java | 5 -
.../layout/menubars/bootstrap3/BS3MenuBars.java | 5 +
.../java/org/apache/isis/applib/query/Query.java | 2 +-
.../services/appfeat/ApplicationMemberType.java | 15 +-
.../isis/applib/services/bookmark/Bookmark.java | 5 +-
.../ClassDiscoveryServiceUsingReflections.java | 35 +--
.../isis/applib/services/dto/DtoMappingHelper.java | 6 +-
.../services/eventbus/AbstractDomainEvent.java | 15 ++
.../exceprecog/ExceptionRecognizerAbstract.java | 57 ++++-
.../exceprecog/ExceptionRecognizerForType.java | 1 +
...rType.java => ExceptionRecognizerForType2.java} | 63 +++---
...xceptionRecognizerForJDODataStoreException.java | 4 +-
...traintViolationForeignKeyNoActionException.java | 17 +-
...ionRecognizerForJDOObjectNotFoundException.java | 5 +-
...yConstraintViolationUniqueOrIndexException.java | 17 +-
.../isis/applib/services/jaxb/JaxbService.java | 10 +-
.../queryresultscache/QueryResultsCache.java | 4 +-
.../services/repository/RepositoryService.java | 26 ++-
.../isis/applib/spec/AbstractSpecification2.java | 4 +-
.../java/org/apache/isis/applib/util/Enums.java | 40 +---
.../java/org/apache/isis/applib/util/JaxbUtil.java | 4 +-
.../apache/isis/applib/util/ObjectContracts.java | 6 +-
.../org/apache/isis/applib/util/TitleBuffer.java | 8 +-
.../apache/isis/schema/utils/CommonDtoUtils.java | 20 +-
.../isis/schema/utils/InteractionDtoUtils.java | 19 +-
.../isis/schema/utils/MemberExecutionDtoUtils.java | 4 +-
.../isis/applib/internal/base/NullSafeTest.java | 116 ++++++++++
.../isis/applib/internal/base/StringsTest.java | 243 +++++++++++++++++++++
.../applib/internal/compare/ComparatorsTest.java | 158 ++++++++++++++
...t.java => ExceptionRecognizerForType2Test.java} | 29 ++-
.../exceprecog/ExceptionRecognizerGeneralTest.java | 32 ++-
.../core/commons/exceptions/ExceptionUtils.java | 6 +-
.../isis/core/commons/lang/ObjectExtensions.java | 4 +-
.../isis/core/commons/lang/StringExtensions.java | 70 +-----
.../isis/core/commons/lang/StringFunctions.java | 7 +-
.../isis/core/commons/lang/StringPredicates.java | 7 +-
.../isis/core/commons/reflection/Reflect.java | 167 --------------
.../isis/core/metamodel/adapter/oid/Oid.java | 9 +-
.../isis/core/metamodel/facetapi/FacetUtil.java | 10 +-
.../core/metamodel/facets/MethodFinderUtils.java | 16 +-
...ctionInvocationFacetForDomainEventAbstract.java | 15 +-
.../ActionDefaultsFacetViaMethodFactory.java | 3 +-
.../facets/all/i18n/NamedFacetTranslated.java | 2 +-
.../DomainObjectAnnotationFacetFactory.java | 9 +-
.../AuditableFacetForDomainObjectAnnotation.java | 5 +-
.../domainservice/DomainServiceMenuOrder.java | 5 +-
.../ignore/javalang/RemoveMethodsFacetFactory.java | 3 +-
.../MemberGroupLayoutFacetProperties.java | 25 ++-
.../recreatable/RecreatableObjectFacetFactory.java | 8 +-
.../ActionParameterAutoCompleteFacetViaMethod.java | 3 +-
...rameterChoicesFacetDerivedFromChoicesFacet.java | 3 +-
.../method/ActionChoicesFacetViaMethodFactory.java | 3 +-
.../ActionParameterChoicesFacetViaMethod.java | 9 +-
...cetInvertedByNullableAnnotationOnParameter.java | 4 +-
...ropertyChoicesFacetDerivedFromChoicesFacet.java | 5 +-
.../MemberOrderFacetComparator.java | 4 +-
.../exceprecog/ExceptionRecognizerDocDefault.java | 7 +-
.../services/grid/GridLoaderServiceDefault.java | 3 +-
.../RepositoryServiceInternalDefault.java | 33 ++-
.../core/metamodel/spec/feature/ObjectAction.java | 18 +-
.../specloader/specimpl/ObjectActionDefault.java | 4 +-
.../core/metamodel/util/DeweyOrderComparator.java | 51 +----
.../commons/lang/IterableExtensionsTest_fold.java | 45 ----
.../metamodel/facets/MethodFinderUtilsTest.java | 27 ++-
.../apache/isis/core/metamodel/facets/Utils.java | 3 +-
core/pom.xml | 21 +-
.../isis/core/runtime/headless/IsisSystem.java | 2 +-
.../services/ServicesInstallerFromAnnotation.java | 36 ++-
.../core/runtime/system/context/IsisContext.java | 102 ++++-----
.../system/session/IsisSessionFactoryBuilder.java | 8 +-
.../IsisComponentProvider.java | 38 ++--
.../objectstore/jdo/service/RegisterEntities.java | 39 +---
.../DummyAction.java | 3 +-
.../eventbus/EventBusServiceDefaultTest.java | 22 +-
.../core/specsupport/specs/CukeGlueAbstract.java | 16 +-
core/unittestsupport/pom.xml | 1 +
.../wicket/model/models/EntityCollectionModel.java | 44 ++--
.../models/LowestCommonSuperclassClosureTest.java | 13 +-
.../wicket/ui/components/layout/bs3/col/Col.java | 18 +-
.../components/layout/bs3/tabs/TabGroupPanel.java | 29 +--
117 files changed, 2354 insertions(+), 1235 deletions(-)
diff --cc core/applib/src/main/java/org/apache/isis/applib/services/eventbus/AbstractDomainEvent.java
index 8723792,ccb1331..024721a
--- 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
@@@ -20,9 -20,10 +20,14 @@@ package org.apache.isis.applib.services
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.exceptions._Exceptions;
import org.apache.isis.applib.services.i18n.TranslatableString;
import org.apache.isis.applib.util.ObjectContracts;
@@@ -244,20 -247,20 +249,25 @@@ public abstract class AbstractDomainEve
public void veto(final String reason, final Object... args) {
switch (getEventPhase()) {
case HIDE:
- hide();
- //TODO [ahuber] REVIEW missing break or intended?
+ hide();
+ break;
case DISABLE:
+ if(reason == null) {
+ throw new IllegalArgumentException("Reason must be non-null");
+ }
disable(String.format(reason, args));
- //TODO [ahuber] REVIEW missing break or intended?
+ break;
case VALIDATE:
+ if(reason == null) {
+ throw new IllegalArgumentException("Reason must be non-null");
+ }
invalidate(String.format(reason, args));
break;
-
+ case EXECUTED:
+ case EXECUTING:
+ break;
+ default:
+ throw _Exceptions.unmatchedCase(getEventPhase());
}
}
/**
@@@ -284,6 -287,13 +294,11 @@@
case VALIDATE:
invalidate(translatableReason);
break;
-
+ case EXECUTED:
+ case EXECUTING:
+ break;
+ default:
+ throw _Exceptions.unmatchedCase(getEventPhase());
-
}
}
//endregion
diff --cc core/applib/src/main/java/org/apache/isis/schema/utils/CommonDtoUtils.java
index b85a869,44626b0..d3f0159
--- 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
@@@ -34,16 -30,11 +34,16 @@@ import org.joda.time.DateTime
import org.joda.time.LocalDate;
import org.joda.time.LocalDateTime;
import org.joda.time.LocalTime;
-
+ import org.apache.isis.applib.internal.base._Casts;
+ import org.apache.isis.applib.internal.exceptions._Exceptions;
import org.apache.isis.applib.services.bookmark.Bookmark;
import org.apache.isis.applib.services.bookmark.BookmarkService;
- import org.apache.isis.applib.util.Casts;
+import org.apache.isis.applib.value.Blob;
+import org.apache.isis.applib.value.Clob;
+import org.apache.isis.schema.cmd.v1.MapDto;
import org.apache.isis.schema.cmd.v1.ParamDto;
+import org.apache.isis.schema.common.v1.BlobDto;
+import org.apache.isis.schema.common.v1.ClobDto;
import org.apache.isis.schema.common.v1.CollectionDto;
import org.apache.isis.schema.common.v1.EnumDto;
import org.apache.isis.schema.common.v1.OidDto;
@@@ -357,17 -321,9 +354,17 @@@ public final class CommonDtoUtils
final String enumType = enumDto.getEnumType();
@SuppressWarnings("rawtypes")
final Class<? extends Enum> enumClass = loadClassElseThrow(enumType);
- return Enum.valueOf(Casts.uncheckedCast(enumClass), enumDto.getEnumName());
+ return Enum.valueOf(_Casts.uncheckedCast(enumClass), enumDto.getEnumName());
case REFERENCE:
return valueDto.getReference();
+ case COLLECTION:
+ return valueDto.getCollection();
+ case BLOB:
+ final BlobDto blobDto = valueDto.getBlob();
+ return new Blob(blobDto.getName(), blobDto.getMimeType(), blobDto.getBytes());
+ case CLOB:
+ final ClobDto clobDto = valueDto.getClob();
+ return new Clob(clobDto.getName(), clobDto.getMimeType(), clobDto.getChars());
case VOID:
return null;
default:
diff --cc core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectAction.java
index 0c421e4,ad9525b..f8166ee
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectAction.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectAction.java
@@@ -20,15 -20,8 +20,16 @@@ package org.apache.isis.core.metamodel.
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
+ import java.util.stream.Collectors;
+import javax.annotation.Nullable;
+
+import com.google.common.base.Objects;
+import com.google.common.base.Predicate;
+import com.google.common.base.Strings;
+import com.google.common.collect.FluentIterable;
+import com.google.common.collect.Lists;
+
import org.apache.isis.applib.Identifier;
import org.apache.isis.applib.annotation.ActionLayout;
import org.apache.isis.applib.annotation.InvokeOn;
diff --cc core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryBuilder.java
index 5c9e0b4,bb08a05..7a56c93
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryBuilder.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryBuilder.java
@@@ -222,8 -219,9 +220,8 @@@ public class IsisSessionFactoryBuilder
if(LOG.isDebugEnabled()) {
LOG.debug("Meta model invalid", ex);
}
- IsisContext.setMetaModelInvalidException(ex);
+ _Context.putSingleton(MetaModelInvalidException.class, ex);
}
-
}
}
);
diff --cc core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModel.java
index e40d778,e86b7af..f32d18f
--- a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModel.java
+++ b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModel.java
@@@ -211,14 -197,12 +208,14 @@@ public class EntityCollectionModel exte
public abstract String getName(EntityCollectionModel entityCollectionModel);
public abstract int getCount(EntityCollectionModel entityCollectionModel);
+
+ public abstract EntityModel.RenderingHint renderingHint();
}
- static class LowestCommonSuperclassClosure implements Closure<Class<?>>{
+ static class LowestCommonSuperclassFinder {
private Class<?> common;
- @Override
- public Class<?> execute(final Class<?> value) {
+
+ public void collect(final Class<?> value) {
if(common == null) {
common = value;
} else {
--
To stop receiving notification emails like this one, please contact
danhaywood@apache.org.
[isis] 04/06: ISIS-1846: fixes unit test (had accidentally changed
contract)
Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
commit c1d0732604857ebf0d9496914e737d824617e1e0
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Wed Feb 14 14:26:44 2018 +0000
ISIS-1846: fixes unit test (had accidentally changed contract)
---
.../models/LowestCommonSuperclassClosureTest.java | 26 +++++++++-------------
1 file changed, 11 insertions(+), 15 deletions(-)
diff --git a/core/viewer-wicket-model/src/test/java/org/apache/isis/viewer/wicket/model/models/LowestCommonSuperclassClosureTest.java b/core/viewer-wicket-model/src/test/java/org/apache/isis/viewer/wicket/model/models/LowestCommonSuperclassClosureTest.java
index 523bf37..4114cda 100644
--- a/core/viewer-wicket-model/src/test/java/org/apache/isis/viewer/wicket/model/models/LowestCommonSuperclassClosureTest.java
+++ b/core/viewer-wicket-model/src/test/java/org/apache/isis/viewer/wicket/model/models/LowestCommonSuperclassClosureTest.java
@@ -19,14 +19,14 @@
package org.apache.isis.viewer.wicket.model.models;
-import static org.junit.Assert.assertThat;
-
+import java.util.Arrays;
import java.util.List;
-import org.apache.isis.core.commons.matchers.IsisMatchers;
import org.junit.Test;
-import com.google.common.collect.Lists;
+import org.apache.isis.core.commons.matchers.IsisMatchers;
+
+import static org.junit.Assert.assertThat;
public class LowestCommonSuperclassClosureTest {
@@ -37,30 +37,26 @@ public class LowestCommonSuperclassClosureTest {
static class Lion extends Mammal {}
@Test
- public void nothingInCommon() throws Exception {
- assertLowestCommonOfListIs(listOf(Animal.class, Mineral.class, Vegetable.class), Object.class);
+ public void nothingInCommon() {
+ assertLowestCommonOfListIs(Arrays.asList(new Animal(), new Mineral(), new Vegetable()), Object.class);
}
@Test
- public void superclassInCommon() throws Exception {
- assertLowestCommonOfListIs(listOf(Animal.class, Mammal.class), Animal.class);
+ public void superclassInCommon() {
+ assertLowestCommonOfListIs(Arrays.asList(new Animal(), new Mammal()), Animal.class);
}
@Test
- public void subclassInCommon() throws Exception {
- assertLowestCommonOfListIs(listOf(Lion.class, Lion.class), Lion.class);
+ public void subclassInCommon() {
+ assertLowestCommonOfListIs(Arrays.asList(new Lion(), new Lion()), Lion.class);
}
- private static void assertLowestCommonOfListIs(List<Class<?>> list, Class<?> expected) {
+ private static void assertLowestCommonOfListIs(List<Object> list, Class<?> expected) {
EntityCollectionModel.LowestCommonSuperclassFinder finder =
new EntityCollectionModel.LowestCommonSuperclassFinder();
finder.searchThrough(list);
assertThat(finder.getLowestCommonSuperclass(), IsisMatchers.classEqualTo(expected));
}
- private static List<Class<? extends Object>> listOf(Class<?>... classes) {
- return Lists.newArrayList(classes);
- }
-
}
--
To stop receiving notification emails like this one, please contact
danhaywood@apache.org.
[isis] 05/06: ISIS-1846: reinstates reflections as a non-optional
compile-time dependency, since required for both compile and runtime.
Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
commit e0cb0853671a803c5356ef5ea8e1a884ddfebe78
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Wed Feb 14 14:27:19 2018 +0000
ISIS-1846: reinstates reflections as a non-optional compile-time dependency, since required for both compile and runtime.
---
core/applib/pom.xml | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/core/applib/pom.xml b/core/applib/pom.xml
index 596f0a9..2d84f74 100644
--- a/core/applib/pom.xml
+++ b/core/applib/pom.xml
@@ -122,7 +122,6 @@
<dependency>
<groupId>org.axonframework</groupId>
<artifactId>axon-core</artifactId>
- <optional>true</optional>
</dependency>
<dependency>
@@ -166,9 +165,11 @@
<dependency>
<groupId>org.reflections</groupId>
<artifactId>reflections</artifactId>
- <!-- we enforce usage of internal reflective API,
- only applib is allowed to access reflections directly -->
- <optional>true</optional>
+ <!--
+ ideally we would like to make this optional (to enforce usage of internal
+ reflective API, with only applib is allowed to access reflections directly.
+ HOWEVER, there is also a runtime dependency on org.reflections.vfs.Vfs.UrlType. -->
+ <optional>false</optional>
</dependency>
<!-- provides @Nullable -->
--
To stop receiving notification emails like this one, please contact
danhaywood@apache.org.