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.delta;
35
36 import info.magnolia.module.InstallContext;
37 import info.magnolia.module.model.ModuleDefinition;
38 import info.magnolia.repository.RepositoryConstants;
39
40 import org.apache.commons.lang3.StringUtils;
41
42
43
44
45 public class SetDefaultPublicURITask extends AbstractTask {
46
47 private static final String OLD_DEFAULT_URI_MAPPING_PATH = "/modules/ui-admincentral/virtualURIMapping/default";
48
49 private static final String NEW_DEFAULT_URI_MAPPING_PATH = "/modules/ui-admincentral/virtualUriMappings/default";
50
51 private static final String DEFAULT_PUBLIC_URI_PROPERTY = "defaultPublicURI";
52
53 private String moduleProperty;
54
55 public SetDefaultPublicURITask() {
56 super("Default URI", "This task sets the default virtual URI mapping for public instances, according to the defaultPublicURI module property.");
57 }
58
59
60
61
62 @Deprecated
63 public SetDefaultPublicURITask(String moduleProperty) {
64 super("Default URI", "This task sets the default virtual URI mapping for public instances, according to the defaultPublicURI module property.");
65 this.moduleProperty = moduleProperty;
66 }
67
68 @Override
69 public void execute(InstallContext context) throws TaskExecutionException {
70 ModuleDefinition moduleDefinition = context.getCurrentModuleDefinition();
71 String defaultURI = StringUtils.isNotEmpty(moduleProperty) ? moduleDefinition.getProperty(moduleProperty) : moduleDefinition.getProperty(DEFAULT_PUBLIC_URI_PROPERTY);
72
73 Task setPublicTask = new IsAdminInstanceDelegateTask("", "Set default virtual URI on public instances.", null,
74 new NodeExistsDelegateTask(String.format("Set default virtual URI to old mapping path '%s'", OLD_DEFAULT_URI_MAPPING_PATH), OLD_DEFAULT_URI_MAPPING_PATH,
75 new SetPropertyTask(RepositoryConstants.CONFIG, OLD_DEFAULT_URI_MAPPING_PATH, "toURI", defaultURI),
76 new NodeExistsDelegateTask(String.format("Set default virtual URI to new mapping path '%s'", NEW_DEFAULT_URI_MAPPING_PATH), NEW_DEFAULT_URI_MAPPING_PATH,
77 new SetPropertyTask(RepositoryConstants.CONFIG, NEW_DEFAULT_URI_MAPPING_PATH, "toUri", defaultURI),
78 new WarnTask("Default URI", "Could not set defaultPublicURI, default mapping was not found."))));
79 setPublicTask.execute(context);
80 }
81 }