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.