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.cms.util.WorkspaceXmlUtil;
37
38 import java.util.List;
39
40
41
42
43
44
45
46 public class WorkspaceXmlConditionsUtil {
47 private final List<Condition> conditions;
48
49 public WorkspaceXmlConditionsUtil(List<Condition> conditions) {
50 this.conditions = conditions;
51 }
52
53
54
55
56 public void workspaceHasOldIndexer() {
57 textFilterClassesAreNotSet();
58 }
59
60 public void textFilterClassesAreNotSet() {
61 List<String> names = WorkspaceXmlUtil.getWorkspaceNamesMatching("/Workspace/SearchIndex/param[@name='textFilterClasses']/@value");
62
63 if (names.size() > 0) {
64 for (int i = 0; i < names.size(); i++) {
65 conditions.add(new FalseCondition("workspace.xml updates",
66 "Workspace definition in workspace " + names.get(i) +
67 " references indexer which has changed; please update value of parameter named" +
68 " textFilterClasses in your workspace.xml file."));
69 }
70 }
71 }
72
73
74
75
76 public void paramAnalyzerIsNotSet() {
77 List<String> names = WorkspaceXmlUtil.getWorkspaceNamesMatching("/Workspace/SearchIndex/param[@name='analyzer']/@value");
78 if (names.size() > 0) {
79 for (int i = 0; i < names.size(); i++) {
80 conditions.add(new WarnCondition("workspace.xml updates",
81 "Workspace definition in workspace " + names.get(i) +
82 " Should not have an analyzer set - this will lead to error-logs when strarting up your server."));
83 }
84 }
85 }
86
87 public void accessControlProviderIsSet() {
88 List<String> names = WorkspaceXmlUtil.getWorkspaceNames("/Workspace/WorkspaceSecurity/AccessControlProvider/@class", null);
89 if (names.size() > 0) {
90 for (int i = 0; i < names.size(); i++) {
91 conditions.add(new FalseCondition("workspace.xml updates",
92 "Workspace definition in workspace " + names.get(i) +
93 " must have an AccessControlProvider set."));
94 }
95 }
96 }
97 }