diff --git a/plugins/org.jkiss.dbeaver.ui.dashboard/src/org/jkiss/dbeaver/ui/dashboard/model/DashboardConstants.java b/plugins/org.jkiss.dbeaver.ui.dashboard/src/org/jkiss/dbeaver/ui/dashboard/model/DashboardConstants.java index 24a1b636667121658ab2df61c867dde6d78c2827..cdb08656bf7bdd7cee893dd6bf7b437686cb6ab9 100644 --- a/plugins/org.jkiss.dbeaver.ui.dashboard/src/org/jkiss/dbeaver/ui/dashboard/model/DashboardConstants.java +++ b/plugins/org.jkiss.dbeaver.ui.dashboard/src/org/jkiss/dbeaver/ui/dashboard/model/DashboardConstants.java @@ -26,7 +26,7 @@ public class DashboardConstants { public static final String RS_COL_TIMESTAMP = "STAT_TIMESTAMP"; public static final int DEF_DASHBOARD_MAXIMUM_ITEM_COUNT = 300; - public static final long DEF_DASHBOARD_MAXIMUM_AGE = 24 * 60 * 60 * 1000; + public static final long DEF_DASHBOARD_MAXIMUM_AGE = 30 * 60 * 1000; // Half of hour public static final int DEF_DASHBOARD_UPDATE_PERIOD = 5000; public static final double DEF_DASHBOARD_WIDTH_RATIO = 1.5; diff --git a/plugins/org.jkiss.dbeaver.ui.dashboard/src/org/jkiss/dbeaver/ui/dashboard/model/DashboardItemViewConfiguration.java b/plugins/org.jkiss.dbeaver.ui.dashboard/src/org/jkiss/dbeaver/ui/dashboard/model/DashboardItemViewConfiguration.java index a2f831c32dd9d77fdd154355f4b6155b13724d4d..ee97b419460c91699692a6cca55fcf36d72250c1 100644 --- a/plugins/org.jkiss.dbeaver.ui.dashboard/src/org/jkiss/dbeaver/ui/dashboard/model/DashboardItemViewConfiguration.java +++ b/plugins/org.jkiss.dbeaver.ui.dashboard/src/org/jkiss/dbeaver/ui/dashboard/model/DashboardItemViewConfiguration.java @@ -17,28 +17,24 @@ package org.jkiss.dbeaver.ui.dashboard.model; import org.jkiss.dbeaver.ui.dashboard.registry.DashboardDescriptor; +import org.jkiss.utils.CommonUtils; +import org.jkiss.utils.xml.XMLBuilder; + +import java.io.IOException; public class DashboardItemViewConfiguration { private DashboardDescriptor dashboardDescriptor; - private String description; private float widthRatio; private long updatePeriod; private int maxItems; private long maxAge; + private String description; public DashboardDescriptor getDashboardDescriptor() { return dashboardDescriptor; } - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } - public float getWidthRatio() { return widthRatio; } @@ -71,26 +67,44 @@ public class DashboardItemViewConfiguration { this.maxAge = maxAge; } + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + DashboardItemViewConfiguration(DashboardDescriptor dashboardDescriptor) { this.dashboardDescriptor = dashboardDescriptor; - this.description = dashboardDescriptor.getDescription(); this.widthRatio = dashboardDescriptor.getWidthRatio(); this.updatePeriod = dashboardDescriptor.getUpdatePeriod(); this.maxItems = dashboardDescriptor.getMaxItems(); this.maxAge = dashboardDescriptor.getMaxAge(); + this.description = dashboardDescriptor.getDescription(); } public DashboardItemViewConfiguration(DashboardItemViewConfiguration source) { copyFrom(source); } - public void copyFrom(DashboardItemViewConfiguration source) { + void copyFrom(DashboardItemViewConfiguration source) { this.dashboardDescriptor = source.dashboardDescriptor; - this.description = source.description; this.widthRatio = source.widthRatio; this.updatePeriod = source.updatePeriod; this.maxItems = source.maxItems; this.maxAge = source.maxAge; + this.description = source.description; } + void serialize(XMLBuilder xml) throws IOException { + xml.addAttribute("dashboard", dashboardDescriptor.getId()); + xml.addAttribute("widthRatio", widthRatio); + xml.addAttribute("updatePeriod", updatePeriod); + xml.addAttribute("maxItems", maxItems); + xml.addAttribute("maxAge", maxAge); + if (!CommonUtils.isEmpty(description)) { + xml.addAttribute("description", description); + } + } } diff --git a/plugins/org.jkiss.dbeaver.ui.dashboard/src/org/jkiss/dbeaver/ui/dashboard/model/DashboardViewConfiguration.java b/plugins/org.jkiss.dbeaver.ui.dashboard/src/org/jkiss/dbeaver/ui/dashboard/model/DashboardViewConfiguration.java index db80c73dea58573066bc168f71fe85a8c1334fb1..012894229c7312e135427cd9a02406c03a46def5 100644 --- a/plugins/org.jkiss.dbeaver.ui.dashboard/src/org/jkiss/dbeaver/ui/dashboard/model/DashboardViewConfiguration.java +++ b/plugins/org.jkiss.dbeaver.ui.dashboard/src/org/jkiss/dbeaver/ui/dashboard/model/DashboardViewConfiguration.java @@ -65,14 +65,15 @@ public class DashboardViewConfiguration { try (OutputStream out = new FileOutputStream(configFile)){ XMLBuilder xml = new XMLBuilder(out, GeneralUtils.UTF8_ENCODING); + xml.setButify(true); xml.startElement("dashboards"); for (DashboardItemViewConfiguration itemConfig : items) { xml.startElement("dashboard"); - //itemConfig.serialize(xml); + itemConfig.serialize(xml); xml.endElement(); } xml.endElement(); - out.flush(); + xml.flush(); } catch (Exception e) { log.error("Error saving dashboard view configuration", e); }