no jira: small issues in dashboard serialization are fixed
Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/935f2ff1 Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/935f2ff1 Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/935f2ff1 Branch: refs/heads/3.2.x Commit: 935f2ff1f94cd41c1bb6d31ad54ebf8bef226bc1 Parents: d5d8633 Author: Maxim Solodovnik <[email protected]> Authored: Sun Apr 2 14:01:33 2017 +0000 Committer: Maxim Solodovnik <[email protected]> Committed: Sun Apr 2 14:01:33 2017 +0000 ---------------------------------------------------------------------- .../apache/openmeetings/util/OmFileHelper.java | 2 +- .../web/util/UserDashboardPersister.java | 22 +++++++++++--------- 2 files changed, 13 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/openmeetings/blob/935f2ff1/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmFileHelper.java ---------------------------------------------------------------------- diff --git a/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmFileHelper.java b/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmFileHelper.java index a04cd1f..80b4ce1 100644 --- a/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmFileHelper.java +++ b/openmeetings-util/src/main/java/org/apache/openmeetings/util/OmFileHelper.java @@ -94,7 +94,7 @@ public class OmFileHelper { private static File getDir(File parent, String name) { File f = new File(parent, name); if (!f.exists()) { - f.mkdir(); + f.mkdirs(); } return f; } http://git-wip-us.apache.org/repos/asf/openmeetings/blob/935f2ff1/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/UserDashboardPersister.java ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/UserDashboardPersister.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/UserDashboardPersister.java index 0ab3242..d7dbfc9 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/UserDashboardPersister.java +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/UserDashboardPersister.java @@ -27,6 +27,8 @@ import static org.red5.logging.Red5LoggerFactory.getLogger; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; +import java.io.InputStream; +import java.io.OutputStream; import java.util.Collections; import org.slf4j.Logger; @@ -39,7 +41,7 @@ import com.thoughtworks.xstream.io.xml.DomDriver; public class UserDashboardPersister implements DashboardPersister { private static final Logger log = getLogger(UserDashboardPersister.class, webAppRootKey); - + @Override public Dashboard load() { return new XStreamDashboardPersister().load(); @@ -53,23 +55,23 @@ public class UserDashboardPersister implements DashboardPersister { public static class XStreamDashboardPersister implements DashboardPersister { private File file; private XStream xstream; - + public XStreamDashboardPersister() { this.file = getUserDashboard(getUserId()); - + xstream = new XStream(new DomDriver(UTF_8.name())); xstream.setMode(XStream.NO_REFERENCES); xstream.alias("dashboard", UserDashboard.class); } - + @Override public Dashboard load() { if (!file.exists() || !file.isFile()) { return null; } - - try { - return (Dashboard) xstream.fromXML(new FileInputStream(file)); + + try (InputStream is = new FileInputStream(file)) { + return (Dashboard) xstream.fromXML(is); } catch (Exception e) { log.error("Error while loading dashboard", e); return null; @@ -80,9 +82,9 @@ public class UserDashboardPersister implements DashboardPersister { public void save(Dashboard dashboard) { // sort widgets Collections.sort(dashboard.getWidgets(), new WidgetComparator()); - - try { - xstream.toXML(dashboard, new FileOutputStream(file)); + + try (OutputStream os = new FileOutputStream(file)) { + xstream.toXML(dashboard, os); } catch (Exception e) { log.error("Error while saving dashboard", e); }
