package ro.nextreports.server.update;
import java.io.IOException;
import javax.jcr.Node;
import javax.jcr.RepositoryException;
import ro.nextreports.server.StorageConstants;
import ro.nextreports.server.web.themes.ThemesManager;
// NextReports Server 9.0 changed all UI css
// Themes are now red, blue, default (instead of green)
// If found theme is green we change it to default
// If user created and selected another theme we change it to default (old custom themes must be rewritten)
public class StorageUpdate23 extends StorageUpdate {
@Override
protected void executeUpdate() throws Exception {
modifyThemeSettings();
}
private void modifyThemeSettings() throws RepositoryException, IOException {
LOG.info("Modify Theme Settings");
Node rootNode = getTemplate().getRootNode();
Node settingsNode = rootNode.getNode(StorageConstants.NEXT_SERVER_FOLDER_NAME + StorageConstants.PATH_SEPARATOR + StorageConstants.SETTINGS_FOLDER_NAME);
String theme = settingsNode.getProperty(StorageConstants.THEME).getString();
LOG.info(" Current theme = " + theme);
if (!ThemesManager.BLUE_THEME.equals(theme) && !ThemesManager.RED_THEME.equals(theme)) {
settingsNode.setProperty(StorageConstants.THEME, ThemesManager.DEFAULT_THEME);
LOG.info(" Set theme to default green.");
}
getTemplate().save();
}
}