Mercurial > dive4elements > river
diff artifacts/src/main/java/org/dive4elements/river/artifacts/states/RadioSelect.java @ 9369:1a4d2ce77423
radio choice fix
author | gernotbelger |
---|---|
date | Thu, 02 Aug 2018 17:39:13 +0200 |
parents | c7e5285d434f |
children |
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/states/RadioSelect.java Thu Aug 02 15:06:22 2018 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/states/RadioSelect.java Thu Aug 02 17:39:13 2018 +0200 @@ -28,36 +28,39 @@ private static final long serialVersionUID = 1L; private Artifact artifact; - public RadioSelect() { + protected abstract String getDatakey(); - } + @Override + protected abstract String getUIProvider(); // force override in subs! + // { + // return "radio_panel"; //no generic radiopanel + // } protected abstract LinkedHashMap<String, String> makeEntries(CallMeta meta, Artifact artifact); // AUSNAHMSWEISE EXPLIZITER TYP, damit Reihenfolge nicht // verrutscht @Override - protected String getUIProvider() { - return "radio_panel"; - } - - @Override protected Element[] createItems(final XMLUtils.ElementCreator ec, final Artifact artifact, final String name, final CallContext context) { // REMEBER: we need it for getLabelFor later - this.artifact = artifact; - - final CallMeta meta = context.getMeta(); - final Map<String, String> entries = makeEntries(meta, artifact); - final Element[] elements = new Element[entries.size()]; - int i = 0; - for (final String key : entries.keySet()) { - final String label = entries.get(key); - final String labelToSet = label != null ? label : Resources.getMsg(meta, key); - elements[i] = createItem(ec, new String[] { labelToSet, key }); - i++; + if (name.equals(getDatakey())) { + this.artifact = artifact; + + final CallMeta meta = context.getMeta(); + final Map<String, String> entries = makeEntries(meta, artifact); + + final Element[] elements = new Element[entries.size()]; + int i = 0; + for (final String key : entries.keySet()) { + final String label = entries.get(key); + final String labelToSet = label != null ? label : Resources.getMsg(meta, key); + elements[i] = createItem(ec, new String[] { labelToSet, key }); + i++; + } + return elements; } - return elements; + return super.createItems(ec, artifact, name, context); } @Override