Clone Tools
  • last updated 24 mins ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
ISIS-2126 aligning most pkg names for module 'metamodel'

- o.a.i.core.metamodel.* -> o.a.i.metamodel.*

    • -35
    • +0
    ./ObjectSpecIdFacetDerivedFromClassName.java
    • -187
    • +0
    ./ObjectSpecIdFacetDerivedFromClassNameFactory.java
    • -31
    • +0
    ./ObjectSpecIdFacetDerivedFromDomainServiceAnnotationElseGetId.java
    • -31
    • +0
    ./ObjectSpecIdFacetOnStandaloneList.java
  1. … 3138 more files in changeset.
ISIS-2112: refining BeanSort terminology

- also makes helloworld deployable again

- core: maven build and surefire tests successful

Task-Url: https://issues.apache.org/jira/browse/ISIS-2112

    • -2
    • +2
    ./ObjectSpecIdFacetDerivedFromClassNameFactory.java
  1. … 29 more files in changeset.
ISIS-2112: trouble-shooting: adds some fixes, some debug code

Task-Url: https://issues.apache.org/jira/browse/ISIS-2112

    • -1
    • +3
    ./ObjectSpecIdFacetDerivedFromClassName.java
  1. … 21 more files in changeset.
ISIS-2112: backporting from '2033-IoC_Spring' branch

Task-Url: https://issues.apache.org/jira/browse/ISIS-2112

    • -3
    • +3
    ./ObjectSpecIdFacetDerivedFromClassNameFactory.java
  1. … 1098 more files in changeset.
ISIS-2033: refactoring names

service -> bean

Task-Url: https://issues.apache.org/jira/browse/ISIS-2033

    • -2
    • +2
    ./ObjectSpecIdFacetDerivedFromClassNameFactory.java
  1. … 23 more files in changeset.
ISIS-2033: optimize ObjectSpec: decide sort once then treat immutable

Task-Url: https://issues.apache.org/jira/browse/ISIS-2033

    • -1
    • +1
    ./ObjectSpecIdFacetDerivedFromClassNameFactory.java
  1. … 8 more files in changeset.
Revert "ISIS-2033: intermediate breaking commit"

This reverts commit ded1cec9883aec14583a9709e408a1584ab2b53d.

    • -9
    • +4
    ./ObjectSpecIdFacetDerivedFromClassNameFactory.java
  1. … 140 more files in changeset.
ISIS-2033: intermediate breaking commit

Task-Url: https://issues.apache.org/jira/browse/ISIS-2033

    • -4
    • +9
    ./ObjectSpecIdFacetDerivedFromClassNameFactory.java
  1. … 140 more files in changeset.
Merge branch 'master' into v2

# Conflicts:

# core/config/src/main/java/org/apache/isis/config/builder/IsisConfigurationDefault.java

# core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactory.java

# core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/objectspecid/classname/ObjectSpecIdFacetDerivedFromClassNameFactory.java

# core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/choices/method/ActionChoicesFacetViaMethod.java

# core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/validating/maskannot/MaskFacetOnParameterAnnotationFactory.java

# core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/validating/maskannot/MaskFacetOnPropertyAnnotationFactory.java

# core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/metamodel/MetaModelExporter.java

# core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/metamodel/MetaModelServiceDefault.java

# core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationCacheDefault.java

# core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationLoader.java

# core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/classsubstitutor/ClassSubstitutor.java

# core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/FacetedMethodsBuilder.java

# core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java

# core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java

# core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java

# core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/standalonelist/ObjectSpecificationOnStandaloneList.java

# core/metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/object/discriminator/JdoDiscriminatorAnnotationFacetFactory.java

# core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/ProgrammingModelFacetsJava5.java

# core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/ObjectTypeAnnotationFacetFactoryTest.java

# core/plugins/jdo-datanucleus-4/src/main/java/org/apache/isis/core/runtime/system/persistence/DataNucleusApplicationComponents4.java

# core/runtime/src/main/java/org/apache/isis/core/runtime/memento/Memento.java

# core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceQueryFactory.java

# core/runtime/src/main/java/org/apache/isis/core/runtime/systemusinginstallers/IsisComponentProvider.java

# core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java

# core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/ServiceActionsPanel.html

# core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/icontitle/EntityIconAndTitlePanel.java

# core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/linkandlabel/ActionLinkFactoryAbstract.java

# core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.java

# example/application/simpleapp/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.java

    • -10
    • +19
    ./ObjectSpecIdFacetDerivedFromClassNameFactory.java
  1. … 61 more files in changeset.
ISIS-2050: reworks order and depth of introspection.

Squashed from previous commits:

ISIS-2050: uses simpler overload that defaults IntrospectionState to TYPE_INTROSPECTED.

