serialize config using the same XStream as for the project

This commit is contained in:
bancika
2020-09-18 17:48:31 +02:00
parent 5638d560a4
commit 9372858596
19 changed files with 79 additions and 26 deletions
@@ -42,6 +42,7 @@ import org.diylc.common.IPlugInPort;
import org.diylc.core.IView;
import org.diylc.lang.LangUtil;
import org.diylc.presenter.Presenter;
import org.diylc.serialization.ProjectFileManager;
import org.diylc.swing.gui.MainFrame;
import org.diylc.swing.gui.TemplateDialog;
import org.diylc.swingframework.FontChooserComboBox;
@@ -49,6 +50,7 @@ import org.diylc.utils.ResourceLoader;
import com.apple.eawt.AppEvent;
import com.apple.eawt.Application;
import com.thoughtworks.xstream.XStream;
/**
* Main class that runs DIYLC.
@@ -88,8 +90,12 @@ public class DIYLCStarter {
} catch (Exception e) {
LOG.error("Could not initialize log4j configuration", e);
}
ConfigurationManager.initialize("diylc");
// initialize configuration
ConfigurationManager configurationManager = ConfigurationManager.getInstance();
XStream xStream = configurationManager.getSerializer();
ProjectFileManager.configure(xStream);
configurationManager.initialize("diylc");
// disable HIGHLIGHT_CONTINUITY_AREA config, keep it transient
ConfigurationManager.getInstance().writeValue(IPlugInPort.HIGHLIGHT_CONTINUITY_AREA, false);
@@ -86,9 +86,9 @@ public class CanvasPanel extends JComponent implements Autoscroll {
private HashMap<String, ComponentType> componentTypeCache;
private IConfigurationManager configManager;
private IConfigurationManager<?> configManager;
public CanvasPanel(IPlugInPort plugInPort, IConfigurationManager configManager) {
public CanvasPanel(IPlugInPort plugInPort, IConfigurationManager<?> configManager) {
this.plugInPort = plugInPort;
this.configManager = configManager;
@@ -117,9 +117,9 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner {
private double zoomLevel = 1;
private IConfigurationManager configManager;
private IConfigurationManager<?> configManager;
public CanvasPlugin(ISwingUI swingUI, IConfigurationManager configManager) {
public CanvasPlugin(ISwingUI swingUI, IConfigurationManager<?> configManager) {
this.swingUI = swingUI;
this.configManager = configManager;
clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();