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.googlesitemap.setup; |
35 |
|
|
36 |
|
import info.magnolia.cms.security.Permission; |
37 |
|
import info.magnolia.jcr.util.NodeTypes; |
38 |
|
import info.magnolia.jcr.util.NodeUtil; |
39 |
|
import info.magnolia.jcr.util.PropertyUtil; |
40 |
|
import info.magnolia.module.DefaultModuleVersionHandler; |
41 |
|
import info.magnolia.module.InstallContext; |
42 |
|
import info.magnolia.module.delta.AddPermissionTask; |
43 |
|
import info.magnolia.module.delta.ArrayDelegateTask; |
44 |
|
import info.magnolia.module.delta.BootstrapSingleModuleResource; |
45 |
|
import info.magnolia.module.delta.BootstrapSingleResourceAndOrderBefore; |
46 |
|
import info.magnolia.module.delta.CheckAndModifyPropertyValueTask; |
47 |
|
import info.magnolia.module.delta.CheckOrCreatePropertyTask; |
48 |
|
import info.magnolia.module.delta.DeltaBuilder; |
49 |
|
import info.magnolia.module.delta.NewPropertyTask; |
50 |
|
import info.magnolia.module.delta.NodeExistsDelegateTask; |
51 |
|
import info.magnolia.module.delta.NodeVisitorTask; |
52 |
|
import info.magnolia.module.delta.OrderNodeAfterTask; |
53 |
|
import info.magnolia.module.delta.OrderNodeBeforeTask; |
54 |
|
import info.magnolia.module.delta.PartialBootstrapTask; |
55 |
|
import info.magnolia.module.delta.PropertyExistsDelegateTask; |
56 |
|
import info.magnolia.module.delta.RemoveNodeTask; |
57 |
|
import info.magnolia.module.delta.RemovePropertiesTask; |
58 |
|
import info.magnolia.module.delta.RemovePropertyTask; |
59 |
|
import info.magnolia.module.delta.SetPropertyTask; |
60 |
|
import info.magnolia.module.delta.SetupModuleRepositoriesTask; |
61 |
|
import info.magnolia.module.delta.Task; |
62 |
|
import info.magnolia.module.googlesitemap.GoogleSiteMapConfiguration; |
63 |
|
import info.magnolia.module.googlesitemap.app.field.transformer.SiteMapTransformer; |
64 |
|
import info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.contentviews.formatter.FolderNameColumnFormatter; |
65 |
|
import info.magnolia.module.googlesitemap.setup.for2_1.Register21NodeTypeTask; |
66 |
|
import info.magnolia.module.googlesitemap.setup.for2_1.RenameSiteMapeSitePagesPropertyName; |
67 |
|
import info.magnolia.module.googlesitemap.setup.for2_1.UpdatePropertyNamesAndNodeStructure; |
68 |
|
import info.magnolia.module.googlesitemap.setup.migration.Removei18nKeysInSiteMapMigrationTask; |
69 |
|
import info.magnolia.module.googlesitemap.setup.migration.SiteMapDefinitionMigrationTask; |
70 |
|
import info.magnolia.module.googlesitemap.setup.migration.SiteMapDialogMigrationTask; |
71 |
|
import info.magnolia.repository.RepositoryConstants; |
72 |
|
import info.magnolia.ui.contentapp.ContentApp; |
73 |
|
import info.magnolia.ui.contentapp.setup.for5_3.ContentAppMigrationTask; |
74 |
|
import info.magnolia.ui.framework.setup.AddIsPublishedRuleToAllDeactivateActionsTask; |
75 |
|
import info.magnolia.ui.framework.setup.SetWritePermissionForActionsTask; |
76 |
|
|
77 |
|
import java.util.ArrayList; |
78 |
|
import java.util.Arrays; |
79 |
|
import java.util.List; |
80 |
|
|
81 |
|
import javax.jcr.Node; |
82 |
|
import javax.jcr.RepositoryException; |
83 |
|
|
84 |
|
import org.apache.commons.lang3.StringUtils; |
85 |
|
|
86 |
|
|
87 |
|
|
88 |
|
|
|
|
| 93.3% |
Uncovered Elements: 2 (30) |
Complexity: 8 |
Complexity Density: 0.33 |
|
89 |
|
public class GoogleSiteMapVersionHandler extends DefaultModuleVersionHandler { |
90 |
|
|
91 |
|
protected static final String GOOGLESITEMAP_APP_BROWSER_ACTIONS = "/modules/google-sitemap/apps/siteMaps/subApps/browser/actions/"; |
92 |
|
protected static final String GOOGLESITEMAP_APP_PAGES_ACTIONS = "/modules/google-sitemap/apps/siteMaps/subApps/pages/actions/"; |
93 |
|
protected static final String GOOGLESITEMAP_APP_VIRTUALURI_ACTIONS = "/modules/google-sitemap/apps/siteMaps/subApps/virtualURI/actions/"; |
94 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (10) |
Complexity: 1 |
Complexity Density: 0.1 |
|
95 |
10 |
public GoogleSiteMapVersionHandler() {... |
96 |
10 |
register(DeltaBuilder.update("1.2.1", "") |
97 |
|
.addTask(new RemoveNodeTask("Obsolete folder: templates", "Templates folder has to be removed", "config", "/modules/google-sitemap/templates")) |
98 |
|
.addTask(new RemoveNodeTask("Obsolete folder: dialog", "Dialogs folder has to be removed", "config", "/modules/google-sitemap/dialogs")) |
99 |
|
.addTask(new RemoveNodeTask("Obsolete SiteMap site sample definition", "", "website", "google-sitemap")) |
100 |
|
.addTask(new BootstrapSingleModuleResource("SiteMap new Config", "Setup Config", "config.modules.google-sitemap.config.xml")) |
101 |
|
.addTask(new BootstrapSingleModuleResource("SiteMap new Template", "Setup Template", "config.modules.google-sitemap.templates.xml"))); |
102 |
|
|
103 |
10 |
register(DeltaBuilder.update("2.0", "") |
104 |
|
.addTask(new SiteMapDefinitionMigrationTask("Migrate M4.5 site map definition into the new App", "", RepositoryConstants.WEBSITE, "/")) |
105 |
|
.addTask(new SiteMapDialogMigrationTask("Migrate M4.5 dialog definition", "Create the new M5 dialog definition. Add actions, tabs and fields definition", "google-sitemap")) |
106 |
|
.addTask(new BootstrapSingleResourceAndOrderBefore("Bootstrap tab", "Bootstrap site map properties tab", |
107 |
|
"/mgnl-bootstrap/google-sitemap/dialogs/config.modules.google-sitemap.dialogs.components.content.siteComponentTab.form.tabs.siteMap.xml", "tabSites")) |
108 |
|
.addTask(new BootstrapSingleModuleResource("SiteMap app", "Add SiteMap app", "app/config.modules.google-sitemap.apps.xml")) |
109 |
|
.addTask(new BootstrapSingleModuleResource("SiteMap app App Launcher", "Add SiteMap app to App Launcher", "app/config.modules.ui-admincentral.config.appLauncherLayout.groups.manage.apps.siteMaps.xml")) |
110 |
|
.addTask(new BootstrapSingleModuleResource("Field Types", "Install new field types", "fieldtypes/config.modules.google-sitemap.fieldTypes.xml")) |
111 |
|
.addTask(new BootstrapSingleModuleResource("Repository Mapping", "Add Google SiteMap worksapce mapping", "config/config.server.URI2RepositoryMapping.mappings.sitemaps.xml")) |
112 |
|
.addTask(new BootstrapSingleModuleResource("Virtual URI Mapping", "Add Google SiteMap virtual URI mapping", "virtualurimappings/config.modules.google-sitemap.virtualURIMapping.xml")) |
113 |
|
.addTask(new SetupModuleRepositoriesTask()) |
114 |
|
.addTask(new AddPermissionTask("Anonymous permissions for the new workspace", "", "anonymous", "googleSitemaps", "/", Permission.READ, true)) |
115 |
|
|
116 |
|
.addTask(new NewPropertyTask("Add default value transformer", "Set a transformer that display the default field value in case the stored value is null", RepositoryConstants.CONFIG, "/modules/google-sitemap/dialogs/generic/controls/googleSiteMapTab/form/tabs/tabGoogleSitemapProps/fields/googleSitemapPriority", "transformerClass", SiteMapTransformer.class.getName())) |
117 |
|
.addTask(new NewPropertyTask("Add default value transformer", "Set a transformer that display the default field value in case the stored value is null", RepositoryConstants.CONFIG, "/modules/google-sitemap/dialogs/generic/controls/googleSiteMapTab/form/tabs/tabGoogleSitemapProps/fields/googleSitemapChangefreq", "transformerClass", SiteMapTransformer.class.getName())) |
118 |
|
.addTask(new NewPropertyTask("Add default value transformer", "Set a transformer that display the default field value in case the stored value is null", RepositoryConstants.CONFIG, "/modules/google-sitemap/dialogs/generic/controls/googleVirtualUriMapTab/form/tabs/tabGoogleSitemapProps/fields/googleSitemapPriority", "transformerClass", SiteMapTransformer.class.getName())) |
119 |
|
.addTask(new NewPropertyTask("Add default value transformer", "Set a transformer that display the default field value in case the stored value is null", RepositoryConstants.CONFIG, "/modules/google-sitemap/dialogs/generic/controls/googleVirtualUriMapTab/form/tabs/tabGoogleSitemapProps/fields/googleSitemapChangefreq", "transformerClass", SiteMapTransformer.class.getName())) |
120 |
|
|
121 |
|
.addTask(new NodeExistsDelegateTask("Remove area definition from the pages templates", "Remove areas definition in /modules/google-sitemap/templates/pages/siteMapsConfiguration/areas", RepositoryConstants.CONFIG, "/modules/google-sitemap/templates/pages/siteMapsConfiguration/areas", |
122 |
|
new RemoveNodeTask("", "", RepositoryConstants.CONFIG, "/modules/google-sitemap/templates/pages/siteMapsConfiguration/areas"))) |
123 |
|
.addTask(new NodeExistsDelegateTask("Remove components definition from templates", "Remove areas definition in /modules/google-sitemap/templates/components", RepositoryConstants.CONFIG, "/modules/google-sitemap/templates/components", |
124 |
|
new RemoveNodeTask("", "", RepositoryConstants.CONFIG, "/modules/google-sitemap/templates/components"))) |
125 |
|
|
126 |
|
.addTask(new Removei18nKeysInSiteMapMigrationTask("google-sitemap", "Remove M4.5 i18n support")) |
127 |
|
.addTask(new NodeExistsDelegateTask("Reorder Sitemaps in MANAGE group", "This reorders the Sitemaps app before Configuration in the Manage group of the applauncher.", RepositoryConstants.CONFIG, "/modules/ui-admincentral/config/appLauncherLayout/groups/manage/apps/configuration", |
128 |
|
new OrderNodeBeforeTask("", "", RepositoryConstants.CONFIG, "/modules/ui-admincentral/config/appLauncherLayout/groups/manage/apps/siteMaps", "configuration"))) |
129 |
|
.addTask(new CheckAndModifyPropertyValueTask("Set Page template not visible", "", RepositoryConstants.CONFIG, "/modules/google-sitemap/templates/pages/siteMapsConfiguration", "visible", "true", "false"))); |
130 |
|
|
131 |
10 |
register(DeltaBuilder.update("2.0.1", "") |
132 |
|
.addTask(new RemoveNodeTask("Remove dialog", "Remove obsolete dialog.", RepositoryConstants.CONFIG, "/modules/google-sitemap/dialogs/pages")) |
133 |
|
.addTask(new ArrayDelegateTask("Rename property", "Rename property [workspace] to [targetWorkspace].", |
134 |
|
new RemovePropertyTask("", "", RepositoryConstants.CONFIG, "/modules/google-sitemap/dialogs/components/content/siteComponentTab/form/tabs/tabSites/fields/sites/field", "workspace"), |
135 |
|
new SetPropertyTask("", RepositoryConstants.CONFIG, "/modules/google-sitemap/dialogs/components/content/siteComponentTab/form/tabs/tabSites/fields/sites/field", "targetWorkspace", RepositoryConstants.WEBSITE))) |
136 |
|
.addTask(new RemovePropertyTask("Remove unused property", "Remove unused property called identifier.", RepositoryConstants.CONFIG, "/modules/google-sitemap/dialogs/components/content/siteComponentTab/form/tabs/tabSites/fields/sites/field", "identifier")) |
137 |
|
.addTask(new RemovePropertyTask("Remove unused property", "Remove unused property called dialog.", RepositoryConstants.CONFIG, "/modules/google-sitemap/templates/pages/siteMapsConfiguration", "dialog")) |
138 |
|
.addTask(new RemovePropertyTask("Remove unused property", "Remove unused property called sitemapType.", RepositoryConstants.CONFIG, "/modules/google-sitemap/templates/pages/siteMapsConfiguration", "sitemapType")) |
139 |
|
); |
140 |
10 |
register(DeltaBuilder.update("2.1", "") |
141 |
|
.addTask(new ContentAppMigrationTask("/modules/google-sitemap"))); |
142 |
|
|
143 |
10 |
register(DeltaBuilder.update("2.2", "") |
144 |
|
.addTask(new Register21NodeTypeTask("Register new nodeType definition", "", GoogleSiteMapConfiguration.WORKSPACE, Arrays.asList(NodeTypes.Page.NAME))) |
145 |
|
.addTask(new RenameSiteMapeSitePagesPropertyName("Rename Sitemap Website properties", "", RepositoryConstants.WEBSITE)) |
146 |
|
.addTask(new UpdatePropertyNamesAndNodeStructure("Rename Sitemap properties", "")) |
147 |
|
.addTask(new NodeExistsDelegateTask("Bootstrap new siteMap dialogs definition", "", RepositoryConstants.CONFIG, "/modules/google-sitemap/dialogs/components/content/siteComponentTab/form/tabs/siteMap", |
148 |
|
new ArrayDelegateTask("", |
149 |
|
new RemoveNodeTask("", "/modules/google-sitemap/dialogs/components/content/siteComponentTab/form/tabs/siteMap"), |
150 |
|
new BootstrapSingleModuleResource("", "", "dialogs/config.modules.google-sitemap.dialogs.components.content.siteComponentTab.form.tabs.siteMap.xml") |
151 |
|
))) |
152 |
|
.addTask(new NodeExistsDelegateTask("Bootstrap new tabSites dialogs definition", "", RepositoryConstants.CONFIG, "/modules/google-sitemap/dialogs/components/content/siteComponentTab/form/tabs/tabSites", |
153 |
|
new ArrayDelegateTask("", |
154 |
|
new RemoveNodeTask("", "/modules/google-sitemap/dialogs/components/content/siteComponentTab/form/tabs/tabSites"), |
155 |
|
new BootstrapSingleModuleResource("", "", "dialogs/config.modules.google-sitemap.dialogs.components.content.siteComponentTab.form.tabs.tabSites.xml") |
156 |
|
))) |
157 |
|
.addTask(new NodeExistsDelegateTask("Bootstrap new generic dialogs definition", "", RepositoryConstants.CONFIG, "/modules/google-sitemap/dialogs/generic", |
158 |
|
new ArrayDelegateTask("", |
159 |
|
new RemoveNodeTask("", "/modules/google-sitemap/dialogs/generic"), |
160 |
|
new BootstrapSingleModuleResource("", "", "dialogs/config.modules.google-sitemap.dialogs.generic.xml") |
161 |
|
))) |
162 |
|
.addTask(new BootstrapSingleModuleResource("Bootstrap new tabDefaultValue dialogs definition", "", "dialogs/config.modules.google-sitemap.dialogs.components.content.siteComponentTab.form.tabs.tabDefaultValue.xml")) |
163 |
|
.addTask(new OrderNodeAfterTask("order tabs", "/modules/google-sitemap/dialogs/components/content/siteComponentTab/form/tabs/tabSites", "siteMap")) |
164 |
|
.addTask(new OrderNodeAfterTask("order tabs", "/modules/google-sitemap/dialogs/components/content/siteComponentTab/form/tabs/tabDefaultValue", "tabSites")) |
165 |
|
.addTask(new CheckAndModifyPropertyValueTask("/modules/google-sitemap/apps/siteMaps/subApps/browser/workbench/contentViews/list/columns/name", "propertyName", "displayName", "mgnl:googleSiteMapDisplayName")) |
166 |
|
.addTask(new CheckAndModifyPropertyValueTask("/modules/google-sitemap/apps/siteMaps/subApps/browser/workbench/contentViews/list/columns/name", "formatterClass", "info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.formatter.FolderNameColumnFormatter", FolderNameColumnFormatter.class.getName())) |
167 |
|
.addTask(new CheckAndModifyPropertyValueTask("/modules/google-sitemap/apps/siteMaps", "appClass", "info.magnolia.module.googlesitemap.app.GoogleSiteMapApp", ContentApp.class.getName())) |
168 |
|
|
169 |
|
.addTask(new NodeExistsDelegateTask("Bootstrap new sub app Pages definition", "", RepositoryConstants.CONFIG, "/modules/google-sitemap/apps/siteMaps/subApps/pages", |
170 |
|
new ArrayDelegateTask("", |
171 |
|
new RemoveNodeTask("", "/modules/google-sitemap/apps/siteMaps/subApps/pages"), |
172 |
|
new PartialBootstrapTask("", "/mgnl-bootstrap/google-sitemap/app/config.modules.google-sitemap.apps.xml", "/apps/siteMaps/subApps/pages"), |
173 |
|
new OrderNodeAfterTask("order tabs", "/modules/google-sitemap/apps/siteMaps/subApps/pages", "browser") |
174 |
|
))) |
175 |
|
|
176 |
|
.addTask(new NodeExistsDelegateTask("Bootstrap new sub app VirtualUri definition", "", RepositoryConstants.CONFIG, "/modules/google-sitemap/apps/siteMaps/subApps/virtualURI", |
177 |
|
new ArrayDelegateTask("", |
178 |
|
new RemoveNodeTask("", "/modules/google-sitemap/apps/siteMaps/subApps/virtualURI"), |
179 |
|
new PartialBootstrapTask("", "/mgnl-bootstrap/google-sitemap/app/config.modules.google-sitemap.apps.xml", "/apps/siteMaps/subApps/virtualURI"), |
180 |
|
new OrderNodeAfterTask("order tabs", "/modules/google-sitemap/apps/siteMaps/subApps/virtualURI", "pages") |
181 |
|
))) |
182 |
|
.addTask(new SetWritePermissionForActionsTask(GOOGLESITEMAP_APP_BROWSER_ACTIONS, new String[]{"addFolder", "editFolder", "addSiteMap", "delete", "editSiteMap", "import", "restorePreviousVersion", "confirmDeleteSiteMap", "editSiteEntries", "editVirtualUris", "activate", "deactivate", "activateDeleted"})) |
183 |
|
.addTask(new SetWritePermissionForActionsTask(GOOGLESITEMAP_APP_PAGES_ACTIONS, new String[]{"editSitemapEntry"})) |
184 |
|
.addTask(new SetWritePermissionForActionsTask(GOOGLESITEMAP_APP_VIRTUALURI_ACTIONS, new String[]{"editSitemapEntry"})) |
185 |
|
.addTask(new BootstrapSingleModuleResource("Bootstrap new config values", "", "config.modules.google-sitemap.config.xml")) |
186 |
|
.addTask(new PartialBootstrapTask("", "/mgnl-bootstrap/google-sitemap/fieldtypes/config.modules.google-sitemap.fieldTypes.xml", "/fieldTypes/siteMapSelect"))); |
187 |
|
|
188 |
10 |
register(DeltaBuilder.update("2.2.2", "") |
189 |
|
.addTask(new AddIsPublishedRuleToAllDeactivateActionsTask("", "/modules/google-sitemap/apps/")) |
190 |
|
); |
191 |
|
|
192 |
10 |
register(DeltaBuilder.update("2.2.3", "") |
193 |
|
.addTask(new PropertyExistsDelegateTask("Add property catalog to deactivate action if not existing", "", RepositoryConstants.CONFIG, "/modules/google-sitemap/apps/siteMaps/subApps/browser/actions/deactivate", "catalog", null, |
194 |
|
new NewPropertyTask("", "", RepositoryConstants.CONFIG, "/modules/google-sitemap/apps/siteMaps/subApps/browser/actions/deactivate", "catalog", "website"))) |
195 |
|
); |
196 |
|
|
197 |
10 |
register(DeltaBuilder.update("2.3.3", "") |
198 |
|
.addTask(new RemovePropertyTask("Remove unnecessary 'hidden' property", "/modules/google-sitemap/dialogs/components/content/siteComponentTab/form/tabs/siteMap/fields/template", "hidden")) |
199 |
|
.addTask(new NodeVisitorTask("Update all broken 'mgnl:template' properties", |
200 |
|
"Sitemaps with property 'mgnl:template' set to 'GoogleSiteMap' will be updated to 'google-sitemap:pages/siteMapsConfiguration'", |
201 |
|
GoogleSiteMapConfiguration.WORKSPACE, "/") { |
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
202 |
1493 |
@Override... |
203 |
|
protected boolean nodeMatches(Node node) { |
204 |
1493 |
return !StringUtils.startsWith(NodeUtil.getPathIfPossible(node), "/jcr:system") && |
205 |
|
StringUtils.equals(PropertyUtil.getString(node, NodeTypes.Renderable.TEMPLATE), "GoogleSiteMap"); |
206 |
|
} |
207 |
|
|
|
|
| 66.7% |
Uncovered Elements: 1 (3) |
Complexity: 2 |
Complexity Density: 0.67 |
|
208 |
1 |
@Override... |
209 |
|
protected void operateOnNode(InstallContext installContext, Node node) { |
210 |
1 |
try { |
211 |
1 |
node.setProperty(NodeTypes.Renderable.TEMPLATE, "google-sitemap:pages/siteMapsConfiguration"); |
212 |
|
} catch (RepositoryException e) { |
213 |
0 |
installContext.error(String.format("Error updating '%s' property of node '%s'", NodeTypes.Renderable.TEMPLATE, NodeUtil.getPathIfPossible(node)), e); |
214 |
|
} |
215 |
|
} |
216 |
|
}) |
217 |
|
); |
218 |
|
|
219 |
10 |
register(DeltaBuilder.update("2.3.4", "") |
220 |
|
.addTask(new BootstrapSingleModuleResource("Sitemap dialog main tab", "Make 'standard' the default sitemap type", |
221 |
|
"dialogs/config.modules.google-sitemap.dialogs.components.content.siteComponentTab.form.tabs.siteMap.xml")) |
222 |
|
.addTask(new BootstrapSingleModuleResource("Add sitemap renderer", "This one sets the correct content type 'application/xml'", "config.modules.google-sitemap.renderers.sitemap.xml")) |
223 |
|
.addTask(new CheckAndModifyPropertyValueTask("Update siteMap template to use sitemap renderer", "This will make sure the correct content type is set", "config", "/modules/google-sitemap/templates/pages/siteMapsConfiguration", "renderType", "freemarker", "sitemap")) |
224 |
|
); |
225 |
|
|
226 |
10 |
register(DeltaBuilder.update("2.4.1", "") |
227 |
|
.addTask(new ArrayDelegateTask("Remove legacy properties", |
228 |
|
new RemovePropertiesTask("", RepositoryConstants.CONFIG, Arrays.asList( |
229 |
|
"/modules/google-sitemap/apps/siteMaps/subApps/browser/actions/export/extends", |
230 |
|
"/modules/google-sitemap/apps/siteMaps/subApps/browser/actions/editSiteMap/nodeType", |
231 |
|
"/modules/google-sitemap/dialogs/components/content/siteComponentTab/form/tabs/tabSites/fields/mgnl:googleSiteMapPages/chooseOnClick"), false), |
232 |
|
new CheckOrCreatePropertyTask("", "/modules/google-sitemap/apps/siteMaps/subApps/browser/actions/export", "icon", "icon-export"), |
233 |
|
|
234 |
|
new NodeVisitorTask("", "", RepositoryConstants.CONFIG, "/modules/google-sitemap/dialogs/components/content/siteComponentTab/form/tabs") { |
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
235 |
198 |
@Override... |
236 |
|
protected boolean nodeMatches(Node node) { |
237 |
198 |
return StringUtils.startsWith(NodeUtil.getName(node), "mgnl:"); |
238 |
|
} |
239 |
|
|
|
|
| 75% |
Uncovered Elements: 1 (4) |
Complexity: 2 |
Complexity Density: 0.5 |
|
240 |
1 |
@Override... |
241 |
|
protected void operateOnNode(InstallContext installContext, Node node) { |
242 |
1 |
try { |
243 |
1 |
node.setProperty("name", node.getName()); |
244 |
1 |
NodeUtil.renameNode(node, node.getName().replaceAll(":", "-")); |
245 |
|
} catch (RepositoryException e) { |
246 |
0 |
installContext.error(String.format("Error updating '%s' property of node '%s'", NodeTypes.Renderable.TEMPLATE, NodeUtil.getPathIfPossible(node)), e); |
247 |
|
} |
248 |
|
} |
249 |
|
})) |
250 |
|
); |
251 |
|
} |
252 |
|
|
253 |
|
|
254 |
|
|
255 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (5) |
Complexity: 1 |
Complexity Density: 0.2 |
|
256 |
1 |
@Override... |
257 |
|
protected List<Task> getExtraInstallTasks(InstallContext ctx) { |
258 |
1 |
final List<Task> tasks = new ArrayList<Task>(); |
259 |
1 |
tasks.add(new AddPermissionTask("Anonymous permissions for the new workspace", "", "anonymous", "googleSitemaps", "/", Permission.READ, true)); |
260 |
1 |
tasks.add(new NodeExistsDelegateTask("Reorder Sitemaps in MANAGE group", "This reorders the Sitemaps app before Configuration in the Manage group of the applauncher.", RepositoryConstants.CONFIG, "/modules/ui-admincentral/config/appLauncherLayout/groups/manage/apps/configuration", |
261 |
|
new OrderNodeBeforeTask("", "", RepositoryConstants.CONFIG, "/modules/ui-admincentral/config/appLauncherLayout/groups/manage/apps/siteMaps", "configuration"))); |
262 |
1 |
tasks.add(new Register21NodeTypeTask("Register new nodeType definition", "", GoogleSiteMapConfiguration.WORKSPACE, Arrays.asList(NodeTypes.Page.NAME))); |
263 |
1 |
return tasks; |
264 |
|
} |
265 |
|
} |