Clone Tools
  • last updated 10 mins ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
ISIS-1476: Transaction interface: Expose "clearAbortCause" for don't pick up handled persistence Exceptions

  1. … 1 more file in changeset.
ISIS-1476: Transaction interface: Expose "clearAbortCause" for don't pick up handled persistence Exceptions

  1. … 1 more file in changeset.
ISIS-1452: reinstates logic to abort transaction if an exception is thrown.

Previously (1.12.x) this was done using transaction facet decorators, but the work done under ISIS-1291 and others for this release removed those classes, without moving the responsibility elsewhere.

This commit reintroduces the handling, with the ActionInvocationFacet and PropertySetterOrClearFacet using the looked-up PersistenceSessionServiceInternal to executeWithinTransaction; this is basically the same place in the call stack that the decorator facets would have been.

The *Default impl of this - as used in runtime - delegates to the IsisTransactionManager#executeWithinTransaction(...).

  1. … 7 more files in changeset.
ISIS-1427: renamed IsisSystem to IsisSessionFactoryBuilder; bind IsisSessionFactory to http servlet context rather than IsisSystem (also do this in IsisWicketApplication); make OidMarshaller a singleton; remove convenience accessors from ServicesInjector; bind DeploymentCategory as a "service" (bean) in ServicesInjector; similarly refactor to remove AuthenticationSessionProvider service; MSG_ constants now listed in MessageRegistry

  1. … 57 more files in changeset.
ISIS-1427: simplifying IsisContext and minimizing calls to it; also removed Localization (unused)

    • -110
    • +45
    ./IsisTransactionManager.java
  1. … 214 more files in changeset.
ISIS-1427: IsisTransaction constructor simplified. Also, obtain MessageBroker from either AuthenticationSession or from ServicesInjector convenience method.

  1. … 8 more files in changeset.
ISIS-1429: removing unused fields in IsisTransaction

ISIS-1430: replace AuditingService with AuditerService.

  1. … 30 more files in changeset.
ISIS-1428: removing unnecessary 'synchronized' modifiers (either session-scoped or singletons, or singletons used only during bootstrapping, or singletons but race conditions would be harmless).

  1. … 5 more files in changeset.
ISIS-1427: AuthenticationSession eagerly creates its MessageBroker (rather than have IsisTransactionManager set it lazily).

Ratonale:

- simpler code, also removes a 'synchronized'

  1. … 3 more files in changeset.
ISIS-1414: introduced sequence for chg.xsd so that PublishedObjects can have a sequence; promoted WithTransactionScope interface to applib; QueryResultsCache now implements this interface.

The "transactionId" is really an interaction id, and there could be multiple transactions within a single such interaction. Therefore any PublishedObjects (= set of dirtied objects within a transaction) needs to have a sequence number to distinguish from other transactions, and also from any interaction executions.

  1. … 17 more files in changeset.
ISIS-1410: replacing Ensure hamcrest assertions with Java assert keyword

  1. … 17 more files in changeset.
ISIS-1414: removing 'numberOfPropertiesModified' from ixn.xsd and MetricsService; this is xactn-scoped information, not request-scoped. Also introduced WithTransactionScoped as a means to indicate which of the request-scoped members are really transaction-scoped.

    • -0
    • +27
    ./WithTransactionScope.java
  1. … 13 more files in changeset.
ISIS-1414: moving the @RequestScoped initialization/close stuff out of IsisTransactionManager and IsisTransaction, and into PersistenceSession.

Also:

- CommandService#startTransaction is no longer called.

- remove unused code/hashmap in PersistenceSession

    • -118
    • +16
    ./IsisTransactionManager.java
  1. … 7 more files in changeset.
ISIS-1411: removing DomainObjectContainerResolve helper class (inlining its functionality); removing inner interfaces only implemented by PersistenceSession.

  1. … 10 more files in changeset.
ISIS-1407: removed SpecificationLoaderAware.

Also:

- minor extension to ServiceRegistry2

- collapsed ServicesInjector, ServicesInjectorSpi and ServicesInjectorDefault to just ServicesInjector.

  1. … 270 more files in changeset.
ISIS-1402: removing Debuggable interface and implementations, and supporting unused debug methods.

  1. … 42 more files in changeset.
ISIS-1291: updating docs for new services. Also IsisTransaction now to clears the changed object properties rather than AuditingService, otherwise PublisherService would mis-report the metric of number of changed object properties.

  1. … 27 more files in changeset.
ISIS-1370: cleaning up the API to PublisherService, renaming EnlistedObjectsService to ChangedObjectsService etc.

  1. … 21 more files in changeset.
ISIS-1370: now supports publishing of objects.

  1. … 15 more files in changeset.
ISIS-1399: new MetricsService to capture metrics (objects loaded etc), capture within the Interaction.Execution.

  1. … 12 more files in changeset.
ISIS-1370: factored out EnlistedObjectsServiceInternal from IsisTransaction; used by AuditingServiceInternal and PublishingServiceInternal(Default).

  1. … 7 more files in changeset.
ISIS-1370: moved AuditingServiceInternal to an auditing package.

  1. … 3 more files in changeset.
ISIS-1370: factored out AuditingServiceInternal as wrapper around AuditingService3 (similar design to PublshingServiceInternal wrapping PublishingService).

  1. … 1 more file in changeset.
ISIS-1370: getting build to pass (moving PublishingServiceInternalDefault to package where it will be picked up as a domain service).

Also removing unused code in DomainObjectInvocationHandler.

  1. … 3 more files in changeset.
ISIS-1370: move responsibility for publishing actions into the ActionInvocationFacet (instead of in IsisTransaction and DomainObjectInvocationHandler)

To this end, extract interface for PublishingServiceInternal, move to metamodel module (out from runtime).

Also minor refactoring wihin PublishingServiceInternal(Default) itself.

  1. … 6 more files in changeset.
ISIS-1370: removing unused code from IsisTransaction

ISIS-1370: moving publishObjects from IsisTransaction to PublishingServiceInternal; inline methods; DomainObjectInvocationHandler calls PublishingServiceInternal rather than IsisTransaction.

  1. … 2 more files in changeset.
ISIS-1370: moving IsisTransaction#publishObject to PublishingServiceInternal

  1. … 1 more file in changeset.
ISIS-1370: no need to pass ObjectStringifier to PublishingServiceInternal

  1. … 1 more file in changeset.