[ 
https://issues.apache.org/jira/browse/ISIS-833?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dan Haywood updated ISIS-833:
-----------------------------

    Description: 
... so that in future these can be released independently of core; and to 
reduce configuration (isis.properties file).


~~~~~~
No change for the following services:

core request-scoped services; already annotated with @DomainService, and so 
always available
- CommandContext                   (applib implementation; populated by runtime 
if available)
- Bulk.InteractionContext          (applib implementation; not used by runtime)
- Scratchpad                       (applib implementation; not used by runtime)
- QueryResultsCache                (applib implementation; not used by runtime)

core singleton services; already annotated with @DomainService, and so always 
available
- MementoServiceDefault                  (runtime implementation; used 
implicitly by runtime for commands)
- BookmarkServiceDefault                 (runtime implementation; used 
implicitly by runtime for commands)
- XmlSnapshotServiceDefault              (runtime implementation; not used by 
runtime)
- ClassDiscoveryServiceUsingReflections  (applib implementation; not used by 
runtime)
- ClockService                     (applib implementation; not used by runtime)
- IsisJdoSupportImpl               (not used by runtime)
- EventBusServiceJdo               (used by runtime if available)
- ExceptionRecognizerCompositeForJdoObjectStore   (used by runtime if available)


~~~~~~
The following are new (Maven) modules.  

Some notes:
* In all cases these can be annotated with @DomainService; thus they are 
configured and registered automatically if added to the classpath.
* If a service can be used by runtime, then its API is defined in applib; the 
module therefore contains only the impl.  Most of the modules below fall into 
this category.
* If a service is completely standalone from the framework, then it defines its 
own API (in an "applib" submodule) and its own impl.  An example of this is 
isis-module-settings, which defines AppSettings and UserSettings.


isis-module-wrapper                (used by integtestsupport)
- WrapperFactoryDefault            (rename core-wrapper implementation)

isis-module-command
- CommandServiceJdo                (used by runtime if available, so API in 
applib)
- CommandServiceJdoContributions   (UI, not used by runtime)
- CommandServiceJdoRepository      (no UI, supporting service for 
...Contributions)
- BackgroundCommandServiceJdo               (UI visible, not used by runtime 
but prereq for background service)
- BackgroundCommandServiceJdoContributions  (UI visible, not used by runtime)
- BackgroundCommandServiceJdoRepository     (not visible, supporting service 
for ...Contributions)

isis-module-audit
- AuditingServiceJdo                (used by runtime if available, so API in 
applib)
- AuditingServiceJdoContributions   (UI, not used by runtime)
- AuditingServiceJdoRepository      (not visible, supporting service for 
...Contributions)

isis-module-background
- BackgroundServiceDefault         (used by runtime if available, so API in 
applib; requires BackgroundCommandService)

isis-module-publishing
- PublishingServiceJdo              (used by runtime if available, so API in 
applib)
- PublishingServiceJdoContributions (UI, not used by runtime)
- PublishingServiceJdoRepository    (not visible, supporting service for 
...Contributions)

isis-module-devutils               (not used by runtime, standalone)
- applib
  - DeveloperUtilitiesService
- impl
  - DeveloperUtilitiesServiceDefault    (metamodel impl)

isis-module-appsettings  (not used by runtime, standalone)
- applib
  - ApplicationSettingsServiceRW
  - UserSettingsServiceRW        
- impl
  ApplicationSettingsServiceJdo     (UI, not used by runtime)
  ApplicationSettingsServiceHidden  (not UI, not used by runtime)
  UserSettingsServiceJdo            (UI, not used by runtime)
  UserSettingsServiceHidden         (not UI, not used by runtime)


in addition:
* move IsisJdoSupport APi into core-applib *
* EventBusServiceDefault   can be deprecated, since its subclass 
EventBusServiceJdo is always available


  was:
... so that in future these can be released independently of core; and to 
reduce configuration (isis.properties file).


~~~~~~
No change for the following services:

core request-scoped services; already annotated with @DomainService, and so 
always available
- CommandContext                   (applib implementation; populated by runtime 
if available)
- Bulk.InteractionContext          (applib implementation; not used by runtime)
- Scratchpad                       (applib implementation; not used by runtime)
- QueryResultsCache                (applib implementation; not used by runtime)

core singleton services; already annotated with @DomainService, and so always 
available
- MementoServiceDefault                  (runtime implementation; used 
implicitly by runtime for commands)
- BookmarkServiceDefault                 (runtime implementation; used 
implicitly by runtime for commands)
- XmlSnapshotServiceDefault              (runtime implementation; not used by 
runtime)
- ClassDiscoveryServiceUsingReflections  (applib implementation; not used by 
runtime)
- ClockService                     (applib implementation; not used by runtime)


~~~~~~
The following are new (Maven) modules.  

Some notes:
* In all cases (except EventBusServiceDefault, which has an override) these can 
be annotated with @DomainService; thus they are configured and registered 
automatically if added to the classpath.
* If a service can be used by runtime, then its API is defined in applib; the 
module therefore contains only the impl.  Most of the modules below fall into 
this category.
* If a service is completely standalone from the framework, then it defines its 
own API (in an "applib" submodule) and its own impl.  An example of this is 
isis-module-settings, which defines AppSettings and UserSettings.


isis-module-wrapper                (used by integtestsupport)
- WrapperFactoryDefault            (rename core-wrapper implementation)

isis-module-command
- CommandServiceJdo                (used by runtime if available, so API in 
applib)
- CommandServiceJdoContributions   (UI, not used by runtime)
- CommandServiceJdoRepository      (no UI, supporting service for 
...Contributions)
- BackgroundCommandServiceJdo               (UI visible, not used by runtime 
but prereq for background service)
- BackgroundCommandServiceJdoContributions  (UI visible, not used by runtime)
- BackgroundCommandServiceJdoRepository     (not visible, supporting service 
for ...Contributions)

isis-module-audit
- AuditingServiceJdo                (used by runtime if available, so API in 
applib)
- AuditingServiceJdoContributions   (UI, not used by runtime)
- AuditingServiceJdoRepository      (not visible, supporting service for 
...Contributions)

isis-module-background
- BackgroundServiceDefault         (used by runtime if available, so API in 
applib; requires BackgroundCommandService)

isis-module-eventbus
- EventBusServiceDefault           (used by runtime if available, so API in 
applib)

isis-module-publishing
- PublishingServiceJdo              (used by runtime if available, so API in 
applib)
- PublishingServiceJdoContributions (UI, not used by runtime)
- PublishingServiceJdoRepository    (not visible, supporting service for 
...Contributions)

isis-module-jdosupport
- IsisJdoSupportImpl               (not used by runtime)
- EventBusServiceJdo               (JDO override; used by runtime if available)
- ExceptionRecognizerCompositeForJdoObjectStore   (used by runtime if available)

isis-module-devutils               (not used by runtime, standalone)
- applib
  - DeveloperUtilitiesService
- impl
  - DeveloperUtilitiesServiceDefault    (metamodel impl)

isis-module-appsettings  (not used by runtime, standalone)
- applib
  - ApplicationSettingsServiceRW
  - UserSettingsServiceRW        
- impl
  ApplicationSettingsServiceJdo     (UI, not used by runtime)
  ApplicationSettingsServiceHidden  (not UI, not used by runtime)
  UserSettingsServiceJdo            (UI, not used by runtime)
  UserSettingsServiceHidden         (not UI, not used by runtime)


in addition:
* move IsisJdoSupport APi into core-applib *



> Break out applib and JDO services into modules
> ----------------------------------------------
>
>                 Key: ISIS-833
>                 URL: https://issues.apache.org/jira/browse/ISIS-833
>             Project: Isis
>          Issue Type: Improvement
>    Affects Versions: objectstore-jdo-1.5.0, core-1.5.0
>            Reporter: Dan Haywood
>            Assignee: Dan Haywood
>             Fix For: objectstore-jdo-1.6.0, core-1.6.0
>
>
> ... so that in future these can be released independently of core; and to 
> reduce configuration (isis.properties file).
> ~~~~~~
> No change for the following services:
> core request-scoped services; already annotated with @DomainService, and so 
> always available
> - CommandContext                   (applib implementation; populated by 
> runtime if available)
> - Bulk.InteractionContext          (applib implementation; not used by 
> runtime)
> - Scratchpad                       (applib implementation; not used by 
> runtime)
> - QueryResultsCache                (applib implementation; not used by 
> runtime)
> core singleton services; already annotated with @DomainService, and so always 
> available
> - MementoServiceDefault                  (runtime implementation; used 
> implicitly by runtime for commands)
> - BookmarkServiceDefault                 (runtime implementation; used 
> implicitly by runtime for commands)
> - XmlSnapshotServiceDefault              (runtime implementation; not used by 
> runtime)
> - ClassDiscoveryServiceUsingReflections  (applib implementation; not used by 
> runtime)
> - ClockService                     (applib implementation; not used by 
> runtime)
> - IsisJdoSupportImpl               (not used by runtime)
> - EventBusServiceJdo               (used by runtime if available)
> - ExceptionRecognizerCompositeForJdoObjectStore   (used by runtime if 
> available)
> ~~~~~~
> The following are new (Maven) modules.  
> Some notes:
> * In all cases these can be annotated with @DomainService; thus they are 
> configured and registered automatically if added to the classpath.
> * If a service can be used by runtime, then its API is defined in applib; the 
> module therefore contains only the impl.  Most of the modules below fall into 
> this category.
> * If a service is completely standalone from the framework, then it defines 
> its own API (in an "applib" submodule) and its own impl.  An example of this 
> is isis-module-settings, which defines AppSettings and UserSettings.
> isis-module-wrapper                (used by integtestsupport)
> - WrapperFactoryDefault            (rename core-wrapper implementation)
> isis-module-command
> - CommandServiceJdo                (used by runtime if available, so API in 
> applib)
> - CommandServiceJdoContributions   (UI, not used by runtime)
> - CommandServiceJdoRepository      (no UI, supporting service for 
> ...Contributions)
> - BackgroundCommandServiceJdo               (UI visible, not used by runtime 
> but prereq for background service)
> - BackgroundCommandServiceJdoContributions  (UI visible, not used by runtime)
> - BackgroundCommandServiceJdoRepository     (not visible, supporting service 
> for ...Contributions)
> isis-module-audit
> - AuditingServiceJdo                (used by runtime if available, so API in 
> applib)
> - AuditingServiceJdoContributions   (UI, not used by runtime)
> - AuditingServiceJdoRepository      (not visible, supporting service for 
> ...Contributions)
> isis-module-background
> - BackgroundServiceDefault         (used by runtime if available, so API in 
> applib; requires BackgroundCommandService)
> isis-module-publishing
> - PublishingServiceJdo              (used by runtime if available, so API in 
> applib)
> - PublishingServiceJdoContributions (UI, not used by runtime)
> - PublishingServiceJdoRepository    (not visible, supporting service for 
> ...Contributions)
> isis-module-devutils               (not used by runtime, standalone)
> - applib
>   - DeveloperUtilitiesService
> - impl
>   - DeveloperUtilitiesServiceDefault    (metamodel impl)
> isis-module-appsettings  (not used by runtime, standalone)
> - applib
>   - ApplicationSettingsServiceRW
>   - UserSettingsServiceRW        
> - impl
>   ApplicationSettingsServiceJdo     (UI, not used by runtime)
>   ApplicationSettingsServiceHidden  (not UI, not used by runtime)
>   UserSettingsServiceJdo            (UI, not used by runtime)
>   UserSettingsServiceHidden         (not UI, not used by runtime)
> in addition:
> * move IsisJdoSupport APi into core-applib *
> * EventBusServiceDefault   can be deprecated, since its subclass 
> EventBusServiceJdo is always available



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to