@Override public List<Task> postExecute() { if( afterNode != null ) { String name = getFilterName(); return Arrays.asList( new OrderNodeAfterTask( desc_positioning_filter.format( name, afterNode ), String.format( "/server/filters/%s", name ), afterNode ) ); } return Collections.emptyList(); }
@Override public List<Task> postExecute() { List<Task> result = Collections.emptyList(); if( afterNode != null ) { result = Arrays.asList( new OrderNodeAfterTask( task_positioning_filter_servlet.format( getName(), afterNode ), String.format( "/server/filters/servlets/%s", getName() ), afterNode ) ); } return result; }
public BootstrapSingleResourceAndOrderAfter(String name, String description, String resource, String orderAfterName) { super(name, description); String workspace = BootstrapUtil.getWorkspaceNameFromResource(resource); String path = BootstrapUtil.getFullpathFromResource(resource); addTask(new BootstrapSingleResource(name, description, resource)); addTask(new OrderNodeAfterTask(name, description, workspace, path, orderAfterName)); } }
@Test public void testOrderNodeBeforeTask() throws Exception { // GIVEN final String repository = "test"; final Session session = new MockSession(repository); InstallContext ctx = mock(InstallContext.class); when(ctx.getJCRSession(repository)).thenReturn(session); final Node root = session.getRootNode(); final Node first = root.addNode("first"); final Node second = root.addNode("second"); OrderNodeAfterTask task = new OrderNodeAfterTask("TaskName", "Description", repository, first.getPath(), second.getName()); // WHEN task.doExecute(ctx); // THEN NodeIterator nodes = root.getNodes(); assertEquals("Second node should now be before first one", second, nodes.nextNode()); assertEquals("First node should now be after second one", first, nodes.nextNode()); }
@Test public void testOrderNodeBeforeTaskWhenPathIsNotExisting() throws Exception { // GIVEN final String repository = "test"; final Session session = new MockSession(repository); InstallContext ctx = mock(InstallContext.class); when(ctx.getJCRSession(repository)).thenReturn(session); final Node root = session.getRootNode(); final Node first = root.addNode("first"); OrderNodeAfterTask task = new OrderNodeAfterTask("TaskName", "Description", repository, first.getPath(), "doesNotExist"); try { // WHEN task.doExecute(ctx); } catch (RepositoryException e) { fail("Didn't expect exception but got: " + e); } // THEN // all fine - we just didn't expect an Exception } }
new CheckAndModifyPropertyValueTask("", "", RepositoryConstants.CONFIG, "/modules/standard-templating-kit/config/site/templates/prototype/areas/main/areas/comments/availableComponents/stkComments", "id", "standard-templating-kit:components/features/stkComments", "commenting:components/comments"))); tasks.add(new STKLegacyUiToMagnolia5AppProviderTask("Provide STK with a Magnolia 5 UI", "Turns legacy UI into a Magnolia 5 browser app.")); tasks.add(new OrderNodeAfterTask("STK AppLauncher group ordering", "Moves the stk app group after the tools group", RepositoryConstants.CONFIG, "/modules/ui-admincentral/config/appLauncherLayout/groups/stk", "tools")); tasks.add(new ReorderSTKAppsTask()); tasks.add(new ModuleDependencyBootstrapTask("contacts"));
public ExchangeSimpleModuleVersionHandler() { super(); register(DeltaBuilder.checkPrecondition("4.4.6", "4.5")); register(DeltaBuilder.update("4.5", "URL of activation filter is no longer password protected but uses encryption instead.") .addTask(new BootstrapSingleModuleResource("Configure ActivationPage", "Register class to be used.", "config.modules.exchange-simple.pages.activationPage.xml")) .addTask(new BootstrapSingleModuleResource("ActivationPage Menu", "Configure menu in AdminInterface.", "config.modules.adminInterface.config.menu.tools.activationPage.xml")) .addTask(new IsAuthorInstanceDelegateTask("Security update", "Update security keys if on author instance.", new AbstractTask("", "") { @Override public void execute(InstallContext installContext) throws TaskExecutionException { try { SecurityUtil.updateKeys(SecurityUtil.generateKeyPair(1024)); } catch (NoSuchAlgorithmException e) { throw new TaskExecutionException(e.getMessage(), e); } } })) .addTask(new FilterOrderingTask("activation", new String[] { "context", "login", "multipartRequest" }))); register(DeltaBuilder.update("4.5.8", "") .addTask(new BootstrapSingleModuleResource("Configure Activation Log Storage", "Register ActivationLogStorage class", "config.modules.exchange-simple.config.activationLogStorage.xml")) .addTask(new BootstrapSingleModuleResource("Configure ActivationMonitorPage", "Register ActivationMonitorPage class", "config.modules.exchange-simple.pages.activationMonitor.xml")) .addTask(new BootstrapSingleModuleResource("Activation Monitor Page in menu", "Register Activation Monitor page in AdminInterface Tools menu", "config.modules.adminInterface.config.menu.tools.activationMonitor.xml")) .addTask(new OrderNodeAfterTask("Order Activation Monitor menu item.", "Order Activation Monitor menu item.", RepositoryConstants.CONFIG, "/modules/adminInterface/config/menu/tools/activationMonitor", "activationPage"))); }
.addTask(new OrderNodeAfterTask("Move renameContact action to proper location", "Move it to after editContact", RepositoryConstants.CONFIG, "/modules/contacts/apps/contacts/subApps/browser/actionbar/sections/contact/groups/editActions/items/renameContact", "editContact")) .addTask(new CreateNodeTask("Add renameContact to contactDeleted actionBar section", "", RepositoryConstants.CONFIG, "/modules/contacts/apps/contacts/subApps/browser/actionbar/sections/deletedContact/groups/editActions/items", "renameContact", NodeTypes.Content.NAME)) .addTask(new OrderNodeAfterTask("Move renameContact action to proper location", "Move it to after editContact", RepositoryConstants.CONFIG, "/modules/contacts/apps/contacts/subApps/browser/actionbar/sections/deletedContact/groups/editActions/items/renameContact", "editContact")) new PartialBootstrapTask("", "", "/mgnl-bootstrap/contacts/config.modules.contacts.apps.contacts.xml", "/contacts/subApps/browser/actionbar/sections/contact/groups/versionsActions/items/restoreVersion"), new NodeExistsDelegateTask("", "", RepositoryConstants.CONFIG, "/modules/contacts/apps/contacts/subApps/browser/actionbar/sections/contact/groups/versionsActions/items/showVersions", new OrderNodeAfterTask("", "", RepositoryConstants.CONFIG, "/modules/contacts/apps/contacts/subApps/browser/actionbar/sections/contact/groups/versionsActions/items/restoreVersion", "showVersions")))))
.addTask(new OrderNodeAfterTask("Move caption control", "Move caption control after the resource control in the asset editor subapp", RepositoryConstants.CONFIG, "/modules/dam/apps/assets/subApps/detail/editor/form/tabs/asset/fields/caption", "resource")) .addTask(new OrderNodeAfterTask("Move renameAsset action to proper location", "Move it to after editAsset", RepositoryConstants.CONFIG, "/modules/dam/apps/assets/subApps/browser/actionbar/sections/asset/groups/editActions/items/renameAsset", "editAsset")) .addTask(new CreateNodeTask("Add renameAsset to assetDeleted actionBar section", "", RepositoryConstants.CONFIG, "/modules/dam/apps/assets/subApps/browser/actionbar/sections/deletedAsset/groups/editActions/items", "renameAsset", NodeTypes.Content.NAME)) .addTask(new OrderNodeAfterTask("Move renameAsset action to proper location", "Move it to after editAsset", RepositoryConstants.CONFIG, "/modules/dam/apps/assets/subApps/browser/actionbar/sections/deletedAsset/groups/editActions/items/renameAsset", "editAsset")) .addTask(new NodeExistsDelegateTask("Reorder actions in actionbar", "Puts 'activate recursive' action after 'activate' action in folder", RepositoryConstants.CONFIG, "/modules/dam/apps/assets/subApps/browser/actionbar/sections/folder/groups/activationActions/items/activate", new OrderNodeAfterTask("", "", RepositoryConstants.CONFIG, "/modules/dam/apps/assets/subApps/browser/actionbar/sections/folder/groups/activationActions/items/activateRecursive", "activate")))); new PartialBootstrapTask("", "", "/mgnl-bootstrap/dam-app-1-x/config.modules.dam.apps.assets.xml", "/assets/subApps/browser/actionbar/sections/asset/groups/versionsActions/items/restoreVersion"), new NodeExistsDelegateTask("", "", RepositoryConstants.CONFIG, "/modules/dam/apps/assets/subApps/browser/actionbar/sections/asset/groups/versionsActions/items/showVersions", new OrderNodeAfterTask("", "", RepositoryConstants.CONFIG, "/modules/dam/apps/assets/subApps/browser/actionbar/sections/asset/groups/versionsActions/items/restoreVersion", "showVersions")))))); .addTask(new OrderNodeAfterTask("", "", RepositoryConstants.CONFIG, "/modules/dam/apps/assets/subApps/browser/workbench/contentViews/list/columns/type", "title"))); addNode("downloadAsset", NodeTypes.ContentNode.NAME) ))), new OrderNodeAfterTask("", "/modules/dam/apps/assets/subApps/browser/actionbar/sections/asset/groups/downloadActions", "activationActions"))) new RemoveNodeTask("", "/modules/dam-app/apps/assets/subApps/detail/editor/form/tabs/asset/fields/name"), new PartialBootstrapTask("", "", "/mgnl-bootstrap/dam-app/config.modules.dam-app.apps.assets.xml", "/assets/subApps/detail/editor/form/tabs/asset/fields/name"), new OrderNodeAfterTask("", "/modules/dam-app/apps/assets/subApps/detail/editor/form/tabs/asset/fields/name", "resource")))) .addTask(new NodeExistsDelegateTask("Bootstrap new column name formater", "", RepositoryConstants.CONFIG, "/modules/dam-app/apps/assets/subApps/browser/workbench/contentViews/list/columns/asset", new ArrayDelegateTask("", new ArrayDelegateTask("", new PartialBootstrapTask("", "", "/mgnl-bootstrap/dam-app/config.modules.dam-app.apps.assets.xml", "/assets/subApps/detail/imageProvider"), new OrderNodeAfterTask("", "/modules/dam-app/apps/assets/subApps/detail/imageProvider", "contentConnector"))))