Also introduces overload for className as well as Class<?>

ISIS-2050: only contribute to entities and view models; improves MetaModel exporter

to also dump out the facets of any "discovered" domain types.

ISIS-2050: load specs only to TYPE (not MEMBERS) everywhere; only adds described as facet (derived from type) if is do-op.

ISIS-2050: fixes for unit tests and reorder introspection slightly in order to fix lockdown

ISIS-2050: adds ValueFacet for Joda LocalTime

Uses a very simple implementation, because I suspect that the other capabilities of ValueFacet simply aren't needed anymore...

ISIS-2050:

- removes contributingDomainServiceTypes from AppManifest.Registry once more ... will just eagerly introspect type and members for all domain services

- fixes introspectUpTo algorithm

- skip type hierarchy traversal for domain services with natureOfService=DOMAIN

- improves/reduces logging

- lazily introspect up to type and members whenever any of the members (properties/collections/actions) are referenced of an ObjectSpecAbstract

ISIS-2050: introduces config property to enable/disable full introspection of metamodel

If disabled, then metamodel validation is skipped

ISIS-2050: moves introspectObjectSpecId() so called directly from constructor of ObjectSpec.

ISIS-2050: postProcessor now called by ObjectSpecAbstract after fully introspected, rather than by SpecificationLoader

ISIS-2050: passes PostProcessor into ObjectSpecificationAbstract's constructor

ISIS-2050: scales back the depth of introspection when introspecting members

- only need to introspect the type for parameters and return types.

ISIS-2050: removes SpecificationLoader#state; now responsibility of each ObjectSpecification to keep track of its own introspectionState.

ISIS-2050: eagerly introspects contributing specs, lazily introspecs the remainder.

ISIS-2050: updates AppManifest.Registry to also hold all contributingDomainServiceTypes

This is so that we can eagerly build the ObjectSpecs for these types and mixins, but leave everything else to be built lazily.

ISIS-2050: when traversing type hierarchy, now only introspect super types up to the TYPE, not their MEMBERs as well.

ISIS-2050: renames two of the IntrospectionStates

ISIS-2050: pulls upTo introspectionState into a parameter for all of SpecificationLoaders methods

... so that the caller can decide the level of introspection that needs to be performed.

ISIS-2050: extends IntrospectionState with additional states for type vs member introspection; inlining methods to simplify

... with the aim of exposing the IntrospectionState upTo so can pass through and honour the phases.

Removed the guards in introspectTypeHierarchy, don't think they are needed any more since only ever called from its caller which checks the introspectionState anyway

ISIS-2050: breaks out introspectTypeHierarchyAndMembers into two.

ISIS-2050: replaces IntrospectionStrategy with the concept of introspecting "up to" a certain state.

ISIS-2050: refactors responsibilities of SpecLoader vs ObjectSpec

just the management of introspectionState on ObjectSpec

ISIS-2050: introduces ObjectSpecIdFacetFactory

and additional process(ProcessObjectSpecIdContext) for FacetProcessor

    • -10
    • +19
    ./ObjectSpecIdFacetDerivedFromClassNameFactory.java
  1. … 74 more files in changeset.
