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.module.fckeditor;
35
36 import info.magnolia.cms.core.ItemType;
37 import info.magnolia.module.DefaultModuleVersionHandler;
38 import info.magnolia.module.InstallContext;
39 import info.magnolia.module.delta.ArrayDelegateTask;
40 import info.magnolia.module.delta.BootstrapSingleResource;
41 import info.magnolia.module.delta.CheckAndModifyPropertyValueTask;
42 import info.magnolia.module.delta.CreateNodeTask;
43 import info.magnolia.module.delta.DeltaBuilder;
44 import info.magnolia.module.delta.MoveNodeTask;
45 import info.magnolia.module.delta.NodeExistsDelegateTask;
46 import info.magnolia.module.delta.RegisterModuleServletsTask;
47 import info.magnolia.module.fckeditor.dialogs.FckEditorDialog;
48 import info.magnolia.module.fckeditor.servlets.FCKEditorSimpleUploadServlet;
49
50 import java.util.ArrayList;
51 import java.util.List;
52
53
54
55
56 public class FCKEditorModuleVersionHandler extends DefaultModuleVersionHandler {
57
58 public FCKEditorModuleVersionHandler() {
59 register(DeltaBuilder.update("4.0", "")
60 .addTask(new CheckAndModifyPropertyValueTask("Dialog", "Replaces the deprecated dialog class by a new one.", "config",
61 "/modules/fckEditor/controls/fckEdit", "class", "info.magnolia.cms.gui.dialog.DialogFckEdit", FckEditorDialog.class.getName()))
62 .addTask(new CheckAndModifyPropertyValueTask("Servlet", "Replaces the deprecated servlet class by a new one.", "config",
63 "/server/filters/servlets/FCKEditorSimpleUploadServlet", "servletClass", "info.magnolia.cms.gui.fckeditor.FCKEditorSimpleUploadServlet", FCKEditorSimpleUploadServlet.class.getName()))
64 );
65 }
66
67 protected List getBasicInstallTasks(InstallContext installContext) {
68 final List basicInstallTasks = new ArrayList();
69 basicInstallTasks.add(new BootstrapSingleResource("New FCKEditor browser", "Bootstraps the new configuration for the browser page", "/mgnl-bootstrap/fckEditor/config.modules.fckEditor.pages.repositoryBrowser.xml"));
70 basicInstallTasks.add(new BootstrapSingleResource("Browsable repositories", "Bootstraps the default configuration for the browsable repositories", "/mgnl-bootstrap/fckEditor/config.modules.fckEditor.config.browsableRepositories.xml"));
71 basicInstallTasks.add(new NodeExistsDelegateTask("Check for existing fckEdit control", "Check if fckEdit control is registered in adminInterface module", "config", "/modules/adminInterface/controls/fckEdit",
72 new ArrayDelegateTask("Add fckEdit control",
73 new CreateNodeTask("Create controls node", "Add the controls node in the FCKEditor module", "config", "/modules/fckEditor", "controls", ItemType.CONTENT.getSystemName()),
74 new MoveNodeTask("Move fckEdit control", "Move fckEdit control to FCKEditor module since it is a separate module now", "config", "/modules/adminInterface/controls/fckEdit", "/modules/fckEditor/controls/fckEdit", true)
75 ),
76 new BootstrapSingleResource("Add fckEdit control", "Bootstraps the configuration of the fckEdit control", "/mgnl-bootstrap/fckEditor/config.modules.fckEditor.controls.fckEdit.xml")));
77 basicInstallTasks.add(new RegisterModuleServletsTask());
78 return basicInstallTasks;
79 }
80 }