From e5410266568e80d224b4602582d0781924f3ceae Mon Sep 17 00:00:00 2001 From: Branislav Stojkovic Date: Mon, 7 Jan 2019 10:50:59 +0100 Subject: [PATCH] Made it possible for DIYLC to come with predefined component variants in addition to user-specific variants --- .../src/org/diylc/presenter/Presenter.java | 29 +- diylc/diylc-library/lib/diylc-core.jar | Bin 248549 -> 248658 bytes diylc/diylc-swing/lib/diylc-core.jar | Bin 248549 -> 248658 bytes diylc/diylc-swing/update.xml | 4 + diylc/diylc-swing/variants.xml | 471 ++++++++++++++++++ 5 files changed, 500 insertions(+), 4 deletions(-) create mode 100644 diylc/diylc-swing/variants.xml diff --git a/diylc/diylc-core/src/org/diylc/presenter/Presenter.java b/diylc/diylc-core/src/org/diylc/presenter/Presenter.java index 12c22134..fb11d7dd 100644 --- a/diylc/diylc-core/src/org/diylc/presenter/Presenter.java +++ b/diylc/diylc-core/src/org/diylc/presenter/Presenter.java @@ -98,6 +98,19 @@ public class Presenter implements IPlugInPort { } } public static final String DEFAULTS_KEY_PREFIX = "default."; + + private static Map> defaultVariantMap = null; + static { + try { + BufferedInputStream in = new BufferedInputStream(new FileInputStream("variants.xml")); + XStream xStream = new XStream(new DomDriver()); + defaultVariantMap = (Map>) xStream.fromXML(in); + in.close(); + LOG.info(String.format("Loaded default variants for %d components", defaultVariantMap == null ? 0 : defaultVariantMap.size())); + } catch (IOException e) { + LOG.error("Could not load default variants", e); + } + } public static final List> EMPTY_SELECTION = Collections.emptyList(); @@ -2184,12 +2197,20 @@ public class Presenter implements IPlugInPort { @SuppressWarnings("unchecked") @Override public List