2039 redesign of config (#134)

* ISIS-2039: major refactoring

move config code into its own module

remove number of classes in metamodel, that hold a reference to

IsisConfiguration or its implementation

hide the mutable IsisConfigurationDefault

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: reduce visibility of some config classes

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: simplify config access

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: cleaning up the component-provider mess

for web-modules: no longer negotiate by writing attributes to the

servlet-context, instead use a java class for that

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: fixing some tests

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: removing arguments of @PostConstruct methods

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: lazy binding to config for wicket

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: proposed test fix

also cleaning up verbose tests

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: more test fixes

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: experimenting with AppConfig managed by Guice

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: solving the AppManifest lookup problem independently of the

configuration bootstrapping

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: simplify helloworld

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: moving type discovery to an earlier stage in bootstrapping

Integration Test Bootstrapping works.

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: on web-context: move the config bootstrapping from wicket

module to the main ServletContextListener

such that the wicket module is no longer responsible for initiating the

framework

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: config bootstrapping: fixes the resource chain

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: allow ServiceLoader lookup for AppConfig to fallback ...

to previous behavior, that is to lookup the AppManifest from config

property 'isis.appManifest'

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: fixes concurrent modification with _Context

add a property 'isUnitTesting' to the IsisSystemEnvironment, to help

with the decision on how to bootstrap the configuration

also doing some cleaning up

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: fixing junit tests ...

by having the IsisSystemEnvironment#isUnitTesting correctly setup by

JunitRuleMocker2

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: further fixing tests ...

also moving ExceptionRecognizer services that depend on the 'config'

module from 'applib' to 'runtime'

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: fixing tests, that fail due to new domain object annot.

processing

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: unify config bootstrapping code for maven-plugin,

wicket-viewer and headless

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: to fix prev. commit: let the maven-plugin bootstrap the

configuration properly

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: fixing mm verification tests

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: reinstating the ConfigurationServiceDefault

also renaming packages within the 'config' module -> 'o.a.i.config'

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: removing the ConfigurationService interface

use the singleton IsisConfiguration instead

for the UI, the ConfigurationServiceMenu was renamed to

ConfigurationMenu which uses a ConfigurationViewService for the single

purpose of displaying config values

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: reorg. packages

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

    • -3
    • +3
    ./ObjectSpecIdFacetDerivedFromClassNameFactory.java
  1. … 425 more files in changeset.
Merge remote-tracking branch 'origin/master' into v2

    • -1
    • +5
    ./ObjectSpecIdFacetDerivedFromClassNameFactory.java
  1. … 143 more files in changeset.
ISIS-1976: finding a shorter name also fixes typo -> 'explicitIdOfType'

Task-Url: https://issues.apache.org/jira/browse/ISIS-1976

    • -1
    • +1
    ./ObjectSpecIdFacetDerivedFromClassNameFactory.java
  1. … 2 more files in changeset.
ISIS-1976: further cleanup ServiceUtil, fixes a NPE regression

Task-Url: https://issues.apache.org/jira/browse/ISIS-1976

    • -1
    • +2
    ./ObjectSpecIdFacetDerivedFromClassNameFactory.java
  1. … 2 more files in changeset.
ISIS-1974: fixes to ensure new algorithm generates same metamodel as previously.

More or less, that is.

The main change here is that some facet factories have been reimplemented in the SpecLoader PostProcessor, namely those that derive facets on object members based on the facets from the type of those members ... typical length, described as, immutable => disabled, param defaults.

- for now, the unused facets have been left in the codebase, commented out of ProgrammingModelFacetsJava5; the post-processor's name (ActionCollectionParameterDefaultsAndChoicesPostProcessor) is unchanged even though it now does much more than it used to

This results in some minor differences... ImmutableFacet is no longer always installed, for example, if DisabledFacet is present instead.

In addition to the PostProcessor changes:

- call post processing without requiring there to be an open session. Note that this requires a minor refactor in OneTo{One/Many}ActionParameterContributee - these take the servicePojo rather than the serviceAdapter

- refactor SpecificationCacheDefault, init() semantics are now cleaner

- it no longer takes a map (and the old init is now internalInit)

- SpecificationLoader#cacheBySpecId now removed - this is basically what is in the new version of init in SpecificationCacheDefault

- also search for @DomainServiceLayout, @DomainObjectLayout, @ViewModelLayout to find classes to introspect during bootstrapping

- don't introspect @Programmatic fixture scripts (unless they are explicitly discoverable by implementing DiscoverableFixtureScript)

- don't create any associations/actions for any domain services that have a nature of DOMAIN (unless they are also @HomePage domain service)

- don't create any associations/actions for fixture scripts

- OneTo{One/Many}AssociationContributee now implement getOnType (was throwing an NPE) & OneToManyAssociationMixedIn now implements getOnType (OTOAMI was already)

- these are to allow the implementatoin of the post-processor to look up the parent spec if the member is a mixin or contributee

- MetaModelExporter now includes a check that the objectSpecId -> ObjectSpecification is one-to-one.

- this is what precipitated the refactoring of SpecificationCacheDefault

- adds a guard in TypicalLengthFacetOnPropertyDerivedFromType, which was NPE'ing

- in the metamodel validator, as an ugly special case, allow ObjectSpecIdFacet to be derived from class name

- seems ok, since no longer have actoins on fixture scripts in the metamodel. Also, there are fixtures in the incode platform that fall foul of this check

- allow @Programmatic to be specified on fields

- annotate various fixture scripts as @Programmatic (so that they will be skipped completely from the metamodel)

- BuilderFixtureScript, TeardownFixtureScriptAbstract, PersonaEnumPersistAll, ClockFixture, TickingClockFixture

- fixed bug with MetaModelService6.Config class for getPackagePrefixes()

-

    • -1
    • +5
    ./ObjectSpecIdFacetDerivedFromClassNameFactory.java
  1. … 37 more files in changeset.
ISIS-1976: cleanup ServiceUtil

improve ServiceInjector's service list validation for uniqueness to

print all! duplicates

Task-Url: https://issues.apache.org/jira/browse/ISIS-1976

    • -1
    • +1
    ./ObjectSpecIdFacetDerivedFromClassNameFactory.java
  1. … 7 more files in changeset.
ISIS-1976: removes OA map, stream for metamodel, excising guava

Key achievements:

Metamodel: almost all guava Function and Predicate idioms removed

Metamodel: slight API improvements, such that some of the internal meta-data that is kept in Java

Collections is no longer copied into immutable lists for any calling client, instead Java Streams are returned (which treat the underlying collections un-modifiable by design)

the ObjectAdapter per-session map/cache is history

the legacy modules have been removed, for convenince and ease of migration the legacy/transition-1-2- module remains and shall provide legacy glue code

shiro was moved to plugins, and its artifact renamed, to be inline with the other plugins

    • -7
    • +4
    ./ObjectSpecIdFacetDerivedFromClassNameFactory.java
    • -2
    • +0
    ./ObjectSpecIdFacetDerivedFromDomainServiceAnnotationElseGetId.java
  1. … 557 more files in changeset.
ISIS-1841 automated source cleanup

Add missing '@Override' annotations

Remove trailing white spaces on all lines

Correct indentation

    • -1
    • +1
    ./ObjectSpecIdFacetDerivedFromClassNameFactory.java
  1. … 1410 more files in changeset.
ISIS-1848: ensures that FreeStandingList does not incorrectly return java.lang.Object's specId, and adds new metamodel validator to detect this situation in future.

    • -0
    • +31
    ./ObjectSpecIdFacetOnStandaloneList.java
  1. … 10 more files in changeset.
ISIS-1689: ObjectSpecIdFacetDerivedFromClassName is now a derived facet so will not clobber object spec id facet from JDO PersistenceCapable#schema

    • -1
    • +1
    ./ObjectSpecIdFacetDerivedFromClassName.java
  1. … 1 more file in changeset.
ISIS-1587: makes the check to filter ObjectSpecifications (for 'explicitObjectTypes') public so can be used elsewhere.

    • -39
    • +40
    ./ObjectSpecIdFacetDerivedFromClassNameFactory.java
ISIS-1587: for 'explicitObjectTypes' exclude mixins and contributed services. Also JAXB DTO view models.

    • -10
    • +18
    ./ObjectSpecIdFacetDerivedFromClassNameFactory.java
ISIS-1587: excludes JAXB DTO view models from objectType checking.

These are often code-generated from XSD schemas.

    • -0
    • +7
    ./ObjectSpecIdFacetDerivedFromClassNameFactory.java
ISIS-1587: extends explicitObjectType checking to take in view models.

Updated 3 view models defined by framework itself so as not to trigger validation error

    • -0
    • +6
    ./ObjectSpecIdFacetDerivedFromClassNameFactory.java
  1. … 8 more files in changeset.
ISIS-1582: generalizes checking for unique objectTypes to be unique across entities and domain services.

    • -0
    • +3
    ./ObjectSpecIdFacetDerivedFromClassName.java
    • -11
    • +49
    ./ObjectSpecIdFacetDerivedFromClassNameFactory.java
    • -2
    • +3
    ./ObjectSpecIdFacetDerivedFromDomainServiceAnnotationElseGetId.java
  1. … 11 more files in changeset.
ISIS-1586: adds @DomainService(objectType) and rationalizes w.r.t getId()

Also updates to documentation, to make clear what the precedence is for objectType (for both domain objects and domain services).

    • -1
    • +17
    ./ObjectSpecIdFacetDerivedFromClassNameFactory.java
    • -0
    • +32
    ./ObjectSpecIdFacetDerivedFromDomainServiceAnnotationElseGetId.java
  1. … 11 more files in changeset.
ISIS-1584: adds validator to prohibit contributed services (nature=VIEW or nature=VIEW_CONTRIBUTIONS_ONLY)

Disabled by default, can enable using a new configuration property.

Also:

- improved validation messages, indicating the config property that controls them

- changed existing mixins to use @Mixin(method="exec") so easier to read

- refactored the two contributed domain services (BookmarkHolder{Action/Association}Contributions) into mixins

- minor fix to simpleapp to remove its contributed domain service also (HomePageService).

    • -2
    • +2
    ./ObjectSpecIdFacetDerivedFromClassNameFactory.java
  1. … 15 more files in changeset.
ISIS-1583: already implemented, so this commit is just some tidy up ofcomments and trivial refactorig.

    • -2
    • +1
    ./ObjectSpecIdFacetDerivedFromClassNameFactory.java
  1. … 2 more files in changeset.
ISIS-1581: adds metamodel validator that ObjectSpecIdFacet is provided explicitly.

This is disabled by default, can be enabled using configuration property.

    • -1
    • +53
    ./ObjectSpecIdFacetDerivedFromClassNameFactory.java
  1. … 7 more files in changeset.
ISIS-939: pruning defunct uses of CollectionTypeRegistry and other subcomponents.

    • -1
    • +1
    ./ObjectSpecIdFacetDerivedFromClassNameFactory.java
  1. … 15 more files in changeset.