blob: 3415fca1b8c475a52499bf850fc400ae60d7587e [file] [log] [blame]
for 2.0.0-M2
remove:
- [REMOVED] @MemberGroupLayout
- contributed domain services (use mixins instead)
- org.apache.causeway.applib.clock
- Clock singleton
- SwitchUserService
- AbstractFixtureSusa
- org.apache.causeway.core.runtime.services.eventbus.adapter.EventBusImplementationForGuava
- [DONE] org.apache.causeway.applib.services.memento (19 usages found)
- [REMOVED] MementoService.java - remove entire service (previously to support view models, but now @ViewModel and JAXB)
to change:
- automatically wrap domain services (perhaps behind a config property)
- automatically infer \@Programmatic for all \@DomainService(nature=DOMAIN)
support for legacy implementation of UrlEncodingService
- as an automatic fallback; has changed to use with compression by default.
inline paraname8 from incode platform
[DONE] remove causeway-core-wicket-applib
- [DONE] contains only WicketDeveloperUtilitiesService, which is hidden anyway and seems to not be required.
update .xsd for layout, make render optional and deprecated.
- deprecate FixtureScripts service with view to removing from applib ... the framework provides an implementation by default
- get rid of automatic initialization of fields (perhaps behind a config property)
- deprecate the Apache Causeway' DateTime classes for removal in the future) ... and probably all of the custom value types, subclasses of Magnitude
- merge metamodel and runtime
- remove *Installer
move ContentMappingServiceForCommandDto and ContentMappingServiceForCommandsDto from applib.conmap to applib.services.conmap.commands
[DONE] CausewayContext:
- [REMOVED] resetLogging()
TitleFacetViaAnnotation may not work if on a field, due to DN lazy loading.
[REMOVED] remove AbstractService from applib.
[REMOVED] remove AbstractViewModel from applib.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
the stuff below here was working notes for 2.0.0-M1, not necessarily up to date.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1.16.2
- flag to make @Action mandatory, @Programmatic the default
OTHER STUFF:
PublishingServiceInternalDefault
not thread-safe:
boolean suppress;
@Programmatic
@Override
public <T> T withPublishingSuppressed(final Block<T> block) {
try {
suppress = true;
return block.exec();
} finally {
suppress = false;
}
}
~~~~~~~~
link:https://issues.apache.org/jira/browse/CAUSEWAY-743[CAUSEWAY-743] - @NotPersistable annotation
*************************************************************************
PROPOSE TO RETAIN:
Below is the code currently deprecated in the applib, but I propose to retain even in 2.0.0 (on the grounds that a replacement for them is not fully designed):
org.apache.causeway.applib.adapters - custom value type support
org.apache.causeway.applib.annotation
Encodable.java - entire annotation, part of custom value types support
Parseable.java - entire annotation, part of custom value types support
org.apache.causeway.applib.fixtures - "legacy" fixture support package ... by and large can use FixtureScripts (though not sure if there's feature parity in all cases)
AbstractFixture.java
AbstractFixtureSusa.java
BaseFixture.java
CompositeFixture.java
DateFixture.java
LogonFixture.java
org.apache.causeway.applib.fixtures.switchuser
SwitchUserService.java
SwitchUserServiceAware.java
org.apache.causeway.applib.services.command
Command.java - methods that pertain to the execution of the command and its completion (for that, use Interaction) [suggest we retain for now]
getCompletedAt()
getException()
getResult()
getStartedAt()
next(String)
setCompletedAt(Timestamp)
setStartedAt(Timestamp)
flushActionDomainEvents()
peekActionDomainEvent()
popActionDomainEvent()
pushActionDomainEvent(ActionDomainEvent<?>) (
MemberGroupsLayout.java - retain
*************************************************************************
DEPRECATED:
deprecate support for contributed services (use mixins instead)
DONE (ADDED)
new support for JSR-303 @Pattern annotation (http://beanvalidation.org/1.0/spec/, chapter 6) ... replaces @RegEx
DONE (MOVED)
org.apache.causeway.applib.events - moved to services.wrapper.events. (Still useful as provide context for exceptions, for a "transcript" framework).
org.apache.causeway.applib.events.system - move to fixturescripts.events.
org.apache.causeway.applib.conmap.ContentMappingService to applib.services.conmap
DONE (REMOVED):
make AppManifest mandatory
removed support for Xxx.layout.json
- "reflector.layoutMetadataReaders" config prop
removed support for static method prefixes
* "notInServiceMenu"
* "named"
* "plural"
* "alwaysHide"
* "protect"
* "description"
* "optional"
remove explorationXxx() prefix
org.apache.causeway.applib.clock
Clock.java -
getTimeAsCalendar()
getTimeAsDate()
org.apache.causeway.applib.services.actinvoc
ActionInvocationContext.java -remove unused constructors
org.apache.causeway.applib.services.audit (2 usages found)
AuditingService3.java - remove entire service, use AuditerService instead
org.apache.causeway.applib.services.background (10 usages found)
ActionInvocationMemento.java - remove entire class, use InteractionDto and CommandDto are used internally instead
BackgroundCommandService.java - remove methods using AIM, instead keep those using CommandDto (in BackgroundCommandService2)
BackgroundService.java
asActionInvocationMemento(Method, Object, Object[]) - remove this internal API, no longer called by framework
Remove support for legacy persisted commands (beginning "<memento>...")
org.apache.causeway.applib.services.bookmark (8 usages found)
BookmarkService2.java - pull up its methods into BookmarkService supertype, and delete
org.apache.causeway.applib.services.classdiscovery
ClassDiscoveryService2.java , pull up its methods into ClassDiscoveryService supertype, and delete
org.apache.causeway.applib.services.command.spi
CommandService.java
startTransaction(Command, UUID) - no longer required to do anything, so remove
org.apache.causeway.applib.services.command
Command2.java - methods for working with interaction events (remove with those event types)
flushActionInteractionEvents()
peekActionInteractionEvent()
popActionInteractionEvent()
pushActionInteractionEvent(ActionInteractionEvent<?>)
org.apache.causeway.applib.services.command
Command3 rolled up into Command
org.apache.causeway.applib.services.eventbus
AbstractInteractionEvent.java - remove
ActionInteractionEvent.java - remove
ActionInvokedEvent.java - remove
CollectionAddedToEvent.java - remove
CollectionInteractionEvent.java - remove
CollectionRemovedFromEvent.java - remove
PropertyChangedEvent.java - remove
PropertyInteractionEvent.java - remove
org.apache.causeway.applib.services.exceprecog
rolls ExceptionRecognizer2 up into ExceptionRecognizer
org.apache.causeway.applib.services.metamodel
MetaModelService2.java and MetaModelService3 - pulled up to MetaModelService supertype
org.apache.causeway.applib.services.publish - remove classes pertaining to original PublishingService (payload factories etc).
EventMetadata.java - remove class
EventType.java - remove class
EventPayload.java - remove class
EventPayloadForActionInvocation.java - remove class
EventPayloadForObjectChanged.java - remove class
PublishedEventStateType.java - remove class
PublishingService.java - remove domain service interface
StatusMessageMessageType.java - remove class
org.apache.causeway.applib.services.registry
ServiceRegistry2 - roll up to ServiceRegistry
org.apache.causeway.applib.services.settings
SettingTypes.java - remove, used only by 3rd party code (incode platform settings module)
org.apache.causeway.applib.services.wrapper
WrapperObject.java
save() and wrapped() - remove to avoid name clashes, use __causeway_Xxx() methods instead
org.apache.causeway.applib.snapshot
Snapshottable.java - remove, since unused
org.apache.causeway.applib.value
DateTime.java
longValue() - use #millisSinceEpoch()
Time.java
longValue() - use #millisSinceEpoch()
org.apache.causeway.applib
DomainObjectContainer.java
- titleOf ... use TitleService#titleOf(...) instead
- iconNameOf ... use TitleService#iconNameOf(...) instead
- flush() ... use TransactionService#flushTransaction instead
- informUser, warnUser, raiseError ... use MessageService
- getUser ... use UserService
- getProperty, getPropertyNames ... use ConfigurationService
- injectServicesInto, lookupService, lookupServices ... use ServicesRegistry
- newTransientInstance - use FactoryService#instantiate
- newAggregatedInstance - no replacement
- newPersistentInstance - no replacement
- newInstance - no replacement
- mixin - use FactoryService#mixin
- isPersistent, persistIfNotAlready, removeIfNotAlready - use RepositoryService instead
org.apache.causeway.objectstore.jdo.applib.service
DomainChangeJdoAbstract.java
- deleted, not replacement (used only by incode platform)
- https://github.com/apache/causeway/blob/rel/causeway-1.15.1/core/applib/src/main/java/org/apache/causeway/objectstore/jdo/applib/service/DomainChangeJdoAbstract.java
JdoColumnLength.java
- ditto
- https://github.com/apache/causeway/blob/rel/causeway-1.15.1/core/applib/src/main/java/org/apache/causeway/objectstore/jdo/applib/service/JdoColumnLength.java
Util.java
- ditto
- https://github.com/apache/causeway/blob/rel/causeway-1.15.1/core/applib/src/main/java/org/apache/causeway/objectstore/jdo/applib/service/Util.java
org.apache.causeway.core.objectstore.jdo.applib.annotations - remove package entirely
Auditable.java - use @DomainObject(audited=...) instead.
org.apache.causeway.objectstore.jdo.applib
Auditable.java interface - use @DomainObject(audited=...) instead.
org.apache.causeway.objectstore.jdo.applib.service.support
CausewayJdoSupport.java - replaced by org.apache.causeway.persistence.jdo.applib.services.CausewayJdoSupport
org.apache.causeway.viewer.restfulobjects.rendering.service.conmap.ContentMappingService
- replaced by non-applib
org.apache.causeway.viewer.restfulobjects.rendering.service.RepresentationServiceForRestfulObjects
- unused
ObjectFixtureService + supporting classes