You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@isis.apache.org by "Dan Haywood (JIRA)" <ji...@apache.org> on 2014/07/04 08:52:34 UTC

[jira] [Comment Edited] (ISIS-833) Break out applib and JDO services into modules

    [ https://issues.apache.org/jira/browse/ISIS-833?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14052195#comment-14052195 ] 

Dan Haywood edited comment on ISIS-833 at 7/4/14 6:52 AM:
----------------------------------------------------------

Migration notes:

        <dependency>
            <groupId>org.apache.isis.core</groupId>
            <artifactId>isis-core-objectstore-jdo-applib</artifactId>
        </dependency>

replace with:
        
        <dependency>
            <groupId>org.apache.isis.module</groupId>
            <artifactId>isis-module-audit-jdo</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.isis.module</groupId>
            <artifactId>isis-module-command-jdo</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.isis.module</groupId>
            <artifactId>isis-module-publishing-jdo</artifactId>
        </dependency>

        <dependency>
            <groupId>org.apache.isis.module</groupId>
            <artifactId>isis-module-settings</artifactId>
            <type>pom</type>
            <scope>import</scope>
        </dependency>



was (Author: danhaywood):
Migration notes:

        <dependency>
            <groupId>org.apache.isis.core</groupId>
            <artifactId>isis-core-objectstore-jdo-applib</artifactId>
        </dependency>

replace with:
        
        <dependency>
            <groupId>org.apache.isis.module</groupId>
            <artifactId>isis-module-audit-jdo</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.isis.module</groupId>
            <artifactId>isis-module-command-jdo</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.isis.module</groupId>
            <artifactId>isis-module-publishing-jdo</artifactId>
        </dependency>

        <dependency>
            <groupId>org.apache.isis.module</groupId>
            <artifactId>isis-module-setting</artifactId>
            <type>pom</type>
            <scope>import</scope>
        </dependency>


> 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)
> ~~~
> These services should changed to be annotated annotated with @DomainService (because JDO is now core):
> - IsisJdoSupportImpl               (not used by runtime)
> - EventBusServiceJdo               (used by runtime if available)
> ~~~
> IsisJdoSupport API should move from the jdo-applib to applib.  
> ~~~~~~
> 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-jdo
> - 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-jdo
> - 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-jdo
> - 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-settings  (not used by runtime, standalone)
> - applib
>         > ApplicationSettingsServiceRW
>         > UserSettingsServiceRW        
> - impl-jdo
>         > 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
> - have decided to leave ExceptionRecognizerCompositeForJdoObjectStore to be explicitly registered; likelihood that this will require customisation in some cases.  (used by runtime if available)



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