forked from apache/causeway
-
Notifications
You must be signed in to change notification settings - Fork 0
/
todo-deprecation-list.txt
344 lines (206 loc) · 10.7 KB
/
todo-deprecation-list.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
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