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 <d...@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 danhayw...@apache.org.