/** * Convenience factory method for an Update Delta with a single task. */ public static DeltaBuilder update(Version toVersion, String description, Task task) { return update(toVersion, description).addTask(task); }
public SamplesVersionHandler() { register(DeltaBuilder.update("5.4.1", "") .addTask(new ArrayDelegateTask("Remove samples configuration from JCR", new NodeExistsDelegateTask("", "/modules/samples/dialogs", new RemoveNodeTask("", "/modules/samples/dialogs")), new NodeExistsDelegateTask("", "/modules/samples/templates", new RemoveNodeTask("", "/modules/samples/templates")), new NodeExistsDelegateTask("", "/modules/samples/virtualURIMapping", new RemoveNodeTask("", "/modules/samples/virtualURIMapping")))) .addTasks(getCommonTasks())); register(DeltaBuilder.update("6.0", "") .addTask(new RemoveNodeTask("Remove JSP sample site", "Magnolia Templating JSP is deprecated as of 6.0.", WEBSITE, "/jsp-sample-site"))); }
private void addLabelRemovalTasks(DeltaBuilder delta, String dialogName) { delta.addTask(new RemovePropertyTask("Remove commit action label from dialog " + dialogName, "Remove commit action label from dialog " + dialogName, RepositoryConstants.CONFIG, DIALOGS_PATH + dialogName + COMMIT_ACTION, "label")); delta.addTask(new RemovePropertyTask("Remove cancel action label from dialog " + dialogName, "Remove cancel action label from dialog " + dialogName, RepositoryConstants.CONFIG, DIALOGS_PATH + dialogName + CANCEL_ACTION, "label")); } }
private void add( List<Delta> deltas, String modulename, String discriminator, Version toVersion, Integer running, Task task ) { deltas.add( DeltaBuilder.update( toVersion, msg_updating_task.format( toVersion, discriminator, running ) ) // execute the task itself .addTask( task ) // update the running number .addTask( new KsSetModuleVersionTask( modulename, String.format( FMT_UPDATESET, discriminator ), running.intValue() ) ) ); }
public RestIntegrationModuleVersionHandler() { register(DeltaBuilder.update("2.0", "") .addTask(new UpdateRestEditorRoleTask("Update old rest role to new rest-editor role", "")) .addTask(new BootstrapSingleModuleResource("Bootstrap file userroles.rest-admin.xml", "", "userroles.rest-admin.xml")) .addTask(new BootstrapSingleModuleResource("Bootstrap file userroles.rest-anonymous.xml", "", "userroles.rest-anonymous.xml")) .addTask(new RemoveRoleFromUserTask("Remove rest-editor role from superuser", "superuser", "rest-editor")) .addTask(new AddRoleToUserTask("Add role 'rest-admin' to user 'superuser'", "superuser", "rest-admin")) .addTask(new AddRoleToUserTask("Add role 'rest-anonymous' to user 'anonymous'", "anonymous", "rest-anonymous")) ); }
public CacheModuleVersionHandler() { register(DeltaBuilder.checkPrecondition("4.4.6", "4.5")); register(DeltaBuilder.update("4.5", "") .addTask(placeGzipFitler) .addTask(placeCacheFilter) .addTask(new BootstrapSingleResource( "Register Virtual Uri Mapping", "Add Virtual Uri for static resources", "/mgnl-bootstrap/cache/config.modules.cache.virtualURIMapping.xml")) ); }
private void addCancelButtonTextFieldToFormSubmitTemplate(DeltaBuilder delta) { final String parentPath = "/modules/form/dialogs/formSubmit/form/tabs/tabMain/fields"; String generalDescTxt = " an additional field 'cancelButtonLabel' to" + parentPath + "."; Task bootstrapSingleModuleResource = new BootstrapSingleModuleResource("Add" + generalDescTxt, "Adds" + generalDescTxt, "dialogs/config.modules.form.dialogs.formSubmit.yaml", "/formSubmit/form/tabs/tabMain/fields/cancelButtonText"); NodeExistsDelegateTask nodeExistsDelegateTask = new NodeExistsDelegateTask("Conditionally add" + generalDescTxt + "(If " + parentPath + " exists.)", parentPath, bootstrapSingleModuleResource); delta.addTask(nodeExistsDelegateTask); }
public RestEasyClientModuleVersionHandler() { register(DeltaBuilder.update("1.0.4", "") .addTask(installRenderContextAttribute) ); register(DeltaBuilder.update("1.0.8", "") .addTask(new MigrateClientFiltersToComponentsTask()) ); register(DeltaBuilder.update("1.1.1", "") .addTask(installRestEasyJacksonDelegateProvider) ); }
public TemplatingEssentialsModelsModuleVersionHandler() { register(DeltaBuilder.update("1.1", "") .addTask(new InstallRendererContextAttributeTask("rendering", "freemarker", "navfn", NavigationTemplatingFunctions.class.getName())) ); }
public DamJcrVersionHandler() { register(DeltaBuilder.update("2.0", "") .addTask(new BootstrapSingleResource( "Register jcrAssetProvider", "", "/mgnl-bootstrap/dam-jcr/config.modules.dam.config.providers.jcrProvider.xml"))); }
public SchedulerModuleVersionHandler() { register(DeltaBuilder.update("2.1.1", "") .addTask(new BootstrapSingleModuleResource("config.modules.scheduler.messageViews.xml")) ); register(DeltaBuilder.update("2.1.3", "") .addTask(new RenamePropertiesTask("Rename deprecated properties", RepositoryConstants.CONFIG, "/modules/scheduler/config/jobs", "active", "enabled")) ); }
public Magnolia45MigrationModuleVersionHandler() { super(); register(DeltaBuilder.update("1.1.1", "") .addTask(new InstallGroovyFile("Install Migration Groovy Files", "Migration scripts will be put in the groovy scripts workspace", "/scripts/.*.groovy"))); register(DeltaBuilder.update("1.2.1", "") .addTask(new InstallGroovyFile("Install Export groovy files.", "Groovy files that let a developer exports its configuration to the filesystem.", "/scripts/migration/from4_4To4_5/export/.*.groovy"))); }
public DamTemplatingVersionHandler() { register(DeltaBuilder.update("2.0", "") .addTask(new NodeExistsDelegateTask("Remove AssetMapModel declaration from freemarker modelFactory. With DAM 2.0 this is replaced by a normal Map", "/server/rendering/freemarker/modelFactories/damModelFactory", new RemoveNodeTask("", "/server/rendering/freemarker/modelFactories/damModelFactory")))); register(DeltaBuilder.update("2.1", "") .addTask(new InstallRendererContextAttributeTask("rendering", "freemarker", "damfn", DamTemplatingFunctions.class.getName()))); }
public RestServicesModuleVersionHandler() { register(DeltaBuilder.update("1.1", "") .addTask(new CheckAndModifyPropertyValueTask("/modules/rest-services/rest-endpoints/commands", "implementationClass", "info.magnolia.rest.service.command.v1.CommandEndpoint", "info.magnolia.rest.service.command.v2.CommandEndpoint")) ); register(DeltaBuilder.update("2.0", "") .addTask(new NodeExistsDelegateTask("Update activate command rest role to rest-editor", "/modules/rest-services/rest-endpoints/commands/enabledCommands/activate/access/roles", new CheckAndModifyPropertyValueTask("/modules/rest-services/rest-endpoints/commands/enabledCommands/activate/access/roles", "rest", "rest", "rest-editor"))) .addTask(new NodeExistsDelegateTask("Update markAsDeleted command rest role to rest-editor", "/modules/rest-services/rest-endpoints/commands/enabledCommands/markAsDeleted/access/roles", new CheckAndModifyPropertyValueTask("/modules/rest-services/rest-endpoints/commands/enabledCommands/markAsDeleted/access/roles", "rest", "rest", "rest-editor"))) ); }
@Test public void testCheckModuleAndDeltasToStringForUpdate() { final ModuleDefinition mod = new ModuleDefinition("foo", Version.parseVersion("2.3.4"), null, null); final Delta d1 = DeltaBuilder.update("1.1", "New version").addTask(new WarnTask("t1", "test 1")).addTask(new WarnTask("t2", "test 2")); final Delta d2 = DeltaBuilder.update("2.0", "New version 2").addTask(new WarnTask("t3", "test 3")).addTask(new WarnTask("t3", "test 4")); ModuleManager.ModuleAndDeltas mad = new ModuleManager.ModuleAndDeltas(mod, Version.parseVersion("1.0"), Arrays.asList(d1, d2)); assertEquals("ModuleAndDeltas for foo: current version is 1.0.0, updating to 2.3.4 with 2 deltas.", mad.toString()); }
@Test public void testCheckModuleAndDeltasToStringForInstall() { final ModuleDefinition mod = new ModuleDefinition("foo", Version.parseVersion("2.3.4"), null, null); final Delta d1 = DeltaBuilder.update("1.1", "New version").addTask(new WarnTask("t1", "test 1")).addTask(new WarnTask("t2", "test 2")); ModuleManager.ModuleAndDeltas mad = new ModuleManager.ModuleAndDeltas(mod, null, Arrays.asList(d1)); assertEquals("ModuleAndDeltas for foo: installing version 2.3.4 with 1 deltas.", mad.toString()); }
@Test public void testDescriptionForUpdatesOnly() { final ModuleManager.ModuleManagementState state = new ModuleManager.ModuleManagementState(); state.addModule(new ModuleDefinition("a", v10, null, null), v01, Arrays.<Delta>asList( DeltaBuilder.update(v10, "").addTask(new WarnTask("", "")), DeltaBuilder.update(v05, "").addTask(new WarnTask("", "")) )); state.addModule(new ModuleDefinition("b", v10, null, null), v01, Arrays.<Delta>asList( DeltaBuilder.update(v10, "").addTask(new WarnTask("", "")), DeltaBuilder.update(v05, "").addTask(new WarnTask("", "")) )); assertEquals(1, state.getDeltaTypes().size()); assertTrue(state.getDeltaTypes().contains(DeltaType.update)); assertEquals("updates only", state.getDeltaTypesDescription(TEXTS)); }
@Test public void testDescriptionForInstallsOnly() { final ModuleManager.ModuleManagementState state = new ModuleManager.ModuleManagementState(); state.addModule(new ModuleDefinition("a", v10, null, null), null, Arrays.<Delta>asList( DeltaBuilder.install(v10, "").addTask(new WarnTask("", "")) )); state.addModule(new ModuleDefinition("b", v10, null, null), null, Arrays.<Delta>asList( DeltaBuilder.install(v10, "").addTask(new WarnTask("", "")) )); assertEquals(1, state.getDeltaTypes().size()); assertTrue(state.getDeltaTypes().contains(DeltaType.install)); assertEquals("installs only", state.getDeltaTypesDescription(TEXTS)); }
@Test public void testVersionUpdateTaskAndFileExtractionAreAdded() { final NullTask nullTask = new NullTask("test", "test"); final NullTask nullTask2 = new NullTask("test2", "test2"); final Delta delta = DeltaBuilder.update(Version.parseVersion("2.0"), "").addTask(nullTask).addTask(nullTask2); final AbstractModuleVersionHandler versionHandler = newTestModuleVersionHandler(); versionHandler.register(delta); final List retrievedDeltas = versionHandler.getDeltas(makeInstallContext("2.0"), Version.parseVersion("1.0")); assertEquals(1, retrievedDeltas.size()); final Delta retrievedDelta = (Delta) retrievedDeltas.get(0); final List tasks = retrievedDelta.getTasks(); assertEquals(4, tasks.size()); // in our test, the first 2 tasks should be NullTask instances. for (int i = 0; i < 2; i++) { assertTrue(tasks.get(i) instanceof NullTask); } assertTrue(tasks.get(2) instanceof ModuleFilesExtraction); assertTrue(tasks.get(3) instanceof AbstractModuleVersionHandler.ModuleVersionUpdateTask); }
@Test public void testDescriptionForInstallsAndUpdates() { final ModuleManager.ModuleManagementState state = new ModuleManager.ModuleManagementState(); state.addModule(new ModuleDefinition("a", v10, null, null), v01, Arrays.<Delta>asList( DeltaBuilder.update(v10, "").addTask(new WarnTask("", "")), DeltaBuilder.update(v05, "").addTask(new WarnTask("", "")) )); state.addModule(new ModuleDefinition("b", v10, null, null), null, Arrays.<Delta>asList( DeltaBuilder.install(v10, "").addTask(new WarnTask("", "")) )); assertEquals(2, state.getDeltaTypes().size()); assertTrue(state.getDeltaTypes().contains(DeltaType.install)); assertTrue(state.getDeltaTypes().contains(DeltaType.update)); assertEquals("installs and updates", state.getDeltaTypesDescription(TEXTS)); } }