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 package info.magnolia.ui.contentapp.setup;
35
36 import info.magnolia.module.DefaultModuleVersionHandler;
37 import info.magnolia.module.delta.ChangeAllPropertiesWithCertainValueTask;
38 import info.magnolia.module.delta.DeltaBuilder;
39 import info.magnolia.module.delta.RemoveNodeTask;
40 import info.magnolia.repository.RepositoryConstants;
41 import info.magnolia.ui.contentapp.movedialog.action.MoveNodeActionDefinition;
42 import info.magnolia.ui.framework.setup.ReplaceMultiLinkFieldDefinitionTask;
43 import info.magnolia.ui.framework.setup.ReplaceSaveModeTypeFieldDefinitionTask;
44
45
46
47
48 public class ContentAppModuleVersionHandler extends DefaultModuleVersionHandler {
49
50 private final String subAppsQuery = " select * from [nt:base] as t where name(t) = 'subApps' ";
51
52 public ContentAppModuleVersionHandler() {
53 register(DeltaBuilder.update("5.1", "")
54 .addTask(new RemoveNodeTask("Remove MultiLinkField definition mapping", "", RepositoryConstants.CONFIG, "/modules/ui-framework/fieldTypes/multiLinkField"))
55 .addTask((new ReplaceMultiLinkFieldDefinitionTask("Change the MultiLinkFieldDefinition by MultiFieldDefinition ", "", RepositoryConstants.CONFIG, " select * from [nt:base] as t where contains(t.*,'info.magnolia.ui.form.field.definition.MultiLinkFieldDefinition') ")))
56 .addTask((new ReplaceSaveModeTypeFieldDefinitionTask("Update field definition sub task from 'saveModeType' to 'transformerClass' ", "", RepositoryConstants.CONFIG, " select * from [nt:base] as t where name(t) = 'saveModeType' ")))
57 .addTask((new ContentAppDescriptorMigrationTask("Update descriptor class properties to ConfiguredContentAppDescriptor for Content Apps ", "", RepositoryConstants.CONFIG,
58 subAppsQuery)))
59 .addTask(new ChangeAllPropertiesWithCertainValueTask("Change package name of MoveNodeActionDefinition class", "", RepositoryConstants.CONFIG, "info.magnolia.ui.framework.action.MoveNodeActionDefinition", MoveNodeActionDefinition.class.getName()))
60 );
61
62 register(DeltaBuilder.update("5.2.2", "")
63 .addTask((new ContentAppDescriptorMigrationTask("Remove 'app' properties", "Removes obsolete 'app' properties from Content Apps.", RepositoryConstants.CONFIG,
64 subAppsQuery, new AppPropertyRemoverVisitor()))));
65 }
66 }