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")));
}