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.BootstrapSingleResource;
38 import info.magnolia.module.delta.ChangeAllPropertiesWithCertainValueTask;
39 import info.magnolia.module.delta.CheckOrCreatePropertyTask;
40 import info.magnolia.module.delta.DeltaBuilder;
41 import info.magnolia.module.delta.NodeExistsDelegateTask;
42 import info.magnolia.module.delta.RemoveNodeTask;
43 import info.magnolia.repository.RepositoryConstants;
44 import info.magnolia.ui.contentapp.movedialog.action.MoveNodeActionDefinition;
45 import info.magnolia.ui.contentapp.setup.for5_3.ContentAppMigrationTask;
46 import info.magnolia.ui.framework.setup.ReplaceMultiLinkFieldDefinitionTask;
47 import info.magnolia.ui.framework.setup.ReplaceSaveModeTypeFieldDefinitionTask;
48
49
50
51
52 public class ContentAppModuleVersionHandler extends DefaultModuleVersionHandler {
53
54 public final static String UI_ADMINCENTRAL_CONTENTCONNECTOR = "/modules/ui-admincentral/apps/websiteJcrBrowser/subApps/browser/contentConnector";
55
56 private final String subAppsQuery = " select * from [nt:base] as t where name(t) = 'subApps' ";
57
58 public ContentAppModuleVersionHandler() {
59 register(DeltaBuilder.update("5.1", "")
60 .addTask(new RemoveNodeTask("Remove MultiLinkField definition mapping", "", RepositoryConstants.CONFIG, "/modules/ui-framework/fieldTypes/multiLinkField"))
61 .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') "))
62 .addTask(new ReplaceSaveModeTypeFieldDefinitionTask("Update field definition sub task from 'saveModeType' to 'transformerClass' ", "", RepositoryConstants.CONFIG, " select * from [nt:base] as t where name(t) = 'saveModeType' "))
63 .addTask(new ContentAppDescriptorMigrationTask("Update descriptor class properties to ConfiguredContentAppDescriptor for Content Apps ", "", RepositoryConstants.CONFIG, subAppsQuery))
64 .addTask(new ChangeAllPropertiesWithCertainValueTask("Change package name of MoveNodeActionDefinition class", "", RepositoryConstants.CONFIG, "info.magnolia.ui.framework.action.MoveNodeActionDefinition", MoveNodeActionDefinition.class.getName()))
65 );
66
67 register(DeltaBuilder.update("5.2.2", "")
68 .addTask(new ContentAppDescriptorMigrationTask("Remove 'app' properties", "Removes obsolete 'app' properties from Content Apps.", RepositoryConstants.CONFIG, subAppsQuery, new AppPropertyRemoverVisitor()))
69 );
70
71 register(DeltaBuilder.update("5.3", "")
72 .addTask(new BootstrapSingleResource("", "", "/mgnl-bootstrap/ui-contentapp/config.modules.ui-admincentral.apps.configuration.subApps.browser.actions.saveItemProperty.xml"))
73 .addTask(new ContentAppMigrationTask("/modules/ui-admincentral"))
74 );
75
76 register(DeltaBuilder.update("5.3.2", "")
77 .addTask(new NodeExistsDelegateTask("Create 'includeSystemNodes' property for the websiteJCRBrowser", UI_ADMINCENTRAL_CONTENTCONNECTOR,
78 new CheckOrCreatePropertyTask("Create 'includeSystemNodes' property for the websiteJCRBrowser", UI_ADMINCENTRAL_CONTENTCONNECTOR, "includeSystemNodes", "false")))
79 );
80 }
81
82 }